This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/53353] Missing error/warning when using __int128_t with incorrect asm register constraints
- From: "pinskia at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 15 May 2012 02:02:23 +0000
- Subject: [Bug c/53353] Missing error/warning when using __int128_t with incorrect asm register constraints
- Auto-submitted: auto-generated
- References: <bug-53353-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53353
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-05-15 02:02:23 UTC ---
(In reply to comment #2)
> Obviously a __int128_t fits in two registers. The bug is that gcc doesn't
> warn/error about code mistakenly trying to fit it into one. Instead, gcc
> generates a weird 16-bit operation, causing silent bad code generation.
It does not know what you want to do? Really it is the "ax:dx" pair most
likely.
Also the inline-asm uses internal GCC representation.
How does GCC not know the inline-asm did the correct thing of what the user
wanted it to do? Hint GCC cannot read your mind to say you made a mistake
here.