Signed-off-by: Taylor Simpson <[email protected]>
---
tests/tcg/hexagon/multiple-writes.c | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/tests/tcg/hexagon/multiple-writes.c
b/tests/tcg/hexagon/multiple-writes.c
index b93f2ab32e..86adc1331f 100644
--- a/tests/tcg/hexagon/multiple-writes.c
+++ b/tests/tcg/hexagon/multiple-writes.c
@@ -242,6 +242,27 @@ static int test_vreg_illegal(void)
return sig;
}
+static int test_qreg_illegal(void)
+{
+ int sig;
+
+ asm volatile(
+ "r0 = #0\n"
+ "r1 = ##1f\n"
+ "memw(%1) = r1\n"
+ "{\n"
+ ".word 0x19a14048 /* { q0 = vand(v0, r1) */\n"
+ ".word 0x19a0c044 /* q0 = vsetq(r0) } */\n"
+ "}\n"
+ "1:\n"
+ "%0 = r0\n"
+ : "=r"(sig)
+ : "r"(&resume_pc)
+ : "r0", "r1", "memory");
+
+ return sig;
+}
+
int main()
{
struct sigaction act;
@@ -270,6 +291,8 @@ int main()
assert(test_vreg_legal_predicated() == 23);
assert(test_vreg_illegal() == SIGILL);
+ assert(test_qreg_illegal() == SIGILL);
+
puts("PASS");
return EXIT_SUCCESS;
}
--
2.43.0