[InstCombine] Signed saturation patterns
[llvm-core.git] / test / MC / Mips / instalias-imm-expanding.s
blob7e036d739447d6652e57a8ebb191b67e45f35a4c
1 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -show-encoding -show-inst | FileCheck --check-prefix=MIPS %s
2 # RUN: llvm-mc %s -triple=mipsel-unknown-linux -mcpu=mips32r2 -show-encoding -show-inst -mattr=+micromips | FileCheck --check-prefix=MICROMIPS %s
5 .text
6 text_label:
8 add $4, -0x80000000
9 # MIPS: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
10 # MIPS: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
11 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
12 # MICROMIPS: lui $1, 32768 # encoding: [0xa1,0x41,0x00,0x80]
13 # MICROMIPS: add $4, $4, $1 # encoding: [0x24,0x00,0x10,0x21]
14 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
15 add $4, -0x8001
16 # MIPS: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
17 # MIPS: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
18 # MIPS: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
19 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
20 # MICROMIPS: lui $1, 65535 # encoding: [0xa1,0x41,0xff,0xff]
21 # MICROMIPS: ori $1, $1, 32767 # encoding: [0x21,0x50,0xff,0x7f]
22 # MICROMIPS: add $4, $4, $1 # encoding: [0x24,0x00,0x10,0x21]
23 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
24 add $4, -0x8000
25 # MIPS: addi $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x20]
26 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi
27 # MICROMIPS: addi $4, $4, -32768 # encoding: [0x84,0x10,0x00,0x80]
28 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
29 add $4, 0
30 # MIPS: addi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x20]
31 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi
32 # MICROMIPS: addi $4, $4, 0 # encoding: [0x84,0x10,0x00,0x00]
33 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
34 add $4, 0xFFFF
35 # MIPS: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34]
36 # MIPS: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
37 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
38 # MICROMIPS: ori $1, $zero, 65535 # encoding: [0x20,0x50,0xff,0xff]
39 # MICROMIPS: add $4, $4, $1 # encoding: [0x24,0x00,0x10,0x21]
40 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
41 add $4, 0x10000
42 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
43 # MIPS: add $4, $4, $1 # encoding: [0x20,0x20,0x81,0x00]
44 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
45 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
46 # MICROMIPS: add $4, $4, $1 # encoding: [0x24,0x00,0x10,0x21]
47 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
48 add $4, 0xFFFFFFFF
49 # MIPS: addi $4, $4, -1 # encoding: [0xff,0xff,0x84,0x20]
50 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
51 # MICROMIPS: addi $4, $4, -1 # encoding: [0x84,0x10,0xff,0xff]
52 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
53 add $5, ~(0xf0000000|0x0f000000|0x000000f0)
54 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
55 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
56 # MIPS: add $5, $5, $1 # encoding: [0x20,0x28,0xa1,0x00]
57 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
58 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
59 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
60 # MICROMIPS: add $5, $5, $1 # encoding: [0x25,0x00,0x10,0x29]
61 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
62 add $4, $5, -0x80000000
63 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
64 # MIPS: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
65 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
66 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
67 # MICROMIPS: add $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x21]
68 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
69 add $4, $5, -0x8001
70 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
71 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
72 # MIPS: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
73 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
74 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
75 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
76 # MICROMIPS: add $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x21]
77 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
78 add $4, $5, -0x8000
79 # MIPS: addi $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x20]
80 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi
81 # MICROMIPS: addi $4, $5, -32768 # encoding: [0x85,0x10,0x00,0x80]
82 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
83 add $4, $5, 0
84 # MIPS: addi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x20]
85 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi
86 # MICROMIPS: addi $4, $5, 0 # encoding: [0x85,0x10,0x00,0x00]
87 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
88 add $4, $5, 0xFFFF
89 # MIPS: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
90 # MIPS: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
91 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
92 # MICROMIPS: ori $4, $zero, 65535 # encoding: [0x80,0x50,0xff,0xff]
93 # MICROMIPS: add $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x21]
94 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
95 add $4, $5, 0x10000
96 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
97 # MIPS: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
98 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
99 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
100 # MICROMIPS: add $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x21]
101 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
102 add $4, $5, 0xFFFFFFFF
103 # MIPS: addi $4, $5, -1 # encoding: [0xff,0xff,0xa4,0x20]
104 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi
105 # MICROMIPS: addi $4, $5, -1 # encoding: [0x85,0x10,0xff,0xff]
106 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDi_MM
107 add $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
108 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
109 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
110 # MIPS: add $4, $4, $5 # encoding: [0x20,0x20,0x85,0x00]
111 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADD
112 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
113 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
114 # MICROMIPS: add $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x21]
115 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADD_MM
117 addu $4, -0x80000000
118 # MIPS: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
119 # MIPS: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
120 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
121 # MICROMIPS: lui $1, 32768 # encoding: [0xa1,0x41,0x00,0x80]
122 # MICROMIPS: addu $4, $4, $1 # encoding: [0x24,0x00,0x50,0x21]
123 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
124 addu $4, -0x8001
125 # MIPS: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
126 # MIPS: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
127 # MIPS: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
128 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
129 # MICROMIPS: lui $1, 65535 # encoding: [0xa1,0x41,0xff,0xff]
130 # MICROMIPS: ori $1, $1, 32767 # encoding: [0x21,0x50,0xff,0x7f]
131 # MICROMIPS: addu $4, $4, $1 # encoding: [0x24,0x00,0x50,0x21]
132 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
133 addu $4, -0x8000
134 # MIPS: addiu $4, $4, -32768 # encoding: [0x00,0x80,0x84,0x24]
135 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
136 # MICROMIPS: addiu $4, $4, -32768 # encoding: [0x84,0x30,0x00,0x80]
137 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
138 addu $4, 0
139 # MIPS: addiu $4, $4, 0 # encoding: [0x00,0x00,0x84,0x24]
140 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
141 # MICROMIPS: addiu $4, $4, 0 # encoding: [0x84,0x30,0x00,0x00]
142 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
143 addu $4, 0xFFFF
144 # MIPS: ori $1, $zero, 65535 # encoding: [0xff,0xff,0x01,0x34]
145 # MIPS: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
146 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
147 # MICROMIPS: ori $1, $zero, 65535 # encoding: [0x20,0x50,0xff,0xff]
148 # MICROMIPS: addu $4, $4, $1 # encoding: [0x24,0x00,0x50,0x21]
149 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
150 addu $4, 0x10000
151 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
152 # MIPS: addu $4, $4, $1 # encoding: [0x21,0x20,0x81,0x00]
153 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
154 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
155 # MICROMIPS: addu $4, $4, $1 # encoding: [0x24,0x00,0x50,0x21]
156 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
157 addu $4, 0xFFFFFFFF
158 # MIPS: addiu $4, $4, -1 # encoding: [0xff,0xff,0x84,0x24]
159 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
160 # MICROMIPS: addiu $4, $4, -1 # encoding: [0x84,0x30,0xff,0xff]
161 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
162 addu $5, ~(0xf0000000|0x0f000000|0x000000f0)
163 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
164 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
165 # MIPS: addu $5, $5, $1 # encoding: [0x21,0x28,0xa1,0x00]
166 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
167 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
168 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
169 # MICROMIPS: addu $5, $5, $1 # encoding: [0x25,0x00,0x50,0x29]
170 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
172 addu $4, $5, -0x80000000
173 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
174 # MIPS: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
175 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
176 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
177 # MICROMIPS: addu $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x21]
178 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
179 addu $4, $5, -0x8001
180 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
181 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
182 # MIPS: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
183 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
184 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
185 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
186 # MICROMIPS: addu $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x21]
187 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
188 addu $4, $5, -0x8000
189 # MIPS: addiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x24]
190 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
191 # MICROMIPS: addiu $4, $5, -32768 # encoding: [0x85,0x30,0x00,0x80]
192 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
193 addu $4, $5, 0
194 # MIPS: addiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x24]
195 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
196 # MICROMIPS: addiu $4, $5, 0 # encoding: [0x85,0x30,0x00,0x00]
197 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
198 addu $4, $5, 0xFFFF
199 # MIPS: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
200 # MIPS: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
201 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
202 # MICROMIPS: ori $4, $zero, 65535 # encoding: [0x80,0x50,0xff,0xff]
203 # MICROMIPS: addu $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x21]
204 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
205 addu $4, $5, 0x10000
206 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
207 # MIPS: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
208 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
209 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
210 # MICROMIPS: addu $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x21]
211 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
212 addu $4, $5, 0xFFFFFFFF
213 # MIPS: addiu $4, $5, -1 # encoding: [0xff,0xff,0xa4,0x24]
214 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
215 # MICROMIPS: addiu $4, $5, -1 # encoding: [0x85,0x30,0xff,0xff]
216 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu_MM
217 addu $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
218 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
219 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
220 # MIPS: addu $4, $4, $5 # encoding: [0x21,0x20,0x85,0x00]
221 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu
222 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
223 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
224 # MICROMIPS: addu $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x21]
225 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDu_MM
227 and $4, -0x80000000
228 # MIPS: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
229 # MIPS: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
230 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
231 # MICROMIPS: lui $1, 32768 # encoding: [0xa1,0x41,0x00,0x80]
232 # MICROMIPS: and $4, $4, $1 # encoding: [0x24,0x00,0x50,0x22]
233 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
234 and $4, -0x8001
235 # MIPS: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
236 # MIPS: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
237 # MIPS: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
238 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
239 # MICROMIPS: lui $1, 65535 # encoding: [0xa1,0x41,0xff,0xff]
240 # MICROMIPS: ori $1, $1, 32767 # encoding: [0x21,0x50,0xff,0x7f]
241 # MICROMIPS: and $4, $4, $1 # encoding: [0x24,0x00,0x50,0x22]
242 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
243 and $4, -0x8000
244 # MIPS: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
245 # MIPS: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
246 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
247 # MICROMIPS: addiu $1, $zero, -32768 # encoding: [0x20,0x30,0x00,0x80]
248 # MICROMIPS: and $4, $4, $1 # encoding: [0x24,0x00,0x50,0x22]
249 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
250 and $4, 0
251 # MIPS: andi $4, $4, 0 # encoding: [0x00,0x00,0x84,0x30]
252 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi
253 # MICROMIPS: andi $4, $4, 0 # encoding: [0x84,0xd0,0x00,0x00]
254 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi_MM
255 and $4, 0xFFFF
256 # MIPS: andi $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x30]
257 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi
258 # MICROMIPS: andi $4, $4, 65535 # encoding: [0x84,0xd0,0xff,0xff]
259 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi_MM
260 and $4, 0x10000
261 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
262 # MIPS: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
263 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
264 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
265 # MICROMIPS: and $4, $4, $1 # encoding: [0x24,0x00,0x50,0x22]
266 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
267 and $4, 0xFFFFFFFF
268 # MIPS: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
269 # MIPS: and $4, $4, $1 # encoding: [0x24,0x20,0x81,0x00]
270 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
271 # MICROMIPS: addiu $1, $zero, -1 # encoding: [0x20,0x30,0xff,0xff]
272 # MICROMIPS: and $4, $4, $1 # encoding: [0x24,0x00,0x50,0x22]
273 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
274 and $5, ~(0xf0000000|0x0f000000|0x000000f0)
275 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
276 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
277 # MIPS: and $5, $5, $1 # encoding: [0x24,0x28,0xa1,0x00]
278 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
279 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
280 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
281 # MICROMIPS: and $5, $5, $1 # encoding: [0x25,0x00,0x50,0x2a]
282 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
284 and $4, $5, -0x80000000
285 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
286 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
287 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
288 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
289 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
290 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
291 and $4, $5, -0x8001
292 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
293 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
294 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
295 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
296 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
297 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
298 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
299 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
300 and $4, $5, -0x8000
301 # MIPS: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
302 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
303 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
304 # MICROMIPS: addiu $4, $zero, -32768 # encoding: [0x80,0x30,0x00,0x80]
305 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
306 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
307 and $4, $5, 0
308 # MIPS: andi $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x30]
309 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi
310 # MICROMIPS: andi $4, $5, 0 # encoding: [0x85,0xd0,0x00,0x00]
311 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi_MM
312 and $4, $5, 0xFFFF
313 # MIPS: andi $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x30]
314 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi
315 # MICROMIPS: andi $4, $5, 65535 # encoding: [0x85,0xd0,0xff,0xff]
316 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ANDi_MM
317 and $4, $5, 0x10000
318 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
319 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
320 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
321 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
322 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
323 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
324 and $4, $5, 0xFFFFFFFF
325 # MIPS: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
326 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
327 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
328 # MICROMIPS: addiu $4, $zero, -1 # encoding: [0x80,0x30,0xff,0xff]
329 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
330 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
331 and $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
332 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
333 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
334 # MIPS: and $4, $4, $5 # encoding: [0x24,0x20,0x85,0x00]
335 # MIPS-NEXT: # <MCInst #{{[0-9]+}} AND
336 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
337 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
338 # MICROMIPS: and $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x22]
339 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} AND_MM
341 nor $4, $5, 0
342 # MIPS: addiu $4, $zero, 0 # encoding: [0x00,0x00,0x04,0x24]
343 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
344 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
345 # MICROMIPS: addiu $4, $zero, 0 # encoding: [0x80,0x30,0x00,0x00]
346 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
347 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
348 nor $4, $5, 1
349 # MIPS: addiu $4, $zero, 1 # encoding: [0x01,0x00,0x04,0x24]
350 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
351 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
352 # MICROMIPS: addiu $4, $zero, 1 # encoding: [0x80,0x30,0x01,0x00]
353 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
354 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
355 nor $4, $5, 0x8000
356 # MIPS: ori $4, $zero, 32768 # encoding: [0x00,0x80,0x04,0x34]
357 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
358 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
359 # MICROMIPS: ori $4, $zero, 32768 # encoding: [0x80,0x50,0x00,0x80]
360 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
361 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
362 nor $4, $5, -0x8000
363 # MIPS: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
364 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
365 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
366 # MICROMIPS: addiu $4, $zero, -32768 # encoding: [0x80,0x30,0x00,0x80]
367 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
368 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
369 nor $4, $5, 0x10000
370 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
371 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
372 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
373 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
374 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
375 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
376 nor $4, $5, 0x1a5a5
377 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
378 # MIPS: ori $4, $4, 42405 # encoding: [0xa5,0xa5,0x84,0x34]
379 # MIPS: nor $4, $4, $5 # encoding: [0x27,0x20,0x85,0x00]
380 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
381 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
382 # MICROMIPS: ori $4, $4, 42405 # encoding: [0x84,0x50,0xa5,0xa5]
383 # MICROMIPS: nor $4, $4, $5 # encoding: [0xa4,0x00,0xd0,0x22]
384 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
385 nor $4, ~(0xf0000000|0x0f000000|0x000000f0)
386 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
387 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
388 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
389 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
390 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
391 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
392 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
393 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
395 nor $4, 0
396 # MIPS: addiu $1, $zero, 0 # encoding: [0x00,0x00,0x01,0x24]
397 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
398 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
399 # MICROMIPS: addiu $1, $zero, 0 # encoding: [0x20,0x30,0x00,0x00]
400 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
401 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
402 nor $4, 1
403 # MIPS: addiu $1, $zero, 1 # encoding: [0x01,0x00,0x01,0x24]
404 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
405 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
406 # MICROMIPS: addiu $1, $zero, 1 # encoding: [0x20,0x30,0x01,0x00]
407 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
408 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
409 nor $4, 0x8000
410 # MIPS: ori $1, $zero, 32768 # encoding: [0x00,0x80,0x01,0x34]
411 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
412 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
413 # MICROMIPS: ori $1, $zero, 32768 # encoding: [0x20,0x50,0x00,0x80]
414 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
415 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
416 nor $4, -0x8000
417 # MIPS: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
418 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
419 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
420 # MICROMIPS: addiu $1, $zero, -32768 # encoding: [0x20,0x30,0x00,0x80]
421 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
422 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
423 nor $4, 0x10000
424 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
425 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
426 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
427 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
428 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
429 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
430 nor $4, 0x1a5a5
431 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
432 # MIPS: ori $1, $1, 42405 # encoding: [0xa5,0xa5,0x21,0x34]
433 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
434 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
435 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
436 # MICROMIPS: ori $1, $1, 42405 # encoding: [0x21,0x50,0xa5,0xa5]
437 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
438 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
439 nor $4, ~(0xf0000000|0x0f000000|0x000000f0)
440 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
441 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
442 # MIPS: nor $4, $4, $1 # encoding: [0x27,0x20,0x81,0x00]
443 # MIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
444 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
445 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
446 # MICROMIPS: nor $4, $4, $1 # encoding: [0x24,0x00,0xd0,0x22]
447 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} NOR
449 or $4, -0x80000000
450 # MIPS: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
451 # MIPS: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
452 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
453 # MICROMIPS: lui $1, 32768 # encoding: [0xa1,0x41,0x00,0x80]
454 # MICROMIPS: or $4, $4, $1 # encoding: [0x24,0x00,0x90,0x22]
455 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
456 or $4, -0x8001
457 # MIPS: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
458 # MIPS: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
459 # MIPS: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
460 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
461 # MICROMIPS: lui $1, 65535 # encoding: [0xa1,0x41,0xff,0xff]
462 # MICROMIPS: ori $1, $1, 32767 # encoding: [0x21,0x50,0xff,0x7f]
463 # MICROMIPS: or $4, $4, $1 # encoding: [0x24,0x00,0x90,0x22]
464 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
465 or $4, -0x8000
466 # MIPS: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
467 # MIPS: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
468 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
469 # MICROMIPS: addiu $1, $zero, -32768 # encoding: [0x20,0x30,0x00,0x80]
470 # MICROMIPS: or $4, $4, $1 # encoding: [0x24,0x00,0x90,0x22]
471 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
472 or $4, 0
473 # MIPS: ori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x34]
474 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
475 # MICROMIPS: ori $4, $4, 0 # encoding: [0x84,0x50,0x00,0x00]
476 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi_MM
477 or $4, 0xFFFF
478 # MIPS: ori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x34]
479 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
480 # MICROMIPS: ori $4, $4, 65535 # encoding: [0x84,0x50,0xff,0xff]
481 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi_MM
482 or $4, 0x10000
483 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
484 # MIPS: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
485 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
486 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
487 # MICROMIPS: or $4, $4, $1 # encoding: [0x24,0x00,0x90,0x22]
488 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
489 or $4, 0xFFFFFFFF
490 # MIPS: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
491 # MIPS: or $4, $4, $1 # encoding: [0x25,0x20,0x81,0x00]
492 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
493 # MICROMIPS: addiu $1, $zero, -1 # encoding: [0x20,0x30,0xff,0xff]
494 # MICROMIPS: or $4, $4, $1 # encoding: [0x24,0x00,0x90,0x22]
495 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
496 or $5, ~(0xf0000000|0x0f000000|0x000000f0)
497 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
498 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
499 # MIPS: or $5, $5, $1 # encoding: [0x25,0x28,0xa1,0x00]
500 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
501 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
502 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
503 # MICROMIPS: or $5, $5, $1 # encoding: [0x25,0x00,0x90,0x2a]
504 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
506 or $4, $5, -0x80000000
507 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
508 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
509 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
510 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
511 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
512 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
513 or $4, $5, -0x8001
514 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
515 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
516 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
517 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
518 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
519 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
520 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
521 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
522 or $4, $5, -0x8000
523 # MIPS: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
524 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
525 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
526 # MICROMIPS: addiu $4, $zero, -32768 # encoding: [0x80,0x30,0x00,0x80]
527 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
528 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
529 or $4, $5, 0
530 # MIPS: ori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x34]
531 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
532 # MICROMIPS: ori $4, $5, 0 # encoding: [0x85,0x50,0x00,0x00]
533 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi_MM
534 or $4, $5, 0xFFFF
535 # MIPS: ori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x34]
536 # MIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
537 # MICROMIPS: ori $4, $5, 65535 # encoding: [0x85,0x50,0xff,0xff]
538 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi_MM
539 or $4, $5, 0x10000
540 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
541 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
542 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
543 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
544 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
545 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
546 or $4, $5, 0xFFFFFFFF
547 # MIPS: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
548 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
549 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
550 # MICROMIPS: addiu $4, $zero, -1 # encoding: [0x80,0x30,0xff,0xff]
551 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
552 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
553 or $4, $5, ~(0xF0000000|0x0F000000|0x000000F0)
554 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
555 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
556 # MIPS: or $4, $4, $5 # encoding: [0x25,0x20,0x85,0x00]
557 # MIPS-NEXT: # <MCInst #{{[0-9]+}} OR
558 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
559 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
560 # MICROMIPS: or $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x22]
561 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} OR_MM
563 slt $4, $5, -0x80000000
564 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
565 # MIPS: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
566 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
567 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
568 # MICROMIPS: slt $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x23]
569 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLT_MM
570 slt $4, $5, -0x8001
571 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
572 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
573 # MIPS: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
574 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
575 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
576 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
577 # MICROMIPS: slt $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x23]
578 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLT_MM
579 slt $4, $5, -0x8000
580 # MIPS: slti $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x28]
581 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTi
582 # MICROMIPS: slti $4, $5, -32768 # encoding: [0x85,0x90,0x00,0x80]
583 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTi_MM
584 slt $4, $5, 0
585 # MIPS: slti $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x28]
586 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTi
587 # MICROMIPS: slti $4, $5, 0 # encoding: [0x85,0x90,0x00,0x00]
588 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTi_MM
589 slt $4, $5, 0xFFFF
590 # MIPS: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
591 # MIPS: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
592 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
593 # MICROMIPS: ori $4, $zero, 65535 # encoding: [0x80,0x50,0xff,0xff]
594 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
595 # MICROMIPS: slt $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x23]
596 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLT_MM
597 slt $4, $5, 0x10000
598 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
599 # MIPS: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
600 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
601 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
602 # MICROMIPS: slt $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x23]
603 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLT_MM
604 slt $4, $5, 0xFFFFFFFF
605 # MIPS: slti $4, $5, -1 # encoding: [0xff,0xff,0xa4,0x28]
606 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
607 # MICROMIPS: slti $4, $5, -1 # encoding: [0x85,0x90,0xff,0xff]
608 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTi_MM
609 slt $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
610 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
611 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
612 # MIPS: slt $4, $4, $5 # encoding: [0x2a,0x20,0x85,0x00]
613 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLT
614 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
615 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
616 # MICROMIPS: slt $4, $4, $5 # encoding: [0xa4,0x00,0x50,0x23]
617 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLT_MM
619 sltu $4, $5, -0x80000000
620 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
621 # MIPS: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
622 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu
623 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
624 # MICROMIPS: sltu $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x23]
625 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu_MM
626 sltu $4, $5, -0x8001
627 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
628 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
629 # MIPS: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
630 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu
631 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
632 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
633 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
634 # MICROMIPS: sltu $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x23]
635 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu_MM
636 sltu $4, $5, -0x8000
637 # MIPS: sltiu $4, $5, -32768 # encoding: [0x00,0x80,0xa4,0x2c]
638 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu
639 # MICROMIPS: sltiu $4, $5, -32768 # encoding: [0x85,0xb0,0x00,0x80]
640 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu_MM
641 sltu $4, $5, 0
642 # MIPS: sltiu $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x2c]
643 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu
644 # MICROMIPS: sltiu $4, $5, 0 # encoding: [0x85,0xb0,0x00,0x00]
645 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu_MM
646 sltu $4, $5, 0xFFFF
647 # MIPS: ori $4, $zero, 65535 # encoding: [0xff,0xff,0x04,0x34]
648 # MIPS: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
649 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu
650 # MICROMIPS: ori $4, $zero, 65535 # encoding: [0x80,0x50,0xff,0xff]
651 # MICROMIPS: sltu $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x23]
652 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu_MM
653 sltu $4, $5, 0x10000
654 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
655 # MIPS: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
656 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu
657 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
658 # MICROMIPS: sltu $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x23]
659 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu_MM
660 sltu $4, $5, 0xFFFFFFFF
661 # MIPS: sltiu $4, $5, -1 # encoding: [0xff,0xff,0xa4,0x2c]
662 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu
663 # MICROMIPS: sltiu $4, $5, -1 # encoding: [0x85,0xb0,0xff,0xff]
664 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTiu_MM
665 sltu $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
666 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
667 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
668 # MIPS: sltu $4, $4, $5 # encoding: [0x2b,0x20,0x85,0x00]
669 # MIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu
670 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
671 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
672 # MICROMIPS: sltu $4, $4, $5 # encoding: [0xa4,0x00,0x90,0x23]
673 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} SLTu_MM
675 xor $4, -0x80000000
676 # MIPS: lui $1, 32768 # encoding: [0x00,0x80,0x01,0x3c]
677 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
678 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
679 # MICROMIPS: lui $1, 32768 # encoding: [0xa1,0x41,0x00,0x80]
680 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
681 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
682 xor $4, -0x8001
683 # MIPS: lui $1, 65535 # encoding: [0xff,0xff,0x01,0x3c]
684 # MIPS: ori $1, $1, 32767 # encoding: [0xff,0x7f,0x21,0x34]
685 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
686 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
687 # MICROMIPS: lui $1, 65535 # encoding: [0xa1,0x41,0xff,0xff]
688 # MICROMIPS: ori $1, $1, 32767 # encoding: [0x21,0x50,0xff,0x7f]
689 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
690 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
691 xor $4, -0x8000
692 # MIPS: addiu $1, $zero, -32768 # encoding: [0x00,0x80,0x01,0x24]
693 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
694 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
695 # MICROMIPS: addiu $1, $zero, -32768 # encoding: [0x20,0x30,0x00,0x80]
696 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
697 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
698 xor $4, 0
699 # MIPS: xori $4, $4, 0 # encoding: [0x00,0x00,0x84,0x38]
700 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XORi
701 # MICROMIPS: xori $4, $4, 0 # encoding: [0x84,0x70,0x00,0x00]
702 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XORi_MM
703 xor $4, 0xFFFF
704 # MIPS: xori $4, $4, 65535 # encoding: [0xff,0xff,0x84,0x38]
705 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XORi
706 # MICROMIPS: xori $4, $4, 65535 # encoding: [0x84,0x70,0xff,0xff]
707 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XORi_MM
708 xor $4, 0x10000
709 # MIPS: lui $1, 1 # encoding: [0x01,0x00,0x01,0x3c]
710 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
711 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
712 # MICROMIPS: lui $1, 1 # encoding: [0xa1,0x41,0x01,0x00]
713 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
714 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
715 xor $4, 0xFFFFFFFF
716 # MIPS: addiu $1, $zero, -1 # encoding: [0xff,0xff,0x01,0x24]
717 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
718 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
719 # MICROMIPS: addiu $1, $zero, -1 # encoding: [0x20,0x30,0xff,0xff]
720 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
721 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
722 xor $4, ~(0xf0000000|0x0f000000|0x000000f0)
723 # MIPS: lui $1, 255 # encoding: [0xff,0x00,0x01,0x3c]
724 # MIPS: ori $1, $1, 65295 # encoding: [0x0f,0xff,0x21,0x34]
725 # MIPS: xor $4, $4, $1 # encoding: [0x26,0x20,0x81,0x00]
726 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
727 # MICROMIPS: lui $1, 255 # encoding: [0xa1,0x41,0xff,0x00]
728 # MICROMIPS: ori $1, $1, 65295 # encoding: [0x21,0x50,0x0f,0xff]
729 # MICROMIPS: xor $4, $4, $1 # encoding: [0x24,0x00,0x10,0x23]
730 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
732 xor $4, $5, -0x80000000
733 # MIPS: lui $4, 32768 # encoding: [0x00,0x80,0x04,0x3c]
734 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
735 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
736 # MICROMIPS: lui $4, 32768 # encoding: [0xa4,0x41,0x00,0x80]
737 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
738 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
739 xor $4, $5, -0x8001
740 # MIPS: lui $4, 65535 # encoding: [0xff,0xff,0x04,0x3c]
741 # MIPS: ori $4, $4, 32767 # encoding: [0xff,0x7f,0x84,0x34]
742 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
743 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
744 # MICROMIPS: lui $4, 65535 # encoding: [0xa4,0x41,0xff,0xff]
745 # MICROMIPS: ori $4, $4, 32767 # encoding: [0x84,0x50,0xff,0x7f]
746 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
747 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
748 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
749 xor $4, $5, -0x8000
750 # MIPS: addiu $4, $zero, -32768 # encoding: [0x00,0x80,0x04,0x24]
751 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
752 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
753 # MICROMIPS: addiu $4, $zero, -32768 # encoding: [0x80,0x30,0x00,0x80]
754 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
755 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
756 xor $4, $5, 0
757 # MIPS: xori $4, $5, 0 # encoding: [0x00,0x00,0xa4,0x38]
758 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XORi
759 # MICROMIPS: xori $4, $5, 0 # encoding: [0x85,0x70,0x00,0x00]
760 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XORi_MM
761 xor $4, $5, 0xFFFF
762 # MIPS: xori $4, $5, 65535 # encoding: [0xff,0xff,0xa4,0x38]
763 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XORi
764 # MICROMIPS: xori $4, $5, 65535 # encoding: [0x85,0x70,0xff,0xff]
765 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XORi_MM
766 xor $4, $5, 0x10000
767 # MIPS: lui $4, 1 # encoding: [0x01,0x00,0x04,0x3c]
768 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
769 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
770 # MICROMIPS: lui $4, 1 # encoding: [0xa4,0x41,0x01,0x00]
771 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
772 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
773 xor $4, $5, 0xFFFFFFFF
774 # MIPS: addiu $4, $zero, -1 # encoding: [0xff,0xff,0x04,0x24]
775 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
776 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
777 # MICROMIPS: addiu $4, $zero, -1 # encoding: [0x80,0x30,0xff,0xff]
778 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ADDiu
779 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
780 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM
781 xor $4, $5, ~(0xf0000000|0x0f000000|0x000000f0)
782 # MIPS: lui $4, 255 # encoding: [0xff,0x00,0x04,0x3c]
783 # MIPS: ori $4, $4, 65295 # encoding: [0x0f,0xff,0x84,0x34]
784 # MIPS: xor $4, $4, $5 # encoding: [0x26,0x20,0x85,0x00]
785 # MIPS-NEXT: # <MCInst #{{[0-9]+}} XOR
786 # MICROMIPS: lui $4, 255 # encoding: [0xa4,0x41,0xff,0x00]
787 # MICROMIPS: ori $4, $4, 65295 # encoding: [0x84,0x50,0x0f,0xff]
788 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} ORi
789 # MICROMIPS: xor $4, $4, $5 # encoding: [0xa4,0x00,0x10,0x23]
790 # MICROMIPS-NEXT: # <MCInst #{{[0-9]+}} XOR_MM