diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 13:38:05 -0700 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2017-08-04 13:38:20 -0700 |
commit | 64d4dea6cdcd908ea43a0eed5fc6262b1c6c205a (patch) | |
tree | 702c3af7a755668fabc7dd3ecc84169d1a2c9410 /sysdeps | |
parent | 973da22a356ed072133562e6f1ecd833c31fa9a0 (diff) | |
download | glibc-64d4dea6cdcd908ea43a0eed5fc6262b1c6c205a.tar.gz glibc-64d4dea6cdcd908ea43a0eed5fc6262b1c6c205a.tar.xz glibc-64d4dea6cdcd908ea43a0eed5fc6262b1c6c205a.zip |
x86: Remove assembly versions of HAS_CPU_FEATURE/HAS_ARCH_FEATURE
Since all x86 IFUNC selectors are implemented in C, assembly versions of HAS_CPU_FEATURE and HAS_ARCH_FEATURE can be removed. * sysdeps/x86/cpu-features.h [__ASSEMBLER__] (LOAD_RTLD_GLOBAL_RO_RDX, HAS_FEATURE, LOAD_FUNC_GOT_EAX, HAS_CPU_FEATURE, HAS_ARCH_FEATURE): Removed.
Diffstat (limited to 'sysdeps')
-rw-r--r-- | sysdeps/x86/cpu-features.h | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/sysdeps/x86/cpu-features.h b/sysdeps/x86/cpu-features.h index 3ed67f5800..af52689123 100644 --- a/sysdeps/x86/cpu-features.h +++ b/sysdeps/x86/cpu-features.h @@ -127,63 +127,6 @@ # define index_arch_Use_dl_runtime_resolve_slow FEATURE_INDEX_1*FEATURE_SIZE # define index_arch_Prefer_No_AVX512 FEATURE_INDEX_1*FEATURE_SIZE - -# if defined (_LIBC) && !IS_IN (nonlib) -# ifdef __x86_64__ -# ifdef SHARED -# if IS_IN (rtld) -# define LOAD_RTLD_GLOBAL_RO_RDX -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - _rtld_local_ro+offset+(index_##field##_##name)(%rip) -# else -# define LOAD_RTLD_GLOBAL_RO_RDX \ - mov _rtld_global_ro@GOTPCREL(%rip), %RDX_LP -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+offset+(index_##field##_##name)(%rdx) -# endif -# else /* SHARED */ -# define LOAD_RTLD_GLOBAL_RO_RDX -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - _dl_x86_cpu_features+offset+(index_##field##_##name)(%rip) -# endif /* !SHARED */ -# else /* __x86_64__ */ -# ifdef SHARED -# define LOAD_FUNC_GOT_EAX(func) \ - leal func@GOTOFF(%edx), %eax -# if IS_IN (rtld) -# define LOAD_GOT_AND_RTLD_GLOBAL_RO \ - LOAD_PIC_REG(dx) -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - offset+(index_##field##_##name)+_rtld_local_ro@GOTOFF(%edx) -# else -# define LOAD_GOT_AND_RTLD_GLOBAL_RO \ - LOAD_PIC_REG(dx); \ - mov _rtld_global_ro@GOT(%edx), %ecx -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - RTLD_GLOBAL_RO_DL_X86_CPU_FEATURES_OFFSET+offset+(index_##field##_##name)(%ecx) -# endif -# else /* SHARED */ -# define LOAD_FUNC_GOT_EAX(func) \ - leal func, %eax -# define LOAD_GOT_AND_RTLD_GLOBAL_RO -# define HAS_FEATURE(offset, field, name) \ - testl $(bit_##field##_##name), \ - _dl_x86_cpu_features+offset+(index_##field##_##name) -# endif /* !SHARED */ -# endif /* !__x86_64__ */ -# else /* _LIBC && !nonlib */ -# error "Sorry, <cpu-features.h> is unimplemented for assembler" -# endif /* !_LIBC || nonlib */ - -/* HAS_* evaluates to true if we may use the feature at runtime. */ -# define HAS_CPU_FEATURE(name) HAS_FEATURE (CPUID_OFFSET, cpu, name) -# define HAS_ARCH_FEATURE(name) HAS_FEATURE (FEATURE_OFFSET, arch, name) - #else /* __ASSEMBLER__ */ enum |