This minor patch, very similar to one posted and approved previously at
https://gcc.gnu.org/pipermail/gcc-patches/2024-July/657229.html is
required to restore builds on systems using gcc 4.8 as a host compiler.
Using the enumeration constants E_SFmode and E_DFmode avoids issues with
SFmode and DFmode being "non-literal types in constant expressions".

This patch has been tested on x86_64-pc-linux-gnu with make bootstrap
and make -k check, with no new failures.  Ok for mainline?


2024-08-08  Roger Sayle  <ro...@nextmovesoftware.com>

gcc/ChangeLog
        * config/i386/i386.cc (ix86_mode_can_transfer_bits): Use E_?Fmode
        enumeration constants in switch statement.


Thanks in advance,
Roger
--

diff --git a/gcc/config/i386/i386.cc b/gcc/config/i386/i386.cc
index 8f289b5..02e2829 100644
--- a/gcc/config/i386/i386.cc
+++ b/gcc/config/i386/i386.cc
@@ -26113,8 +26113,8 @@ ix86_mode_can_transfer_bits (machine_mode mode)
       || GET_MODE_CLASS (mode) == MODE_COMPLEX_FLOAT)
     switch (GET_MODE_INNER (mode))
       {
-      case SFmode:
-      case DFmode:
+      case E_SFmode:
+      case E_DFmode:
        /* These suffer from normalization upon load when not using SSE.  */
        return !(ix86_fpmath & FPMATH_387);
       default:

Reply via email to