123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- # mips64 specific r6 tests - paired LL/SC variants
- # mach: mips64r6
- # as: -mabi=eabi
- # ld: -N -Ttext=0x80010000 -Tdata=0x80020000
- # output: *\\npass\\n
- .include "testutils.inc"
- .include "utils-r6.inc"
- .data
- .align 16
- test_data:
- .word 0xaaaaaaaa
- .word 0xbbbbbbbb
- .word 0xcccccccc
- .word 0xdddddddd
- 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"
- writemsg "[3] Test LLDP"
- lldp $2, $3, test_data
- checkpair_qword $2, $3, test_data, end_check
- dsll $2, $2, 1
- dsrl $3, $3, 1
- move $s0, $2
- scdp $2, $3, test_data
- check32 $2, 1
- checkpair_qword $s0, $3, test_data, end_check
- writemsg "[4] Test SCDP, done"
- pass
- .end DIAG
|