Re: [PATCH 3/4] sparc32: return destination pointer on return from memcpy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



David Miller wrote:
> From: Kjetil Oftedal <oftedal@xxxxxxxxx>
> Date: Wed, 19 Oct 2011 23:11:29 +0200 (CEST)
> 
>> On Wed, 19 Oct 2011, David Miller wrote:
>>
>>> From: Konrad Eisele <konrad@xxxxxxxxxxx>
>>> Date: Wed, 19 Oct 2011 10:33:25 +0200
>>>
>>>> It seems to me that memcpy is tightly programmed. Is saving 2 lines of gdbstub.c
>>>> diff worth a memcpy rewrite?
>>>
>>> You really can't find another register to save the initial %o0 value in?
>>> Have you even tried?
>>
>> This might be considered a ugly hack. But what about using %y ? According 
>> to the V8 manual, %y might be destroyed across a procedure call, and none 
>> of the functions in memcpy.S use multiply/divide instructions. It is 
>> however not mentioned as a available register in the section dealing with 
>> leaf procedures. 
>>
>> A quick test on a SS20 did not reveal any immediate side-effects, and 
>> the return value of memcpy is now the destination pointer.
> 
> Never mind, I'll work on this myself.  Trying to get you to implement
> this properly is hopeless.  Writing to and reading from the %y
> register is extremely expensive compared to a regular register.
> 
> 

Sorry to make you angry but, yes, I looked weather all registers are taken,
and yes, memcpy is very compact programmed. The %g6 patch was a mistake, sorry.
-- Konrad
--
To unsubscribe from this list: send the line "unsubscribe sparclinux" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Kernel Development]     [DCCP]     [Linux ARM Development]     [Linux]     [Photo]     [Yosemite Help]     [Linux ARM Kernel]     [Linux SCSI]     [Linux x86_64]     [Linux Hams]

  Powered by Linux