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 6 7 .include "testutils.inc" 8 .include "utils-r6.inc" 9 10 .data 11 .align 16 12test_data: 13 .word 0xaaaaaaaa 14 .word 0xbbbbbbbb 15 .word 0xcccccccc 16 .word 0xdddddddd 17end_check: 18 .byte 0 19 .byte 0 20 .byte 0 21 .byte 0x1 22 23 .text 24 25 setup 26 27 .ent DIAG 28DIAG: 29 writemsg "[1] Test LLWP" 30 llwp $2, $3, test_data 31 checkpair_dword $2, $3, test_data, end_check 32 33 sll $2, $2, 1 34 srl $3, $3, 1 35 move $s0, $2 36 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" 41 42 writemsg "[3] Test LLDP" 43 lldp $2, $3, test_data 44 checkpair_qword $2, $3, test_data, end_check 45 46 dsll $2, $2, 1 47 dsrl $3, $3, 1 48 move $s0, $2 49 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" 54 55 pass 56 57 .end DIAG 58