aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/s390
diff options
context:
space:
mode:
authorAndreas Arnez <arnez@linux.ibm.com>2023-02-28 13:48:06 +0100
committerStefan Liebler <stli@linux.ibm.com>2023-02-28 14:01:28 +0100
commit3862773e1efba89ac7da43be80e64140b073c4e2 (patch)
treebec278c4ff8908fa64114e1f350b441b84de8204 /sysdeps/s390
parent86f69d699b5c2acf8362695bac0c5bbc2006d54f (diff)
downloadglibc-3862773e1efba89ac7da43be80e64140b073c4e2.zip
glibc-3862773e1efba89ac7da43be80e64140b073c4e2.tar.gz
glibc-3862773e1efba89ac7da43be80e64140b073c4e2.tar.bz2
S390: Fix _FPU_SETCW/GETCW when compiling with Clang [BZ #30130]
The _FPU_SETCW and _FPU_GETCW macros are defined with inline assemblies. They use the sfpc and efpc instructions, respectively. But both contain a spurious second operand that leads to a compile error with Clang. Removing this operand works both with gcc/gas (since binutils 2.18) as well as with clang/llvm.
Diffstat (limited to 'sysdeps/s390')
-rw-r--r--sysdeps/s390/fpu/fpu_control.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sysdeps/s390/fpu/fpu_control.h b/sysdeps/s390/fpu/fpu_control.h
index e00d777..567b180 100644
--- a/sysdeps/s390/fpu/fpu_control.h
+++ b/sysdeps/s390/fpu/fpu_control.h
@@ -32,8 +32,8 @@
typedef unsigned int fpu_control_t;
/* Macros for accessing the hardware control word. */
-#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0,0" : "=d" (cw))
-#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0,0" : : "d" (cw))
+#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0" : "=d" (cw))
+#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0" : : "d" (cw))
/* Default control word set at startup. */
extern fpu_control_t __fpu_control;