Messages in this thread | | | Date | Fri, 25 Apr 2008 13:41:00 -0700 | From | "H. Peter Anvin" <> | Subject | Re: [PATCH 1/1] x86: fix text_poke |
| |
Mathieu Desnoyers wrote: >>> + >> As far as this is concerned, all you accomplish here is that gcc, if it >> wants to re-use the %al value, will copy it into another register before >> doing your imv_conv_end(). >> > > Exactly, and by doing so, it will have to add instructions (mov, push..) > in the instruction pattern I am looking for and therefore I will detect > this and fall back on standard immediate values. >
So what you're saying is you'll follow all the branches of code until you detect an immediate value (and eflags) kill.
Yes, that should work. It's still ugly, and I have to say I find the complexity rather distasteful. I am willing to be convinced it's worth it, but I would really like to see hard numbers.
Personally, I wouldn't be all that surprised if you lost more in constraining gcc scheduling than you gain.
-hpa
| |