[Bug rtl-optimization/59086] [4.9 Regression] error: ‘asm’ operand has impossible constraints
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 4 13:28:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59086
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Alexander Ivchenko from comment #5)
> I understand the technical reasons of the complexity of the correct and
> efficient register allocation here, but what I don't understand is this:
>
> $> gcc_4.7 test.c -c -fPIC -mstackrealign -march=core-avx2 -m32
> $> gcc_4.8 test.c -c -fPIC -mstackrealign -march=core-avx2 -m32
> $> gcc_4.9 test.c -c -fPIC -mstackrealign -march=core-avx2 -m32
> test.c: In function 'testFunc':
> test.c:7:3: error: 'asm' operand has impossible constraints
> __asm__(
> ^
>
> How can we allow to break the user code with the release version of the
> compiler here..?
If it does something wrong, and using almost all or all available registers in
an asm is always wrong, then why not. Just compile it with
-maccumulate-outgoing-args or without -mstackrealign or better rework either to
need fewer registers (pass some more arguments in memory or even better some
memory structure, so that they can all be loaded/saved from there using fewer
registers).
I'd say this should be closed NOTABUG (or WONTFIX?).
More information about the Gcc-bugs
mailing list