summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlyssa Rosenzweig <alyssa@collabora.com>2021-07-29 14:34:32 -0400
committerMarge Bot <eric+marge@anholt.net>2021-07-29 19:33:32 +0000
commit67b9b73f9f16643fc511f6a3dbc8286fb1291584 (patch)
tree4337ae1d4420cc212d025d7bc5950e18e9151289
parent2cdf95703a816f9dfe4a2bc282caee21ddd94970 (diff)
pan/bi: Test restrictions on same-cycle temporaries
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12114>
-rw-r--r--src/panfrost/bifrost/test/test-scheduler-predicates.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/panfrost/bifrost/test/test-scheduler-predicates.c b/src/panfrost/bifrost/test/test-scheduler-predicates.c
index 95e1598e3e9..abd3fff0d42 100644
--- a/src/panfrost/bifrost/test/test-scheduler-predicates.c
+++ b/src/panfrost/bifrost/test/test-scheduler-predicates.c
@@ -71,6 +71,19 @@ int main(int argc, char **argv)
BIT_ASSERT(!bi_reads_t(blend, 2));
BIT_ASSERT(!bi_reads_t(blend, 3));
+ /* Test restrictions on modifiers of same cycle temporaries */
+ bi_instr *fadd = bi_fadd_f32_to(b, TMP(), TMP(), TMP(), BI_ROUND_NONE);
+ BIT_ASSERT(bi_reads_t(fadd, 0));
+
+ for (unsigned i = 0; i < 2; ++i) {
+ for (unsigned j = 0; j < 2; ++j) {
+ bi_instr *fadd = bi_fadd_f32_to(b, TMP(), TMP(), TMP(), BI_ROUND_NONE);
+ fadd->src[i] = bi_swz_16(TMP(), j, j);
+ BIT_ASSERT(bi_reads_t(fadd, 1 - i));
+ BIT_ASSERT(!bi_reads_t(fadd, i));
+ }
+ }
+
ralloc_free(ralloc_ctx);
TEST_END(nr_pass, nr_fail);
}