On 10/15/2011 04:19 AM, Ian Lance Taylor wrote: > Andrew Haley <aph@xxxxxxxxxx> writes: > >> On 10/14/2011 05:41 AM, Ian Lance Taylor wrote: >>> MikeW <mw_phil@xxxxxxxxxxx> writes: >>> >>>> volatile register int stop_loop __asm("r5")__; >>> >>> gcc does not support volatile register variables. I think it could be >>> meaningful, but it has never worked. >> >> It would be really nasty to implement: we'd have to check for volatility >> on every access to a hard register. The benefits don't seem worth it, >> IMO. > > No, it's not that bad. At the tree level, we would only have to check > on every reference to a DECL for which DECL_REGISTER is true. When > expanding to RTL, we would replace each reference with a special > UNSPEC_VOLATILE which we handle specially when generating asm code. Or > perhaps simply expand each reference to a specially handled asm > statement. Ah yes, that would indeed work. Still doesn't seem worth it! :-) Andrew.