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.
This commit is contained in:
Andreas Arnez 2023-02-28 13:48:06 +01:00 committed by Stefan Liebler
parent 86f69d699b
commit 3862773e1e

View File

@ -32,8 +32,8 @@
typedef unsigned int fpu_control_t; typedef unsigned int fpu_control_t;
/* Macros for accessing the hardware control word. */ /* Macros for accessing the hardware control word. */
#define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0,0" : "=d" (cw)) #define _FPU_GETCW(cw) __asm__ __volatile__ ("efpc %0" : "=d" (cw))
#define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0,0" : : "d" (cw)) #define _FPU_SETCW(cw) __asm__ __volatile__ ("sfpc %0" : : "d" (cw))
/* Default control word set at startup. */ /* Default control word set at startup. */
extern fpu_control_t __fpu_control; extern fpu_control_t __fpu_control;