On Thursday, June 9, 2016, Zvi Rackover via cfe-commits < cfe-commits@lists.llvm.org> wrote:
> zvi created this revision. > zvi added reviewers: aaboud, mkuper, echristo, cfe-commits. > zvi set the repository for this revision to rL LLVM. > zvi added a project: clang-c. > Herald added a subscriber: mehdi_amini. > > 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. > > Fixes PR28056 > > Repository: > rL LLVM > > http://reviews.llvm.org/D21173 > > Files: > lib/Headers/xmmintrin.h > test/Headers/xmmintrin.c > > Index: test/Headers/xmmintrin.c > =================================================================== > --- test/Headers/xmmintrin.c > +++ test/Headers/xmmintrin.c > @@ -7,6 +7,9 @@ > // REQUIRES: x86-registered-target > #include <xmmintrin.h> > > +// CHECK: @c = common global i8 0, align 16 > +_MM_ALIGN16 char c; > + > // Make sure the last step of _mm_cvtps_pi16 converts <4 x i32> to <4 x > i16> by > // checking that clang emits PACKSSDW instead of PACKSSWB. > > Index: lib/Headers/xmmintrin.h > =================================================================== > --- lib/Headers/xmmintrin.h > +++ lib/Headers/xmmintrin.h > @@ -2823,6 +2823,8 @@ > > #ifdef _MSC_VER > #define _MM_ALIGN16 __declspec(align(16)) > +#else > +#define _MM_ALIGN16 __attribute__((aligned(16))) > #endif I would just use the __attribute__ spelling, no need for two definitions > > #define _MM_SHUFFLE(z, y, x, w) (((z) << 6) | ((y) << 4) | ((x) << 2) | > (w)) > > >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits