https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90181

--- Comment #3 from nfxjfg at googlemail dot com ---
Yes, it's documented this way, but it makes it appear all kinds of fragile. For
one, I normally expect that the compiler will reorder and interleave any
statements in my code (because that's what compilers always tend to do from a
user's POV), so it seems weird that it works at all, since there is nothing
that strictly associates the register declaration and the asm block. Yes, the
gcc docs (the part you quoted  in particular) sort of make it clear that it's
simply the lexical order of operations that matters here. In the gcc example
for example, the compiler can't just move the initialization of t1 below the p1
initialization, although with normal code it can and will do that.

Anyway, that is not the central point of this feature request. I only brought
it up as an argument that register variables are confusing and roundabout.

The central point of this feature request is that I'm asking for a way to
specify a named register in a contraint directly, instead of having to use this
detour over register variables. Can I ask why this feature request has been
rejected?

Reply via email to