1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -show-encoding | FileCheck %s
8 # CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
9 # CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
11 # CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
12 # CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
13 # CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
15 # CHECK: addi $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x20]
17 # CHECK: addi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x20]
19 # CHECK: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34]
20 # CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
22 # CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
23 # CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
25 # CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
26 # CHECK: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
28 add $4, $5, -0x80000000
29 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
30 # CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
32 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
33 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
34 # CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
36 # CHECK: addi $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x20]
38 # CHECK: addi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x20]
40 # CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
41 # CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
43 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
44 # CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
45 add $4, $5, 0xFFFFFFFF
46 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
47 # CHECK: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
50 # CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
51 # CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
53 # CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
54 # CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
55 # CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
57 # CHECK: addiu $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x24]
59 # CHECK: addiu $4, $4, 0 # encoding: [0x00,0x00,0x84,0x24]
61 # CHECK: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34]
62 # CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
64 # CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
65 # CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
67 # CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
68 # CHECK: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
70 addu $4, $5, -0x80000000
71 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
72 # CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
74 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
75 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
76 # CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
78 # CHECK: addiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x24]
80 # CHECK: addiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x24]
82 # CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
83 # CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
85 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
86 # CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
87 addu $4, $5, 0xFFFFFFFF
88 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
89 # CHECK: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
92 # CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
93 # CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
95 # CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
96 # CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
97 # CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
99 # CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
101 # CHECK: andi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x30]
103 # CHECK: andi $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x30]
105 # CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
106 # CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
108 # CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
109 # CHECK: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
111 and $4, $5, -0x80000000
112 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
113 # CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
115 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
116 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
117 # CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
119 # CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
120 # CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
122 # CHECK: andi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x30]
124 # CHECK: andi $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x30]
126 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
127 # CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
128 and $4, $5, 0xFFFFFFFF
129 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
130 # CHECK: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
133 # CHECK: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
134 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
136 # CHECK: addiu $4, $zero, 1 # encoding: [0x01,0x00,0x04,0x24]
137 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
139 # CHECK: ori $4, $zero, 32768 # encoding: [0x00,0x80,0x04,0x34]
140 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
142 # CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
143 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
145 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
146 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
148 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
149 # CHECK: ori $4, $4, 42405 # encoding: [0xa5,0xa5,0x84,0x34]
150 # CHECK: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
153 # CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
154 # CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
156 # CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
157 # CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
158 # CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
160 # CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
161 # CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
163 # CHECK: ori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x34]
165 # CHECK: ori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x34]
167 # CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
168 # CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
170 # CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
171 # CHECK: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
173 or $4, $5, -0x80000000
174 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
175 # CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
177 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
178 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
179 # CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
181 # CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
182 # CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
184 # CHECK: ori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x34]
186 # CHECK: ori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x34]
188 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
189 # CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
190 or $4, $5, 0xFFFFFFFF
191 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
192 # CHECK: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
194 slt $4, $5, -0x80000000
195 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
196 # CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
198 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
199 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
200 # CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
202 # CHECK: slti $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x28]
204 # CHECK: slti $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x28]
206 # CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
208 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
209 # CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
210 slt $4, $5, 0xFFFFFFFF
211 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
212 # CHECK: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
214 sltu $4, $5, -0x80000000
215 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
216 # CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
218 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
219 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
220 # CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
222 # CHECK: sltiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x2c]
224 # CHECK: sltiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x2c]
226 # CHECK: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
228 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
229 # CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
230 sltu $4, $5, 0xFFFFFFFF
231 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
232 # CHECK: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
235 # CHECK: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
236 # CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
238 # CHECK: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
239 # CHECK: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
240 # CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
242 # CHECK: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
244 # CHECK: xori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x38]
246 # CHECK: xori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x38]
248 # CHECK: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
249 # CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
251 # CHECK: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
252 # CHECK: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
254 xor $4, $5, -0x80000000
255 # CHECK: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
256 # CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
258 # CHECK: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
259 # CHECK: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
260 # CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
262 # CHECK: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
263 # CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
265 # CHECK: xori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x38]
267 # CHECK: xori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x38]
269 # CHECK: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
270 # CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
271 xor $4, $5, 0xFFFFFFFF
272 # CHECK: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
273 # CHECK: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]