[PATCH] D21173: [X86] _MM_ALIGN16 attribute support for non-windows targets

David Majnemer via cfe-commits cfe-commits at lists.llvm.org
Thu Jun 9 07:47:31 PDT 2016


On Thursday, June 9, 2016, Zvi Rackover via cfe-commits <
cfe-commits at 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))
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160609/23992077/attachment.html>


More information about the cfe-commits mailing list