On 10/29/2014 04:31 AM, Andi Kleen wrote:
> 2014-10-28 Andi Kleen
>
> PR target/63672
> * config/i386/i386.c (ix86_expand_builtin): Generate memory
> barrier after abort.
> * config/i386/i386.md (xbegin): Add memory barrier.
> (xend): Rename to ...
> (xend_1)
On Mon, Nov 17, 2014 at 12:36 PM, Andi Kleen wrote:
> "H.J. Lu" writes:
>
>> On Wed, Oct 29, 2014 at 11:07 PM, Andi Kleen wrote:
Hmm, can't the insns themselves properly clobber/use memory?
>>>
>>> The transactions don't really use the memory. They just guard it,
>>> like a lock.
>>>
>
"H.J. Lu" writes:
> On Wed, Oct 29, 2014 at 11:07 PM, Andi Kleen wrote:
>>>
>>> Hmm, can't the insns themselves properly clobber/use memory?
>>
>> The transactions don't really use the memory. They just guard it,
>> like a lock.
>>
>> So the intrinsic doesn't know what memory is used inside the
On Wed, Oct 29, 2014 at 11:07 PM, Andi Kleen wrote:
>>
>> Hmm, can't the insns themselves properly clobber/use memory?
>
> The transactions don't really use the memory. They just guard it,
> like a lock.
>
> So the intrinsic doesn't know what memory is used inside the transaction,
> but the access
Andi Kleen writes:
Ping^2!
> Andi Kleen writes:
>
> Ping!
>
>> From: Andi Kleen
>>
>> xbegin/xend/xabort were missing memory barriers. This can
>> lead to memory operations being moved out of transactions, which would
>> cause unexpected races.
>>
>> Always generate implicit memory barriers fo
Andi Kleen writes:
Ping!
> From: Andi Kleen
>
> xbegin/xend/xabort were missing memory barriers. This can
> lead to memory operations being moved out of transactions, which would
> cause unexpected races.
>
> Always generate implicit memory barriers for these intrinsics.
>
> The compat header v
>
> Hmm, can't the insns themselves properly clobber/use memory?
The transactions don't really use the memory. They just guard it,
like a lock.
So the intrinsic doesn't know what memory is used inside the transaction,
but the accesses still cannot be moved out.
I think a barrier is the only sen
On Wed, Oct 29, 2014 at 4:31 AM, Andi Kleen wrote:
> From: Andi Kleen
>
> xbegin/xend/xabort were missing memory barriers. This can
> lead to memory operations being moved out of transactions, which would
> cause unexpected races.
>
> Always generate implicit memory barriers for these intrinsics.
From: Andi Kleen
xbegin/xend/xabort were missing memory barriers. This can
lead to memory operations being moved out of transactions, which would
cause unexpected races.
Always generate implicit memory barriers for these intrinsics.
The compat header versions always generated memory barriers,
s