On 04/30/2012 01:47 AM, Richard Earnshaw wrote:
> +operands[2] = gen_rtx_REG (SImode, REGNO (target) + 1);
> +return "ldrexd%?\t%0, %2, %C1";
> + }
Use "ldrexd%?\t%0, %H0, %C1", then you don't need to construct operands[2]
Otherwise, OK.
Ah, nice. I also fixed the other instanc
On 04/30/2012 11:50 AM, Richard Earnshaw wrote:
> On 30/04/12 09:51, Andrew Haley wrote:
>> On 04/27/2012 10:30 PM, Richard Henderson wrote:
>>> We can perform a single-copy atomic load with an ldrexd insn.
>>> If the load is all we care about, we need not pair this with
>>> a strexd.
>>
>> Can we?
On 30/04/12 09:51, Andrew Haley wrote:
> On 04/27/2012 10:30 PM, Richard Henderson wrote:
>> We can perform a single-copy atomic load with an ldrexd insn.
>> If the load is all we care about, we need not pair this with
>> a strexd.
>
> Can we? It's good to know. I have had a long email exchange
On 04/27/2012 10:30 PM, Richard Henderson wrote:
> We can perform a single-copy atomic load with an ldrexd insn.
> If the load is all we care about, we need not pair this with
> a strexd.
Can we? It's good to know. I have had a long email exchange with
engineers at ARM, and they would not say th
On 27/04/12 22:30, Richard Henderson wrote:
> We can perform a single-copy atomic load with an ldrexd insn.
> If the load is all we care about, we need not pair this with
> a strexd.
>
> Ok?
>
>
> r~
>
>
> d-arm-ldi
>
>
> * config/arm/arm.md (UNSPEC_LL): New.
> * config/arm/sync.
We can perform a single-copy atomic load with an ldrexd insn.
If the load is all we care about, we need not pair this with
a strexd.
Ok?
r~
* config/arm/arm.md (UNSPEC_LL): New.
* config/arm/sync.md (atomic_loaddi, atomic_loaddi_1): New.
diff --git a/gcc/config/arm/arm.md b/gcc/