Add qemu 2.4.0
[kvmfornfv.git] / qemu / tests / tcg / cris / check_btst.s
1 # mach: crisv0 crisv3 crisv8 crisv10 crisv32
2 # output: 1111\n
3
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
14
15  moveq 2,r3
16  btstq 1,r3
17  test_cc 1 0 0 0
18
19  moveq 4,r3
20  btstq 1,r3
21  test_cc 0 1 0 0
22
23  moveq -1,r3
24  btstq 31,r3
25  test_cc 1 0 0 0
26
27  move.d 0x5a67f19f,r3
28  btstq 12,r3
29  test_cc 1 0 0 0
30
31  move.d 0xda67f19f,r3
32  move.d 29,r4
33  btst r4,r3
34  test_cc 0 0 0 0
35
36  move.d 0xda67f19f,r3
37  move.d 32,r4
38  btst r4,r3
39  test_cc 1 0 0 0
40
41  move.d 0xda67f191,r3
42  move.d 33,r4
43  btst r4,r3
44  test_cc 0 0 0 0
45
46  moveq -1,r3
47  moveq 0,r4
48  btst r4,r3
49  test_cc 1 0 0 0
50
51  moveq 2,r3
52  moveq 1,r4
53  btst r4,r3
54  test_cc 1 0 0 0
55
56  moveq -1,r3
57  moveq 31,r4
58  btst r4,r3
59  test_cc 1 0 0 0
60
61  moveq 4,r3
62  btstq 1,r3
63  test_cc 0 1 0 0
64
65  moveq -1,r3
66  moveq 15,r4
67  btst r4,r3
68  test_cc 1 0 0 0
69
70  move.d 0x5a67f19f,r3
71  moveq 12,r4
72  btst r4,r3
73  test_cc 1 0 0 0
74
75  move.d 0x5a678000,r3
76  moveq 11,r4
77  btst r4,r3
78  test_cc 0 1 0 0
79
80  move.d 0x5a67f19f,r3
81  btst r3,r3
82  test_cc 0 0 0 0
83
84  move.d 0x1111,r3
85  checkr3 1111
86
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
95
96  quit