<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>Thanks, Elena.  Committed as r214314, r214315 and r214316.</div><br><div><div>On Jul 29, 2014, at 11:54 PM, Demikhovsky, Elena <<a href="mailto:elena.demikhovsky@intel.com">elena.demikhovsky@intel.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div lang="EN-US" link="blue" vlink="purple" style="font-family: Helvetica; font-size: 14px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><div class="WordSection1" style="page: WordSection1;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);">Ok.<o:p></o:p></span></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);"> </span></div><div><div style="margin: 0cm 0cm 0.0001pt 36pt; font-size: 12pt; font-family: 'Times New Roman', serif; text-indent: -18pt;"><span style="font-family: Calibri, sans-serif; color: rgb(49, 132, 155);"><span>-<span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-family: 'Times New Roman';">         <span class="Apple-converted-space"> </span></span></span></span><span dir="LTR"></span><b><i><span style="color: rgb(49, 132, 155);"> Elena<o:p></o:p></span></i></b></div></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 11pt; font-family: Calibri, sans-serif; color: rgb(31, 73, 125);"> </span></div><div><div style="border-style: solid none none; border-top-color: rgb(181, 196, 223); border-top-width: 1pt; padding: 3pt 0cm 0cm;"><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><b><span style="font-size: 10pt; font-family: Tahoma, sans-serif;">From:</span></b><span style="font-size: 10pt; font-family: Tahoma, sans-serif;"><span class="Apple-converted-space"> </span>Adam Nemet [<a href="mailto:anemet@apple.com">mailto:anemet@apple.com</a>]<span class="Apple-converted-space"> </span><br><b>Sent:</b><span class="Apple-converted-space"> </span>Wednesday, July 30, 2014 04:52<br><b>To:</b><span class="Apple-converted-space"> </span>Demikhovsky, Elena<br><b>Cc:</b><span class="Apple-converted-space"> </span>Craig Topper (<a href="mailto:craig.topper@gmail.com">craig.topper@gmail.com</a>)<br><b>Subject:</b><span class="Apple-converted-space"> </span>Re: [PATCH][AVX512] More intrinsics not requiring new backend support<o:p></o:p></span></div></div></div><div style="margin: 0cm 0cm 0.0001pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><o:p> </o:p></div><div><p class="MsoNormal" style="margin: 0cm 0cm 12pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt;">On Jul 29, 2014, at 12:43 PM, Adam Nemet <<a href="mailto:anemet@apple.com" style="color: purple; text-decoration: underline;">anemet@apple.com</a>> wrote:<br><br>> On Jul 29, 2014, at 12:36 PM, Demikhovsky, Elena <<a href="mailto:elena.demikhovsky@intel.com" style="color: purple; text-decoration: underline;">elena.demikhovsky@intel.com</a>> wrote:<br>><span class="Apple-converted-space"> </span><br>>> Somebody who uses compiler intrinsics expects to receive the "best" solution. The broadcast instruction exactly fits this requirement.<br>>> If you want to use the generic pattern, please add a lit test for LLVM that guarantees one broadcast at the end.<span class="Apple-converted-space"> </span><br>><span class="Apple-converted-space"> </span><br>> I can certainly do that, thanks!<br><br>It’s r214275 in llvm.<br><br>I’d like to commit the three intrinsic patches after this unless you have something else you would like me to do.<br><br>One change in the set1 patch is that as it turns out epi8 and epi16 are actually part of AVX512BW/VL so those don’t belong in 512F.  I removed them from the patch.   New version of the patches is attached.<br><br>Thanks,<br>Adam</span></p></div><div><p class="MsoNormal" style="margin: 0cm 0cm 12pt; font-size: 12pt; font-family: 'Times New Roman', serif;"><span style="font-size: 10pt;">><span class="Apple-converted-space"> </span><br>> Adam<br>><span class="Apple-converted-space"> </span><br>>><span class="Apple-converted-space"> </span><br>>> -  Elena<br>>><span class="Apple-converted-space"> </span><br>>><span class="Apple-converted-space"> </span><br>>> -----Original Message-----<br>>> From: Adam Nemet [<a href="mailto:anemet@apple.com" style="color: purple; text-decoration: underline;">mailto:anemet@apple.com</a>]<span class="Apple-converted-space"> </span><br>>> Sent: Tuesday, July 29, 2014 22:22<br>>> To: Demikhovsky, Elena<br>>> Subject: Re: [PATCH][AVX512] More intrinsics not requiring new backend support<br>>><span class="Apple-converted-space"> </span><br>>><span class="Apple-converted-space"> </span><br>>> On Jul 29, 2014, at 12:10 PM, Demikhovsky, Elena <<a href="mailto:elena.demikhovsky@intel.com" style="color: purple; text-decoration: underline;">elena.demikhovsky@intel.com</a>> wrote:<br>>><span class="Apple-converted-space"> </span><br>>>> I'd prefer broadcast, it guarantees best solution.<span class="Apple-converted-space"> </span><br>>><span class="Apple-converted-space"> </span><br>>> Can you please elaborate why you think so?  I think Craig Topper and others have expressed preference to use generic constructs rather than machine intrinsics in these cases.  As I said, this is what the AVX headers do...<br>>><span class="Apple-converted-space"> </span><br>>> Adam<br>>><span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>> -  Elena   <span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>> -----Original Message-----<br>>>> From: Adam Nemet [<a href="mailto:anemet@apple.com" style="color: purple; text-decoration: underline;">mailto:anemet@apple.com</a>]<br>>>> Sent: Tuesday, July 29, 2014 19:57<br>>>> To: Demikhovsky, Elena<br>>>> Cc:<span class="Apple-converted-space"> </span><a href="mailto:cfe-commits@cs.uiuc.edu" style="color: purple; text-decoration: underline;">cfe-commits@cs.uiuc.edu</a><br>>>> Subject: Re: [PATCH][AVX512] More intrinsics not requiring new backend<span class="Apple-converted-space"> </span><br>>>> support<br>>>><span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>> On Jul 29, 2014, at 6:35 AM, Demikhovsky, Elena <<a href="mailto:elena.demikhovsky@intel.com" style="color: purple; text-decoration: underline;">elena.demikhovsky@intel.com</a>> wrote:<br>>>><span class="Apple-converted-space"> </span><br>>>>> Hi Adam,<br>>>>><span class="Apple-converted-space"> </span><br>>>>> 1)<br>>>>> set1_pd, set1_ps, set1_epi64, set1_epi32 should be implemented as broadcast.<br>>>>><span class="Apple-converted-space"> </span><br>>>>> 2)<br>>>>> I don't understand in "casts".<br>>>><span class="Apple-converted-space"> </span><br>>>> Hi Elena,<br>>>><span class="Apple-converted-space"> </span><br>>>> I should have mentioned in the log that both set1 and the casts are widened versions of their counterparts in AVX (see avxintrin.h).<br>>>><span class="Apple-converted-space"> </span><br>>>> In particular for set1 and any other op that can be implemented without machine intrinsics, that is usually the preferred way (see r22c5bf6 in clang for an example).  This allows them to be recognized and optimized by the machine-independent optimization passes. <span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>>> 3)<br>>>>> __builtin_ia32_knothi receives unsigned short It should look like<br>>>>><span class="Apple-converted-space"> </span><br>>>>> BUILTIN(__builtin_ia32_knothi, "Us", "")  instead of<br>>>>> +BUILTIN(__builtin_ia32_knothi, "ss", "")<br>>>><span class="Apple-converted-space"> </span><br>>>> Good catch, thanks.  I will change this to UsUs.<br>>>><span class="Apple-converted-space"> </span><br>>>> Please let me know if you're OK with the patches after this fix and with the additional comment above.<br>>>><span class="Apple-converted-space"> </span><br>>>> Thanks,<br>>>> Adam<br>>>><span class="Apple-converted-space"> </span><br>>>>><span class="Apple-converted-space"> </span><br>>>>> -  Elena<br>>>>><span class="Apple-converted-space"> </span><br>>>>><span class="Apple-converted-space"> </span><br>>>>> -----Original Message-----<br>>>>> From: Adam Nemet [<a href="mailto:anemet@apple.com" style="color: purple; text-decoration: underline;">mailto:anemet@apple.com</a>]<br>>>>> Sent: Tuesday, July 29, 2014 10:11<br>>>>> To: Demikhovsky, Elena<br>>>>> Cc:<span class="Apple-converted-space"> </span><a href="mailto:cfe-commits@cs.uiuc.edu" style="color: purple; text-decoration: underline;">cfe-commits@cs.uiuc.edu</a><br>>>>> Subject: [PATCH][AVX512] More intrinsics not requiring new backend<span class="Apple-converted-space"> </span><br>>>>> support<br>>>>><span class="Apple-converted-space"> </span><br>>>>> Hi Elena,<br>>>>><span class="Apple-converted-space"> </span><br>>>>> Please let me know if these look good to you.<br>>>>><span class="Apple-converted-space"> </span><br>>>>> Thanks,<br>>>>> Adam<br>>>>><span class="Apple-converted-space"> </span><br>>>>> ---------------------------------------------------------------------<br>>>>> Intel Israel (74) Limited<br>>>>><span class="Apple-converted-space"> </span><br>>>>> This e-mail and any attachments may contain confidential material for<span class="Apple-converted-space"> </span><br>>>>> the sole use of the intended recipient(s). Any review or distribution<span class="Apple-converted-space"> </span><br>>>>> by others is strictly prohibited. If you are not the intended<span class="Apple-converted-space"> </span><br>>>>> recipient, please contact the sender and delete all copies.<br>>>>><span class="Apple-converted-space"> </span><br>>>><span class="Apple-converted-space"> </span><br>>>> ---------------------------------------------------------------------<br>>>> Intel Israel (74) Limited<br>>>><span class="Apple-converted-space"> </span><br>>>> This e-mail and any attachments may contain confidential material for<span class="Apple-converted-space"> </span><br>>>> the sole use of the intended recipient(s). Any review or distribution<span class="Apple-converted-space"> </span><br>>>> by others is strictly prohibited. If you are not the intended<span class="Apple-converted-space"> </span><br>>>> recipient, please contact the sender and delete all copies.<br>>>><span class="Apple-converted-space"> </span><br>>><span class="Apple-converted-space"> </span><br>>> ---------------------------------------------------------------------<br>>> Intel Israel (74) Limited<br>>><span class="Apple-converted-space"> </span><br>>> 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.<br>>><span class="Apple-converted-space"> </span><br>><o:p></o:p></span></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></body></html>