Re: [PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets
mkuper accepted this revision. mkuper added a comment. This revision is now accepted and ready to land. LGTM Repository: rL LLVM http://reviews.llvm.org/D21173 ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
RE: [PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets
Thanks the suggestion, David. I did not realize __attribute__ is supported by Windows targets. Zvi From: David Majnemer [mailto:david.majne...@gmail.com] Sent: Thursday, June 09, 2016 17:48 To: reviews+d21173+public+9a6e31402e430...@reviews.llvm.org; Rackover, Zvi <zvi.racko...@intel.com> Cc: Aboud, Amjad <amjad.ab...@intel.com>; mku...@google.com; echri...@gmail.com; cfe-commits@lists.llvm.org Subject: Re: [PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets On Thursday, June 9, 2016, Zvi Rackover via cfe-commits <cfe-commits@lists.llvm.org<mailto: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 +// 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)) - Intel Israel (74) Limited This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. ___ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
Re: [PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets
zvi updated this revision to Diff 60217. zvi added a comment. Following David Majnemer's suggestion on cfe-commits: I would just use the __attribute__ spelling, no need for two definitions 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 +// 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 @@ -2821,9 +2821,7 @@ } -#ifdef _MSC_VER -#define _MM_ALIGN16 __declspec(align(16)) -#endif +#define _MM_ALIGN16 __attribute__((aligned(16))) #define _MM_SHUFFLE(z, y, x, w) (((z) << 6) | ((y) << 4) | ((x) << 2) | (w)) Index: test/Headers/xmmintrin.c === --- test/Headers/xmmintrin.c +++ test/Headers/xmmintrin.c @@ -7,6 +7,9 @@ // REQUIRES: x86-registered-target #include +// 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 @@ -2821,9 +2821,7 @@ } -#ifdef _MSC_VER -#define _MM_ALIGN16 __declspec(align(16)) -#endif +#define _MM_ALIGN16 __attribute__((aligned(16))) #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
Re: [PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets
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 > > +// 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
[PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets
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 +// 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 #define _MM_SHUFFLE(z, y, x, w) (((z) << 6) | ((y) << 4) | ((x) << 2) | (w)) Index: test/Headers/xmmintrin.c === --- test/Headers/xmmintrin.c +++ test/Headers/xmmintrin.c @@ -7,6 +7,9 @@ // REQUIRES: x86-registered-target #include +// 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 #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