This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access
- From: Richard Henderson <rth at redhat dot com>
- To: Ian Bolton <ian dot bolton at arm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 31 Aug 2012 08:54:55 -0700
- Subject: Re: [PATCH, AArch64] Allow symbol+offset even if not being used for memory access
- References: <000001cd8787$dd7f13c0$987d3b40$@bolton@arm.com>
On 2012-08-31 07:49, Ian Bolton wrote:
> +(define_split
> + [(set (match_operand:DI 0 "register_operand" "=r")
> + (const:DI (plus:DI (match_operand:DI 1 "aarch64_valid_symref" "S")
> + (match_operand:DI 2 "const_int_operand" "i"))))]
> + ""
> + [(set (match_dup 0) (high:DI (const:DI (plus:DI (match_dup 1)
> + (match_dup 2)))))
> + (set (match_dup 0) (lo_sum:DI (match_dup 0)
> + (const:DI (plus:DI (match_dup 1)
> + (match_dup 2)))))]
> + ""
> +)
You ought not need this as a separate split, since (CONST ...) should
be handled exactly like (SYMBOL_REF).
Also note that constraints ("=r" etc) aren't used for splits.
r~