RISC-V: Cleanup the imply code and test cases for vendor xsf extensions.
[binutils-gdb.git] / sim / testsuite / mips / r6-llsc-dp.s
blob1eec3e4f05646d30add8e126883d86b6ba6c1f47
1 # mips64 specific r6 tests - paired LL/SC variants
2 # mach: mips64r6
3 # as: -mabi=eabi
4 # ld: -N -Ttext=0x80010000 -Tdata=0x80020000
5 # output: *\\npass\\n
7 .include "testutils.inc"
8 .include "utils-r6.inc"
10 .data
11 .align 16
12 test_data:
13 .word 0xaaaaaaaa
14 .word 0xbbbbbbbb
15 .word 0xcccccccc
16 .word 0xdddddddd
17 end_check:
18 .byte 0
19 .byte 0
20 .byte 0
21 .byte 0x1
23 .text
25 setup
27 .ent DIAG
28 DIAG:
29 writemsg "[1] Test LLWP"
30 llwp $2, $3, test_data
31 checkpair_dword $2, $3, test_data, end_check
33 sll $2, $2, 1
34 srl $3, $3, 1
35 move $s0, $2
37 scwp $2, $3, test_data
38 check32 $2, 1
39 checkpair_dword $s0, $3, test_data, end_check
40 writemsg "[2] Test SCWP, done"
42 writemsg "[3] Test LLDP"
43 lldp $2, $3, test_data
44 checkpair_qword $2, $3, test_data, end_check
46 dsll $2, $2, 1
47 dsrl $3, $3, 1
48 move $s0, $2
50 scdp $2, $3, test_data
51 check32 $2, 1
52 checkpair_qword $s0, $3, test_data, end_check
53 writemsg "[4] Test SCDP, done"
55 pass
57 .end DIAG