xref: /qemu/tests/tcg/cris/bare/check_cmpxm.s (revision 19e8ff48)
1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
2# output: 2\n2\n2\n2\nffff\nffff\nffff\nffff\nffffffff\nffffffff\nffffffff\n78134452\n78134452\n78134452\n78134452\n4452\n80000032\n
3
4 .include "testutils.inc"
5 .data
6x:
7 .byte 0xff
8 .word 0xffff
9 .word 0xff
10 .word 0xffff
11 .byte 0x89
12 .word 0xf789
13 .word 0x8002
14 .word 0x764
15
16 start
17 moveq 2,r3
18 move.d x,r5
19 cmps.b [r5+],r3
20 test_cc 0 0 0 1
21 checkr3 2
22
23 moveq 2,r3
24 cmps.w [r5+],r3
25 test_cc 0 0 0 1
26 checkr3 2
27
28 moveq 2,r3
29 subq 3,r5
30 cmpu.b [r5+],r3
31 test_cc 1 0 0 1
32 checkr3 2
33
34 moveq 2,r3
35 cmpu.w [r5+],r3
36 test_cc 1 0 0 1
37 subq 3,r5
38 checkr3 2
39
40 move.d 0xffff,r3
41 cmpu.b [r5],r3
42 test_cc 0 0 0 0
43 checkr3 ffff
44
45 move.d 0xffff,r3
46 cmpu.w [r5],r3
47 test_cc 0 1 0 0
48 checkr3 ffff
49
50 move.d 0xffff,r3
51 cmps.b [r5],r3
52 test_cc 0 0 0 1
53 checkr3 ffff
54
55 move.d 0xffff,r3
56 cmps.w [r5],r3
57 test_cc 0 0 0 1
58 checkr3 ffff
59
60 moveq -1,r3
61 cmps.b [r5],r3
62 test_cc 0 1 0 0
63 addq 3,r5
64 checkr3 ffffffff
65
66 moveq -1,r3
67 cmps.w [r5+],r3
68 test_cc 1 0 0 0
69 checkr3 ffffffff
70
71 moveq -1,r3
72 cmps.w [r5+],r3
73 test_cc 0 1 0 0
74 checkr3 ffffffff
75
76 move.d 0x78134452,r3
77 cmpu.b [r5],r3
78 test_cc 0 0 0 0
79 checkr3 78134452
80
81 move.d 0x78134452,r3
82 cmps.b [r5+],r3
83 test_cc 0 0 0 1
84 checkr3 78134452
85
86 move.d 0x78134452,r3
87 cmpu.w [r5],r3
88 test_cc 0 0 0 0
89 checkr3 78134452
90
91 move.d 0x78134452,r3
92 cmps.w [r5+],r3
93 test_cc 0 0 0 1
94 checkr3 78134452
95
96 move.d 0x4452,r3
97 cmps.w [r5+],r3
98 test_cc 0 0 0 1
99 checkr3 4452
100
101 move.d 0x80000032,r3
102 cmpu.w [r5+],r3
103 test_cc 0 0 1 0
104 checkr3 80000032
105
106 quit
107