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: "jakub 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 06:19:51 +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
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |jakub at gcc dot gnu.org
--- Comment #5 from Jakub Jelinek <jakub at gcc dot gnu.org> 2012-05-15 06:19:51 UTC ---
You are wrong. "A" class contains the ax and dx registers, which means that
for say 64-bit value it can give you either %rax, or %rdx, for 128-bit value
obviously only %rax:%rdx pair. But "r" class contains all the non-fixed
general purpose registers, so it can give you any pair of consecutive
registers.
The only classes that can't hold 128-bit values are the single register
classes, like "a", "b", ..., "D", "S", etc.