This commit was generated by cvs2svn to track changes on a CVS vendor
[external/binutils.git] / gas / testsuite / gas / bfin / control_code2.s
1 \r
2 .EXTERN MY_LABEL2;\r
3 .section .text;\r
4 \r
5 //\r
6 //6 CONTROL CODE BIT MANAGEMENT\r
7 //\r
8 \r
9 //CC = Dreg == Dreg ; /* equal, register, signed (a) */\r
10 CC = R7 == R0;\r
11 CC = R6 == R1;\r
12 CC = R0 == R7;\r
13 \r
14 //CC = Dreg == imm3 ; /* equal, immediate, signed (a) */\r
15 CC = R7 == -4;\r
16 CC = R7 == 3;\r
17 CC = R0 == -4;\r
18 CC = R0 == 3;\r
19 \r
20 //CC = Dreg < Dreg ; /* less than, register, signed (a) */\r
21 CC = R7 < R0;\r
22 CC = R6 < R0;\r
23 CC = R7 < R1;\r
24 CC = R1 < R7;\r
25 CC = R0 < R6;\r
26 \r
27 //CC = Dreg < imm3 ; /* less than, immediate, signed (a) */\r
28 CC = R7 < -4;\r
29 CC = R6 < -4;\r
30 CC = R7 < 3;\r
31 CC = R1 < 3;\r
32 \r
33 //CC = Dreg <= Dreg ; /* less than or equal, register, signed (a) */\r
34 CC = R7 <= R0;\r
35 CC = R6 <= R0;\r
36 CC = R7 <= R1;\r
37 CC = R1 <= R7;\r
38 CC = R0 <= R6;\r
39 \r
40 //CC = Dreg <= imm3 ; /* less than or equal, immediate, signed (a) */\r
41 CC = R7 <= -4;\r
42 CC = R6 <= -4;\r
43 CC = R7 <= 3;\r
44 CC = R1 <= 3;\r
45 \r
46 //CC = Dreg < Dreg (IU) ; /* less than, register, unsigned (a) */\r
47 CC = R7 < R0(IU);\r
48 CC = R6 < R0(IU);\r
49 CC = R7 < R1(IU);\r
50 CC = R1 < R7(IU);\r
51 CC = R0 < R6(IU);\r
52 \r
53 //CC = Dreg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */\r
54 CC = R7 < 0(IU);\r
55 CC = R6 < 0(IU);\r
56 CC = R7 < 7(IU);\r
57 CC = R1 < 7(IU);\r
58 //CC = Dreg <= Dreg (IU) ; /* less than or equal, register, unsigned (a) */\r
59 CC = R7 <= R0(IU);\r
60 CC = R6 <= R0(IU);\r
61 CC = R7 <= R1(IU);\r
62 CC = R1 <= R7(IU);\r
63 CC = R0 <= R6(IU);\r
64 \r
65 \r
66 //CC = Dreg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */\r
67 CC = R7 <= 0(IU);\r
68 CC = R6 <= 0(IU);\r
69 CC = R7 <= 7(IU);\r
70 CC = R1 <= 7(IU);\r
71 \r
72 //CC = Preg == Preg ; /* equal, register, signed (a) */\r
73 CC = P5 == P0;\r
74 CC = P5 == P1;\r
75 CC = P0 == P2;\r
76 CC = P3 == P5;\r
77 \r
78 //CC = Preg == imm3 ; /* equal, immediate, signed (a) */\r
79 CC = P5 == -4;\r
80 CC = P5 == 0;\r
81 CC = P5 == 3;\r
82 CC = P2 == -4;\r
83 CC = P2 == 0;\r
84 CC = P2 == 3;\r
85 \r
86 //CC = Preg < Preg ; /* less than, register, signed (a) */\r
87 CC = P5 < P0;\r
88 CC = P5 < P1;\r
89 CC = P0 < P2;\r
90 CC = P3 < P5;\r
91 \r
92 //CC = Preg < imm3 ; /* less than, immediate, signed (a) */\r
93 CC = P5 < -4;\r
94 CC = P5 < 0;\r
95 CC = P5 < 3;\r
96 CC = P2 < -4;\r
97 CC = P2 < 0;\r
98 CC = P2 < 3;\r
99 \r
100 \r
101 //CC = Preg <= Preg ; /* less than or equal, register, signed (a) */\r
102 CC = P5 <= P0;\r
103 CC = P5 <= P1;\r
104 CC = P0 <= P2;\r
105 CC = P3 <= P5;\r
106 \r
107 //CC = Preg <= imm3 ; /* less than or equal, immediate, signed (a) */\r
108 CC = P5 <= -4;\r
109 CC = P5 <= 0;\r
110 CC = P5 <= 3;\r
111 CC = P2 <= -4;\r
112 CC = P2 <= 0;\r
113 CC = P2 <= 3;\r
114 \r
115 //CC = Preg < Preg (IU) ; /* less than, register, unsigned (a) */\r
116 CC = P5 < P0(IU);\r
117 CC = P5 < P1(IU);\r
118 CC = P0 < P2(IU);\r
119 CC = P3 < P5(IU);\r
120 \r
121 //CC = Preg < uimm3 (IU) ; /* less than, immediate, unsigned (a) */\r
122 CC = P5 < 0(IU);\r
123 CC = P5 < 7(IU);\r
124 CC = P2 < 0(IU);\r
125 CC = P2 < 7(IU);\r
126 \r
127 //CC = Preg <= Preg (IU) ; /* less than or equal, register, unsigned (a) */\r
128 CC = P5 <= P0(IU);\r
129 CC = P5 <= P1(IU);\r
130 CC = P0 <= P2(IU);\r
131 CC = P3 <= P5(IU);\r
132 \r
133 //CC = Preg <= uimm3 (IU) ; /* less than or equal, immediate unsigned (a) */\r
134 CC = P5 <= 0(IU);\r
135 CC = P5 <= 7(IU);\r
136 CC = P2 <= 0(IU);\r
137 CC = P2 <= 7(IU);\r
138 \r
139 CC = A0 == A1 ; /* equal, signed (a) */\r
140 CC = A0 < A1 ; /* less than, Accumulator, signed (a) */\r
141 CC = A0 <= A1 ; /* less than or equal, Accumulator, signed (a) */\r
142 \r
143 //Dreg = CC ; /* CC into 32-bit data register, zero-extended (a) */\r
144 R7 = CC;\r
145 R0 = CC;\r
146 \r
147 //statbit = CC ; /* status bit equals CC (a) */\r
148 AZ = CC;\r
149 AN = CC;\r
150 AC0= CC;\r
151 AC1= CC;\r
152 //V  = CC;\r
153 VS = CC; \r
154 AV0= CC;\r
155 AV0S= CC; \r
156 AV1 = CC; \r
157 AV1S= CC; \r
158 AQ  = CC;\r
159 //statbit |= CC ; /* status bit equals status bit OR CC (a) */\r
160 AZ |= CC;\r
161 AN |= CC;\r
162 AC0|= CC;\r
163 AC1|= CC;\r
164 //V  |= CC;\r
165 VS |= CC; \r
166 AV0|= CC;\r
167 AV0S|= CC; \r
168 AV1 |= CC; \r
169 AV1S|= CC; \r
170 AQ  |= CC;\r
171 \r
172 //statbit &= CC ; /* status bit equals status bit AND CC (a) */\r
173 AZ &= CC;\r
174 AN &= CC;\r
175 AC0&= CC;\r
176 AC1&= CC;\r
177 //V  &= CC;\r
178 VS &= CC; \r
179 AV0&= CC;\r
180 AV0S&= CC; \r
181 AV1 &= CC; \r
182 AV1S&= CC; \r
183 AQ  &= CC;\r
184 \r
185 //statbit ^= CC ; /* status bit equals status bit XOR CC (a) */\r
186 \r
187 AZ ^= CC;\r
188 AN ^= CC;\r
189 AC0^= CC;\r
190 AC1^= CC;\r
191 //V  ^= CC;\r
192 VS ^= CC; \r
193 AV0^= CC;\r
194 AV0S^= CC; \r
195 AV1 ^= CC; \r
196 AV1S^= CC; \r
197 AQ  ^= CC;\r
198 //CC = Dreg ; /* CC set if the register is non-zero (a) */\r
199 CC = R7;\r
200 CC = R6;\r
201 CC = R1;\r
202 CC = R0;\r
203 \r
204 \r
205 //CC = statbit ; /* CC equals status bit (a) */\r
206 CC = AZ;\r
207 CC = AN;\r
208 CC = AC0;\r
209 CC = AC1;\r
210 //CC = V;\r
211 CC = VS; \r
212 CC = AV0;\r
213 CC = AV0S; \r
214 CC = AV1; \r
215 CC = AV1S; \r
216 CC = AQ;\r
217 \r
218 //CC |= statbit ; /* CC equals CC OR status bit (a) */\r
219 CC |= AZ;\r
220 CC |= AN;\r
221 CC |= AC0;\r
222 CC |= AC1;\r
223 //CC |= V;\r
224 CC |= VS; \r
225 CC |= AV0;\r
226 CC |= AV0S; \r
227 CC |= AV1; \r
228 CC |= AV1S; \r
229 CC |= AQ;\r
230 \r
231 //CC &= statbit ; /* CC equals CC AND status bit (a) */\r
232 CC &= AZ;\r
233 CC &= AN;\r
234 CC &= AC0;\r
235 CC &= AC1;\r
236 //CC &= V;\r
237 CC &= VS; \r
238 CC &= AV0;\r
239 CC &= AV0S; \r
240 CC &= AV1; \r
241 CC &= AV1S; \r
242 CC &= AQ;\r
243 \r
244 //CC ^= statbit ; /* CC equals CC XOR status bit (a) */\r
245 CC ^= AZ;\r
246 CC ^= AN;\r
247 CC ^= AC0;\r
248 CC ^= AC1;\r
249 //CC ^= V;\r
250 CC ^= VS; \r
251 CC ^= AV0;\r
252 CC ^= AV0S; \r
253 CC ^= AV1; \r
254 CC ^= AV1S; \r
255 CC ^= AQ;\r
256 \r
257 CC = ! CC ; /* (a) */\r