[PATCH] math: x86: Use prefix for FP_INIT_ROUNDMODE
Adhemerval Zanella
adhemerval.zanella@linaro.org
Thu Sep 1 13:02:53 GMT 2022
Not all compilers support the inline asm prefix '%v' to emit the avx
instruction if AVX is enable. Use a prefix instead.
Checked on x86_64-linux-gnu and i686-linux-gnu.
---
sysdeps/x86/fpu/sfp-machine.h | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/sysdeps/x86/fpu/sfp-machine.h b/sysdeps/x86/fpu/sfp-machine.h
index 5892f4f5fe..006eebe257 100644
--- a/sysdeps/x86/fpu/sfp-machine.h
+++ b/sysdeps/x86/fpu/sfp-machine.h
@@ -39,9 +39,15 @@ typedef unsigned int UTItype __attribute__ ((mode (TI)));
# define FP_RND_MASK 0x6000
+# ifdef __AVX__
+# define AVX_INSN_PREFIX "v"
+# else
+# define AVX_INSN_PREFIX ""
+# endif
+
# define FP_INIT_ROUNDMODE \
do { \
- __asm__ __volatile__ ("%vstmxcsr\t%0" : "=m" (_fcw)); \
+ __asm__ __volatile__ (AVX_INSN_PREFIX "stmxcsr\t%0" : "=m" (_fcw)); \
} while (0)
#else
# define _FP_W_TYPE_SIZE 32
--
2.34.1
More information about the Libc-alpha
mailing list