This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'
- From: "rth at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Aug 2005 22:31:58 -0000
- Subject: [Bug inline-asm/22045] can't find a register in class 'GENERAL_REGS'
- References: <20050613133124.22045.macro@linux-mips.org>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From rth at gcc dot gnu dot org 2005-08-08 22:31 -------
I'm calling this one invalid. We've got:
eax __d0 early clobber
ebx pic
ecx __d1 early clobber
edx __s input
esi __res early clobber
edi __d2 early clobber
ebp frame pointer forced by alloca
The problem with the "=&g"(__d3) operand is that (1) there are no more
registers, and (2) there is no memory that doesn't conflict with the
(*(struct { char __x[0xfffffff]; } *)__s) input, and thus there is no
memory that can satisfy the early clobber.
I'm not 100% certain why this was accepted before gcc 4, but I'm not
curious enough to go looking.
--
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |INVALID
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=22045