[ARM] Better OR's for MVE compares
[llvm-core.git] / test / MC / Mips / mips-expansions.s
blob91a637bfe221654b26bea718273b9cf3fd108420
1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \
2 # RUN: FileCheck %s --check-prefixes=CHECK,CHECK-LE
3 # RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \
4 # RUN: FileCheck %s --check-prefixes=CHECK,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():
10 la $8, 1f
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 lb $4, 0x8000
17 # CHECK-LE: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
18 # CHECK-LE: lb $4, -32768($4) # encoding: [0x00,0x80,0x84,0x80]
20 lb $4, 0x20004($3)
21 # CHECK-LE: lui $4, 2 # encoding: [0x02,0x00,0x04,0x3c]
22 # CHECK-LE: addu $4, $4, $3 # encoding: [0x21,0x20,0x83,0x00]
23 # CHECK-LE: lb $4, 4($4) # encoding: [0x04,0x00,0x84,0x80]
25 lbu $4, 0x8000
26 # CHECK-LE: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
27 # CHECK-LE: lbu $4, -32768($4) # encoding: [0x00,0x80,0x84,0x90]
29 lbu $4, 0x20004($3)
30 # CHECK-LE: lui $4, 2 # encoding: [0x02,0x00,0x04,0x3c]
31 # CHECK-LE: addu $4, $4, $3 # encoding: [0x21,0x20,0x83,0x00]
32 # CHECK-LE: lbu $4, 4($4) # encoding: [0x04,0x00,0x84,0x90]
34 lh $4, 0x8000
35 # CHECK-LE: lui $4, 1
36 # CHECK-LE: lh $4, -32768($4)
38 lh $4, 0x20004($3)
39 # CHECK-LE: lui $4, 2
40 # CHECK-LE: addu $4, $4, $3
41 # CHECK-LE: lh $4, 4($4)
43 lhu $4, 0x8000
44 # CHECK-LE: lui $4, 1
45 # CHECK-LE: lhu $4, -32768($4)
47 lhu $4, 0x20004($3)
48 # CHECK-LE: lui $4, 2
49 # CHECK-LE: addu $4, $4, $3
50 # CHECK-LE: lhu $4, 4($4)
52 # LW/SW and LDC1/SDC1 of symbol address, done by MipsAsmParser::expandMemInst():
53 .set noat
54 lw $10, symbol($4)
55 # CHECK-LE: lui $10, %hi(symbol) # encoding: [A,A,0x0a,0x3c]
56 # CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
57 # CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]
58 # CHECK-LE: lw $10, %lo(symbol)($10) # encoding: [A,A,0x4a,0x8d]
59 # CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
60 .set at
61 sw $10, symbol($9)
62 # CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]
63 # CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
64 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
65 # CHECK-LE: sw $10, %lo(symbol)($1) # encoding: [A,A,0x2a,0xac]
66 # CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
68 lw $8, 1f
69 # CHECK-LE: lui $8, %hi($tmp0) # encoding: [A,A,0x08,0x3c]
70 # CHECK-LE: # fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI16
71 # CHECK-LE: lw $8, %lo($tmp0)($8) # encoding: [A,A,0x08,0x8d]
72 # CHECK-LE: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16
73 sw $8, 1f
74 # CHECK-LE: lui $1, %hi($tmp0) # encoding: [A,A,0x01,0x3c]
75 # CHECK-LE: # fixup A - offset: 0, value: %hi($tmp0), kind: fixup_Mips_HI16
76 # CHECK-LE: sw $8, %lo($tmp0)($1) # encoding: [A,A,0x28,0xac]
77 # CHECK-LE: # fixup A - offset: 0, value: %lo($tmp0), kind: fixup_Mips_LO16
79 lw $10, 655483($4)
80 # CHECK-LE: lui $10, 10 # encoding: [0x0a,0x00,0x0a,0x3c]
81 # CHECK-LE: addu $10, $10, $4 # encoding: [0x21,0x50,0x44,0x01]
82 # CHECK-LE: lw $10, 123($10) # encoding: [0x7b,0x00,0x4a,0x8d]
83 sw $10, 123456($9)
84 # CHECK-LE: lui $1, 2 # encoding: [0x02,0x00,0x01,0x3c]
85 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
86 # CHECK-LE: sw $10, -7616($1) # encoding: [0x40,0xe2,0x2a,0xac]
88 lw $8, symbol
89 # CHECK-LE: lui $8, %hi(symbol) # encoding: [A,A,0x08,0x3c]
90 # CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
91 # CHECK-LE-NOT: move $8, $8 # encoding: [0x21,0x40,0x00,0x01]
92 # CHECK-LE: lw $8, %lo(symbol)($8) # encoding: [A,A,0x08,0x8d]
93 # CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
94 sw $8, symbol
95 # CHECK-LE: lui $1, %hi(symbol) # encoding: [A,A,0x01,0x3c]
96 # CHECK-LE: # fixup A - offset: 0, value: %hi(symbol), kind: fixup_Mips_HI16
97 # CHECK-LE-NOT: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
98 # CHECK-LE: sw $8, %lo(symbol)($1) # encoding: [A,A,0x28,0xac]
99 # CHECK-LE: # fixup A - offset: 0, value: %lo(symbol), kind: fixup_Mips_LO16
101 ldc1 $f0, symbol
102 # CHECK-LE: lui $1, %hi(symbol)
103 # CHECK-LE: ldc1 $f0, %lo(symbol)($1)
104 sdc1 $f0, symbol
105 # CHECK-LE: lui $1, %hi(symbol)
106 # CHECK-LE: sdc1 $f0, %lo(symbol)($1)
108 # Test BNE with an immediate as the 2nd operand.
109 bne $2, 0, 1332
110 # CHECK-LE: bnez $2, 1332 # encoding: [0x4d,0x01,0x40,0x14]
111 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
113 bne $2, 123, 1332
114 # CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]
115 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
116 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
118 bne $2, -2345, 1332
119 # CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]
120 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
121 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
123 bne $2, 65538, 1332
124 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
125 # CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]
126 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
127 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
129 bne $2, ~7, 1332
130 # CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]
131 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
132 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
134 bne $2, 0x10000, 1332
135 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
136 # CHECK-LE: bne $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x14]
137 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
139 # Test BEQ with an immediate as the 2nd operand.
140 beq $2, 0, 1332
141 # CHECK-LE: beqz $2, 1332 # encoding: [0x4d,0x01,0x40,0x10]
142 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
144 beq $2, 123, 1332
145 # CHECK-LE: addiu $1, $zero, 123 # encoding: [0x7b,0x00,0x01,0x24]
146 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
147 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
149 beq $2, -2345, 1332
150 # CHECK-LE: addiu $1, $zero, -2345 # encoding: [0xd7,0xf6,0x01,0x24]
151 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
152 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
154 beq $2, 65538, 1332
155 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
156 # CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]
157 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
158 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
160 beq $2, ~7, 1332
161 # CHECK-LE: addiu $1, $zero, -8 # encoding: [0xf8,0xff,0x01,0x24]
162 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
163 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
165 beq $2, 0x10000, 1332
166 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
167 # CHECK-LE: beq $2, $1, 1332 # encoding: [0x4d,0x01,0x41,0x10]
168 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
170 beq $2, 65538, foo
171 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
172 # CHECK-LE: ori $1, $1, 2 # encoding: [0x02,0x00,0x21,0x34]
173 # CHECK-LE: beq $2, $1, foo # encoding: [A,A,0x41,0x10]
174 # CHECK-LE: nop # encoding: [0x00,0x00,0x00,0x00]
176 # Test ULH with immediate operand.
177 ulh_imm: # CHECK-LABEL: ulh_imm:
178 ulh $8, 0
179 # CHECK-BE: lb $1, 0($zero) # encoding: [0x80,0x01,0x00,0x00]
180 # CHECK-BE: lbu $8, 1($zero) # encoding: [0x90,0x08,0x00,0x01]
181 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
182 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
183 # CHECK-LE: lb $1, 1($zero) # encoding: [0x01,0x00,0x01,0x80]
184 # CHECK-LE: lbu $8, 0($zero) # encoding: [0x00,0x00,0x08,0x90]
185 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
186 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
188 ulh $8, 2
189 # CHECK-BE: lb $1, 2($zero) # encoding: [0x80,0x01,0x00,0x02]
190 # CHECK-BE: lbu $8, 3($zero) # encoding: [0x90,0x08,0x00,0x03]
191 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
192 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
193 # CHECK-LE: lb $1, 3($zero) # encoding: [0x03,0x00,0x01,0x80]
194 # CHECK-LE: lbu $8, 2($zero) # encoding: [0x02,0x00,0x08,0x90]
195 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
196 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
198 ulh $8, 0x8000
199 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
200 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
201 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
202 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
203 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
204 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
205 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
206 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
207 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
208 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
210 ulh $8, -0x8000
211 # CHECK-BE: lb $1, -32768($zero) # encoding: [0x80,0x01,0x80,0x00]
212 # CHECK-BE: lbu $8, -32767($zero) # encoding: [0x90,0x08,0x80,0x01]
213 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
214 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
215 # CHECK-LE: lb $1, -32767($zero) # encoding: [0x01,0x80,0x01,0x80]
216 # CHECK-LE: lbu $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x90]
217 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
218 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
220 ulh $8, 0x10000
221 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
222 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
223 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
224 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
225 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
226 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
227 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
228 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
229 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
230 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
232 ulh $8, 0x18888
233 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
234 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
235 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
236 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
237 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
238 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
239 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
240 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
241 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
242 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
243 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
244 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
246 ulh $8, -32769
247 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
248 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
249 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
250 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
251 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
252 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
253 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
254 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
255 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
256 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
257 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
258 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
260 ulh $8, 32767
261 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
262 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
263 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
264 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
265 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
266 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
267 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
268 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
269 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
270 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
272 # Test ULH with immediate offset and a source register operand.
273 ulh_reg: # CHECK-LABEL: ulh_reg:
274 ulh $8, 0($9)
275 # CHECK-BE: lb $1, 0($9) # encoding: [0x81,0x21,0x00,0x00]
276 # CHECK-BE: lbu $8, 1($9) # encoding: [0x91,0x28,0x00,0x01]
277 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
278 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
279 # CHECK-LE: lb $1, 1($9) # encoding: [0x01,0x00,0x21,0x81]
280 # CHECK-LE: lbu $8, 0($9) # encoding: [0x00,0x00,0x28,0x91]
281 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
282 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
284 ulh $8, 2($9)
285 # CHECK-BE: lb $1, 2($9) # encoding: [0x81,0x21,0x00,0x02]
286 # CHECK-BE: lbu $8, 3($9) # encoding: [0x91,0x28,0x00,0x03]
287 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
288 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
289 # CHECK-LE: lb $1, 3($9) # encoding: [0x03,0x00,0x21,0x81]
290 # CHECK-LE: lbu $8, 2($9) # encoding: [0x02,0x00,0x28,0x91]
291 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
292 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
294 ulh $8, 0x8000($9)
295 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
296 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
297 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
298 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
299 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
300 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
301 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
302 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
303 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
304 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
305 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
306 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
308 ulh $8, -0x8000($9)
309 # CHECK-BE: lb $1, -32768($9) # encoding: [0x81,0x21,0x80,0x00]
310 # CHECK-BE: lbu $8, -32767($9) # encoding: [0x91,0x28,0x80,0x01]
311 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
312 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
313 # CHECK-LE: lb $1, -32767($9) # encoding: [0x01,0x80,0x21,0x81]
314 # CHECK-LE: lbu $8, -32768($9) # encoding: [0x00,0x80,0x28,0x91]
315 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
316 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
318 ulh $8, 0x10000($9)
319 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
320 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
321 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
322 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
323 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
324 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
325 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
326 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
327 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
328 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
329 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
330 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
332 ulh $8, 0x18888($9)
333 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
334 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
335 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
336 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
337 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
338 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
339 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
340 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
341 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
342 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
343 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
344 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
345 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
346 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
348 ulh $8, -32769($9)
349 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
350 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
351 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
352 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
353 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
354 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
355 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
356 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
357 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
358 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
359 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
360 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
361 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
362 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
364 ulh $8, 32767($9)
365 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]
366 # CHECK-BE: lb $8, 0($1) # encoding: [0x80,0x28,0x00,0x00]
367 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
368 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
369 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
370 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]
371 # CHECK-LE: lb $8, 1($1) # encoding: [0x01,0x00,0x28,0x80]
372 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
373 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
374 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
376 # Test ULHU with immediate operand.
377 ulhu_imm: # CHECK-LABEL: ulhu_imm:
378 ulhu $8, 0
379 # CHECK-BE: lbu $1, 0($zero) # encoding: [0x90,0x01,0x00,0x00]
380 # CHECK-BE: lbu $8, 1($zero) # encoding: [0x90,0x08,0x00,0x01]
381 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
382 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
383 # CHECK-LE: lbu $1, 1($zero) # encoding: [0x01,0x00,0x01,0x90]
384 # CHECK-LE: lbu $8, 0($zero) # encoding: [0x00,0x00,0x08,0x90]
385 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
386 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
388 ulhu $8, 2
389 # CHECK-BE: lbu $1, 2($zero) # encoding: [0x90,0x01,0x00,0x02]
390 # CHECK-BE: lbu $8, 3($zero) # encoding: [0x90,0x08,0x00,0x03]
391 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
392 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
393 # CHECK-LE: lbu $1, 3($zero) # encoding: [0x03,0x00,0x01,0x90]
394 # CHECK-LE: lbu $8, 2($zero) # encoding: [0x02,0x00,0x08,0x90]
395 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
396 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
398 ulhu $8, 0x8000
399 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
400 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
401 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
402 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
403 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
404 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
405 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
406 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
407 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
408 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
410 ulhu $8, -0x8000
411 # CHECK-BE: lbu $1, -32768($zero) # encoding: [0x90,0x01,0x80,0x00]
412 # CHECK-BE: lbu $8, -32767($zero) # encoding: [0x90,0x08,0x80,0x01]
413 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
414 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
415 # CHECK-LE: lbu $1, -32767($zero) # encoding: [0x01,0x80,0x01,0x90]
416 # CHECK-LE: lbu $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x90]
417 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
418 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
420 ulhu $8, 0x10000
421 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
422 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
423 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
424 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
425 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
426 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
427 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
428 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
429 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
430 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
432 ulhu $8, 0x18888
433 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
434 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
435 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
436 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
437 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
438 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
439 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
440 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
441 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
442 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
443 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
444 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
446 ulhu $8, -32769
447 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
448 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
449 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
450 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
451 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
452 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
453 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
454 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
455 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
456 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
457 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
458 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
460 ulhu $8, 32767
461 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
462 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
463 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
464 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
465 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
466 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
467 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
468 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
469 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
470 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
472 # Test ULHU with immediate offset and a source register operand.
473 ulhu $8, 0($9)
474 # CHECK-BE: lbu $1, 0($9) # encoding: [0x91,0x21,0x00,0x00]
475 # CHECK-BE: lbu $8, 1($9) # encoding: [0x91,0x28,0x00,0x01]
476 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
477 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
478 # CHECK-LE: lbu $1, 1($9) # encoding: [0x01,0x00,0x21,0x91]
479 # CHECK-LE: lbu $8, 0($9) # encoding: [0x00,0x00,0x28,0x91]
480 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
481 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
483 ulhu $8, 2($9)
484 # CHECK-BE: lbu $1, 2($9) # encoding: [0x91,0x21,0x00,0x02]
485 # CHECK-BE: lbu $8, 3($9) # encoding: [0x91,0x28,0x00,0x03]
486 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
487 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
488 # CHECK-LE: lbu $1, 3($9) # encoding: [0x03,0x00,0x21,0x91]
489 # CHECK-LE: lbu $8, 2($9) # encoding: [0x02,0x00,0x28,0x91]
490 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
491 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
493 ulhu $8, 0x8000($9)
494 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
495 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
496 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
497 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
498 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
499 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
500 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
501 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
502 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
503 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
504 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
505 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
507 ulhu $8, -0x8000($9)
508 # CHECK-BE: lbu $1, -32768($9) # encoding: [0x91,0x21,0x80,0x00]
509 # CHECK-BE: lbu $8, -32767($9) # encoding: [0x91,0x28,0x80,0x01]
510 # CHECK-BE: sll $1, $1, 8 # encoding: [0x00,0x01,0x0a,0x00]
511 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
512 # CHECK-LE: lbu $1, -32767($9) # encoding: [0x01,0x80,0x21,0x91]
513 # CHECK-LE: lbu $8, -32768($9) # encoding: [0x00,0x80,0x28,0x91]
514 # CHECK-LE: sll $1, $1, 8 # encoding: [0x00,0x0a,0x01,0x00]
515 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
517 ulhu $8, 0x10000($9)
518 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
519 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
520 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
521 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
522 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
523 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
524 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
525 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
526 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
527 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
528 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
529 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
531 ulhu $8, 0x18888($9)
532 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
533 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
534 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
535 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
536 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
537 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
538 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
539 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
540 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
541 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
542 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
543 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
544 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
545 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
547 ulhu $8, -32769($9)
548 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
549 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
550 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
551 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
552 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
553 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
554 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
555 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
556 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
557 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
558 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
559 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
560 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
561 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
563 ulhu $8, 32767($9)
564 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]
565 # CHECK-BE: lbu $8, 0($1) # encoding: [0x90,0x28,0x00,0x00]
566 # CHECK-BE: lbu $1, 1($1) # encoding: [0x90,0x21,0x00,0x01]
567 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
568 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
569 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]
570 # CHECK-LE: lbu $8, 1($1) # encoding: [0x01,0x00,0x28,0x90]
571 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
572 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
573 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
575 # Test ULW with immediate operand.
576 ulw $8, 0
577 # CHECK-BE: lwl $8, 0($zero) # encoding: [0x88,0x08,0x00,0x00]
578 # CHECK-BE: lwr $8, 3($zero) # encoding: [0x98,0x08,0x00,0x03]
579 # CHECK-LE: lwl $8, 3($zero) # encoding: [0x03,0x00,0x08,0x88]
580 # CHECK-LE: lwr $8, 0($zero) # encoding: [0x00,0x00,0x08,0x98]
582 ulw $8, 2
583 # CHECK-BE: lwl $8, 2($zero) # encoding: [0x88,0x08,0x00,0x02]
584 # CHECK-BE: lwr $8, 5($zero) # encoding: [0x98,0x08,0x00,0x05]
585 # CHECK-LE: lwl $8, 5($zero) # encoding: [0x05,0x00,0x08,0x88]
586 # CHECK-LE: lwr $8, 2($zero) # encoding: [0x02,0x00,0x08,0x98]
588 ulw $8, 0x8000
589 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
590 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
591 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
592 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
593 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
594 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
596 ulw $8, -0x8000
597 # CHECK-BE: lwl $8, -32768($zero) # encoding: [0x88,0x08,0x80,0x00]
598 # CHECK-BE: lwr $8, -32765($zero) # encoding: [0x98,0x08,0x80,0x03]
599 # CHECK-LE: lwl $8, -32765($zero) # encoding: [0x03,0x80,0x08,0x88]
600 # CHECK-LE: lwr $8, -32768($zero) # encoding: [0x00,0x80,0x08,0x98]
602 ulw $8, 0x10000
603 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
604 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
605 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
606 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
607 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
608 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
610 ulw $8, 0x18888
611 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
612 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
613 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
614 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
615 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
616 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
617 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
618 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
620 ulw $8, -32771
621 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
622 # CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]
623 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
624 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
625 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
626 # CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]
627 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
628 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
630 ulw $8, 32765
631 # CHECK-BE: addiu $1, $zero, 32765 # encoding: [0x24,0x01,0x7f,0xfd]
632 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
633 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
634 # CHECK-LE: addiu $1, $zero, 32765 # encoding: [0xfd,0x7f,0x01,0x24]
635 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
636 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
638 # Test ULW with immediate offset and a source register operand.
639 ulw $8, 0($9)
640 # CHECK-BE: lwl $8, 0($9) # encoding: [0x89,0x28,0x00,0x00]
641 # CHECK-BE: lwr $8, 3($9) # encoding: [0x99,0x28,0x00,0x03]
642 # CHECK-LE: lwl $8, 3($9) # encoding: [0x03,0x00,0x28,0x89]
643 # CHECK-LE: lwr $8, 0($9) # encoding: [0x00,0x00,0x28,0x99]
645 ulw $8, 2($9)
646 # CHECK-BE: lwl $8, 2($9) # encoding: [0x89,0x28,0x00,0x02]
647 # CHECK-BE: lwr $8, 5($9) # encoding: [0x99,0x28,0x00,0x05]
648 # CHECK-LE: lwl $8, 5($9) # encoding: [0x05,0x00,0x28,0x89]
649 # CHECK-LE: lwr $8, 2($9) # encoding: [0x02,0x00,0x28,0x99]
651 ulw $8, 0x8000($9)
652 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
653 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
654 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
655 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
656 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
657 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
658 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
659 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
661 ulw $8, -0x8000($9)
662 # CHECK-BE: lwl $8, -32768($9) # encoding: [0x89,0x28,0x80,0x00]
663 # CHECK-BE: lwr $8, -32765($9) # encoding: [0x99,0x28,0x80,0x03]
664 # CHECK-LE: lwl $8, -32765($9) # encoding: [0x03,0x80,0x28,0x89]
665 # CHECK-LE: lwr $8, -32768($9) # encoding: [0x00,0x80,0x28,0x99]
667 ulw $8, 0x10000($9)
668 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
669 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
670 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
671 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
672 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
673 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
674 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
675 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
677 ulw $8, 0x18888($9)
678 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
679 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
680 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
681 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
682 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
683 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
684 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
685 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
686 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
687 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
689 ulw $8, -32771($9)
690 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
691 # CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]
692 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
693 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
694 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
695 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
696 # CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]
697 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
698 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
699 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
701 ulw $8, 32765($9)
702 # CHECK-BE: addiu $1, $9, 32765 # encoding: [0x25,0x21,0x7f,0xfd]
703 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
704 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
705 # CHECK-LE: addiu $1, $9, 32765 # encoding: [0xfd,0x7f,0x21,0x25]
706 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
707 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
709 ulw $8, 0($8)
710 # CHECK-BE: lwl $1, 0($8) # encoding: [0x89,0x01,0x00,0x00]
711 # CHECK-BE: lwr $1, 3($8) # encoding: [0x99,0x01,0x00,0x03]
712 # CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]
713 # CHECK-LE: lwl $1, 3($8) # encoding: [0x03,0x00,0x01,0x89]
714 # CHECK-LE: lwr $1, 0($8) # encoding: [0x00,0x00,0x01,0x99]
715 # CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]
717 ulw $8, 2($8)
718 # CHECK-BE: lwl $1, 2($8) # encoding: [0x89,0x01,0x00,0x02]
719 # CHECK-BE: lwr $1, 5($8) # encoding: [0x99,0x01,0x00,0x05]
720 # CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]
721 # CHECK-LE: lwl $1, 5($8) # encoding: [0x05,0x00,0x01,0x89]
722 # CHECK-LE: lwr $1, 2($8) # encoding: [0x02,0x00,0x01,0x99]
723 # CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]
725 ulw $8, 0x8000($8)
726 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
727 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
728 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
729 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
730 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
731 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
732 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
733 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
735 ulw $8, -0x8000($8)
736 # CHECK-BE: lwl $1, -32768($8) # encoding: [0x89,0x01,0x80,0x00]
737 # CHECK-BE: lwr $1, -32765($8) # encoding: [0x99,0x01,0x80,0x03]
738 # CHECK-BE: move $8, $1 # encoding: [0x00,0x20,0x40,0x25]
739 # CHECK-LE: lwl $1, -32765($8) # encoding: [0x03,0x80,0x01,0x89]
740 # CHECK-LE: lwr $1, -32768($8) # encoding: [0x00,0x80,0x01,0x99]
741 # CHECK-LE: move $8, $1 # encoding: [0x25,0x40,0x20,0x00]
743 ulw $8, 0x10000($8)
744 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
745 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
746 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
747 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
748 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
749 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
750 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
751 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
753 ulw $8, 0x18888($8)
754 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
755 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
756 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
757 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
758 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
759 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
760 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
761 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
762 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
763 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
765 ulw $8, -32771($8)
766 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
767 # CHECK-BE: ori $1, $1, 32765 # encoding: [0x34,0x21,0x7f,0xfd]
768 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
769 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
770 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
771 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
772 # CHECK-LE: ori $1, $1, 32765 # encoding: [0xfd,0x7f,0x21,0x34]
773 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
774 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
775 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
777 ulw $8, 32765($8)
778 # CHECK-BE: addiu $1, $8, 32765 # encoding: [0x25,0x01,0x7f,0xfd]
779 # CHECK-BE: lwl $8, 0($1) # encoding: [0x88,0x28,0x00,0x00]
780 # CHECK-BE: lwr $8, 3($1) # encoding: [0x98,0x28,0x00,0x03]
781 # CHECK-LE: addiu $1, $8, 32765 # encoding: [0xfd,0x7f,0x01,0x25]
782 # CHECK-LE: lwl $8, 3($1) # encoding: [0x03,0x00,0x28,0x88]
783 # CHECK-LE: lwr $8, 0($1) # encoding: [0x00,0x00,0x28,0x98]
785 ush_imm: # CHECK-LABEL: ush_imm
786 ush $8, 0
787 # CHECK-BE: sb $8, 1($zero) # encoding: [0xa0,0x08,0x00,0x01]
788 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
789 # CHECK-BE: sb $1, 0($zero) # encoding: [0xa0,0x01,0x00,0x00]
790 # CHECK-LE: sb $8, 0($zero) # encoding: [0x00,0x00,0x08,0xa0]
791 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
792 # CHECK-LE: sb $1, 1($zero) # encoding: [0x01,0x00,0x01,0xa0]
794 ush $8, 2
795 # CHECK-BE: sb $8, 3($zero) # encoding: [0xa0,0x08,0x00,0x03]
796 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
797 # CHECK-BE: sb $1, 2($zero) # encoding: [0xa0,0x01,0x00,0x02]
798 # CHECK-LE: sb $8, 2($zero) # encoding: [0x02,0x00,0x08,0xa0]
799 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
800 # CHECK-LE: sb $1, 3($zero) # encoding: [0x03,0x00,0x01,0xa0]
802 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
803 ush $8, 0x8000
804 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
805 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
806 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
807 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
808 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
809 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
810 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
811 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
812 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
813 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
814 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
815 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
816 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
817 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
818 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
819 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
821 ush $8, -0x8000
822 # CHECK-BE: sb $8, -32767($zero) # encoding: [0xa0,0x08,0x80,0x01]
823 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
824 # CHECK-BE: sb $1, -32768($zero) # encoding: [0xa0,0x01,0x80,0x00]
825 # CHECK-LE: sb $8, -32768($zero) # encoding: [0x00,0x80,0x08,0xa0]
826 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
827 # CHECK-LE: sb $1, -32767($zero) # encoding: [0x01,0x80,0x01,0xa0]
829 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
830 ush $8, 0x10000
831 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
832 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
833 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
834 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
835 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
836 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
837 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
838 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
839 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
840 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
841 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
842 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
843 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
844 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
845 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
846 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
848 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
849 ush $8, 0x18888
850 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
851 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
852 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
853 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
854 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
855 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
856 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
857 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
858 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
859 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
860 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
861 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
862 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
863 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
864 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
865 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
866 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
867 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
869 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
870 ush $8, -32769
871 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
872 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
873 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
874 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
875 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
876 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
877 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
878 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
879 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
880 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
881 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
882 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
883 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
884 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
885 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
886 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
887 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
888 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
890 ush $8, 32767
891 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
892 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
893 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
894 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
895 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
896 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
897 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
898 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
899 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
900 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
901 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
902 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
903 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
904 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
906 ush_reg: # CHECK-LABEL: ush_reg
907 ush $8, 0($9)
908 # CHECK-BE: sb $8, 1($9) # encoding: [0xa1,0x28,0x00,0x01]
909 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
910 # CHECK-BE: sb $1, 0($9) # encoding: [0xa1,0x21,0x00,0x00]
911 # CHECK-LE: sb $8, 0($9) # encoding: [0x00,0x00,0x28,0xa1]
912 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
913 # CHECK-LE: sb $1, 1($9) # encoding: [0x01,0x00,0x21,0xa1]
915 ush $8, 2($9)
916 # CHECK-BE: sb $8, 3($9) # encoding: [0xa1,0x28,0x00,0x03]
917 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
918 # CHECK-BE: sb $1, 2($9) # encoding: [0xa1,0x21,0x00,0x02]
919 # CHECK-LE: sb $8, 2($9) # encoding: [0x02,0x00,0x28,0xa1]
920 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
921 # CHECK-LE: sb $1, 3($9) # encoding: [0x03,0x00,0x21,0xa1]
923 ush $8, 0x8000($9)
924 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
925 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
926 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
927 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
928 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
929 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
930 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
931 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
932 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
933 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
934 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
935 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
936 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
937 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
938 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
939 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
941 ush $8, -0x8000($9)
942 # CHECK-BE: sb $8, -32767($9) # encoding: [0xa1,0x28,0x80,0x01]
943 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
944 # CHECK-BE: sb $1, -32768($9) # encoding: [0xa1,0x21,0x80,0x00]
945 # CHECK-LE: sb $8, -32768($9) # encoding: [0x00,0x80,0x28,0xa1]
946 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
947 # CHECK-LE: sb $1, -32767($9) # encoding: [0x01,0x80,0x21,0xa1]
949 ush $8, 0x10000($9)
950 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
951 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
952 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
953 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
954 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
955 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
956 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
957 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
958 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
959 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
960 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
961 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
962 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
963 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
964 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
965 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
967 ush $8, 0x18888($9)
968 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
969 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
970 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
971 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
972 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
973 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
974 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
975 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
976 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
977 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
978 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
979 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
980 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
981 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
982 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
983 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
984 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
985 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
987 ush $8, -32769($9)
988 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
989 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
990 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
991 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
992 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
993 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
994 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
995 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
996 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
997 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
998 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
999 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
1000 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1001 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1002 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1003 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1004 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1005 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1007 ush $8, 32767($9)
1008 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]
1009 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1010 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1011 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1012 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1013 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1014 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1015 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]
1016 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1017 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1018 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1019 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1020 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1021 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1023 ush $8, 0($8)
1024 # CHECK-BE: sb $8, 1($8) # encoding: [0xa1,0x08,0x00,0x01]
1025 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
1026 # CHECK-BE: sb $1, 0($8) # encoding: [0xa1,0x01,0x00,0x00]
1027 # CHECK-LE: sb $8, 0($8) # encoding: [0x00,0x00,0x08,0xa1]
1028 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
1029 # CHECK-LE: sb $1, 1($8) # encoding: [0x01,0x00,0x01,0xa1]
1031 ush $8, 2($8)
1032 # CHECK-BE: sb $8, 3($8) # encoding: [0xa1,0x08,0x00,0x03]
1033 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
1034 # CHECK-BE: sb $1, 2($8) # encoding: [0xa1,0x01,0x00,0x02]
1035 # CHECK-LE: sb $8, 2($8) # encoding: [0x02,0x00,0x08,0xa1]
1036 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
1037 # CHECK-LE: sb $1, 3($8) # encoding: [0x03,0x00,0x01,0xa1]
1039 ush $8, 0x8000($8)
1040 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
1041 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1042 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1043 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1044 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1045 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1046 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1047 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1048 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
1049 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1050 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1051 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1052 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1053 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1054 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1055 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1057 ush $8, -0x8000($8)
1058 # CHECK-BE: sb $8, -32767($8) # encoding: [0xa1,0x08,0x80,0x01]
1059 # CHECK-BE: srl $1, $8, 8 # encoding: [0x00,0x08,0x0a,0x02]
1060 # CHECK-BE: sb $1, -32768($8) # encoding: [0xa1,0x01,0x80,0x00]
1061 # CHECK-LE: sb $8, -32768($8) # encoding: [0x00,0x80,0x08,0xa1]
1062 # CHECK-LE: srl $1, $8, 8 # encoding: [0x02,0x0a,0x08,0x00]
1063 # CHECK-LE: sb $1, -32767($8) # encoding: [0x01,0x80,0x01,0xa1]
1065 ush $8, 0x10000($8)
1066 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1067 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1068 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1069 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1070 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1071 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1072 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1073 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1074 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1075 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1076 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1077 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1078 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1079 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1080 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1081 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1083 ush $8, 0x18888($8)
1084 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1085 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
1086 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1087 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1088 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1089 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1090 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1091 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1092 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1093 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1094 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
1095 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1096 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1097 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1098 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1099 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1100 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1101 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1103 ush $8, -32769($8)
1104 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
1105 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
1106 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1107 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1108 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1109 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1110 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1111 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1112 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1113 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
1114 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
1115 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1116 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1117 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1118 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1119 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1120 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1121 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1123 ush $8, 32767($8)
1124 # CHECK-BE: addiu $1, $8, 32767 # encoding: [0x25,0x01,0x7f,0xff]
1125 # CHECK-BE: sb $8, 1($1) # encoding: [0xa0,0x28,0x00,0x01]
1126 # CHECK-BE: srl $8, $8, 8 # encoding: [0x00,0x08,0x42,0x02]
1127 # CHECK-BE: sb $8, 0($1) # encoding: [0xa0,0x28,0x00,0x00]
1128 # CHECK-BE: lbu $1, 0($1) # encoding: [0x90,0x21,0x00,0x00]
1129 # CHECK-BE: sll $8, $8, 8 # encoding: [0x00,0x08,0x42,0x00]
1130 # CHECK-BE: or $8, $8, $1 # encoding: [0x01,0x01,0x40,0x25]
1131 # CHECK-LE: addiu $1, $8, 32767 # encoding: [0xff,0x7f,0x01,0x25]
1132 # CHECK-LE: sb $8, 0($1) # encoding: [0x00,0x00,0x28,0xa0]
1133 # CHECK-LE: srl $8, $8, 8 # encoding: [0x02,0x42,0x08,0x00]
1134 # CHECK-LE: sb $8, 1($1) # encoding: [0x01,0x00,0x28,0xa0]
1135 # CHECK-LE: lbu $1, 0($1) # encoding: [0x00,0x00,0x21,0x90]
1136 # CHECK-LE: sll $8, $8, 8 # encoding: [0x00,0x42,0x08,0x00]
1137 # CHECK-LE: or $8, $8, $1 # encoding: [0x25,0x40,0x01,0x01]
1139 usw_imm: # CHECK-LABEL: usw_imm:
1140 usw $8, 0
1141 # CHECK-BE: swl $8, 0($zero) # encoding: [0xa8,0x08,0x00,0x00]
1142 # CHECK-BE: swr $8, 3($zero) # encoding: [0xb8,0x08,0x00,0x03]
1143 # CHECK-LE: swl $8, 3($zero) # encoding: [0x03,0x00,0x08,0xa8]
1144 # CHECK-LE: swr $8, 0($zero) # encoding: [0x00,0x00,0x08,0xb8]
1146 usw $8, 2
1147 # CHECK-BE: swl $8, 2($zero) # encoding: [0xa8,0x08,0x00,0x02]
1148 # CHECK-BE: swr $8, 5($zero) # encoding: [0xb8,0x08,0x00,0x05]
1149 # CHECK-LE: swl $8, 5($zero) # encoding: [0x05,0x00,0x08,0xa8]
1150 # CHECK-LE: swr $8, 2($zero) # encoding: [0x02,0x00,0x08,0xb8]
1152 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
1153 usw $8, 0x8000
1154 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
1155 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
1156 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1157 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1158 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
1159 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
1160 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1161 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1163 usw $8, -0x8000
1164 # CHECK-BE: swl $8, -32768($zero) # encoding: [0xa8,0x08,0x80,0x00]
1165 # CHECK-BE: swr $8, -32765($zero) # encoding: [0xb8,0x08,0x80,0x03]
1166 # CHECK-LE: swl $8, -32765($zero) # encoding: [0x03,0x80,0x08,0xa8]
1167 # CHECK-LE: swr $8, -32768($zero) # encoding: [0x00,0x80,0x08,0xb8]
1169 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
1170 usw $8, 0x10000
1171 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1172 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
1173 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1174 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1175 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1176 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
1177 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1178 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1180 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
1181 usw $8, 0x18888
1182 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1183 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
1184 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
1185 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1186 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1187 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1188 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
1189 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
1190 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1191 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1193 # FIXME: Remove the identity moves (move $1, $1) coming from loadImmediate
1194 usw $8, -32769
1195 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
1196 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
1197 # CHECK-BE: move $1, $1 # encoding: [0x00,0x20,0x08,0x21]
1198 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1199 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1200 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
1201 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
1202 # CHECK-LE: move $1, $1 # encoding: [0x21,0x08,0x20,0x00]
1203 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1204 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1206 usw $8, 32767
1207 # CHECK-BE: addiu $1, $zero, 32767 # encoding: [0x24,0x01,0x7f,0xff]
1208 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1209 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1210 # CHECK-LE: addiu $1, $zero, 32767 # encoding: [0xff,0x7f,0x01,0x24]
1211 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1212 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1214 usw_reg: # CHECK-LABEL: usw_reg:
1215 usw $8, 0($9)
1216 # CHECK-BE: swl $8, 0($9) # encoding: [0xa9,0x28,0x00,0x00]
1217 # CHECK-BE: swr $8, 3($9) # encoding: [0xb9,0x28,0x00,0x03]
1218 # CHECK-LE: swl $8, 3($9) # encoding: [0x03,0x00,0x28,0xa9]
1219 # CHECK-LE: swr $8, 0($9) # encoding: [0x00,0x00,0x28,0xb9]
1221 usw $8, 2($9)
1222 # CHECK-BE: swl $8, 2($9) # encoding: [0xa9,0x28,0x00,0x02]
1223 # CHECK-BE: swr $8, 5($9) # encoding: [0xb9,0x28,0x00,0x05]
1224 # CHECK-LE: swl $8, 5($9) # encoding: [0x05,0x00,0x28,0xa9]
1225 # CHECK-LE: swr $8, 2($9) # encoding: [0x02,0x00,0x28,0xb9]
1227 usw $8, 0x8000($9)
1228 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
1229 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
1230 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1231 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1232 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
1233 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
1234 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1235 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1237 usw $8, -0x8000($9)
1238 # CHECK-BE: swl $8, -32768($9) # encoding: [0xa9,0x28,0x80,0x00]
1239 # CHECK-BE: swr $8, -32765($9) # encoding: [0xb9,0x28,0x80,0x03]
1240 # CHECK-LE: swl $8, -32765($9) # encoding: [0x03,0x80,0x28,0xa9]
1241 # CHECK-LE: swr $8, -32768($9) # encoding: [0x00,0x80,0x28,0xb9]
1243 usw $8, 0x10000($9)
1244 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1245 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
1246 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1247 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1248 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1249 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
1250 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1251 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1253 usw $8, 0x18888($9)
1254 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1255 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
1256 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
1257 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1258 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1259 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1260 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
1261 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
1262 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1263 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1265 usw $8, -32769($9)
1266 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
1267 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
1268 # CHECK-BE: addu $1, $1, $9 # encoding: [0x00,0x29,0x08,0x21]
1269 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1270 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1271 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
1272 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
1273 # CHECK-LE: addu $1, $1, $9 # encoding: [0x21,0x08,0x29,0x00]
1274 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1275 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1277 usw $8, 32767($9)
1278 # CHECK-BE: addiu $1, $9, 32767 # encoding: [0x25,0x21,0x7f,0xff]
1279 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1280 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1281 # CHECK-LE: addiu $1, $9, 32767 # encoding: [0xff,0x7f,0x21,0x25]
1282 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1283 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1285 usw $8, 0($8)
1286 # CHECK-BE: swl $8, 0($8) # encoding: [0xa9,0x08,0x00,0x00]
1287 # CHECK-BE: swr $8, 3($8) # encoding: [0xb9,0x08,0x00,0x03]
1288 # CHECK-LE: swl $8, 3($8) # encoding: [0x03,0x00,0x08,0xa9]
1289 # CHECK-LE: swr $8, 0($8) # encoding: [0x00,0x00,0x08,0xb9]
1291 usw $8, 2($8)
1292 # CHECK-BE: swl $8, 2($8) # encoding: [0xa9,0x08,0x00,0x02]
1293 # CHECK-BE: swr $8, 5($8) # encoding: [0xb9,0x08,0x00,0x05]
1294 # CHECK-LE: swl $8, 5($8) # encoding: [0x05,0x00,0x08,0xa9]
1295 # CHECK-LE: swr $8, 2($8) # encoding: [0x02,0x00,0x08,0xb9]
1297 usw $8, 0x8000($8)
1298 # CHECK-BE: ori $1, $zero, 32768 # encoding: [0x34,0x01,0x80,0x00]
1299 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1300 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1301 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1302 # CHECK-LE: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
1303 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1304 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1305 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1307 usw $8, -0x8000($8)
1308 # CHECK-BE: swl $8, -32768($8) # encoding: [0xa9,0x08,0x80,0x00]
1309 # CHECK-BE: swr $8, -32765($8) # encoding: [0xb9,0x08,0x80,0x03]
1310 # CHECK-LE: swl $8, -32765($8) # encoding: [0x03,0x80,0x08,0xa9]
1311 # CHECK-LE: swr $8, -32768($8) # encoding: [0x00,0x80,0x08,0xb9]
1313 usw $8, 0x10000($8)
1314 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1315 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1316 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1317 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1318 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1319 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1320 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1321 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1323 usw $8, 0x18888($8)
1324 # CHECK-BE: lui $1, 1 # encoding: [0x3c,0x01,0x00,0x01]
1325 # CHECK-BE: ori $1, $1, 34952 # encoding: [0x34,0x21,0x88,0x88]
1326 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1327 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1328 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1329 # CHECK-LE: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
1330 # CHECK-LE: ori $1, $1, 34952 # encoding: [0x88,0x88,0x21,0x34]
1331 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1332 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1333 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1335 usw $8, -32769($8)
1336 # CHECK-BE: lui $1, 65535 # encoding: [0x3c,0x01,0xff,0xff]
1337 # CHECK-BE: ori $1, $1, 32767 # encoding: [0x34,0x21,0x7f,0xff]
1338 # CHECK-BE: addu $1, $1, $8 # encoding: [0x00,0x28,0x08,0x21]
1339 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1340 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1341 # CHECK-LE: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
1342 # CHECK-LE: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
1343 # CHECK-LE: addu $1, $1, $8 # encoding: [0x21,0x08,0x28,0x00]
1344 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1345 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1347 usw $8, 32767($8)
1348 # CHECK-BE: addiu $1, $8, 32767 # encoding: [0x25,0x01,0x7f,0xff]
1349 # CHECK-BE: swl $8, 0($1) # encoding: [0xa8,0x28,0x00,0x00]
1350 # CHECK-BE: swr $8, 3($1) # encoding: [0xb8,0x28,0x00,0x03]
1351 # CHECK-LE: addiu $1, $8, 32767 # encoding: [0xff,0x7f,0x01,0x25]
1352 # CHECK-LE: swl $8, 3($1) # encoding: [0x03,0x00,0x28,0xa8]
1353 # CHECK-LE: swr $8, 0($1) # encoding: [0x00,0x00,0x28,0xb8]
1356 add $4, $4, $4