diff options
Diffstat (limited to 'sysdeps/x86/tst-gnu2-tls2.c')
-rw-r--r-- | sysdeps/x86/tst-gnu2-tls2.c | 36 |
1 files changed, 21 insertions, 15 deletions
diff --git a/sysdeps/x86/tst-gnu2-tls2.c b/sysdeps/x86/tst-gnu2-tls2.c index de900a4..b3195ff 100644 --- a/sysdeps/x86/tst-gnu2-tls2.c +++ b/sysdeps/x86/tst-gnu2-tls2.c @@ -1,20 +1,26 @@ -#ifndef __x86_64__ -#include <sys/platform/x86.h> +#ifndef TEST_AMX +# ifndef __x86_64__ +# include <sys/platform/x86.h> -#define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2) -#endif +# define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2) +# endif -/* Clear XMM0...XMM7 */ -#define PREPARE_MALLOC() \ -{ \ - asm volatile ("xorps %%xmm0, %%xmm0" : : : "xmm0" ); \ - asm volatile ("xorps %%xmm1, %%xmm1" : : : "xmm1" ); \ - asm volatile ("xorps %%xmm2, %%xmm2" : : : "xmm2" ); \ - asm volatile ("xorps %%xmm3, %%xmm3" : : : "xmm3" ); \ - asm volatile ("xorps %%xmm4, %%xmm4" : : : "xmm4" ); \ - asm volatile ("xorps %%xmm5, %%xmm5" : : : "xmm5" ); \ - asm volatile ("xorps %%xmm6, %%xmm6" : : : "xmm6" ); \ - asm volatile ("xorps %%xmm7, %%xmm7" : : : "xmm7" ); \ +/* Set XMM0...XMM7 to all 1s. */ +# define PREPARE_MALLOC() \ +{ \ + asm volatile ("pcmpeqd %%xmm0, %%xmm0" : : : "xmm0" ); \ + asm volatile ("pcmpeqd %%xmm1, %%xmm1" : : : "xmm1" ); \ + asm volatile ("pcmpeqd %%xmm2, %%xmm2" : : : "xmm2" ); \ + asm volatile ("pcmpeqd %%xmm3, %%xmm3" : : : "xmm3" ); \ + asm volatile ("pcmpeqd %%xmm4, %%xmm4" : : : "xmm4" ); \ + asm volatile ("pcmpeqd %%xmm5, %%xmm5" : : : "xmm5" ); \ + asm volatile ("pcmpeqd %%xmm6, %%xmm6" : : : "xmm6" ); \ + asm volatile ("pcmpeqd %%xmm7, %%xmm7" : : : "xmm7" ); \ } +#endif #include <elf/tst-gnu2-tls2.c> + +#ifndef TEST_AMX +v2di v1, v2, v3; +#endif |