------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-12-22 12:24 ------- Why do we allow MMX modes in SSE regs now? The following patchlet is sufficient to fix the problem:
Index: config/i386/i386.c =================================================================== RCS file: /cvs/gcc/gcc/gcc/config/i386/i386.c,v retrieving revision 1.635.2.18 diff -u -p -r1.635.2.18 i386.c --- config/i386/i386.c 20 Dec 2004 05:37:36 -0000 1.635.2.18 +++ config/i386/i386.c 22 Dec 2004 12:21:42 -0000 @@ -14931,9 +14931,7 @@ ix86_hard_regno_mode_ok (int regno, enum out of SSE registers, even when no operation instructions are available. */ return (VALID_SSE_REG_MODE (mode) - || VALID_SSE2_REG_MODE (mode) - || VALID_MMX_REG_MODE (mode) - || VALID_MMX_REG_MODE_3DNOW (mode)); + || VALID_SSE2_REG_MODE (mode)); } if (MMX_REGNO_P (regno)) { -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19102