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