[aarch64-port-dev ] RFR: Fix for large frame size adjusts (Take 2)
Andrew Haley
aph at redhat.com
Wed Aug 7 10:24:15 PDT 2013
On 08/07/2013 01:40 PM, Edward Nevill wrote:
> Hi,
>
> OK. Here is my second attempt at this. I have split out wrap_add_sub_imm_insn into 2 adding a wrap_adds_subs_imm_insn.
>
> The info about whether is sets the flag is not available at this stage. It is encoded in the names of the functions passed to wrapp_add_sum_imm_insn (ie add, adds, sub, subs etc).
>
> The code for wrap_add_sub_imm_insn now generates in order of preference
>
> 1) <op> Rd, Rn, #imm
> 2) <op> Rd, Rn, #(imm & -(1 << 12)); <op> Rd, Rd, #(imm & ((1<< 12)-1))
> 3) MOV Rd, #imm; <op> Rd, Rn, Rd
>
> The code for wrap_adds_subs_imm_insn generates
>
> 1) <op> Rd, Rn, #imm
> 2) MOV Rd, #imm; <op> Rd, Rn, Rd
>
> OK?
OK, thanks.
Andrew.
More information about the aarch64-port-dev
mailing list