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