]>
Commit | Line | Data |
---|---|---|
b4f0ee66 CV |
1 | # sh testcase for bset |
2 | # mach: all | |
3 | # as(sh): -defsym sim_cpu=0 | |
4 | # as(shdsp): -defsym sim_cpu=1 -dsp | |
5 | ||
6 | .include "testutils.inc" | |
7 | ||
8 | .align 2 | |
9 | _x: .long 0 | |
10 | _y: .long 0x55555555 | |
11 | ||
12 | start | |
13 | ||
14 | bset_b_imm_disp12_reg: | |
15 | set_grs_a5a5 | |
16 | mov.l x, r1 | |
17 | ||
18 | bset.b #0, @(3, r1) | |
19 | assertmem _x, 0x1 | |
20 | bset.b #1, @(3, r1) | |
21 | assertmem _x, 0x3 | |
22 | bset.b #2, @(3, r1) | |
23 | assertmem _x, 0x7 | |
24 | bset.b #3, @(3, r1) | |
25 | assertmem _x, 0xf | |
26 | ||
27 | bset.b #4, @(3, r1) | |
28 | assertmem _x, 0x1f | |
29 | bset.b #5, @(3, r1) | |
30 | assertmem _x, 0x3f | |
31 | bset.b #6, @(3, r1) | |
32 | assertmem _x, 0x7f | |
33 | bset.b #7, @(3, r1) | |
34 | assertmem _x, 0xff | |
35 | ||
36 | bset.b #0, @(2, r1) | |
37 | assertmem _x, 0x1ff | |
38 | bset.b #1, @(2, r1) | |
39 | assertmem _x, 0x3ff | |
40 | bset.b #2, @(2, r1) | |
41 | assertmem _x, 0x7ff | |
42 | bset.b #3, @(2, r1) | |
43 | assertmem _x, 0xfff | |
44 | ||
45 | bra .L2 | |
46 | nop | |
47 | ||
48 | .align 2 | |
49 | x: .long _x | |
50 | y: .long _y | |
51 | ||
52 | .L2: | |
53 | bset.b #4, @(2, r1) | |
54 | assertmem _x, 0x1fff | |
55 | bset.b #5, @(2, r1) | |
56 | assertmem _x, 0x3fff | |
57 | bset.b #6, @(2, r1) | |
58 | assertmem _x, 0x7fff | |
59 | bset.b #7, @(2, r1) | |
60 | assertmem _x, 0xffff | |
61 | ||
62 | bset.b #0, @(1, r1) | |
63 | assertmem _x, 0x1ffff | |
64 | bset.b #1, @(1, r1) | |
65 | assertmem _x, 0x3ffff | |
66 | bset.b #2, @(1, r1) | |
67 | assertmem _x, 0x7ffff | |
68 | bset.b #3, @(1, r1) | |
69 | assertmem _x, 0xfffff | |
70 | ||
71 | bset.b #4, @(1, r1) | |
72 | assertmem _x, 0x1fffff | |
73 | bset.b #5, @(1, r1) | |
74 | assertmem _x, 0x3fffff | |
75 | bset.b #6, @(1, r1) | |
76 | assertmem _x, 0x7fffff | |
77 | bset.b #7, @(1, r1) | |
78 | assertmem _x, 0xffffff | |
79 | ||
80 | bset.b #0, @(0, r1) | |
81 | assertmem _x, 0x1ffffff | |
82 | bset.b #1, @(0, r1) | |
83 | assertmem _x, 0x3ffffff | |
84 | bset.b #2, @(0, r1) | |
85 | assertmem _x, 0x7ffffff | |
86 | bset.b #3, @(0, r1) | |
87 | assertmem _x, 0xfffffff | |
88 | ||
89 | bset.b #4, @(0, r1) | |
90 | assertmem _x, 0x1fffffff | |
91 | bset.b #5, @(0, r1) | |
92 | assertmem _x, 0x3fffffff | |
93 | bset.b #6, @(0, r1) | |
94 | assertmem _x, 0x7fffffff | |
95 | bset.b #7, @(0, r1) | |
96 | assertmem _x, 0xffffffff | |
97 | ||
98 | assertreg _x, r1 | |
99 | ||
100 | bset_imm_reg: | |
101 | set_greg 0, r1 | |
102 | bset #0, r1 | |
103 | assertreg 0x1, r1 | |
104 | bset #1, r1 | |
105 | assertreg 0x3, r1 | |
106 | bset #2, r1 | |
107 | assertreg 0x7, r1 | |
108 | bset #3, r1 | |
109 | assertreg 0xf, r1 | |
110 | ||
111 | bset #4, r1 | |
112 | assertreg 0x1f, r1 | |
113 | bset #5, r1 | |
114 | assertreg 0x3f, r1 | |
115 | bset #6, r1 | |
116 | assertreg 0x7f, r1 | |
117 | bset #7, r1 | |
118 | assertreg 0xff, r1 | |
119 | ||
120 | test_gr_a5a5 r0 | |
121 | test_gr_a5a5 r2 | |
122 | test_gr_a5a5 r3 | |
123 | test_gr_a5a5 r4 | |
124 | test_gr_a5a5 r5 | |
125 | test_gr_a5a5 r6 | |
126 | test_gr_a5a5 r7 | |
127 | test_gr_a5a5 r8 | |
128 | test_gr_a5a5 r9 | |
129 | test_gr_a5a5 r10 | |
130 | test_gr_a5a5 r11 | |
131 | test_gr_a5a5 r12 | |
132 | test_gr_a5a5 r13 | |
133 | test_gr_a5a5 r14 | |
134 | ||
135 | pass | |
136 | ||
137 | exit 0 | |
138 | ||
139 |