Hi,This defines TARGET_FLAGS_REGNUM for AArch64 to be CC_REGNUM. Noticed this turns on the cmpelim pass after reload and in a few examples and a couple of benchmarks I noticed a number of comparisons getting deleted. A similar patch for AArch32 is being tested.
Tested cross with aarch64-none-elf on a model with no regressions. Ok for stage1 ? regards Ramana <DATE> Ramana Radhakrishnan <ramana.radhakrish...@arm.com> * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define. -- Ramana Radhakrishnan Principal Engineer ARM Ltd.
diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index 901ad3de793c2dd6ca3a2458dc6268e56322400a..617f4de494b1c9fa366dcf4a9fc7f22e7d11642a 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -8536,6 +8536,9 @@ aarch64_cannot_change_mode_class (enum machine_mode from, #undef TARGET_FIXED_CONDITION_CODE_REGS #define TARGET_FIXED_CONDITION_CODE_REGS aarch64_fixed_condition_code_regs +#undef TARGET_FLAGS_REGNUM +#define TARGET_FLAGS_REGNUM CC_REGNUM + struct gcc_target targetm = TARGET_INITIALIZER; #include "gt-aarch64.h"