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

2016-06-14 Thread Michael Kuperstein via cfe-commits
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

2016-06-09 Thread Rackover, Zvi via cfe-commits
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

2016-06-09 Thread Zvi Rackover via cfe-commits
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

2016-06-09 Thread David Majnemer via cfe-commits
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

2016-06-09 Thread Zvi Rackover via cfe-commits
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