https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71793
--- Comment #2 from DB <db0451 at gmail dot com> --- Thanks Richard! About this - > RTL expansion expands x as register copy for some reason - is this person's explanation about this originating in the ABI accurate? http://stackoverflow.com/a/38248847/2757035 If so - again not that I expect anyone really to use this pattern! - but from a Standard perspective, I'm interested whether it forbids such register allocation, and whether any workaround is feasible. In practical terms, a very academic exercise :-) but valuable for its implications wrt the Standard and ABI