Patchwork [AArch64] Define TARGET_FLAGS_REGNUM

login
register
mail settings
Submitter Ramana Radhakrishnan
Date Feb. 28, 2014, 9:32 a.m.
Message ID <53105791.2060902@arm.com>
Download mbox | patch
Permalink /patch/325089/
State New
Headers show

Comments

Ramana Radhakrishnan - Feb. 28, 2014, 9:32 a.m.
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.radhakrishnan@arm.com>

	* config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.
Marcus Shawcroft - March 19, 2014, 3:28 p.m.
On 28 February 2014 09:32, Ramana Radhakrishnan <ramrad01@arm.com> wrote:
> 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 ?

OK /Marcus
Richard Henderson - June 20, 2014, 4:50 a.m.
On 02/28/2014 01:32 AM, Ramana Radhakrishnan wrote:
> 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.radhakrishnan@arm.com>
> 
>     * config/aarch64/aarch64.c (TARGET_FLAGS_REGNUM): Define.

This appears to cause PR bootstrap/61565.


r~

Patch

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"