aboutsummaryrefslogtreecommitdiff
path: root/tests/tcg/hexagon/test_reorder.S
diff options
context:
space:
mode:
authorNiccolò Izzo <nizzo@rev.ng>2022-09-23 19:38:31 +0200
committerTaylor Simpson <tsimpson@quicinc.com>2022-12-16 12:30:28 -0800
commit585a86b1041a45c3b4074440c7f1b54944570867 (patch)
tree03f9d2c29c782da50ac2324c3298a2a1a4576826 /tests/tcg/hexagon/test_reorder.S
parente71fdc4f1bd5632f2d152a08cbecd82b5aa9e954 (diff)
downloadqemu-585a86b1041a45c3b4074440c7f1b54944570867.zip
qemu-585a86b1041a45c3b4074440c7f1b54944570867.tar.gz
qemu-585a86b1041a45c3b4074440c7f1b54944570867.tar.bz2
target/hexagon: import additional tests
Signed-off-by: Alessandro Di Federico <ale@rev.ng> Signed-off-by: Niccolò Izzo <nizzo@rev.ng> Signed-off-by: Anton Johansson <anjo@rev.ng> Signed-off-by: Taylor Simpson <tsimpson@quicinc.com> Reviewed-by: Taylor Simpson <tsimpson@quicinc.com> Message-Id: <20220923173831.227551-12-anjo@rev.ng>
Diffstat (limited to 'tests/tcg/hexagon/test_reorder.S')
-rw-r--r--tests/tcg/hexagon/test_reorder.S33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/tcg/hexagon/test_reorder.S b/tests/tcg/hexagon/test_reorder.S
new file mode 100644
index 0000000..5ee0539
--- /dev/null
+++ b/tests/tcg/hexagon/test_reorder.S
@@ -0,0 +1,33 @@
+/*
+ * Purpose: demonstrate handling of .new uses appearing before the associated
+ * definition.
+ * Here we perform a jump that skips the code resetting R2 from 0xDEADBEEF to 0,
+ * only if P0.new is true, but P0 is assigned to 1 (R4) in the next instruction
+ * in the packet.
+ */
+
+ .text
+ .globl _start
+
+_start:
+ {
+ r2 = #-559038737
+ }
+ {
+ r4 = #1
+ }
+ {
+ if (p0.new) jump:nt skip
+ p0 = r4;
+ }
+
+fallthrough:
+ {
+ r2 = #0
+ }
+
+skip:
+ {
+ p0 = cmp.eq(r2, #-559038737); if (p0.new) jump:t pass
+ jump fail
+ }