@@ -218,110 +218,108 @@ declare <8 x bfloat> @llvm.x86.vcvtneps2bf16256(<8 x float> %A)
218
218
define <8 x bfloat> @select (i8 %x , <8 x bfloat> %y ) nounwind {
219
219
; X64-LABEL: select:
220
220
; X64: # %bb.0:
221
- ; X64-NEXT: vmovaps %xmm0, %xmm1 # encoding: [0xc5,0xf8,0x28,0xc8]
222
221
; X64-NEXT: movb %dil, %al # encoding: [0x40,0x88,0xf8]
223
222
; X64-NEXT: movb %al, -{{[0-9]+}}(%rsp) # encoding: [0x88,0x44,0x24,0xff]
224
223
; X64-NEXT: movzbl -{{[0-9]+}}(%rsp), %eax # encoding: [0x0f,0xb6,0x44,0x24,0xff]
225
224
; X64-NEXT: movl %eax, %ecx # encoding: [0x89,0xc1]
226
225
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
227
226
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
228
- ; X64-NEXT: vmovd %ecx, %xmm0 # encoding: [0xc5,0xf9,0x6e,0xc1 ]
227
+ ; X64-NEXT: vmovd %ecx, %xmm1 # encoding: [0xc5,0xf9,0x6e,0xc9 ]
229
228
; X64-NEXT: # kill: def $al killed $al killed $eax
230
229
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
231
230
; X64-NEXT: shrb %cl # encoding: [0xd0,0xe9]
232
231
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
233
232
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
234
233
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
235
- ; X64-NEXT: vpinsrw $1, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x01]
234
+ ; X64-NEXT: vpinsrw $1, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x01]
236
235
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
237
236
; X64-NEXT: shrb $2, %cl # encoding: [0xc0,0xe9,0x02]
238
237
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
239
238
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
240
239
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
241
- ; X64-NEXT: vpinsrw $2, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x02]
240
+ ; X64-NEXT: vpinsrw $2, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x02]
242
241
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
243
242
; X64-NEXT: shrb $3, %cl # encoding: [0xc0,0xe9,0x03]
244
243
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
245
244
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
246
245
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
247
- ; X64-NEXT: vpinsrw $3, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x03]
246
+ ; X64-NEXT: vpinsrw $3, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x03]
248
247
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
249
248
; X64-NEXT: shrb $4, %cl # encoding: [0xc0,0xe9,0x04]
250
249
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
251
250
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
252
251
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
253
- ; X64-NEXT: vpinsrw $4, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x04]
252
+ ; X64-NEXT: vpinsrw $4, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x04]
254
253
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
255
254
; X64-NEXT: shrb $5, %cl # encoding: [0xc0,0xe9,0x05]
256
255
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
257
256
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
258
257
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
259
- ; X64-NEXT: vpinsrw $5, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x05]
258
+ ; X64-NEXT: vpinsrw $5, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x05]
260
259
; X64-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
261
260
; X64-NEXT: shrb $6, %cl # encoding: [0xc0,0xe9,0x06]
262
261
; X64-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
263
262
; X64-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
264
263
; X64-NEXT: negl %ecx # encoding: [0xf7,0xd9]
265
- ; X64-NEXT: vpinsrw $6, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x06]
264
+ ; X64-NEXT: vpinsrw $6, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x06]
266
265
; X64-NEXT: shrb $7, %al # encoding: [0xc0,0xe8,0x07]
267
266
; X64-NEXT: movzbl %al, %eax # encoding: [0x0f,0xb6,0xc0]
268
267
; X64-NEXT: negl %eax # encoding: [0xf7,0xd8]
269
- ; X64-NEXT: vpinsrw $7, %eax, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc0 ,0x07]
268
+ ; X64-NEXT: vpinsrw $7, %eax, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc8 ,0x07]
270
269
; X64-NEXT: vpandn %xmm1, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xdf,0xc1]
271
270
; X64-NEXT: retq # encoding: [0xc3]
272
271
;
273
272
; X86-LABEL: select:
274
273
; X86: # %bb.0:
275
274
; X86-NEXT: pushl %eax # encoding: [0x50]
276
- ; X86-NEXT: vmovaps %xmm0, %xmm1 # encoding: [0xc5,0xf8,0x28,0xc8]
277
275
; X86-NEXT: movb {{[0-9]+}}(%esp), %al # encoding: [0x8a,0x44,0x24,0x08]
278
276
; X86-NEXT: movb %al, {{[0-9]+}}(%esp) # encoding: [0x88,0x44,0x24,0x03]
279
277
; X86-NEXT: movzbl {{[0-9]+}}(%esp), %eax # encoding: [0x0f,0xb6,0x44,0x24,0x03]
280
278
; X86-NEXT: movl %eax, %ecx # encoding: [0x89,0xc1]
281
279
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
282
280
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
283
- ; X86-NEXT: vmovd %ecx, %xmm0 # encoding: [0xc5,0xf9,0x6e,0xc1 ]
281
+ ; X86-NEXT: vmovd %ecx, %xmm1 # encoding: [0xc5,0xf9,0x6e,0xc9 ]
284
282
; X86-NEXT: # kill: def $al killed $al killed $eax
285
283
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
286
284
; X86-NEXT: shrb %cl # encoding: [0xd0,0xe9]
287
285
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
288
286
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
289
287
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
290
- ; X86-NEXT: vpinsrw $1, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x01]
288
+ ; X86-NEXT: vpinsrw $1, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x01]
291
289
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
292
290
; X86-NEXT: shrb $2, %cl # encoding: [0xc0,0xe9,0x02]
293
291
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
294
292
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
295
293
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
296
- ; X86-NEXT: vpinsrw $2, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x02]
294
+ ; X86-NEXT: vpinsrw $2, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x02]
297
295
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
298
296
; X86-NEXT: shrb $3, %cl # encoding: [0xc0,0xe9,0x03]
299
297
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
300
298
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
301
299
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
302
- ; X86-NEXT: vpinsrw $3, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x03]
300
+ ; X86-NEXT: vpinsrw $3, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x03]
303
301
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
304
302
; X86-NEXT: shrb $4, %cl # encoding: [0xc0,0xe9,0x04]
305
303
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
306
304
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
307
305
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
308
- ; X86-NEXT: vpinsrw $4, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x04]
306
+ ; X86-NEXT: vpinsrw $4, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x04]
309
307
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
310
308
; X86-NEXT: shrb $5, %cl # encoding: [0xc0,0xe9,0x05]
311
309
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
312
310
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
313
311
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
314
- ; X86-NEXT: vpinsrw $5, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x05]
312
+ ; X86-NEXT: vpinsrw $5, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x05]
315
313
; X86-NEXT: movb %al, %cl # encoding: [0x88,0xc1]
316
314
; X86-NEXT: shrb $6, %cl # encoding: [0xc0,0xe9,0x06]
317
315
; X86-NEXT: movzbl %cl, %ecx # encoding: [0x0f,0xb6,0xc9]
318
316
; X86-NEXT: andl $1, %ecx # encoding: [0x83,0xe1,0x01]
319
317
; X86-NEXT: negl %ecx # encoding: [0xf7,0xd9]
320
- ; X86-NEXT: vpinsrw $6, %ecx, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc1 ,0x06]
318
+ ; X86-NEXT: vpinsrw $6, %ecx, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc9 ,0x06]
321
319
; X86-NEXT: shrb $7, %al # encoding: [0xc0,0xe8,0x07]
322
320
; X86-NEXT: movzbl %al, %eax # encoding: [0x0f,0xb6,0xc0]
323
321
; X86-NEXT: negl %eax # encoding: [0xf7,0xd8]
324
- ; X86-NEXT: vpinsrw $7, %eax, %xmm0 , %xmm0 # encoding: [0xc5,0xf9 ,0xc4,0xc0 ,0x07]
322
+ ; X86-NEXT: vpinsrw $7, %eax, %xmm1 , %xmm1 # encoding: [0xc5,0xf1 ,0xc4,0xc8 ,0x07]
325
323
; X86-NEXT: vpandn %xmm1, %xmm0, %xmm0 # encoding: [0xc5,0xf9,0xdf,0xc1]
326
324
; X86-NEXT: popl %eax # encoding: [0x58]
327
325
; X86-NEXT: retl # encoding: [0xc3]
0 commit comments