1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \
2 # RUN: FileCheck %s --check-prefix=CHECK-LE
3 # RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \
4 # RUN: FileCheck %s --check-prefix=CHECK-BE
6 # Check that the IAS expands macro instructions in the same way as GAS.
8 # Load address, done by MipsAsmParser::expandLoadAddressReg()
9 # and MipsAsmParser::expandLoadAddressImm():
11 # CHECK-LE: lui $8, %hi(($tmp0)) # encoding: [A,A,0x08,0x3c]
12 # CHECK-LE: # fixup A - offset: 0, value: %hi(($tmp0)), kind: fixup_Mips_HI16
13 # CHECK-LE: addiu $8, $8, %lo(($tmp0)) # encoding: [A,A,0x08,0x25]
14 # CHECK-LE: # fixup A - offset: 0, value: %lo(($tmp0)), kind: fixup_Mips_LO16
16 # LW/SW and LDC1/SDC1 of symbol address, done by MipsAsmParser::expandMemInst():
19 # CHECK-LE: lui $10, %hi(symbol) # encoding: [A,A,0x0a,0x3c]
20 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_HI, kind: fixup_Mips_HI16
21 # CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]
22 # CHECK-LE: lw $10, %lo(symbol)($10) # encoding: [A,A,0x4a,0x8d]
23 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_LO, kind: fixup_Mips_LO16
26 # CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]
27 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_HI, kind: fixup_Mips_HI16
28 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
29 # CHECK-LE: sw $10, %lo(symbol)($1) # encoding: [A,A,0x2a,0xac]
30 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_LO, kind: fixup_Mips_LO16
33 # CHECK-LE: lui $8, %hi($tmp0) # encoding: [A,A,0x08,0x3c]
34 # CHECK-LE: # fixup A - offset: 0, value: ($tmp0)@ABS_HI, kind: fixup_Mips_HI16
35 # CHECK-LE: lw $8, %lo($tmp0)($8) # encoding: [A,A,0x08,0x8d]
36 # CHECK-LE: # fixup A - offset: 0, value: ($tmp0)@ABS_LO, kind: fixup_Mips_LO16
38 # CHECK-LE: lui $1, %hi($tmp0) # encoding: [A,A,0x01,0x3c]
39 # CHECK-LE: # fixup A - offset: 0, value: ($tmp0)@ABS_HI, kind: fixup_Mips_HI16
40 # CHECK-LE: sw $8, %lo($tmp0)($1) # encoding: [A,A,0x28,0xac]
41 # CHECK-LE: # fixup A - offset: 0, value: ($tmp0)@ABS_LO, kind: fixup_Mips_LO16
44 # CHECK-LE: lui $10, 10 # encoding: [0x0a,0x00,0x0a,0x3c]
45 # CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]
46 # CHECK-LE: lw $10, 123($10) # encoding: [0x7b,0x00,0x4a,0x8d]
48 # CHECK-LE: lui $1, 2 # encoding: [0x02,0x00,0x01,0x3c]
49 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
50 # CHECK-LE: sw $10, 57920($1) # encoding: [0x40,0xe2,0x2a,0xac]
53 # CHECK-LE: lui $8, %hi(symbol) # encoding: [A,A,0x08,0x3c]
54 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_HI, kind: fixup_Mips_HI16
55 # CHECK-LE-NOT: move $8, $8 # encoding: [0x21,0x40,0x00,0x01]
56 # CHECK-LE: lw $8, %lo(symbol)($8) # encoding: [A,A,0x08,0x8d]
57 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_LO, kind: fixup_Mips_LO16
59 # CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]
60 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_HI, kind: fixup_Mips_HI16
61 # CHECK-LE-NOT: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
62 # CHECK-LE: sw $8, %lo(symbol)($1) # encoding: [A,A,0x28,0xac]
63 # CHECK-LE: # fixup A - offset: 0, value: symbol@ABS_LO, kind: fixup_Mips_LO16
66 # CHECK-LE: lui $1, %hi(symbol)
67 # CHECK-LE: ldc1 $f0, %lo(symbol)($1)
69 # CHECK-LE: lui $1, %hi(symbol)
70 # CHECK-LE: sdc1 $f0, %lo(symbol)($1)
72 # Test BNE with an immediate as the 2nd operand.
74 # CHECK-LE: bnez $2, 1332 # encoding: [0x4d,0x01,0x40,0x14]
75 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
78 # CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]
79 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
80 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
83 # CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]
84 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
85 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
88 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
89 # CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]
90 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
91 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
94 # CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]
95 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
96 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
99 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
100 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
101 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
103 # Test BEQ with an immediate as the 2nd operand.
105 # CHECK-LE: beqz $2, 1332 # encoding: [0x4d,0x01,0x40,0x10]
106 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
109 # CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]
110 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
111 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
114 # CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]
115 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
116 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
119 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
120 # CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]
121 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
122 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
125 # CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]
126 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
127 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
129 beq $2, 0x10000, 1332
130 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
131 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
132 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
134 # Test ULHU with immediate operand.
136 # CHECK-BE: lbu $1, 0($zero) # encoding: [0x90,0x01,0x00,0x00]
137 # CHECK-BE: lbu $8, 1($zero) # encoding: [0x90,0x08,0x00,0x01]
138 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
139 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
140 # CHECK-LE: lbu $1, 1($zero) # encoding: [0x01,0x00,0x01,0x90]
141 # CHECK-LE: lbu $8, 0($zero) # encoding: [0x00,0x00,0x08,0x90]
142 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
143 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
146 # CHECK-BE: lbu $1, 2($zero) # encoding: [0x90,0x01,0x00,0x02]
147 # CHECK-BE: lbu $8, 3($zero) # encoding: [0x90,0x08,0x00,0x03]
148 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
149 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
150 # CHECK-LE: lbu $1, 3($zero) # encoding: [0x03,0x00,0x01,0x90]
151 # CHECK-LE: lbu $8, 2($zero) # encoding: [0x02,0x00,0x08,0x90]
152 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
153 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
156 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
157 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
158 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
159 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
160 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
161 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
162 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
163 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
164 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
165 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
168 # CHECK-BE: lbu $1, -32768($zero) # encoding: [0x90,0x01,0x80,0x00]
169 # CHECK-BE: lbu $8, -32767($zero) # encoding: [0x90,0x08,0x80,0x01]
170 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
171 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
172 # CHECK-LE: lbu $1, -32767($zero) # encoding: [0x01,0x80,0x01,0x90]
173 # CHECK-LE: lbu $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x90]
174 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
175 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
178 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
179 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
180 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
181 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
182 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
183 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
184 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
185 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
186 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
187 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
190 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
191 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
192 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
193 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
194 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
195 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
196 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
197 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
198 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
199 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
200 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
201 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
204 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
205 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
206 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
207 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
208 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
209 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
210 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
211 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
212 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
213 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
214 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
215 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
218 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
219 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
220 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
221 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
222 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
223 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
224 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
225 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
226 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
227 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
229 # Test ULHU with immediate offset and a source register operand.
231 # CHECK-BE: lbu $1, 0($9) # encoding: [0x91,0x21,0x00,0x00]
232 # CHECK-BE: lbu $8, 1($9) # encoding: [0x91,0x28,0x00,0x01]
233 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
234 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
235 # CHECK-LE: lbu $1, 1($9) # encoding: [0x01,0x00,0x21,0x91]
236 # CHECK-LE: lbu $8, 0($9) # encoding: [0x00,0x00,0x28,0x91]
237 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
238 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
241 # CHECK-BE: lbu $1, 2($9) # encoding: [0x91,0x21,0x00,0x02]
242 # CHECK-BE: lbu $8, 3($9) # encoding: [0x91,0x28,0x00,0x03]
243 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
244 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
245 # CHECK-LE: lbu $1, 3($9) # encoding: [0x03,0x00,0x21,0x91]
246 # CHECK-LE: lbu $8, 2($9) # encoding: [0x02,0x00,0x28,0x91]
247 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
248 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
251 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
252 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
253 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
254 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
255 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
256 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
257 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
258 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
259 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
260 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
261 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
262 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
265 # CHECK-BE: lbu $1, -32768($9) # encoding: [0x91,0x21,0x80,0x00]
266 # CHECK-BE: lbu $8, -32767($9) # encoding: [0x91,0x28,0x80,0x01]
267 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
268 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
269 # CHECK-LE: lbu $1, -32767($9) # encoding: [0x01,0x80,0x21,0x91]
270 # CHECK-LE: lbu $8, -32768($9) # encoding: [0x00,0x80,0x28,0x91]
271 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
272 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
275 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
276 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
277 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
278 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
279 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
280 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
281 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
282 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
283 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
284 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
285 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
286 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
289 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
290 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
291 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
292 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
293 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
294 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
295 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
296 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
297 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
298 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
299 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
300 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
301 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
302 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
305 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
306 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
307 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
308 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
309 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
310 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
311 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
312 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
313 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
314 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
315 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
316 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
317 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
318 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
321 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
322 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
323 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
324 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
325 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
326 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
327 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
328 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
329 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
330 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
331 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
332 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
334 # Test ULW with immediate operand.
336 # CHECK-BE: lwl $8, 0($zero) # encoding: [0x88,0x08,0x00,0x00]
337 # CHECK-BE: lwr $8, 3($zero) # encoding: [0x98,0x08,0x00,0x03]
338 # CHECK-LE: lwl $8, 3($zero) # encoding: [0x03,0x00,0x08,0x88]
339 # CHECK-LE: lwr $8, 0($zero) # encoding: [0x00,0x00,0x08,0x98]
342 # CHECK-BE: lwl $8, 2($zero) # encoding: [0x88,0x08,0x00,0x02]
343 # CHECK-BE: lwr $8, 5($zero) # encoding: [0x98,0x08,0x00,0x05]
344 # CHECK-LE: lwl $8, 5($zero) # encoding: [0x05,0x00,0x08,0x88]
345 # CHECK-LE: lwr $8, 2($zero) # encoding: [0x02,0x00,0x08,0x98]
348 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
349 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
350 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
351 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
352 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
353 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
356 # CHECK-BE: lwl $8, -32768($zero) # encoding: [0x88,0x08,0x80,0x00]
357 # CHECK-BE: lwr $8, -32765($zero) # encoding: [0x98,0x08,0x80,0x03]
358 # CHECK-LE: lwl $8, -32765($zero) # encoding: [0x03,0x80,0x08,0x88]
359 # CHECK-LE: lwr $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x98]
362 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
363 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
364 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
365 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
366 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
367 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
370 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
371 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
372 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
373 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
374 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
375 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
376 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
377 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
380 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
381 # CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]
382 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
383 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
384 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
385 # CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]
386 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
387 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
390 # CHECK-BE: addiu $1, $zero, 32765 # encoding: [0x24,0x01,0x7f,0xfd]
391 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
392 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
393 # CHECK-LE: addiu $1, $zero, 32765 # encoding: [0xfd,0x7f,0x01,0x24]
394 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
395 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
397 # Test ULW with immediate offset and a source register operand.
399 # CHECK-BE: lwl $8, 0($9) # encoding: [0x89,0x28,0x00,0x00]
400 # CHECK-BE: lwr $8, 3($9) # encoding: [0x99,0x28,0x00,0x03]
401 # CHECK-LE: lwl $8, 3($9) # encoding: [0x03,0x00,0x28,0x89]
402 # CHECK-LE: lwr $8, 0($9) # encoding: [0x00,0x00,0x28,0x99]
405 # CHECK-BE: lwl $8, 2($9) # encoding: [0x89,0x28,0x00,0x02]
406 # CHECK-BE: lwr $8, 5($9) # encoding: [0x99,0x28,0x00,0x05]
407 # CHECK-LE: lwl $8, 5($9) # encoding: [0x05,0x00,0x28,0x89]
408 # CHECK-LE: lwr $8, 2($9) # encoding: [0x02,0x00,0x28,0x99]
411 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
412 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
413 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
414 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
415 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
416 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
417 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
418 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
421 # CHECK-BE: lwl $8, -32768($9) # encoding: [0x89,0x28,0x80,0x00]
422 # CHECK-BE: lwr $8, -32765($9) # encoding: [0x99,0x28,0x80,0x03]
423 # CHECK-LE: lwl $8, -32765($9) # encoding: [0x03,0x80,0x28,0x89]
424 # CHECK-LE: lwr $8, -32768($9) # encoding: [0x00,0x80,0x28,0x99]
427 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
428 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
429 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
430 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
431 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
432 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
433 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
434 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
437 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
438 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
439 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
440 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
441 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
442 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
443 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
444 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
445 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
446 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
449 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
450 # CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]
451 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
452 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
453 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
454 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
455 # CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]
456 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
457 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
458 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
461 # CHECK-BE: addiu $1, $zero, 32765 # encoding: [0x24,0x01,0x7f,0xfd]
462 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
463 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
464 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
465 # CHECK-LE: addiu $1, $zero, 32765 # encoding: [0xfd,0x7f,0x01,0x24]
466 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
467 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
468 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]