Skip to content

Commit 31c98ab

Browse files
committedSep 7, 2019
[X86][AVX] Add 'f5' v4f64 shuffle test mentioned in D66004
llvm-svn: 371314
1 parent fcef133 commit 31c98ab

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
 

‎llvm/test/CodeGen/X86/vector-shuffle-256-v4.ll

+32
Original file line numberDiff line numberDiff line change
@@ -625,6 +625,38 @@ define <4 x double> @shuffle_v4f64_3333(<4 x double> %a, <4 x double> %b) {
625625
ret <4 x double> %shuffle
626626
}
627627

628+
define <4 x double> @shuffle_v4f64_0456(<4 x double> %a, <4 x double> %b) {
629+
; AVX1-LABEL: shuffle_v4f64_0456:
630+
; AVX1: # %bb.0:
631+
; AVX1-NEXT: vextractf128 $1, %ymm1, %xmm2
632+
; AVX1-NEXT: vshufpd {{.*#+}} xmm2 = xmm1[1],xmm2[0]
633+
; AVX1-NEXT: vmovddup {{.*#+}} xmm1 = xmm1[0,0]
634+
; AVX1-NEXT: vinsertf128 $1, %xmm2, %ymm1, %ymm1
635+
; AVX1-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]
636+
; AVX1-NEXT: retq
637+
;
638+
; AVX2-LABEL: shuffle_v4f64_0456:
639+
; AVX2: # %bb.0:
640+
; AVX2-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,0,1,2]
641+
; AVX2-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]
642+
; AVX2-NEXT: retq
643+
;
644+
; AVX512VL-SLOW-LABEL: shuffle_v4f64_0456:
645+
; AVX512VL-SLOW: # %bb.0:
646+
; AVX512VL-SLOW-NEXT: vpermpd {{.*#+}} ymm1 = ymm1[0,0,1,2]
647+
; AVX512VL-SLOW-NEXT: vblendps {{.*#+}} ymm0 = ymm0[0,1],ymm1[2,3,4,5,6,7]
648+
; AVX512VL-SLOW-NEXT: retq
649+
;
650+
; AVX512VL-FAST-LABEL: shuffle_v4f64_0456:
651+
; AVX512VL-FAST: # %bb.0:
652+
; AVX512VL-FAST-NEXT: vmovapd {{.*#+}} ymm2 = [4,0,1,2]
653+
; AVX512VL-FAST-NEXT: vpermi2pd %ymm0, %ymm1, %ymm2
654+
; AVX512VL-FAST-NEXT: vmovapd %ymm2, %ymm0
655+
; AVX512VL-FAST-NEXT: retq
656+
%shuffle = shufflevector <4 x double> %a, <4 x double> %b, <4 x i32> <i32 0, i32 4, i32 5, i32 6>
657+
ret <4 x double> %shuffle
658+
}
659+
628660
define <4 x double> @shuffle_v4f64_0z3z(<4 x double> %a, <4 x double> %b) {
629661
; AVX1-LABEL: shuffle_v4f64_0z3z:
630662
; AVX1: # %bb.0:

0 commit comments

Comments
 (0)