mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-29 11:41:21 +03:00
Update tst-gnu2-tls2 tests to set XMM0...XMM7 to all 1s in malloc to verify that XMM registers are preserved when _dl_tlsdesc_dynamic is called by clearing vectors with zeroed XMM registers before _dl_tlsdesc_dynamic and using these XMM registers to clear vectors after _dl_tlsdesc_dynamic. This improves the BZ #31372 test. Signed-off-by: H.J. Lu <hjl.tools@gmail.com> Reviewed-by: Sam James <sam@gentoo.org>
27 lines
760 B
C
27 lines
760 B
C
#ifndef TEST_AMX
|
|
# ifndef __x86_64__
|
|
# include <sys/platform/x86.h>
|
|
|
|
# define IS_SUPPORTED() CPU_FEATURE_ACTIVE (SSE2)
|
|
# endif
|
|
|
|
/* 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
|