@@ -739,15 +739,15 @@ define <32 x i8> @var_funnnel_v32i8(<32 x i8> %x, <32 x i8> %y, <32 x i8> %amt)
739
739
; XOPAVX2-NEXT: vpbroadcastb {{.*#+}} xmm6 = [249,249,249,249,249,249,249,249,249,249,249,249,249,249,249,249]
740
740
; XOPAVX2-NEXT: vpaddb %xmm6, %xmm5, %xmm7
741
741
; XOPAVX2-NEXT: vpshlb %xmm7, %xmm3, %xmm3
742
+ ; XOPAVX2-NEXT: vextracti128 $1, %ymm0, %xmm7
743
+ ; XOPAVX2-NEXT: vpshlb %xmm5, %xmm7, %xmm5
744
+ ; XOPAVX2-NEXT: vpor %xmm3, %xmm5, %xmm3
742
745
; XOPAVX2-NEXT: vpshlb %xmm4, %xmm1, %xmm1
743
746
; XOPAVX2-NEXT: vpaddb %xmm6, %xmm2, %xmm4
744
747
; XOPAVX2-NEXT: vpshlb %xmm4, %xmm1, %xmm1
745
- ; XOPAVX2-NEXT: vinserti128 $1, %xmm3, %ymm1, %ymm1
746
- ; XOPAVX2-NEXT: vextracti128 $1, %ymm0, %xmm3
747
- ; XOPAVX2-NEXT: vpshlb %xmm5, %xmm3, %xmm3
748
748
; XOPAVX2-NEXT: vpshlb %xmm2, %xmm0, %xmm0
749
+ ; XOPAVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
749
750
; XOPAVX2-NEXT: vinserti128 $1, %xmm3, %ymm0, %ymm0
750
- ; XOPAVX2-NEXT: vpor %ymm1, %ymm0, %ymm0
751
751
; XOPAVX2-NEXT: retq
752
752
%res = call <32 x i8 > @llvm.fshl.v32i8 (<32 x i8 > %x , <32 x i8 > %y , <32 x i8 > %amt )
753
753
ret <32 x i8 > %res
@@ -1992,17 +1992,17 @@ define <32 x i8> @constant_funnnel_v32i8(<32 x i8> %x, <32 x i8> %y) nounwind {
1992
1992
; XOPAVX2-NEXT: vextracti128 $1, %ymm0, %xmm2
1993
1993
; XOPAVX2-NEXT: vmovdqa {{.*#+}} xmm3 = [0,1,2,3,4,5,6,7,0,7,6,5,4,3,2,1]
1994
1994
; XOPAVX2-NEXT: vpshlb %xmm3, %xmm2, %xmm2
1995
+ ; XOPAVX2-NEXT: vextracti128 $1, %ymm1, %xmm4
1996
+ ; XOPAVX2-NEXT: vpcmpeqd %xmm5, %xmm5, %xmm5
1997
+ ; XOPAVX2-NEXT: vpshlb %xmm5, %xmm4, %xmm4
1998
+ ; XOPAVX2-NEXT: vmovdqa {{.*#+}} xmm6 = [249,250,251,252,253,254,255,0,249,0,255,254,253,252,251,250]
1999
+ ; XOPAVX2-NEXT: vpshlb %xmm6, %xmm4, %xmm4
2000
+ ; XOPAVX2-NEXT: vpor %xmm4, %xmm2, %xmm2
1995
2001
; XOPAVX2-NEXT: vpshlb %xmm3, %xmm0, %xmm0
2002
+ ; XOPAVX2-NEXT: vpshlb %xmm5, %xmm1, %xmm1
2003
+ ; XOPAVX2-NEXT: vpshlb %xmm6, %xmm1, %xmm1
2004
+ ; XOPAVX2-NEXT: vpor %xmm1, %xmm0, %xmm0
1996
2005
; XOPAVX2-NEXT: vinserti128 $1, %xmm2, %ymm0, %ymm0
1997
- ; XOPAVX2-NEXT: vextracti128 $1, %ymm1, %xmm2
1998
- ; XOPAVX2-NEXT: vpcmpeqd %xmm3, %xmm3, %xmm3
1999
- ; XOPAVX2-NEXT: vpshlb %xmm3, %xmm2, %xmm2
2000
- ; XOPAVX2-NEXT: vmovdqa {{.*#+}} xmm4 = [249,250,251,252,253,254,255,0,249,0,255,254,253,252,251,250]
2001
- ; XOPAVX2-NEXT: vpshlb %xmm4, %xmm2, %xmm2
2002
- ; XOPAVX2-NEXT: vpshlb %xmm3, %xmm1, %xmm1
2003
- ; XOPAVX2-NEXT: vpshlb %xmm4, %xmm1, %xmm1
2004
- ; XOPAVX2-NEXT: vinserti128 $1, %xmm2, %ymm1, %ymm1
2005
- ; XOPAVX2-NEXT: vpor %ymm1, %ymm0, %ymm0
2006
2006
; XOPAVX2-NEXT: retq
2007
2007
%res = call <32 x i8 > @llvm.fshl.v32i8 (<32 x i8 > %x , <32 x i8 > %y , <32 x i8 > <i8 0 , i8 1 , i8 2 , i8 3 , i8 4 , i8 5 , i8 6 , i8 7 , i8 8 , i8 7 , i8 6 , i8 5 , i8 4 , i8 3 , i8 2 , i8 1 , i8 0 , i8 1 , i8 2 , i8 3 , i8 4 , i8 5 , i8 6 , i8 7 , i8 8 , i8 7 , i8 6 , i8 5 , i8 4 , i8 3 , i8 2 , i8 1 >)
2008
2008
ret <32 x i8 > %res
0 commit comments