summaryrefslogtreecommitdiffstats
path: root/llvm/test
diff options
context:
space:
mode:
authorSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-11 18:48:00 +0000
committerSimon Pilgrim <llvm-dev@redking.me.uk>2017-01-11 18:48:00 +0000
commitfd627bf86cf82e5302da427eda7d52f5fbdcf7cb (patch)
treec2d5d239ccb9c28a8ac56cc1d9f54a162c1201c7 /llvm/test
parent9803ee8e9a3af45cdb62e5359929ff608d6dae7d (diff)
downloadbcm5719-llvm-fd627bf86cf82e5302da427eda7d52f5fbdcf7cb.tar.gz
bcm5719-llvm-fd627bf86cf82e5302da427eda7d52f5fbdcf7cb.zip
[X86][XOP] Add vpermil2ps target shuffle -> insertps combine test
llvm-svn: 291690
Diffstat (limited to 'llvm/test')
-rw-r--r--llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll14
1 files changed, 14 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll b/llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
index 23e40a6572a..b79df1facfa 100644
--- a/llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
+++ b/llvm/test/CodeGen/X86/vector-shuffle-combining-xop.ll
@@ -91,6 +91,20 @@ define <4 x float> @combine_vpermil2ps_1z74(<4 x float> %a0, <4 x float> %a1) {
ret <4 x float> %res1
}
+define <4 x float> @combine_vpermil2ps_02zu(<4 x float> %a0, <4 x float> %a1) {
+; X32-LABEL: combine_vpermil2ps_02zu:
+; X32: # BB#0:
+; X32-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,2],zero,zero
+; X32-NEXT: retl
+;
+; X64-LABEL: combine_vpermil2ps_02zu:
+; X64: # BB#0:
+; X64-NEXT: vinsertps {{.*#+}} xmm0 = xmm0[0,2],zero,zero
+; X64-NEXT: retq
+ %res0 = call <4 x float> @llvm.x86.xop.vpermil2ps(<4 x float> %a0, <4 x float> zeroinitializer, <4 x i32> <i32 0, i32 2, i32 4, i32 undef>, i8 0)
+ ret <4 x float> %res0
+}
+
define <8 x float> @combine_vpermil2ps256_identity(<8 x float> %a0, <8 x float> %a1) {
; X32-LABEL: combine_vpermil2ps256_identity:
; X32: # BB#0:
OpenPOWER on IntegriCloud