[llvm-commits] [llvm-gcc-4.2] r48785 - in /llvm-gcc-4.2/trunk/gcc: config/i386/emmintrin.h config/i386/tmmintrin.h testsuite/gcc.apple/5814283.c
Bill Wendling
isanbard at gmail.com
Tue Mar 25 11:41:10 PDT 2008
Author: void
Date: Tue Mar 25 13:41:10 2008
New Revision: 48785
URL: http://llvm.org/viewvc/llvm-project?rev=48785&view=rev
Log:
Missing parentheses in macros.
Added:
llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5814283.c
Modified:
llvm-gcc-4.2/trunk/gcc/config/i386/emmintrin.h
llvm-gcc-4.2/trunk/gcc/config/i386/tmmintrin.h
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/emmintrin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/emmintrin.h?rev=48785&r1=48784&r2=48785&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/emmintrin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/emmintrin.h Tue Mar 25 13:41:10 2008
@@ -1108,7 +1108,8 @@
return (__m128d)__builtin_ia32_cvtss2sd ((__v2df) __A, (__v4sf)__B);
}
-#define _mm_shuffle_pd(__A, __B, __C) ((__m128d)__builtin_ia32_shufpd ((__v2df)__A, (__v2df)__B, (__C)))
+/* APPLE LOCAL 5814283 */
+#define _mm_shuffle_pd(__A, __B, __C) ((__m128d)__builtin_ia32_shufpd ((__v2df)(__A), (__v2df)(__B), (__C)))
/* APPLE LOCAL begin radar 5618945 */
__STATIC_INLINE __m128d __attribute__((__always_inline__))
@@ -1753,9 +1754,11 @@
return (__m128i)__builtin_ia32_pmulhuw128 ((__v8hi)__A, (__v8hi)__B);
}
-#define _mm_shufflehi_epi16(__A, __B) ((__m128i)__builtin_ia32_pshufhw ((__v8hi)__A, __B))
-#define _mm_shufflelo_epi16(__A, __B) ((__m128i)__builtin_ia32_pshuflw ((__v8hi)__A, __B))
-#define _mm_shuffle_epi32(__A, __B) ((__m128i)__builtin_ia32_pshufd ((__v4si)__A, __B))
+/* APPLE LOCAL begin 5814283 */
+#define _mm_shufflehi_epi16(__A, __B) ((__m128i)__builtin_ia32_pshufhw ((__v8hi)(__A), (__B)))
+#define _mm_shufflelo_epi16(__A, __B) ((__m128i)__builtin_ia32_pshuflw ((__v8hi)(__A), (__B)))
+#define _mm_shuffle_epi32(__A, __B) ((__m128i)__builtin_ia32_pshufd ((__v4si)(__A), (__B)))
+/* APPLE LOCAL end 5814283 */
/* APPLE LOCAL begin radar 5618945 */
__STATIC_INLINE void __attribute__((__always_inline__))
Modified: llvm-gcc-4.2/trunk/gcc/config/i386/tmmintrin.h
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/config/i386/tmmintrin.h?rev=48785&r1=48784&r2=48785&view=diff
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/config/i386/tmmintrin.h (original)
+++ llvm-gcc-4.2/trunk/gcc/config/i386/tmmintrin.h Tue Mar 25 13:41:10 2008
@@ -239,8 +239,10 @@
return (__m64) __builtin_ia32_psignd ((__v2si)__X, (__v2si)__Y);
}
+/* APPLE LOCAL begin 5814283 */
#define _mm_alignr_epi8(__X, __Y, __N) \
- ((__m128i)__builtin_ia32_palignr128 ((__v2di) __X, (__v2di) __Y, (__N) * 8))
+ ((__m128i)__builtin_ia32_palignr128 ((__v2di)(__X), (__v2di)(__Y), (__N) * 8))
+/* APPLE LOCAL end 5814283 */
#define _mm_alignr_pi8(__X, __Y, __N) \
((__m64)__builtin_ia32_palignr ((long long) (__X), (long long) (__Y), (__N) * 8))
Added: llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5814283.c
URL: http://llvm.org/viewvc/llvm-project/llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5814283.c?rev=48785&view=auto
==============================================================================
--- llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5814283.c (added)
+++ llvm-gcc-4.2/trunk/gcc/testsuite/gcc.apple/5814283.c Tue Mar 25 13:41:10 2008
@@ -0,0 +1,18 @@
+/* APPLE LOCAL file 5814283 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -mssse3" } */
+#include <emmintrin.h>
+#include <tmmintrin.h>
+extern int i1, i2;
+__m128i b, c, d[10];
+__m128d dd[5];
+nonsense (void)
+{
+ /* These are all macros. Insure their parameters are parenthesized
+ at expansion. */
+ dd[0] = _mm_shuffle_pd(i1 ? b : c, i2 ? b : c, 0);
+ d[1] = _mm_shufflehi_epi16(i1 ? b : c, 0);
+ d[2] = _mm_shufflelo_epi16(i1 ? b : c, 0);
+ d[3] = _mm_shuffle_epi32(i1 ? b : c, 0);
+ d[4] = _mm_alignr_epi8(i1 ? b : c, i2 ? b : c, 0);
+}
More information about the llvm-commits
mailing list