aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoger Sayle <roger@nextmovesoftware.com>2024-07-14 17:22:27 +0100
committerRoger Sayle <roger@nextmovesoftware.com>2024-07-14 17:22:27 +0100
commit74e6dfb23163c2dd670d1d60fbf4c782e0b44b94 (patch)
tree92d3ed11e6e957cc050c3dde92ac21301eea8a49
parent44c9403ed1833ae71a59e84f9e37af3182be0df5 (diff)
downloadgcc-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.cc26
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: