@@ -202,27 +202,13 @@ define <4 x i32> @freeze_add_vec(<4 x i32> %a0) nounwind {
202
202
define <4 x i32 > @freeze_add_vec_undef (<4 x i32 > %a0 ) nounwind {
203
203
; X86-LABEL: freeze_add_vec_undef:
204
204
; X86: # %bb.0:
205
- ; X86-NEXT: pushl %ebp
206
- ; X86-NEXT: movl %esp, %ebp
207
- ; X86-NEXT: andl $-16, %esp
208
- ; X86-NEXT: subl $32, %esp
209
- ; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
210
- ; X86-NEXT: movl $3, {{[0-9]+}}(%esp)
211
- ; X86-NEXT: movl $2, {{[0-9]+}}(%esp)
212
- ; X86-NEXT: movl $1, (%esp)
213
- ; X86-NEXT: paddd (%esp), %xmm0
214
205
; X86-NEXT: paddd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
215
- ; X86-NEXT: movl %ebp, %esp
216
- ; X86-NEXT: popl %ebp
206
+ ; X86-NEXT: paddd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
217
207
; X86-NEXT: retl
218
208
;
219
209
; X64-LABEL: freeze_add_vec_undef:
220
210
; X64: # %bb.0:
221
- ; X64-NEXT: movabsq $8589934593, %rax # imm = 0x200000001
222
- ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
223
- ; X64-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
224
- ; X64-NEXT: movl $3, -{{[0-9]+}}(%rsp)
225
- ; X64-NEXT: vpaddd -{{[0-9]+}}(%rsp), %xmm0, %xmm0
211
+ ; X64-NEXT: vpaddd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
226
212
; X64-NEXT: vpaddd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
227
213
; X64-NEXT: retq
228
214
%x = add <4 x i32 > %a0 , <i32 1 , i32 2 , i32 3 , i32 undef >
@@ -287,27 +273,13 @@ define <4 x i32> @freeze_sub_vec(<4 x i32> %a0) nounwind {
287
273
define <4 x i32 > @freeze_sub_vec_undef (<4 x i32 > %a0 ) nounwind {
288
274
; X86-LABEL: freeze_sub_vec_undef:
289
275
; X86: # %bb.0:
290
- ; X86-NEXT: pushl %ebp
291
- ; X86-NEXT: movl %esp, %ebp
292
- ; X86-NEXT: andl $-16, %esp
293
- ; X86-NEXT: subl $32, %esp
294
- ; X86-NEXT: movl %eax, {{[0-9]+}}(%esp)
295
- ; X86-NEXT: movl $3, {{[0-9]+}}(%esp)
296
- ; X86-NEXT: movl $2, {{[0-9]+}}(%esp)
297
- ; X86-NEXT: movl $1, (%esp)
298
- ; X86-NEXT: psubd (%esp), %xmm0
299
276
; X86-NEXT: psubd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
300
- ; X86-NEXT: movl %ebp, %esp
301
- ; X86-NEXT: popl %ebp
277
+ ; X86-NEXT: psubd {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
302
278
; X86-NEXT: retl
303
279
;
304
280
; X64-LABEL: freeze_sub_vec_undef:
305
281
; X64: # %bb.0:
306
- ; X64-NEXT: movabsq $8589934593, %rax # imm = 0x200000001
307
- ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
308
- ; X64-NEXT: movl %eax, -{{[0-9]+}}(%rsp)
309
- ; X64-NEXT: movl $3, -{{[0-9]+}}(%rsp)
310
- ; X64-NEXT: vpsubd -{{[0-9]+}}(%rsp), %xmm0, %xmm0
282
+ ; X64-NEXT: vpsubd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
311
283
; X64-NEXT: vpsubd {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
312
284
; X64-NEXT: retq
313
285
%x = sub <4 x i32 > %a0 , <i32 1 , i32 2 , i32 3 , i32 undef >
@@ -373,29 +345,13 @@ define <8 x i16> @freeze_mul_vec(<8 x i16> %a0) nounwind {
373
345
define <8 x i16 > @freeze_mul_vec_undef (<8 x i16 > %a0 ) nounwind {
374
346
; X86-LABEL: freeze_mul_vec_undef:
375
347
; X86: # %bb.0:
376
- ; X86-NEXT: pushl %ebp
377
- ; X86-NEXT: movl %esp, %ebp
378
- ; X86-NEXT: andl $-16, %esp
379
- ; X86-NEXT: subl $32, %esp
380
- ; X86-NEXT: movw %ax, {{[0-9]+}}(%esp)
381
- ; X86-NEXT: movw $1, {{[0-9]+}}(%esp)
382
- ; X86-NEXT: movl $196612, {{[0-9]+}}(%esp) # imm = 0x30004
383
- ; X86-NEXT: movl $262147, {{[0-9]+}}(%esp) # imm = 0x40003
384
- ; X86-NEXT: movl $131073, (%esp) # imm = 0x20001
385
- ; X86-NEXT: pmullw (%esp), %xmm0
386
348
; X86-NEXT: pmullw {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
387
- ; X86-NEXT: movl %ebp, %esp
388
- ; X86-NEXT: popl %ebp
349
+ ; X86-NEXT: pmullw {{\.?LCPI[0-9]+_[0-9]+}}, %xmm0
389
350
; X86-NEXT: retl
390
351
;
391
352
; X64-LABEL: freeze_mul_vec_undef:
392
353
; X64: # %bb.0:
393
- ; X64-NEXT: movabsq $1125912791875585, %rax # imm = 0x4000300020001
394
- ; X64-NEXT: movq %rax, -{{[0-9]+}}(%rsp)
395
- ; X64-NEXT: movw %ax, -{{[0-9]+}}(%rsp)
396
- ; X64-NEXT: movw $1, -{{[0-9]+}}(%rsp)
397
- ; X64-NEXT: movl $196612, -{{[0-9]+}}(%rsp) # imm = 0x30004
398
- ; X64-NEXT: vpmullw -{{[0-9]+}}(%rsp), %xmm0, %xmm0
354
+ ; X64-NEXT: vpmullw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
399
355
; X64-NEXT: vpmullw {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0, %xmm0
400
356
; X64-NEXT: retq
401
357
%x = mul <8 x i16 > %a0 , <i16 1 , i16 2 , i16 3 , i16 4 , i16 4 , i16 3 , i16 undef , i16 1 >
0 commit comments