On 10/20/2015 05:12 PM, Jeff Law wrote: > 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.
OK, but this usage did work in the past: that it now doesn't is a regression. GCC was quite useful (unique, really) in that it provided a way to write a decent bytecode interpreter in a HLL. The world has lost something significant if this no longer works. Andrew.