Merge remote-tracking branch 'remotes/bonzini/tags/for-upstream' into staging
[qemu/cris-port.git] / tests / tcg / cris / check_btst.s
blobe39fc8f4d66d87ebbfde68fea0311900232db270
1 # mach: crisv0 crisv3 crisv8 crisv10 crisv32
2 # output: 1111\n
4 .include "testutils.inc"
5 start
6 clearf nzvc
7 moveq -1,r3
8 .if 1 ;..asm.arch.cris.v32
9 .else
10 setf vc
11 .endif
12 btstq 0,r3
13 test_cc 1 0 0 0
15 moveq 2,r3
16 btstq 1,r3
17 test_cc 1 0 0 0
19 moveq 4,r3
20 btstq 1,r3
21 test_cc 0 1 0 0
23 moveq -1,r3
24 btstq 31,r3
25 test_cc 1 0 0 0
27 move.d 0x5a67f19f,r3
28 btstq 12,r3
29 test_cc 1 0 0 0
31 move.d 0xda67f19f,r3
32 move.d 29,r4
33 btst r4,r3
34 test_cc 0 0 0 0
36 move.d 0xda67f19f,r3
37 move.d 32,r4
38 btst r4,r3
39 test_cc 1 0 0 0
41 move.d 0xda67f191,r3
42 move.d 33,r4
43 btst r4,r3
44 test_cc 0 0 0 0
46 moveq -1,r3
47 moveq 0,r4
48 btst r4,r3
49 test_cc 1 0 0 0
51 moveq 2,r3
52 moveq 1,r4
53 btst r4,r3
54 test_cc 1 0 0 0
56 moveq -1,r3
57 moveq 31,r4
58 btst r4,r3
59 test_cc 1 0 0 0
61 moveq 4,r3
62 btstq 1,r3
63 test_cc 0 1 0 0
65 moveq -1,r3
66 moveq 15,r4
67 btst r4,r3
68 test_cc 1 0 0 0
70 move.d 0x5a67f19f,r3
71 moveq 12,r4
72 btst r4,r3
73 test_cc 1 0 0 0
75 move.d 0x5a678000,r3
76 moveq 11,r4
77 btst r4,r3
78 test_cc 0 1 0 0
80 move.d 0x5a67f19f,r3
81 btst r3,r3
82 test_cc 0 0 0 0
84 move.d 0x1111,r3
85 checkr3 1111
87 ; check that X gets cleared and that only the NZ flags are touched.
88 move.d 0xff, $r0
89 move $r0, $ccs
90 btst r3,r3
91 move $ccs, $r0
92 and.d 0xff, $r0
93 cmp.d 0xe3, $r0
94 test_cc 0 1 0 0
96 quit