summaryrefslogtreecommitdiff
path: root/sim/testsuite/mips/r6-llsc-wp.s
diff options
context:
space:
mode:
Diffstat (limited to 'sim/testsuite/mips/r6-llsc-wp.s')
-rw-r--r--sim/testsuite/mips/r6-llsc-wp.s41
1 files changed, 41 insertions, 0 deletions
diff --git a/sim/testsuite/mips/r6-llsc-wp.s b/sim/testsuite/mips/r6-llsc-wp.s
new file mode 100644
index 00000000000..55ad9243fc8
--- /dev/null
+++ b/sim/testsuite/mips/r6-llsc-wp.s
@@ -0,0 +1,41 @@
+# mips32 specific r6 tests - paired LL/SC variants
+# mach: mips32r6
+# as: -mabi=eabi
+# ld: -N -Ttext=0x80010000 -Tdata=0x80020000
+# output: *\\npass\\n
+
+ .include "testutils.inc"
+ .include "utils-r6.inc"
+
+ .data
+ .align 8
+test_data:
+ .word 0xaaaaaaaa
+ .word 0xbbbbbbbb
+end_check:
+ .byte 0
+ .byte 0
+ .byte 0
+ .byte 0x1
+ .text
+
+ setup
+
+ .ent DIAG
+DIAG:
+ writemsg "[1] Test LLWP"
+ llwp $2, $3, test_data
+ checkpair_dword $2, $3, test_data, end_check
+
+ sll $2, $2, 1
+ srl $3, $3, 1
+ move $s0, $2
+
+ scwp $2, $3, test_data
+ check32 $2, 1
+ checkpair_dword $s0, $3, test_data, end_check
+ writemsg "[2] Test SCWP, done"
+
+pass
+
+ .end DIAG