r15-6789-ge7f98d9603808b added a new RTL pass for hardreg PRE for the hard 
register
of FPM_REGNUM, but this pass does nothing if there can be any FPM_REGNUM 
register in it.
So let's set HARDREG_PRE_REGNOS to include all zeros if !TARGET_FP8.
Now the pass will only run if there is a possibility of having the FPM register.

Built and tested for aarch64-linux-gnu.

        PR target/121095
gcc/ChangeLog:

        * config/aarch64/aarch64.h (HARDREG_PRE_REGNOS): Don't include 
FPM_REGNUM
        if !TARGET_FP8.

Signed-off-by: Andrew Pinski <quic_apin...@quicinc.com>
---
 gcc/config/aarch64/aarch64.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
index 096c853af7f..d128ed726f0 100644
--- a/gcc/config/aarch64/aarch64.h
+++ b/gcc/config/aarch64/aarch64.h
@@ -1661,8 +1661,8 @@ enum class aarch64_tristate_mode : int { NO, YES, MAYBE };
     int (aarch64_local_sme_state::ANY) }
 
 /* Zero terminated list of regnos for which hardreg PRE should be
-   applied.  */
-#define HARDREG_PRE_REGNOS { FPM_REGNUM, 0 }
+   applied.  Only enable FPM reg if FP8 is enabled. */
+#define HARDREG_PRE_REGNOS { TARGET_FP8 ? FPM_REGNUM : 0, 0 }
 
 #endif
 
-- 
2.43.0

Reply via email to