xref: /netbsd-src/external/gpl3/gdb/dist/sim/testsuite/mips/r6-llsc-dp.s (revision 4b169a6ba595ae283ca507b26b15fdff40495b1c)
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