diff options
author | Roger Sayle <roger@nextmovesoftware.com> | 2024-07-14 17:22:27 +0100 |
---|---|---|
committer | Roger Sayle <roger@nextmovesoftware.com> | 2024-07-14 17:22:27 +0100 |
commit | 74e6dfb23163c2dd670d1d60fbf4c782e0b44b94 (patch) | |
tree | 92d3ed11e6e957cc050c3dde92ac21301eea8a49 | |
parent | 44c9403ed1833ae71a59e84f9e37af3182be0df5 (diff) | |
download | gcc-74e6dfb23163c2dd670d1d60fbf4c782e0b44b94.zip gcc-74e6dfb23163c2dd670d1d60fbf4c782e0b44b94.tar.gz gcc-74e6dfb23163c2dd670d1d60fbf4c782e0b44b94.tar.bz2 |
i386: Tweak i386-expand.cc to restore bootstrap on RHEL.
This is a minor change to restore bootstrap on systems using gcc 4.8
as a host compiler. The fatal error is:
In file included from gcc/gcc/coretypes.h:471:0,
from gcc/gcc/config/i386/i386-expand.cc:23:
gcc/gcc/config/i386/i386-expand.cc: In function 'void ix86_expand_fp_absneg_operator(rtx_code, machine_mode, rtx_def**)':
./insn-modes.h:315:75: error: temporary of non-literal type 'scalar_float_mode' in a constant expression
#define HFmode (scalar_float_mode ((scalar_float_mode::from_int) E_HFmode))
^
gcc/gcc/config/i386/i386-expand.cc:2179:8: note: in expansion of macro 'HFmode'
case HFmode:
^
The solution is to use the E_?Fmode enumeration constants as case values
in switch statements.
2024-07-14 Roger Sayle <roger@nextmovesoftware.com>
* config/i386/i386-expand.cc (ix86_expand_fp_absneg_operator):
Use E_?Fmode enumeration constants in switch statement.
(ix86_expand_copysign): Likewise.
(ix86_expand_xorsign): Likewise.
-rw-r--r-- | gcc/config/i386/i386-expand.cc | 26 |
1 files changed, 13 insertions, 13 deletions
diff --git a/gcc/config/i386/i386-expand.cc b/gcc/config/i386/i386-expand.cc index cfcfdd9..9a31e6d 100644 --- a/gcc/config/i386/i386-expand.cc +++ b/gcc/config/i386/i386-expand.cc @@ -2176,19 +2176,19 @@ ix86_expand_fp_absneg_operator (enum rtx_code code, machine_mode mode, switch (mode) { - case HFmode: + case E_HFmode: use_sse = true; vmode = V8HFmode; break; - case BFmode: + case E_BFmode: use_sse = true; vmode = V8BFmode; break; - case SFmode: + case E_SFmode: use_sse = TARGET_SSE_MATH && TARGET_SSE; vmode = V4SFmode; break; - case DFmode: + case E_DFmode: use_sse = TARGET_SSE_MATH && TARGET_SSE2; vmode = V2DFmode; break; @@ -2330,19 +2330,19 @@ ix86_expand_copysign (rtx operands[]) switch (mode) { - case HFmode: + case E_HFmode: vmode = V8HFmode; break; - case BFmode: + case E_BFmode: vmode = V8BFmode; break; - case SFmode: + case E_SFmode: vmode = V4SFmode; break; - case DFmode: + case E_DFmode: vmode = V2DFmode; break; - case TFmode: + case E_TFmode: vmode = mode; break; default: @@ -2410,16 +2410,16 @@ ix86_expand_xorsign (rtx operands[]) switch (mode) { - case HFmode: + case E_HFmode: vmode = V8HFmode; break; - case BFmode: + case E_BFmode: vmode = V8BFmode; break; - case SFmode: + case E_SFmode: vmode = V4SFmode; break; - case DFmode: + case E_DFmode: vmode = V2DFmode; break; default: |