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 dumpr3 ; 2
22
23 moveq 2,r3
24 cmps.w [r5+],r3
25 test_cc 0 0 0 1
26 dumpr3 ; 2
27
28 moveq 2,r3
29 subq 3,r5
30 cmpu.b [r5+],r3
31 test_cc 1 0 0 1
32 dumpr3 ; 2
33
34 moveq 2,r3
35 cmpu.w [r5+],r3
36 test_cc 1 0 0 1
37 subq 3,r5
38 dumpr3 ; 2
39
40 move.d 0xffff,r3
41 cmpu.b [r5],r3
42 test_cc 0 0 0 0
43 dumpr3 ; ffff
44
45 move.d 0xffff,r3
46 cmpu.w [r5],r3
47 test_cc 0 1 0 0
48 dumpr3 ; ffff
49
50 move.d 0xffff,r3
51 cmps.b [r5],r3
52 test_cc 0 0 0 1
53 dumpr3 ; ffff
54
55 move.d 0xffff,r3
56 cmps.w [r5],r3
57 test_cc 0 0 0 1
58 dumpr3 ; ffff
59
60 moveq -1,r3
61 cmps.b [r5],r3
62 test_cc 0 1 0 0
63 addq 3,r5
64 dumpr3 ; ffffffff
65
66 moveq -1,r3
67 cmps.w [r5+],r3
68 test_cc 1 0 0 0
69 dumpr3 ; ffffffff
70
71 moveq -1,r3
72 cmps.w [r5+],r3
73 test_cc 0 1 0 0
74 dumpr3 ; ffffffff
75
76 move.d 0x78134452,r3
77 cmpu.b [r5],r3
78 test_cc 0 0 0 0
79 dumpr3 ; 78134452
80
81 move.d 0x78134452,r3
82 cmps.b [r5+],r3
83 test_cc 0 0 0 1
84 dumpr3 ; 78134452
85
86 move.d 0x78134452,r3
87 cmpu.w [r5],r3
88 test_cc 0 0 0 0
89 dumpr3 ; 78134452
90
91 move.d 0x78134452,r3
92 cmps.w [r5+],r3
93 test_cc 0 0 0 1
94 dumpr3 ; 78134452
95
96 move.d 0x4452,r3
97 cmps.w [r5+],r3
98 test_cc 0 0 0 1
99 dumpr3 ; 4452
100
101 move.d 0x80000032,r3
102 cmpu.w [r5+],r3
103 test_cc 0 0 1 0
104 dumpr3 ; 80000032
105
106 quit
107