1# mach: crisv0 crisv3 crisv8 crisv10 crisv32
2# output: 3\n3\nffffff03\nffff0003\nff00\n0\n10000\n10000\n0\nffffff00\n0\n781343c9\n781344c9\n78124cc9\n78134cc9\nc450\n7ffff8ce\n
3
4 .include "testutils.inc"
5 start
6 moveq 2,r3
7 subs.b 0xff,r3
8 test_cc 0 0 0 1
9 dumpr3 ; 3
10
11 moveq 2,r3
12 subs.w 0xffff,r3
13 test_cc 0 0 0 1
14 dumpr3 ; 3
15
16 moveq 2,r3
17 subu.b 0xff,r3
18 test_cc 1 0 0 1
19 dumpr3 ; ffffff03
20
21 moveq 2,r3
22 move.d 0xffffffff,r4
23 subu.w -1,r3
24 test_cc 1 0 0 1
25 dumpr3 ; ffff0003
26
27 move.d 0xffff,r3
28 subu.b -1,r3
29 test_cc 0 0 0 0
30 dumpr3 ; ff00
31
32 move.d 0xffff,r3
33 subu.w -1,r3
34 test_cc 0 1 0 0
35 dumpr3 ; 0
36
37 move.d 0xffff,r3
38 subs.b 0xff,r3
39 test_cc 0 0 0 1
40 dumpr3 ; 10000
41
42 move.d 0xffff,r3
43 subs.w 0xffff,r3
44 test_cc 0 0 0 1
45 dumpr3 ; 10000
46
47 moveq -1,r3
48 subs.b 0xff,r3
49 test_cc 0 1 0 0
50 dumpr3 ; 0
51
52 moveq -1,r3
53 subs.w 0xff,r3
54 test_cc 1 0 0 0
55 dumpr3 ; ffffff00
56
57 moveq -1,r3
58 subs.w 0xffff,r3
59 test_cc 0 1 0 0
60 dumpr3 ; 0
61
62 move.d 0x78134452,r3
63 subu.b 0x89,r3
64 test_cc 0 0 0 0
65 dumpr3 ; 781343c9
66
67 move.d 0x78134452,r3
68 subs.b 0x89,r3
69 test_cc 0 0 0 1
70 dumpr3 ; 781344c9
71
72 move.d 0x78134452,r3
73 subu.w 0xf789,r3
74 test_cc 0 0 0 0
75 dumpr3 ; 78124cc9
76
77 move.d 0x78134452,r3
78 subs.w 0xf789,r3
79 test_cc 0 0 0 1
80 dumpr3 ; 78134cc9
81
82 move.d 0x4452,r3
83 subs.w 0x8002,r3
84 test_cc 0 0 0 1
85 dumpr3 ; c450
86
87 move.d 0x80000032,r3
88 subu.w 0x764,r3
89 test_cc 0 0 1 0
90 dumpr3 ; 7ffff8ce
91
92 quit
93