mirror of
				https://sourceware.org/git/glibc.git
				synced 2025-11-03 20:53:13 +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
 |