[Mesa-dev] [PATCH 10/11] intel/compiler: Skip 64-bit type tests when types not available

Matt Turner mattst88 at gmail.com
Wed Mar 21 21:06:21 UTC 2018


---
 src/intel/compiler/test_eu_validate.cpp | 39 +++++++++++++++++++++++++++++++++
 1 file changed, 39 insertions(+)

diff --git a/src/intel/compiler/test_eu_validate.cpp b/src/intel/compiler/test_eu_validate.cpp
index 8169f951b2d..e36f50a2d7e 100644
--- a/src/intel/compiler/test_eu_validate.cpp
+++ b/src/intel/compiler/test_eu_validate.cpp
@@ -1075,6 +1075,15 @@ TEST_P(validation_test, qword_low_power_align1_regioning_restrictions)
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (inst[i].dst_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_Q  ||
+           inst[i].src_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].src_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].src_type == BRW_REGISTER_TYPE_Q))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));
@@ -1195,6 +1204,15 @@ TEST_P(validation_test, qword_low_power_no_indirect_addressing)
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (inst[i].dst_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_Q  ||
+           inst[i].src_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].src_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].src_type == BRW_REGISTER_TYPE_Q))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));
@@ -1331,6 +1349,15 @@ TEST_P(validation_test, qword_low_power_no_64bit_arf)
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (inst[i].dst_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_Q  ||
+           inst[i].src_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].src_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].src_type == BRW_REGISTER_TYPE_Q))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(inst[i].dst, inst[i].dst_type),
                     retype(inst[i].src, inst[i].src_type));
@@ -1359,6 +1386,9 @@ TEST_P(validation_test, qword_low_power_no_64bit_arf)
       clear_instructions(p);
    }
 
+   if (!devinfo.has_64bit_types)
+      return;
+
    /* MAC implicitly reads the accumulator */
    brw_MAC(p, retype(g0, BRW_REGISTER_TYPE_DF),
               retype(stride(g0, 4, 4, 1), BRW_REGISTER_TYPE_DF),
@@ -1529,6 +1559,15 @@ TEST_P(validation_test, qword_low_power_no_depctrl)
       return;
 
    for (unsigned i = 0; i < sizeof(inst) / sizeof(inst[0]); i++) {
+      if (!devinfo.has_64bit_types &&
+          (inst[i].dst_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].dst_type == BRW_REGISTER_TYPE_Q  ||
+           inst[i].src_type == BRW_REGISTER_TYPE_DF ||
+           inst[i].src_type == BRW_REGISTER_TYPE_UQ ||
+           inst[i].src_type == BRW_REGISTER_TYPE_Q))
+         continue;
+
       if (inst[i].opcode == BRW_OPCODE_MOV) {
          brw_MOV(p, retype(g0, inst[i].dst_type),
                     retype(g0, inst[i].src_type));
-- 
2.16.1



More information about the mesa-dev mailing list