https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #8 from David ---
I doubt this patch is ever going anywhere. Now that v6 has shipped, producing
an error for both using and clobbering flags would "break backward
compatibility." On the plus side it would probably have caught your i
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
jbeulich at novell dot com changed:
What|Removed |Added
CC||jbeulich at novell dot com
-
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #6 from David ---
Created attachment 37621
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37621&action=edit
Patch for missing clobber validations
I have created a patch (attached) that does the check I am describing. And
while
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #5 from David ---
> the target code adds a cc clobber always.
Agreed. On i386, there is no way to say that an extended asm doesn't clobber
"cc", so it only serves as a comment on that specific platform.
> There is no conflict.
I b
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #4 from Segher Boessenkool ---
Let me put it differently.
At the C level, your asm statement outputs to an integer register.
Internally, the asm outputs to a condition reg, and the C statement
is expanded to also do a move from that
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #3 from David ---
> "=@ccc"(r) does not output to the "cc" register, it
> outputs to a general register.
Actually, I don't believe it does.
In v5, you *did* have to use "setc %0" with a general register AND it generated
an extra
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
Segher Boessenkool changed:
What|Removed |Added
CC||segher at gcc dot gnu.org
--- Comme
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68095
--- Comment #1 from David ---
On further reflection, perhaps the best solution is even simpler.
It is my understanding that the "cc" clobber is redundant. Internally, the
flags are clobbered whether you set this or not. And I can't see how thi