<div dir="ltr">Can you please include FIXME's describing the desired result? (I know there is some description in the commit message, but having it in the test so that it is clear that this is not "desired" behavior is good for a reader).<div><br></div><div>-- Sean Silva</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 31, 2017 at 10:10 AM, Simon Pilgrim via llvm-commits <span dir="ltr"><<a href="mailto:llvm-commits@lists.llvm.org" target="_blank">llvm-commits@lists.llvm.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Author: rksimon<br>
Date: Tue Jan 31 12:10:34 2017<br>
New Revision: 293663<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=293663&view=rev" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project?rev=293663&view=rev</a><br>
Log:<br>
[X86][XOP] Add test showing failure to combine build vector to vpermil2ps shuffle<br>
<br>
Modified:<br>
    llvm/trunk/test/CodeGen/X86/<wbr>vector-shuffle-combining-xop.<wbr>ll<br>
<br>
Modified: llvm/trunk/test/CodeGen/X86/<wbr>vector-shuffle-combining-xop.<wbr>ll<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/vector-shuffle-combining-xop.ll?rev=293663&r1=293662&r2=293663&view=diff" rel="noreferrer" target="_blank">http://llvm.org/viewvc/llvm-<wbr>project/llvm/trunk/test/<wbr>CodeGen/X86/vector-shuffle-<wbr>combining-xop.ll?rev=293663&<wbr>r1=293662&r2=293663&view=diff</a><br>
==============================<wbr>==============================<wbr>==================<br>
--- llvm/trunk/test/CodeGen/X86/<wbr>vector-shuffle-combining-xop.<wbr>ll (original)<br>
+++ llvm/trunk/test/CodeGen/X86/<wbr>vector-shuffle-combining-xop.<wbr>ll Tue Jan 31 12:10:34 2017<br>
@@ -341,6 +341,34 @@ define void @buildvector_v4f32_0404(floa<br>
   ret void<br>
 }<br>
<br>
+define void @buildvector_v4f32_07z6(float %a, <4 x float> %b, <4 x float>* %ptr) {<br>
+; X32-LABEL: buildvector_v4f32_07z6:<br>
+; X32:       # BB#0:<br>
+; X32-NEXT:    movl {{[0-9]+}}(%esp), %eax<br>
+; X32-NEXT:    vpermilps {{.*#+}} xmm1 = xmm0[3,1,2,3]<br>
+; X32-NEXT:    vmovss {{.*#+}} xmm2 = mem[0],zero,zero,zero<br>
+; X32-NEXT:    vunpcklps {{.*#+}} xmm1 = xmm2[0],xmm1[0],xmm2[1],xmm1[<wbr>1]<br>
+; X32-NEXT:    vinsertps {{.*#+}} xmm0 = xmm1[0,1],zero,xmm0[2]<br>
+; X32-NEXT:    vmovaps %xmm0, (%eax)<br>
+; X32-NEXT:    retl<br>
+;<br>
+; X64-LABEL: buildvector_v4f32_07z6:<br>
+; X64:       # BB#0:<br>
+; X64-NEXT:    vpermilps {{.*#+}} xmm2 = xmm1[3,1,2,3]<br>
+; X64-NEXT:    vunpcklps {{.*#+}} xmm0 = xmm0[0],xmm2[0],xmm0[1],xmm2[<wbr>1]<br>
+; X64-NEXT:    vinsertps {{.*#+}} xmm0 = xmm0[0,1],zero,xmm1[2]<br>
+; X64-NEXT:    vmovaps %xmm0, (%rdi)<br>
+; X64-NEXT:    retq<br>
+  %b2 = extractelement <4 x float> %b, i32 2<br>
+  %b3 = extractelement <4 x float> %b, i32 3<br>
+  %v0 = insertelement <4 x float> undef, float  %a, i32 0<br>
+  %v1 = insertelement <4 x float> %v0,   float %b3, i32 1<br>
+  %v2 = insertelement <4 x float> %v1,   float 0.0, i32 2<br>
+  %v3 = insertelement <4 x float> %v2,   float %b2, i32 3<br>
+  store <4 x float> %v3, <4 x float>* %ptr<br>
+  ret void<br>
+}<br>
+<br>
 define <2 x double> @constant_fold_vpermil2pd() {<br>
 ; X32-LABEL: constant_fold_vpermil2pd:<br>
 ; X32:       # BB#0:<br>
<br>
<br>
______________________________<wbr>_________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits" rel="noreferrer" target="_blank">http://lists.llvm.org/cgi-bin/<wbr>mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>