Mesa (master): intel/mi_builder: Add tests for gen_mi_z and gen_mi_nz

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Thu Feb 18 21:33:04 UTC 2021


Module: Mesa
Branch: master
Commit: 7c8c14a98811c3ee5775defa1b04deef15412978
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=7c8c14a98811c3ee5775defa1b04deef15412978

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Wed Feb 17 18:20:41 2021 -0600

intel/mi_builder: Add tests for gen_mi_z and gen_mi_nz

Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9116>

---

 src/intel/common/tests/gen_mi_builder_test.cpp | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/src/intel/common/tests/gen_mi_builder_test.cpp b/src/intel/common/tests/gen_mi_builder_test.cpp
index 6383333a522..e75a604993b 100644
--- a/src/intel/common/tests/gen_mi_builder_test.cpp
+++ b/src/intel/common/tests/gen_mi_builder_test.cpp
@@ -573,6 +573,31 @@ TEST_F(gen_mi_builder_test, ilt_uge)
    }
 }
 
+TEST_F(gen_mi_builder_test, z_nz)
+{
+   uint64_t values[8] = {
+      0,
+      1,
+      UINT32_MAX,
+      UINT32_MAX + 1,
+      UINT64_MAX,
+   };
+   memcpy(input, values, sizeof(values));
+
+   for (unsigned i = 0; i < ARRAY_SIZE(values); i++) {
+      gen_mi_store(&b, out_mem64(i * 16 + 0), gen_mi_nz(&b, in_mem64(i * 8)));
+      gen_mi_store(&b, out_mem64(i * 16 + 8), gen_mi_z(&b, in_mem64(i * 8)));
+   }
+
+   submit_batch();
+
+   for (unsigned i = 0; i < ARRAY_SIZE(values); i++) {
+      uint64_t *out_u64 = (uint64_t *)(output + i * 16);
+      EXPECT_EQ_IMM(out_u64[0], gen_mi_nz(&b, gen_mi_imm(values[i])));
+      EXPECT_EQ_IMM(out_u64[1], gen_mi_z(&b, gen_mi_imm(values[i])));
+   }
+}
+
 TEST_F(gen_mi_builder_test, iand)
 {
    const uint64_t values[2] = {



More information about the mesa-commit mailing list