On 10/20/2015 10:05 AM, Andrew Haley wrote:
On 10/20/2015 05:00 PM, Jeff Law wrote:
But the technical reality is I can't see a use outside the extended asm.
I can. In the past (and probably still today) GCC did an awful job of
allocating registers in a large function. This was visible in a
bytecode interpreter, where the programmer knows that the virtual PC
and SP should live in a register. GCC does not know this and is
forever spilling them. Explicit local reg vars fixed this nicely.
But in that case, what do we guarantee.
We certainly don't guarantee that those objects will be in their
requested register at any point other than at the asm statements.
Essentially in this case these are working as hints to the allocator.
jeff