diff options
| author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-12-11 19:41:23 +0000 |
|---|---|---|
| committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2016-12-11 19:41:23 +0000 |
| commit | 7c98a79f7beedbfe09b2ede8e44fdcf1fcf2536d (patch) | |
| tree | 3e41fbe9150cd26243ac0a5a32bd20d48bd0977e /llvm/test | |
| parent | e08d9c7c8748670b4fa0e215ac11c89675bda6ab (diff) | |
| download | bcm5719-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.ll | 16 |
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: |

