summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2016-12-11 19:41:23 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2016-12-11 19:41:23 +0000
commit7c98a79f7beedbfe09b2ede8e44fdcf1fcf2536d (patch)
tree3e41fbe9150cd26243ac0a5a32bd20d48bd0977e /llvm/test
parente08d9c7c8748670b4fa0e215ac11c89675bda6ab (diff)
downloadbcm5719-llvm-7c98a79f7beedbfe09b2ede8e44fdcf1fcf2536d.tar.gz
bcm5719-llvm-7c98a79f7beedbfe09b2ede8e44fdcf1fcf2536d.zip
[X86][AVX512] Add target shuffle test showing missing PSHUFPD combine.
llvm-svn: 289400
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll16
1 files changed, 16 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll b/llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
index c4568eaf722..d6541f68608 100644
--- a/llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
+++ b/llvm/test/CodeGen/X86/vector-shuffle-combining-avx512bw.ll
@@ -855,6 +855,22 @@ define <8 x double> @combine_vpermi2var_8f64_identity(<8 x double> %x0, <8 x dou
ret <8 x double> %res1
}
+define <8 x double> @combine_vpermi2var_8f64_as_shufpd(<8 x double> %x0, <8 x double> %x1) {
+; X32-LABEL: combine_vpermi2var_8f64_as_shufpd:
+; X32: # BB#0:
+; X32-NEXT: vmovapd {{.*#+}} zmm2 = [1,0,8,0,2,0,10,0,5,0,13,0,6,0,15,0]
+; X32-NEXT: vpermt2pd %zmm1, %zmm2, %zmm0
+; X32-NEXT: retl
+;
+; X64-LABEL: combine_vpermi2var_8f64_as_shufpd:
+; X64: # BB#0:
+; X64-NEXT: vmovapd {{.*#+}} zmm2 = [1,8,2,10,5,13,6,15]
+; X64-NEXT: vpermt2pd %zmm1, %zmm2, %zmm0
+; X64-NEXT: retq
+ %1 = call <8 x double> @llvm.x86.avx512.mask.vpermi2var.pd.512(<8 x double> %x0, <8 x i64> <i64 1, i64 8, i64 2, i64 10, i64 5, i64 13, i64 6, i64 15>, <8 x double> %x1, i8 -1)
+ ret <8 x double> %1
+}
+
define <8 x i64> @combine_vpermi2var_8i64_identity(<8 x i64> %x0, <8 x i64> %x1) {
; X32-LABEL: combine_vpermi2var_8i64_identity:
; X32: # BB#0:
OpenPOWER on IntegriCloud