> On 8 May 2018, at 02:58, Andre Vieira (lists) 
> <andre.simoesdiasvie...@arm.com> wrote:
> 
> Hi Richard,
>> On 07/05/18 11:14, Richard Sandiford wrote:
>> "Andre Vieira (lists)" <andre.simoesdiasvie...@arm.com> writes:
>>> Hi,
>>> 
>>> See below a patch to address PR 83009.
>>> 
>>> Tested with aarch64-linux-gnu bootstrap and regtests for c, c++ and fortran.
>>> Ran the adjusted testcase for -mabi=ilp32.
>>> 
>>> Is this OK for gcc-9?
>>> 
>>> Cheers,
>>> Andre
>>> 
>>> PR target/83009: Relax strict address checking for store pair lanes
>>> 
>>> The operand constraint for the memory address of store/load pair lanes
>>> was enforcing strictly hardware registers be allowed as memory
>>> addresses.  We want to relax that such that these patterns can be used
>>> by combine.  During register allocation the register constraint will
>>> enforce the correct register is chosen.
>> 
>> Nice spot.
>> 
>>> diff --git a/gcc/config/aarch64/predicates.md 
>>> b/gcc/config/aarch64/predicates.md
>>> index 
>>> 5d41d4350402b2a9e5941f160c6ab6f933bfff90..f29bc8e74f0070589014ac87fd22a95723ba9be8
>>>  100644
>>> --- a/gcc/config/aarch64/predicates.md
>>> +++ b/gcc/config/aarch64/predicates.md
>>> @@ -222,7 +222,7 @@
>>> ;; as a 128-bit vec_concat.
>>> (define_predicate "aarch64_mem_pair_lanes_operand"
>>>   (and (match_code "mem")
>>> -       (match_test "aarch64_legitimate_address_p (DFmode, XEXP (op, 0), 1,
>>> +       (match_test "aarch64_legitimate_address_p (DFmode, XEXP (op, 0), 0,
>>>                          ADDR_QUERY_LDP_STP)")))
>>> 
>>> (define_predicate "aarch64_prefetch_operand"
>> 
>> Very minor, but it'd be good to change it to a real bool parameter
>> at the same time, for consistency with aarch64_mem_pair_operand.
>> (Patch LGTM otherwise FWIW.)
>> 
> Good shout! Thank you. Attached new version.

I’m happy to take Richard’s review here. The patch looks good to me.

Ok for trunk,

Thanks,
James

(Trying a mobile mail client, apologies if this bounces)

Reply via email to