This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/24536] [4.1 Regression] Register allocation to mmx asms broken
- From: "uros at kss-loka dot si" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Oct 2005 14:41:54 -0000
- Subject: [Bug target/24536] [4.1 Regression] Register allocation to mmx asms broken
- References: <bug-24536-10053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from uros at kss-loka dot si 2005-10-26 14:41 -------
(In reply to comment #8)
> I've detected an ICE-on-invalid code with "y" constraint (MMX register)
You should use memory input/output:
__asm__ __volatile__ ("paddb" " %0, %%" "mm2"::"m" (mmx_0x8080s));
__asm__ __volatile__ ("movq" " %%" "mm2" ", %0":"=m" (pyuv[8]):);
to produce:
#APP
paddb mmx_0x8080s, %mm2
movq %mm2, 8(%eax)
#NO_APP
>
> pr24536.c:16: error: impossible register constraint in ‘asm’
> pr24536.c:19: internal compiler error: in ix86_secondary_memory_needed,
> at config/i386/i386.c:15827
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24536