Statistics
| Branch: | Revision:

root / tests / tcg / cris / check_btst.s @ c09015dd

History | View | Annotate | Download (1.2 kB)

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