diff options
-rw-r--r-- | sysdeps/x86_64/dl-trampoline.S | 5 | ||||
-rw-r--r-- | sysdeps/x86_64/dl-trampoline.h | 9 |
2 files changed, 6 insertions, 8 deletions
diff --git a/sysdeps/x86_64/dl-trampoline.S b/sysdeps/x86_64/dl-trampoline.S index 3f812b8..177f666 100644 --- a/sysdeps/x86_64/dl-trampoline.S +++ b/sysdeps/x86_64/dl-trampoline.S @@ -88,11 +88,9 @@ # endif # define VEC(i) zmm##i # define _dl_runtime_resolve _dl_runtime_resolve_avx512 -# define _dl_runtime_resolve_opt _dl_runtime_resolve_avx512_opt # define _dl_runtime_profile _dl_runtime_profile_avx512 # include "dl-trampoline.h" # undef _dl_runtime_resolve -# undef _dl_runtime_resolve_opt # undef _dl_runtime_profile # undef VEC # undef VMOV @@ -101,8 +99,6 @@ #else strong_alias (_dl_runtime_resolve_avx, _dl_runtime_resolve_avx512) .hidden _dl_runtime_resolve_avx512 -strong_alias (_dl_runtime_resolve_avx_opt, _dl_runtime_resolve_avx512_opt) - .hidden _dl_runtime_resolve_avx512_opt strong_alias (_dl_runtime_profile_avx, _dl_runtime_profile_avx512) .hidden _dl_runtime_profile_avx512 #endif @@ -154,4 +150,5 @@ strong_alias (_dl_runtime_profile_avx, _dl_runtime_profile_avx512) # define VMOV vmovdqu #endif #define _dl_runtime_resolve _dl_runtime_resolve_sse_vex +#define _dl_runtime_resolve_opt _dl_runtime_resolve_avx512_opt #include "dl-trampoline.h" diff --git a/sysdeps/x86_64/dl-trampoline.h b/sysdeps/x86_64/dl-trampoline.h index abe4471..32ad3af 100644 --- a/sysdeps/x86_64/dl-trampoline.h +++ b/sysdeps/x86_64/dl-trampoline.h @@ -129,19 +129,20 @@ _dl_runtime_resolve_opt: # YMM state isn't in use. PRESERVE_BND_REGS_PREFIX jz _dl_runtime_resolve_sse_vex -# elif VEC_SIZE == 64 +# elif VEC_SIZE == 16 # For ZMM registers, check if YMM state and ZMM state are in # use. andl $(bit_YMM_state | bit_ZMM0_15_state), %r11d cmpl $bit_YMM_state, %r11d - # Preserve %xmm0 - %xmm7 registers with the zero upper 384 bits if - # neither YMM state nor ZMM state are in use. + # Preserve %zmm0 - %zmm7 registers if ZMM state is in use. PRESERVE_BND_REGS_PREFIX - jl _dl_runtime_resolve_sse_vex + jg _dl_runtime_resolve_avx512 # Preserve %ymm0 - %ymm7 registers with the zero upper 256 bits if # ZMM state isn't in use. PRESERVE_BND_REGS_PREFIX je _dl_runtime_resolve_avx + # Preserve %xmm0 - %xmm7 registers with the zero upper 384 bits if + # neither YMM state nor ZMM state are in use. # else # error Unsupported VEC_SIZE! # endif |