Skip to content

Commit 34d5a74

Browse files
committed
[X86][SSE] vector-sext - cleanup prefix lists
Add X32-SSE common prefix to merge some checks llvm-svn: 361702
1 parent 3f0905e commit 34d5a74

File tree

2 files changed

+52
-88
lines changed

2 files changed

+52
-88
lines changed

llvm/test/CodeGen/X86/vector-sext-widen.ll

+26-44
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
3-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3
4-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
5-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
6-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
7-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F
8-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512BW
2+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,SSE2
3+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3
4+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,SSE41
5+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX1
6+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX2
7+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX,AVX512,AVX512F
8+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX,AVX512,AVX512BW
99
;
1010
; Just two 32-bit runs to make sure we do reasonable things there.
11-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X32-SSE2
12-
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X32-SSE41
11+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=X32-SSE,X32-SSE2
12+
; RUN: llc < %s -x86-experimental-vector-widening-legalization -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=X32-SSE,X32-SSE41
1313

1414
define <8 x i16> @sext_16i8_to_8i16(<16 x i8> %A) nounwind uwtable readnone ssp {
1515
; SSE2-LABEL: sext_16i8_to_8i16:
@@ -5795,41 +5795,23 @@ define <32 x i8> @sext_32xi1_to_32xi8(<32 x i16> %c1, <32 x i16> %c2)nounwind {
57955795
; AVX512BW-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
57965796
; AVX512BW-NEXT: retq
57975797
;
5798-
; X32-SSE2-LABEL: sext_32xi1_to_32xi8:
5799-
; X32-SSE2: # %bb.0:
5800-
; X32-SSE2-NEXT: pushl %ebp
5801-
; X32-SSE2-NEXT: movl %esp, %ebp
5802-
; X32-SSE2-NEXT: andl $-16, %esp
5803-
; X32-SSE2-NEXT: subl $16, %esp
5804-
; X32-SSE2-NEXT: movdqa 8(%ebp), %xmm3
5805-
; X32-SSE2-NEXT: pcmpeqw 40(%ebp), %xmm1
5806-
; X32-SSE2-NEXT: pcmpeqw 24(%ebp), %xmm0
5807-
; X32-SSE2-NEXT: packsswb %xmm1, %xmm0
5808-
; X32-SSE2-NEXT: pcmpeqw 72(%ebp), %xmm3
5809-
; X32-SSE2-NEXT: pcmpeqw 56(%ebp), %xmm2
5810-
; X32-SSE2-NEXT: packsswb %xmm3, %xmm2
5811-
; X32-SSE2-NEXT: movdqa %xmm2, %xmm1
5812-
; X32-SSE2-NEXT: movl %ebp, %esp
5813-
; X32-SSE2-NEXT: popl %ebp
5814-
; X32-SSE2-NEXT: retl
5815-
;
5816-
; X32-SSE41-LABEL: sext_32xi1_to_32xi8:
5817-
; X32-SSE41: # %bb.0:
5818-
; X32-SSE41-NEXT: pushl %ebp
5819-
; X32-SSE41-NEXT: movl %esp, %ebp
5820-
; X32-SSE41-NEXT: andl $-16, %esp
5821-
; X32-SSE41-NEXT: subl $16, %esp
5822-
; X32-SSE41-NEXT: movdqa 8(%ebp), %xmm3
5823-
; X32-SSE41-NEXT: pcmpeqw 40(%ebp), %xmm1
5824-
; X32-SSE41-NEXT: pcmpeqw 24(%ebp), %xmm0
5825-
; X32-SSE41-NEXT: packsswb %xmm1, %xmm0
5826-
; X32-SSE41-NEXT: pcmpeqw 72(%ebp), %xmm3
5827-
; X32-SSE41-NEXT: pcmpeqw 56(%ebp), %xmm2
5828-
; X32-SSE41-NEXT: packsswb %xmm3, %xmm2
5829-
; X32-SSE41-NEXT: movdqa %xmm2, %xmm1
5830-
; X32-SSE41-NEXT: movl %ebp, %esp
5831-
; X32-SSE41-NEXT: popl %ebp
5832-
; X32-SSE41-NEXT: retl
5798+
; X32-SSE-LABEL: sext_32xi1_to_32xi8:
5799+
; X32-SSE: # %bb.0:
5800+
; X32-SSE-NEXT: pushl %ebp
5801+
; X32-SSE-NEXT: movl %esp, %ebp
5802+
; X32-SSE-NEXT: andl $-16, %esp
5803+
; X32-SSE-NEXT: subl $16, %esp
5804+
; X32-SSE-NEXT: movdqa 8(%ebp), %xmm3
5805+
; X32-SSE-NEXT: pcmpeqw 40(%ebp), %xmm1
5806+
; X32-SSE-NEXT: pcmpeqw 24(%ebp), %xmm0
5807+
; X32-SSE-NEXT: packsswb %xmm1, %xmm0
5808+
; X32-SSE-NEXT: pcmpeqw 72(%ebp), %xmm3
5809+
; X32-SSE-NEXT: pcmpeqw 56(%ebp), %xmm2
5810+
; X32-SSE-NEXT: packsswb %xmm3, %xmm2
5811+
; X32-SSE-NEXT: movdqa %xmm2, %xmm1
5812+
; X32-SSE-NEXT: movl %ebp, %esp
5813+
; X32-SSE-NEXT: popl %ebp
5814+
; X32-SSE-NEXT: retl
58335815
%a = icmp eq <32 x i16> %c1, %c2
58345816
%b = sext <32 x i1> %a to <32 x i8>
58355817
ret <32 x i8> %b

llvm/test/CodeGen/X86/vector-sext.ll

+26-44
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=SSE --check-prefix=SSE2
3-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefix=SSE --check-prefix=SSSE3
4-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=SSE --check-prefix=SSE41
5-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefix=AVX --check-prefix=AVX1
6-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefix=AVX --check-prefix=AVX2
7-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512F
8-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefix=AVX --check-prefix=AVX512 --check-prefix=AVX512BW
2+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=SSE,SSE2
3+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3 | FileCheck %s --check-prefixes=SSE,SSSE3
4+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=SSE,SSE41
5+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx | FileCheck %s --check-prefixes=AVX,AVX1
6+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2 | FileCheck %s --check-prefixes=AVX,AVX2
7+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f | FileCheck %s --check-prefixes=AVX,AVX512,AVX512F
8+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+avx512bw | FileCheck %s --check-prefixes=AVX,AVX512,AVX512BW
99
;
1010
; Just two 32-bit runs to make sure we do reasonable things there.
11-
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefix=X32-SSE2
12-
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefix=X32-SSE41
11+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse2 | FileCheck %s --check-prefixes=X32-SSE,X32-SSE2
12+
; RUN: llc < %s -mtriple=i686-unknown-unknown -mattr=+sse4.1 | FileCheck %s --check-prefixes=X32-SSE,X32-SSE41
1313

1414
define <8 x i16> @sext_16i8_to_8i16(<16 x i8> %A) nounwind uwtable readnone ssp {
1515
; SSE2-LABEL: sext_16i8_to_8i16:
@@ -5816,41 +5816,23 @@ define <32 x i8> @sext_32xi1_to_32xi8(<32 x i16> %c1, <32 x i16> %c2)nounwind {
58165816
; AVX512BW-NEXT: # kill: def $ymm0 killed $ymm0 killed $zmm0
58175817
; AVX512BW-NEXT: retq
58185818
;
5819-
; X32-SSE2-LABEL: sext_32xi1_to_32xi8:
5820-
; X32-SSE2: # %bb.0:
5821-
; X32-SSE2-NEXT: pushl %ebp
5822-
; X32-SSE2-NEXT: movl %esp, %ebp
5823-
; X32-SSE2-NEXT: andl $-16, %esp
5824-
; X32-SSE2-NEXT: subl $16, %esp
5825-
; X32-SSE2-NEXT: movdqa 8(%ebp), %xmm3
5826-
; X32-SSE2-NEXT: pcmpeqw 40(%ebp), %xmm1
5827-
; X32-SSE2-NEXT: pcmpeqw 24(%ebp), %xmm0
5828-
; X32-SSE2-NEXT: packsswb %xmm1, %xmm0
5829-
; X32-SSE2-NEXT: pcmpeqw 72(%ebp), %xmm3
5830-
; X32-SSE2-NEXT: pcmpeqw 56(%ebp), %xmm2
5831-
; X32-SSE2-NEXT: packsswb %xmm3, %xmm2
5832-
; X32-SSE2-NEXT: movdqa %xmm2, %xmm1
5833-
; X32-SSE2-NEXT: movl %ebp, %esp
5834-
; X32-SSE2-NEXT: popl %ebp
5835-
; X32-SSE2-NEXT: retl
5836-
;
5837-
; X32-SSE41-LABEL: sext_32xi1_to_32xi8:
5838-
; X32-SSE41: # %bb.0:
5839-
; X32-SSE41-NEXT: pushl %ebp
5840-
; X32-SSE41-NEXT: movl %esp, %ebp
5841-
; X32-SSE41-NEXT: andl $-16, %esp
5842-
; X32-SSE41-NEXT: subl $16, %esp
5843-
; X32-SSE41-NEXT: movdqa 8(%ebp), %xmm3
5844-
; X32-SSE41-NEXT: pcmpeqw 40(%ebp), %xmm1
5845-
; X32-SSE41-NEXT: pcmpeqw 24(%ebp), %xmm0
5846-
; X32-SSE41-NEXT: packsswb %xmm1, %xmm0
5847-
; X32-SSE41-NEXT: pcmpeqw 72(%ebp), %xmm3
5848-
; X32-SSE41-NEXT: pcmpeqw 56(%ebp), %xmm2
5849-
; X32-SSE41-NEXT: packsswb %xmm3, %xmm2
5850-
; X32-SSE41-NEXT: movdqa %xmm2, %xmm1
5851-
; X32-SSE41-NEXT: movl %ebp, %esp
5852-
; X32-SSE41-NEXT: popl %ebp
5853-
; X32-SSE41-NEXT: retl
5819+
; X32-SSE-LABEL: sext_32xi1_to_32xi8:
5820+
; X32-SSE: # %bb.0:
5821+
; X32-SSE-NEXT: pushl %ebp
5822+
; X32-SSE-NEXT: movl %esp, %ebp
5823+
; X32-SSE-NEXT: andl $-16, %esp
5824+
; X32-SSE-NEXT: subl $16, %esp
5825+
; X32-SSE-NEXT: movdqa 8(%ebp), %xmm3
5826+
; X32-SSE-NEXT: pcmpeqw 40(%ebp), %xmm1
5827+
; X32-SSE-NEXT: pcmpeqw 24(%ebp), %xmm0
5828+
; X32-SSE-NEXT: packsswb %xmm1, %xmm0
5829+
; X32-SSE-NEXT: pcmpeqw 72(%ebp), %xmm3
5830+
; X32-SSE-NEXT: pcmpeqw 56(%ebp), %xmm2
5831+
; X32-SSE-NEXT: packsswb %xmm3, %xmm2
5832+
; X32-SSE-NEXT: movdqa %xmm2, %xmm1
5833+
; X32-SSE-NEXT: movl %ebp, %esp
5834+
; X32-SSE-NEXT: popl %ebp
5835+
; X32-SSE-NEXT: retl
58545836
%a = icmp eq <32 x i16> %c1, %c2
58555837
%b = sext <32 x i1> %a to <32 x i8>
58565838
ret <32 x i8> %b

0 commit comments

Comments
 (0)