<br><br>On Thursday, June 9, 2016, Zvi Rackover via cfe-commits <<a href="mailto:cfe-commits@lists.llvm.org">cfe-commits@lists.llvm.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">zvi created this revision.<br>
zvi added reviewers: aaboud, mkuper, echristo, cfe-commits.<br>
zvi set the repository for this revision to rL LLVM.<br>
zvi added a project: clang-c.<br>
Herald added a subscriber: mehdi_amini.<br>
<br>
This patch adds support for the _MM_ALIGN16 attribute on non-windows targets. This aligns Clang with ICC which supports the attribute on all targets.<br>
<br>
Fixes PR28056<br>
<br>
Repository:<br>
  rL LLVM<br>
<br>
<a href="http://reviews.llvm.org/D21173" target="_blank">http://reviews.llvm.org/D21173</a><br>
<br>
Files:<br>
  lib/Headers/xmmintrin.h<br>
  test/Headers/xmmintrin.c<br>
<br>
Index: test/Headers/xmmintrin.c<br>
===================================================================<br>
--- test/Headers/xmmintrin.c<br>
+++ test/Headers/xmmintrin.c<br>
@@ -7,6 +7,9 @@<br>
 // REQUIRES: x86-registered-target<br>
 #include <xmmintrin.h><br>
<br>
+// CHECK: @c = common global i8 0, align 16<br>
+_MM_ALIGN16 char c;<br>
+<br>
 // Make sure the last step of _mm_cvtps_pi16 converts <4 x i32> to <4 x i16> by<br>
 // checking that clang emits PACKSSDW instead of PACKSSWB.<br>
<br>
Index: lib/Headers/xmmintrin.h<br>
===================================================================<br>
--- lib/Headers/xmmintrin.h<br>
+++ lib/Headers/xmmintrin.h<br>
@@ -2823,6 +2823,8 @@<br>
<br>
 #ifdef _MSC_VER<br>
 #define _MM_ALIGN16 __declspec(align(16))<br>
+#else<br>
+#define _MM_ALIGN16 __attribute__((aligned(16)))<br>
 #endif</blockquote><div><br></div><div>I would just use the __attribute__ spelling, no need for two definitions</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 #define _MM_SHUFFLE(z, y, x, w) (((z) << 6) | ((y) << 4) | ((x) << 2) | (w))<br>
<br>
<br>
</blockquote>