Skip to content

Commit 718deea

Browse files
committed
Turn SSSE2 into SSSE3
1 parent c097e12 commit 718deea

File tree

1 file changed

+82
-82
lines changed

1 file changed

+82
-82
lines changed

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

Lines changed: 82 additions & 82 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop,+avx | FileCheck %s --check-prefixes=ALL,XOP,XOPAVX1
1010
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+xop,+avx2 | FileCheck %s --check-prefixes=ALL,XOP,XOPAVX2
1111
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+gfni | FileCheck %s --check-prefixes=ALL,GFNISSE,GFNISSE2
12-
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3,+gfni | FileCheck %s --check-prefixes=ALL,GFNISSE,GFNISSSE2
12+
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+ssse3,+gfni | FileCheck %s --check-prefixes=ALL,GFNISSE,GFNISSSE3
1313
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx,+gfni | FileCheck %s --check-prefixes=ALL,GFNIAVX,GFNIAVX1
1414
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx2,+gfni | FileCheck %s --check-prefixes=ALL,GFNIAVX,GFNIAVX2
1515
; RUN: llc < %s -mtriple=x86_64-unknown-unknown -mattr=+avx512f,+gfni | FileCheck %s --check-prefixes=ALL,GFNIAVX,GFNIAVX512,GFNIAVX512F
@@ -502,11 +502,11 @@ define <8 x i16> @test_bitreverse_v8i16(<8 x i16> %a) nounwind {
502502
; GFNISSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
503503
; GFNISSE2-NEXT: retq
504504
;
505-
; GFNISSSE2-LABEL: test_bitreverse_v8i16:
506-
; GFNISSSE2: # %bb.0:
507-
; GFNISSSE2-NEXT: pshufb {{.*#+}} xmm0 = xmm0[1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
508-
; GFNISSSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
509-
; GFNISSSE2-NEXT: retq
505+
; GFNISSSE3-LABEL: test_bitreverse_v8i16:
506+
; GFNISSSE3: # %bb.0:
507+
; GFNISSSE3-NEXT: pshufb {{.*#+}} xmm0 = xmm0[1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
508+
; GFNISSSE3-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
509+
; GFNISSSE3-NEXT: retq
510510
;
511511
; GFNIAVX-LABEL: test_bitreverse_v8i16:
512512
; GFNIAVX: # %bb.0:
@@ -629,11 +629,11 @@ define <4 x i32> @test_bitreverse_v4i32(<4 x i32> %a) nounwind {
629629
; GFNISSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
630630
; GFNISSE2-NEXT: retq
631631
;
632-
; GFNISSSE2-LABEL: test_bitreverse_v4i32:
633-
; GFNISSSE2: # %bb.0:
634-
; GFNISSSE2-NEXT: pshufb {{.*#+}} xmm0 = xmm0[3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
635-
; GFNISSSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
636-
; GFNISSSE2-NEXT: retq
632+
; GFNISSSE3-LABEL: test_bitreverse_v4i32:
633+
; GFNISSSE3: # %bb.0:
634+
; GFNISSSE3-NEXT: pshufb {{.*#+}} xmm0 = xmm0[3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
635+
; GFNISSSE3-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
636+
; GFNISSSE3-NEXT: retq
637637
;
638638
; GFNIAVX-LABEL: test_bitreverse_v4i32:
639639
; GFNIAVX: # %bb.0:
@@ -760,11 +760,11 @@ define <2 x i64> @test_bitreverse_v2i64(<2 x i64> %a) nounwind {
760760
; GFNISSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
761761
; GFNISSE2-NEXT: retq
762762
;
763-
; GFNISSSE2-LABEL: test_bitreverse_v2i64:
764-
; GFNISSSE2: # %bb.0:
765-
; GFNISSSE2-NEXT: pshufb {{.*#+}} xmm0 = xmm0[7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
766-
; GFNISSSE2-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
767-
; GFNISSSE2-NEXT: retq
763+
; GFNISSSE3-LABEL: test_bitreverse_v2i64:
764+
; GFNISSSE3: # %bb.0:
765+
; GFNISSSE3-NEXT: pshufb {{.*#+}} xmm0 = xmm0[7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
766+
; GFNISSSE3-NEXT: gf2p8affineqb $0, {{\.?LCPI[0-9]+_[0-9]+}}(%rip), %xmm0
767+
; GFNISSSE3-NEXT: retq
768768
;
769769
; GFNIAVX-LABEL: test_bitreverse_v2i64:
770770
; GFNIAVX: # %bb.0:
@@ -1097,15 +1097,15 @@ define <16 x i16> @test_bitreverse_v16i16(<16 x i16> %a) nounwind {
10971097
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm2, %xmm1
10981098
; GFNISSE2-NEXT: retq
10991099
;
1100-
; GFNISSSE2-LABEL: test_bitreverse_v16i16:
1101-
; GFNISSSE2: # %bb.0:
1102-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm2 = [1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
1103-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm0
1104-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1105-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1106-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm1
1107-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1108-
; GFNISSSE2-NEXT: retq
1100+
; GFNISSSE3-LABEL: test_bitreverse_v16i16:
1101+
; GFNISSSE3: # %bb.0:
1102+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm2 = [1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
1103+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm0
1104+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1105+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1106+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm1
1107+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1108+
; GFNISSSE3-NEXT: retq
11091109
;
11101110
; GFNIAVX1-LABEL: test_bitreverse_v16i16:
11111111
; GFNIAVX1: # %bb.0:
@@ -1320,15 +1320,15 @@ define <8 x i32> @test_bitreverse_v8i32(<8 x i32> %a) nounwind {
13201320
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
13211321
; GFNISSE2-NEXT: retq
13221322
;
1323-
; GFNISSSE2-LABEL: test_bitreverse_v8i32:
1324-
; GFNISSSE2: # %bb.0:
1325-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm2 = [3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
1326-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm0
1327-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1328-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1329-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm1
1330-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1331-
; GFNISSSE2-NEXT: retq
1323+
; GFNISSSE3-LABEL: test_bitreverse_v8i32:
1324+
; GFNISSSE3: # %bb.0:
1325+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm2 = [3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
1326+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm0
1327+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1328+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1329+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm1
1330+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1331+
; GFNISSSE3-NEXT: retq
13321332
;
13331333
; GFNIAVX1-LABEL: test_bitreverse_v8i32:
13341334
; GFNIAVX1: # %bb.0:
@@ -1551,15 +1551,15 @@ define <4 x i64> @test_bitreverse_v4i64(<4 x i64> %a) nounwind {
15511551
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
15521552
; GFNISSE2-NEXT: retq
15531553
;
1554-
; GFNISSSE2-LABEL: test_bitreverse_v4i64:
1555-
; GFNISSSE2: # %bb.0:
1556-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm2 = [7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
1557-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm0
1558-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1559-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1560-
; GFNISSSE2-NEXT: pshufb %xmm2, %xmm1
1561-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1562-
; GFNISSSE2-NEXT: retq
1554+
; GFNISSSE3-LABEL: test_bitreverse_v4i64:
1555+
; GFNISSSE3: # %bb.0:
1556+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm2 = [7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
1557+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm0
1558+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm3 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
1559+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm0
1560+
; GFNISSSE3-NEXT: pshufb %xmm2, %xmm1
1561+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm3, %xmm1
1562+
; GFNISSSE3-NEXT: retq
15631563
;
15641564
; GFNIAVX1-LABEL: test_bitreverse_v4i64:
15651565
; GFNIAVX1: # %bb.0:
@@ -2167,19 +2167,19 @@ define <32 x i16> @test_bitreverse_v32i16(<32 x i16> %a) nounwind {
21672167
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm4, %xmm3
21682168
; GFNISSE2-NEXT: retq
21692169
;
2170-
; GFNISSSE2-LABEL: test_bitreverse_v32i16:
2171-
; GFNISSSE2: # %bb.0:
2172-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm4 = [1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
2173-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm0
2174-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2175-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2176-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm1
2177-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2178-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm2
2179-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2180-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm3
2181-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2182-
; GFNISSSE2-NEXT: retq
2170+
; GFNISSSE3-LABEL: test_bitreverse_v32i16:
2171+
; GFNISSSE3: # %bb.0:
2172+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm4 = [1,0,3,2,5,4,7,6,9,8,11,10,13,12,15,14]
2173+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm0
2174+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2175+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2176+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm1
2177+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2178+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm2
2179+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2180+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm3
2181+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2182+
; GFNISSSE3-NEXT: retq
21832183
;
21842184
; GFNIAVX1-LABEL: test_bitreverse_v32i16:
21852185
; GFNIAVX1: # %bb.0:
@@ -2567,19 +2567,19 @@ define <16 x i32> @test_bitreverse_v16i32(<16 x i32> %a) nounwind {
25672567
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
25682568
; GFNISSE2-NEXT: retq
25692569
;
2570-
; GFNISSSE2-LABEL: test_bitreverse_v16i32:
2571-
; GFNISSSE2: # %bb.0:
2572-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm4 = [3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
2573-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm0
2574-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2575-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2576-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm1
2577-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2578-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm2
2579-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2580-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm3
2581-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2582-
; GFNISSSE2-NEXT: retq
2570+
; GFNISSSE3-LABEL: test_bitreverse_v16i32:
2571+
; GFNISSSE3: # %bb.0:
2572+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm4 = [3,2,1,0,7,6,5,4,11,10,9,8,15,14,13,12]
2573+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm0
2574+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2575+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2576+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm1
2577+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2578+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm2
2579+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2580+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm3
2581+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2582+
; GFNISSSE3-NEXT: retq
25832583
;
25842584
; GFNIAVX1-LABEL: test_bitreverse_v16i32:
25852585
; GFNIAVX1: # %bb.0:
@@ -2983,19 +2983,19 @@ define <8 x i64> @test_bitreverse_v8i64(<8 x i64> %a) nounwind {
29832983
; GFNISSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
29842984
; GFNISSE2-NEXT: retq
29852985
;
2986-
; GFNISSSE2-LABEL: test_bitreverse_v8i64:
2987-
; GFNISSSE2: # %bb.0:
2988-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm4 = [7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
2989-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm0
2990-
; GFNISSSE2-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2991-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2992-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm1
2993-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2994-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm2
2995-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2996-
; GFNISSSE2-NEXT: pshufb %xmm4, %xmm3
2997-
; GFNISSSE2-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2998-
; GFNISSSE2-NEXT: retq
2986+
; GFNISSSE3-LABEL: test_bitreverse_v8i64:
2987+
; GFNISSSE3: # %bb.0:
2988+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm4 = [7,6,5,4,3,2,1,0,15,14,13,12,11,10,9,8]
2989+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm0
2990+
; GFNISSSE3-NEXT: movdqa {{.*#+}} xmm5 = [1,2,4,8,16,32,64,128,1,2,4,8,16,32,64,128]
2991+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm0
2992+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm1
2993+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm1
2994+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm2
2995+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm2
2996+
; GFNISSSE3-NEXT: pshufb %xmm4, %xmm3
2997+
; GFNISSSE3-NEXT: gf2p8affineqb $0, %xmm5, %xmm3
2998+
; GFNISSSE3-NEXT: retq
29992999
;
30003000
; GFNIAVX1-LABEL: test_bitreverse_v8i64:
30013001
; GFNIAVX1: # %bb.0:

0 commit comments

Comments
 (0)