diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386/sse-22.c')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-22.c | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/gcc/testsuite/gcc.target/i386/sse-22.c b/gcc/testsuite/gcc.target/i386/sse-22.c index 541cad4d439..6d976972d28 100644 --- a/gcc/testsuite/gcc.target/i386/sse-22.c +++ b/gcc/testsuite/gcc.target/i386/sse-22.c @@ -4,10 +4,12 @@ #include <mm_malloc.h> -/* Test that the intrinsics compile without optimization. All of them are - defined as inline functions in {,x,e,p,t,s,w,a}mmintrin.h, xopintrin.h and mm3dnow.h - that reference the proper builtin functions. Defining away "extern" and - "__inline" results in all of them being compiled as proper functions. */ +/* Test that the intrinsics compile without optimization. All of them + are defined as inline functions in {,x,e,p,t,s,w,a}mmintrin.h, + xopintrin.h, lwpintrin.h, popcntintrin.h and mm3dnow.h that + reference the proper builtin functions. Defining away "extern" and + "__inline" results in all of them being compiled as proper + functions. */ #define extern #define __inline @@ -37,7 +39,7 @@ #ifndef DIFFERENT_PRAGMAS -#pragma GCC target ("mmx,3dnow,sse,sse2,sse3,ssse3,sse4.1,sse4.2,sse4a,aes,pclmul,xop") +#pragma GCC target ("mmx,3dnow,sse,sse2,sse3,ssse3,sse4.1,sse4.2,sse4a,aes,pclmul,xop,popcnt,abm,lwp") #endif /* Following intrinsics require immediate arguments. They @@ -162,10 +164,18 @@ test_2 (_mm_round_ss, __m128, __m128, __m128, 1) /* xopintrin.h (XOP). */ #ifdef DIFFERENT_PRAGMAS -#pragma GCC target ("xop") +#pragma GCC target ("xop,lwp") #endif #include <x86intrin.h> test_1 ( _mm_roti_epi8, __m128i, __m128i, 1) test_1 ( _mm_roti_epi16, __m128i, __m128i, 1) test_1 ( _mm_roti_epi32, __m128i, __m128i, 1) test_1 ( _mm_roti_epi64, __m128i, __m128i, 1) + +/* lwpintrin.h (LWP). */ +test_2 ( __lwpval32, void, unsigned int, unsigned int, 1) +test_2 ( __lwpins32, unsigned char, unsigned int, unsigned int, 1) +#ifdef __x86_64__ +test_2 ( __lwpval64, void, unsigned long long, unsigned int, 1) +test_2 ( __lwpins64, unsigned char, unsigned long long, unsigned int, 1) +#endif |