diff options
Diffstat (limited to 'gcc/testsuite/gcc.target/i386')
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fxrstor-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fxrstor64-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fxsave-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/fxsave64-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-12.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-13.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-14.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-22.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/sse-23.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xrstor-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xrstor64-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xsave-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xsave64-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xsaveopt-1.c | 12 | ||||
-rw-r--r-- | gcc/testsuite/gcc.target/i386/xsaveopt64-1.c | 12 |
15 files changed, 126 insertions, 6 deletions
diff --git a/gcc/testsuite/gcc.target/i386/fxrstor-1.c b/gcc/testsuite/gcc.target/i386/fxrstor-1.c new file mode 100644 index 00000000000..0e1ca191f5e --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/fxrstor-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-mfxsr -O2" } */ +/* { dg-final { scan-assembler "fxrstor\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +fxsave_test (void) +{ + char fxsave_region [512] __attribute__((aligned(16))); + _fxrstor (fxsave_region); +} diff --git a/gcc/testsuite/gcc.target/i386/fxrstor64-1.c b/gcc/testsuite/gcc.target/i386/fxrstor64-1.c new file mode 100644 index 00000000000..fbdb1f6fef8 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/fxrstor64-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mfxsr -O2" } */ +/* { dg-final { scan-assembler "fxrstor64\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +fxsave_test (void) +{ + char fxsave_region [512] __attribute__((aligned(16))); + _fxrstor64 (fxsave_region); +} diff --git a/gcc/testsuite/gcc.target/i386/fxsave-1.c b/gcc/testsuite/gcc.target/i386/fxsave-1.c new file mode 100644 index 00000000000..567af8d0e44 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/fxsave-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-mfxsr -O2" } */ +/* { dg-final { scan-assembler "fxsave\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +fxsave_test (void) +{ + char fxsave_region [512] __attribute__((aligned(16))); + _fxsave (fxsave_region); +} diff --git a/gcc/testsuite/gcc.target/i386/fxsave64-1.c b/gcc/testsuite/gcc.target/i386/fxsave64-1.c new file mode 100644 index 00000000000..317548ad674 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/fxsave64-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mfxsr -O2" } */ +/* { dg-final { scan-assembler "fxsave64\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +fxsave_test (void) +{ + char fxsave_region [512] __attribute__((aligned(16))); + _fxsave64 (fxsave_region); +} diff --git a/gcc/testsuite/gcc.target/i386/sse-12.c b/gcc/testsuite/gcc.target/i386/sse-12.c index 0d78a0c84dc..c1c5745ef0b 100644 --- a/gcc/testsuite/gcc.target/i386/sse-12.c +++ b/gcc/testsuite/gcc.target/i386/sse-12.c @@ -3,7 +3,7 @@ popcntintrin.h and mm_malloc.h are usable with -O -std=c89 -pedantic-errors. */ /* { dg-do compile } */ -/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx" } */ +/* { dg-options "-O -std=c89 -pedantic-errors -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt" } */ #include <x86intrin.h> diff --git a/gcc/testsuite/gcc.target/i386/sse-13.c b/gcc/testsuite/gcc.target/i386/sse-13.c index 4c575baaf78..1d777d12e4f 100644 --- a/gcc/testsuite/gcc.target/i386/sse-13.c +++ b/gcc/testsuite/gcc.target/i386/sse-13.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx" } */ +/* { dg-options "-O2 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt" } */ #include <mm_malloc.h> diff --git a/gcc/testsuite/gcc.target/i386/sse-14.c b/gcc/testsuite/gcc.target/i386/sse-14.c index c8c13cecb53..331be0e1987 100644 --- a/gcc/testsuite/gcc.target/i386/sse-14.c +++ b/gcc/testsuite/gcc.target/i386/sse-14.c @@ -1,5 +1,5 @@ /* { dg-do compile } */ -/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx" } */ +/* { dg-options "-O0 -Werror-implicit-function-declaration -march=k8 -msse4a -m3dnow -mavx -mavx2 -mfma4 -mxop -maes -mpclmul -mpopcnt -mabm -mlzcnt -mbmi -mbmi2 -mtbm -mlwp -mfsgsbase -mrdrnd -mf16c -mfma -mrtm -mrdseed -mprfchw -madx -mfxsr -mxsaveopt" } */ #include <mm_malloc.h> diff --git a/gcc/testsuite/gcc.target/i386/sse-22.c b/gcc/testsuite/gcc.target/i386/sse-22.c index ec832552874..8e4c4bd3ebd 100644 --- a/gcc/testsuite/gcc.target/i386/sse-22.c +++ b/gcc/testsuite/gcc.target/i386/sse-22.c @@ -50,7 +50,7 @@ #ifndef DIFFERENT_PRAGMAS -#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,rtm,rdseed,prfchw,adx") +#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,rtm,rdseed,prfchw,adx,fxsr,xsaveopt") #endif /* Following intrinsics require immediate arguments. They @@ -264,7 +264,7 @@ test_2 (_mm_clmulepi64_si128, __m128i, __m128i, __m128i, 1) /* x86intrin.h (FMA4/XOP/LWP/BMI/BMI2/TBM/LZCNT/FMA). */ #ifdef DIFFERENT_PRAGMAS -#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx") +#pragma GCC target ("fma4,xop,lwp,bmi,bmi2,tbm,lzcnt,fma,rdseed,prfchw,adx,fxsr,xsaveopt") #endif #include <x86intrin.h> /* xopintrin.h */ diff --git a/gcc/testsuite/gcc.target/i386/sse-23.c b/gcc/testsuite/gcc.target/i386/sse-23.c index f046ef643b5..069f8e7cb80 100644 --- a/gcc/testsuite/gcc.target/i386/sse-23.c +++ b/gcc/testsuite/gcc.target/i386/sse-23.c @@ -183,7 +183,7 @@ /* rtmintrin.h */ #define __builtin_ia32_xabort(M) __builtin_ia32_xabort(1) -#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx") +#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,fma,rtm,rdseed,prfchw,adx,fxsr,xsaveopt") #include <wmmintrin.h> #include <smmintrin.h> #include <mm3dnow.h> diff --git a/gcc/testsuite/gcc.target/i386/xrstor-1.c b/gcc/testsuite/gcc.target/i386/xrstor-1.c new file mode 100644 index 00000000000..3e701394890 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xrstor-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-mavx -O2" } */ +/* { dg-final { scan-assembler "xrstor\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsave_region [512] __attribute__((aligned(64))); + _xrstor (xsave_region, ((long long) 0xA0000000F)); +} diff --git a/gcc/testsuite/gcc.target/i386/xrstor64-1.c b/gcc/testsuite/gcc.target/i386/xrstor64-1.c new file mode 100644 index 00000000000..3cf2a66cc95 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xrstor64-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mxsave -O2" } */ +/* { dg-final { scan-assembler "xrstor64\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsave_region [512] __attribute__((aligned(64))); + _xrstor64 (xsave_region, ((long long) 0xA0000000F)); +} diff --git a/gcc/testsuite/gcc.target/i386/xsave-1.c b/gcc/testsuite/gcc.target/i386/xsave-1.c new file mode 100644 index 00000000000..9eee5973921 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xsave-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-mxsave -O2" } */ +/* { dg-final { scan-assembler "xsave\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsave_region [512] __attribute__((aligned(64))); + _xsave (xsave_region, ((long long) 0xA0000000F)); +} diff --git a/gcc/testsuite/gcc.target/i386/xsave64-1.c b/gcc/testsuite/gcc.target/i386/xsave64-1.c new file mode 100644 index 00000000000..661da9171c4 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xsave64-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mxsave -O2" } */ +/* { dg-final { scan-assembler "xsave64\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsave_region [512] __attribute__((aligned(64))); + _xsave64 (xsave_region, ((long long) 0xA0000000F)); +} diff --git a/gcc/testsuite/gcc.target/i386/xsaveopt-1.c b/gcc/testsuite/gcc.target/i386/xsaveopt-1.c new file mode 100644 index 00000000000..b08a50a2340 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xsaveopt-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile } */ +/* { dg-options "-mxsaveopt -O2" } */ +/* { dg-final { scan-assembler "xsaveopt\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsaveopt_region [512] __attribute__((aligned(64))); + _xsaveopt (xsaveopt_region, ((long long) 0xA0000000F)); +} diff --git a/gcc/testsuite/gcc.target/i386/xsaveopt64-1.c b/gcc/testsuite/gcc.target/i386/xsaveopt64-1.c new file mode 100644 index 00000000000..f7864fe3999 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/xsaveopt64-1.c @@ -0,0 +1,12 @@ +/* { dg-do compile { target { ! ia32 } } } */ +/* { dg-options "-mxsaveopt -O2" } */ +/* { dg-final { scan-assembler "xsaveopt64\[ \\t\]" } } */ + +#include <x86intrin.h> + +void extern +xsave_test (void) +{ + char xsaveopt_region [512] __attribute__((aligned(64))); + _xsaveopt64 (xsaveopt_region, ((long long) 0xA0000000F)); +} |