<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Jul 9, 2014 at 10:18 AM, Ehsan Akhgari <span dir="ltr"><<a href="mailto:ehsan.akhgari@gmail.com" target="_blank">ehsan.akhgari@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="">On Wed, Jul 9, 2014 at 12:00 PM, Nico Weber <span dir="ltr"><<a href="mailto:thakis@chromium.org" target="_blank">thakis@chromium.org</a>></span> wrote:<br>
</div><div class="gmail_extra"><div class="gmail_quote"><div class="">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>On Wed, Jul 9, 2014 at 8:53 AM, Ehsan Akhgari <span dir="ltr"><<a href="mailto:ehsan.akhgari@gmail.com" target="_blank">ehsan.akhgari@gmail.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">That's OK, the main intention behind this patch is to unbreak code that assumes gcc specific things based on #ifdef __i386__ and friends...<br>




<br>
With that in mind, does this look good to land?<br></blockquote><div><br></div></div><div>This patch also removes the #error lines from all the intrinsics headers. Did you intend that to be part of this patch? It's a good idea, but the backend actually asserts when they are used, like David said.</div>


</div></div></div></blockquote><div><br></div></div><div>Those are actually the changes I had to make to make the tests pass with my patch.  These headers currently use the gcc style target dependent macros in order to decide whether or not to #error and we have tests that hit the #error situation (or hit unknown types because we don't include some headers based on these macros if you #include "immintrin.h" for example).  If there is a better way to fix these issues, I'd be happy to do that instead.</div>
</div></div></div></blockquote><div><br></div><div>I think it's a reasonable change (fwiw), but the backend code should probably be changed to not assert when using the intrinsics before this change goes in. I don't know how involved it is to do this; I don't know if LLVM supports a "it's fine to use SSE from intrinsics, but not for any other codegen" mode.</div>
</div></div></div>