<div dir="ltr">Also should we change the AutoUpgrade code for the cmp intrinsics in the backend to also use zero instead of undef?</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature" data-smartmail="gmail_signature">~Craig</div></div>
<br><div class="gmail_quote">On Sun, Jul 3, 2016 at 12:11 AM, Breger, Igor <span dir="ltr"><<a href="mailto:igor.breger@intel.com" target="_blank">igor.breger@intel.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hello Craig,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Thanks a lot for pointing it out to me.  I familiar with this problem,  we are planning  to improve CodeGen to handle with this case in
<a name="m_-6207020799526278057__MailEndCompose">near future.<u></u><u></u></a></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Regards,<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Igor<u></u><u></u></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<p class="MsoNormal"><a name="m_-6207020799526278057______replyseparator"></a><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Craig Topper [mailto:<a href="mailto:craig.topper@gmail.com" target="_blank">craig.topper@gmail.com</a>]
<br>
<b>Sent:</b> Saturday, July 02, 2016 08:46<br>
<b>To:</b> Breger, Igor; Eric Christopher via cfe-commits<br>
<b>Subject:</b> Re: r274110 - [AVX512] Zero extend cmp intrinsic return value.<u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">This change codgens to something really awful now. Can you take a look?<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<div>
<p class="MsoNormal">            .section            __TEXT,__text,regular,pure_instructions<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .section            __TEXT,__literal8,8byte_literals<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .p2align           3<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">LCPI0_0:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   -1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .section            __TEXT,__const<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .p2align           6<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">LCPI0_1:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   0<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   2<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   3<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   8<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   8<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   8<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .quad   8<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .section            __TEXT,__text,regular,pure_instructions<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .globl   _test_mm_cmpeq_epu32_mask<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            .p2align           4, 0x90<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">_test_mm_cmpeq_epu32_mask:<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vpcmpeqd       %xmm1, %xmm0, %k1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vpbroadcastq   LCPI0_0(%rip), %zmm0 {%k1} {z}<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vpxord %zmm1, %zmm1, %zmm1<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vmovdqa64     LCPI0_1(%rip), %zmm2<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vpermt2q         %zmm1, %zmm2, %zmm0<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vpsllq   $63, %zmm0, %zmm0<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            vptestmq         %zmm0, %zmm0, %k0<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            kmovw            %k0, %eax<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">            retq<u></u><u></u></p>
</div>
</div>
</div>
<div>
<p class="MsoNormal"><br clear="all">
<u></u><u></u></p>
<div>
<div>
<p class="MsoNormal">~Craig<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<p class="MsoNormal">On Wed, Jun 29, 2016 at 1:14 AM, Igor Breger via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a>> wrote:<u></u><u></u></p>
<p class="MsoNormal">Author: ibreger<br>
Date: Wed Jun 29 03:14:17 2016<br>
New Revision: 274110<br>
<br>
URL: <a href="http://llvm.org/viewvc/llvm-project?rev=274110&view=rev" target="_blank">
http://llvm.org/viewvc/llvm-project?rev=274110&view=rev</a><br>
Log:<br>
[AVX512]  Zero extend cmp intrinsic return value.<br>
<br>
Differential Revision: <a href="http://reviews.llvm.org/D21746" target="_blank">http://reviews.llvm.org/D21746</a><br>
<br>
Modified:<br>
    cfe/trunk/lib/CodeGen/CGBuiltin.cpp<br>
    cfe/trunk/test/CodeGen/avx512vl-builtins.c<br>
<br>
Modified: cfe/trunk/lib/CodeGen/CGBuiltin.cpp<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=274110&r1=274109&r2=274110&view=diff" target="_blank">
http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/CodeGen/CGBuiltin.cpp?rev=274110&r1=274109&r2=274110&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/lib/CodeGen/CGBuiltin.cpp (original)<br>
+++ cfe/trunk/lib/CodeGen/CGBuiltin.cpp Wed Jun 29 03:14:17 2016<br>
@@ -6460,8 +6460,8 @@ static Value *EmitX86MaskedCompare(CodeG<br>
       Indices[i] = i;<br>
     for (unsigned i = NumElts; i != 8; ++i)<br>
       Indices[i] = NumElts;<br>
-    Cmp = CGF.Builder.CreateShuffleVector(Cmp, UndefValue::get(Cmp->getType()),<br>
-                                          Indices);<br>
+    Cmp = CGF.Builder.CreateShuffleVector(<br>
+        Cmp, llvm::Constant::getNullValue(Cmp->getType()), Indices);<br>
   }<br>
   return CGF.Builder.CreateBitCast(Cmp,<br>
                                    IntegerType::get(CGF.getLLVMContext(),<br>
<br>
Modified: cfe/trunk/test/CodeGen/avx512vl-builtins.c<br>
URL: <a href="http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512vl-builtins.c?rev=274110&r1=274109&r2=274110&view=diff" target="_blank">
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/CodeGen/avx512vl-builtins.c?rev=274110&r1=274109&r2=274110&view=diff</a><br>
==============================================================================<br>
--- cfe/trunk/test/CodeGen/avx512vl-builtins.c (original)<br>
+++ cfe/trunk/test/CodeGen/avx512vl-builtins.c Wed Jun 29 03:14:17 2016<br>
@@ -8,6 +8,7 @@<br>
 __mmask8 test_mm_cmpeq_epu32_mask(__m128i __a, __m128i __b) {<br>
   // CHECK-LABEL: @test_mm_cmpeq_epu32_mask<br>
   // CHECK: icmp eq <4 x i32> %{{.*}}, %{{.*}}<br>
+  // CHECK: shufflevector <4 x i1> %{{.*}}, <4 x i1> zeroinitializer, <8 x i32> <i32 0, i32 1, i32 2, i32 3, i32 4, i32 4, i32 4, i32 4><br>
   return (__mmask8)_mm_cmpeq_epu32_mask(__a, __b);<br>
 }<br>
<br>
<br>
<br>
_______________________________________________<br>
cfe-commits mailing list<br>
<a href="mailto:cfe-commits@lists.llvm.org" target="_blank">cfe-commits@lists.llvm.org</a><br>
<a href="http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits" target="_blank">http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits</a><u></u><u></u></p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>
<p>---------------------------------------------------------------------<br>
Intel Israel (74) Limited</p>

<p>This e-mail and any attachments may contain confidential material for<br>
the sole use of the intended recipient(s). Any review or distribution<br>
by others is strictly prohibited. If you are not the intended<br>
recipient, please contact the sender and delete all copies.</p></div>

</blockquote></div><br></div>