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