This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] S/390: Port of lock elision to System/z


On 04/24/2014 02:55 PM, Peter Bergner wrote:
> On Thu, 2014-04-24 at 17:54 -0300, Adhemerval Zanella wrote:
>> On 24-04-2014 11:42, Stefan Liebler wrote:
>>> +	  else
>>> +	    {
>>> +	      asm volatile ("" ::: "f0", "f1", "f2", "f3", "f4", "f5", "f6",
>>> +			    "f7", "f8", "f9", "f10", "f11", "f12", "f13",
>>> +			    "f14", "f15", "cc", "memory");
>>
>> Just curious: why do you need this asm assembly? Some arch specific memory barrier? 
> 
> Unlike on Power, the S390 HTM doesn't rollback any changes to the FP
> registers that were made in the failed transaction, so they have to
> marked as clobbered.

GCC takes care of adding clobbers as part of the tbegin builtin.

I see that it doesn't add the non-call-saved FPRs, which is exactly
what you're clobbering here.  But if this is in fact necessary, I
think you should really work that out with the compiler, rather than
leaving this hack here.



r~


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]