Skip to content

Commit 06f5b95

Browse files
committed
[X86] pmovsx-inreg.ll - replace X32 check prefixes with X86
We try to only use X32 for gnux32 triple tests.
1 parent ccb2810 commit 06f5b95

File tree

1 file changed

+118
-118
lines changed

1 file changed

+118
-118
lines changed

llvm/test/CodeGen/X86/pmovsx-inreg.ll

Lines changed: 118 additions & 118 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE41
3-
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
4-
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
5-
; RUN: llc < %s -mtriple=i686-unknwon -mattr=+avx2 | FileCheck %s --check-prefix=X32-AVX2
2+
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE41
3+
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX1
4+
; RUN: llc < %s -mtriple=x86_64-unknwon -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX2
5+
; RUN: llc < %s -mtriple=i686-unknwon -mattr=+avx2 | FileCheck %s --check-prefixes=X86-AVX2
66

77
; PR14887
88
; These tests inject a store into the chain to test the inreg versions of pmovsx
@@ -24,15 +24,15 @@ define void @test1(ptr %in, ptr %out) nounwind {
2424
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
2525
; AVX-NEXT: retq
2626
;
27-
; X32-AVX2-LABEL: test1:
28-
; X32-AVX2: # %bb.0:
29-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
30-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
31-
; X32-AVX2-NEXT: vpmovsxbq (%ecx), %xmm0
32-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
33-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
34-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
35-
; X32-AVX2-NEXT: retl
27+
; X86-AVX2-LABEL: test1:
28+
; X86-AVX2: # %bb.0:
29+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
30+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
31+
; X86-AVX2-NEXT: vpmovsxbq (%ecx), %xmm0
32+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
33+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
34+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
35+
; X86-AVX2-NEXT: retl
3636
%wide.load35 = load <2 x i8>, ptr %in, align 1
3737
%sext = sext <2 x i8> %wide.load35 to <2 x i64>
3838
store <2 x i64> zeroinitializer, ptr undef, align 8
@@ -71,16 +71,16 @@ define void @test2(ptr %in, ptr %out) nounwind {
7171
; AVX2-NEXT: vzeroupper
7272
; AVX2-NEXT: retq
7373
;
74-
; X32-AVX2-LABEL: test2:
75-
; X32-AVX2: # %bb.0:
76-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
77-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
78-
; X32-AVX2-NEXT: vpmovsxbq (%ecx), %ymm0
79-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
80-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
81-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
82-
; X32-AVX2-NEXT: vzeroupper
83-
; X32-AVX2-NEXT: retl
74+
; X86-AVX2-LABEL: test2:
75+
; X86-AVX2: # %bb.0:
76+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
77+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
78+
; X86-AVX2-NEXT: vpmovsxbq (%ecx), %ymm0
79+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
80+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
81+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
82+
; X86-AVX2-NEXT: vzeroupper
83+
; X86-AVX2-NEXT: retl
8484
%wide.load35 = load <4 x i8>, ptr %in, align 1
8585
%sext = sext <4 x i8> %wide.load35 to <4 x i64>
8686
store <4 x i64> zeroinitializer, ptr undef, align 8
@@ -105,15 +105,15 @@ define void @test3(ptr %in, ptr %out) nounwind {
105105
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
106106
; AVX-NEXT: retq
107107
;
108-
; X32-AVX2-LABEL: test3:
109-
; X32-AVX2: # %bb.0:
110-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
111-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
112-
; X32-AVX2-NEXT: vpmovsxbd (%ecx), %xmm0
113-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
114-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
115-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
116-
; X32-AVX2-NEXT: retl
108+
; X86-AVX2-LABEL: test3:
109+
; X86-AVX2: # %bb.0:
110+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
111+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
112+
; X86-AVX2-NEXT: vpmovsxbd (%ecx), %xmm0
113+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
114+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
115+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
116+
; X86-AVX2-NEXT: retl
117117
%wide.load35 = load <4 x i8>, ptr %in, align 1
118118
%sext = sext <4 x i8> %wide.load35 to <4 x i32>
119119
store <4 x i32> zeroinitializer, ptr undef, align 8
@@ -152,16 +152,16 @@ define void @test4(ptr %in, ptr %out) nounwind {
152152
; AVX2-NEXT: vzeroupper
153153
; AVX2-NEXT: retq
154154
;
155-
; X32-AVX2-LABEL: test4:
156-
; X32-AVX2: # %bb.0:
157-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
158-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
159-
; X32-AVX2-NEXT: vpmovsxbd (%ecx), %ymm0
160-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
161-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
162-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
163-
; X32-AVX2-NEXT: vzeroupper
164-
; X32-AVX2-NEXT: retl
155+
; X86-AVX2-LABEL: test4:
156+
; X86-AVX2: # %bb.0:
157+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
158+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
159+
; X86-AVX2-NEXT: vpmovsxbd (%ecx), %ymm0
160+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
161+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
162+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
163+
; X86-AVX2-NEXT: vzeroupper
164+
; X86-AVX2-NEXT: retl
165165
%wide.load35 = load <8 x i8>, ptr %in, align 1
166166
%sext = sext <8 x i8> %wide.load35 to <8 x i32>
167167
store <8 x i32> zeroinitializer, ptr undef, align 8
@@ -186,15 +186,15 @@ define void @test5(ptr %in, ptr %out) nounwind {
186186
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
187187
; AVX-NEXT: retq
188188
;
189-
; X32-AVX2-LABEL: test5:
190-
; X32-AVX2: # %bb.0:
191-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
192-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
193-
; X32-AVX2-NEXT: vpmovsxbw (%ecx), %xmm0
194-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
195-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
196-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
197-
; X32-AVX2-NEXT: retl
189+
; X86-AVX2-LABEL: test5:
190+
; X86-AVX2: # %bb.0:
191+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
192+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
193+
; X86-AVX2-NEXT: vpmovsxbw (%ecx), %xmm0
194+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
195+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
196+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
197+
; X86-AVX2-NEXT: retl
198198
%wide.load35 = load <8 x i8>, ptr %in, align 1
199199
%sext = sext <8 x i8> %wide.load35 to <8 x i16>
200200
store <8 x i16> zeroinitializer, ptr undef, align 8
@@ -233,16 +233,16 @@ define void @test6(ptr %in, ptr %out) nounwind {
233233
; AVX2-NEXT: vzeroupper
234234
; AVX2-NEXT: retq
235235
;
236-
; X32-AVX2-LABEL: test6:
237-
; X32-AVX2: # %bb.0:
238-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
239-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
240-
; X32-AVX2-NEXT: vpmovsxbw (%ecx), %ymm0
241-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
242-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
243-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
244-
; X32-AVX2-NEXT: vzeroupper
245-
; X32-AVX2-NEXT: retl
236+
; X86-AVX2-LABEL: test6:
237+
; X86-AVX2: # %bb.0:
238+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
239+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
240+
; X86-AVX2-NEXT: vpmovsxbw (%ecx), %ymm0
241+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
242+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
243+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
244+
; X86-AVX2-NEXT: vzeroupper
245+
; X86-AVX2-NEXT: retl
246246
%wide.load35 = load <16 x i8>, ptr %in, align 1
247247
%sext = sext <16 x i8> %wide.load35 to <16 x i16>
248248
store <16 x i16> zeroinitializer, ptr undef, align 8
@@ -267,15 +267,15 @@ define void @test7(ptr %in, ptr %out) nounwind {
267267
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
268268
; AVX-NEXT: retq
269269
;
270-
; X32-AVX2-LABEL: test7:
271-
; X32-AVX2: # %bb.0:
272-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
273-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
274-
; X32-AVX2-NEXT: vpmovsxwq (%ecx), %xmm0
275-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
276-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
277-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
278-
; X32-AVX2-NEXT: retl
270+
; X86-AVX2-LABEL: test7:
271+
; X86-AVX2: # %bb.0:
272+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
273+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
274+
; X86-AVX2-NEXT: vpmovsxwq (%ecx), %xmm0
275+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
276+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
277+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
278+
; X86-AVX2-NEXT: retl
279279
%wide.load35 = load <2 x i16>, ptr %in, align 1
280280
%sext = sext <2 x i16> %wide.load35 to <2 x i64>
281281
store <2 x i64> zeroinitializer, ptr undef, align 8
@@ -314,16 +314,16 @@ define void @test8(ptr %in, ptr %out) nounwind {
314314
; AVX2-NEXT: vzeroupper
315315
; AVX2-NEXT: retq
316316
;
317-
; X32-AVX2-LABEL: test8:
318-
; X32-AVX2: # %bb.0:
319-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
320-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
321-
; X32-AVX2-NEXT: vpmovsxwq (%ecx), %ymm0
322-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
323-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
324-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
325-
; X32-AVX2-NEXT: vzeroupper
326-
; X32-AVX2-NEXT: retl
317+
; X86-AVX2-LABEL: test8:
318+
; X86-AVX2: # %bb.0:
319+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
320+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
321+
; X86-AVX2-NEXT: vpmovsxwq (%ecx), %ymm0
322+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
323+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
324+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
325+
; X86-AVX2-NEXT: vzeroupper
326+
; X86-AVX2-NEXT: retl
327327
%wide.load35 = load <4 x i16>, ptr %in, align 1
328328
%sext = sext <4 x i16> %wide.load35 to <4 x i64>
329329
store <4 x i64> zeroinitializer, ptr undef, align 8
@@ -348,15 +348,15 @@ define void @test9(ptr %in, ptr %out) nounwind {
348348
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
349349
; AVX-NEXT: retq
350350
;
351-
; X32-AVX2-LABEL: test9:
352-
; X32-AVX2: # %bb.0:
353-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
354-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
355-
; X32-AVX2-NEXT: vpmovsxwd (%ecx), %xmm0
356-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
357-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
358-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
359-
; X32-AVX2-NEXT: retl
351+
; X86-AVX2-LABEL: test9:
352+
; X86-AVX2: # %bb.0:
353+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
354+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
355+
; X86-AVX2-NEXT: vpmovsxwd (%ecx), %xmm0
356+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
357+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
358+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
359+
; X86-AVX2-NEXT: retl
360360
%wide.load35 = load <4 x i16>, ptr %in, align 1
361361
%sext = sext <4 x i16> %wide.load35 to <4 x i32>
362362
store <4 x i32> zeroinitializer, ptr undef, align 8
@@ -395,16 +395,16 @@ define void @test10(ptr %in, ptr %out) nounwind {
395395
; AVX2-NEXT: vzeroupper
396396
; AVX2-NEXT: retq
397397
;
398-
; X32-AVX2-LABEL: test10:
399-
; X32-AVX2: # %bb.0:
400-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
401-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
402-
; X32-AVX2-NEXT: vpmovsxwd (%ecx), %ymm0
403-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
404-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
405-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
406-
; X32-AVX2-NEXT: vzeroupper
407-
; X32-AVX2-NEXT: retl
398+
; X86-AVX2-LABEL: test10:
399+
; X86-AVX2: # %bb.0:
400+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
401+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
402+
; X86-AVX2-NEXT: vpmovsxwd (%ecx), %ymm0
403+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
404+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
405+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
406+
; X86-AVX2-NEXT: vzeroupper
407+
; X86-AVX2-NEXT: retl
408408
%wide.load35 = load <8 x i16>, ptr %in, align 1
409409
%sext = sext <8 x i16> %wide.load35 to <8 x i32>
410410
store <8 x i32> zeroinitializer, ptr undef, align 8
@@ -429,15 +429,15 @@ define void @test11(ptr %in, ptr %out) nounwind {
429429
; AVX-NEXT: vmovdqu %xmm0, (%rsi)
430430
; AVX-NEXT: retq
431431
;
432-
; X32-AVX2-LABEL: test11:
433-
; X32-AVX2: # %bb.0:
434-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
435-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
436-
; X32-AVX2-NEXT: vpmovsxdq (%ecx), %xmm0
437-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
438-
; X32-AVX2-NEXT: vmovups %xmm1, (%eax)
439-
; X32-AVX2-NEXT: vmovdqu %xmm0, (%eax)
440-
; X32-AVX2-NEXT: retl
432+
; X86-AVX2-LABEL: test11:
433+
; X86-AVX2: # %bb.0:
434+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
435+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
436+
; X86-AVX2-NEXT: vpmovsxdq (%ecx), %xmm0
437+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
438+
; X86-AVX2-NEXT: vmovups %xmm1, (%eax)
439+
; X86-AVX2-NEXT: vmovdqu %xmm0, (%eax)
440+
; X86-AVX2-NEXT: retl
441441
%wide.load35 = load <2 x i32>, ptr %in, align 1
442442
%sext = sext <2 x i32> %wide.load35 to <2 x i64>
443443
store <2 x i64> zeroinitializer, ptr undef, align 8
@@ -476,16 +476,16 @@ define void @test12(ptr %in, ptr %out) nounwind {
476476
; AVX2-NEXT: vzeroupper
477477
; AVX2-NEXT: retq
478478
;
479-
; X32-AVX2-LABEL: test12:
480-
; X32-AVX2: # %bb.0:
481-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
482-
; X32-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
483-
; X32-AVX2-NEXT: vpmovsxdq (%ecx), %ymm0
484-
; X32-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
485-
; X32-AVX2-NEXT: vmovups %ymm1, (%eax)
486-
; X32-AVX2-NEXT: vmovdqu %ymm0, (%eax)
487-
; X32-AVX2-NEXT: vzeroupper
488-
; X32-AVX2-NEXT: retl
479+
; X86-AVX2-LABEL: test12:
480+
; X86-AVX2: # %bb.0:
481+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %eax
482+
; X86-AVX2-NEXT: movl {{[0-9]+}}(%esp), %ecx
483+
; X86-AVX2-NEXT: vpmovsxdq (%ecx), %ymm0
484+
; X86-AVX2-NEXT: vxorps %xmm1, %xmm1, %xmm1
485+
; X86-AVX2-NEXT: vmovups %ymm1, (%eax)
486+
; X86-AVX2-NEXT: vmovdqu %ymm0, (%eax)
487+
; X86-AVX2-NEXT: vzeroupper
488+
; X86-AVX2-NEXT: retl
489489
%wide.load35 = load <4 x i32>, ptr %in, align 1
490490
%sext = sext <4 x i32> %wide.load35 to <4 x i64>
491491
store <4 x i64> zeroinitializer, ptr undef, align 8

0 commit comments

Comments
 (0)