[Bug middle-end/33472] ICE and invalid rtl sharing with complex on x86_64-mingw
ktietz at onevision dot com
gcc-bugzilla@gcc.gnu.org
Fri Sep 21 13:26:00 GMT 2007
------- Comment #5 from ktietz at onevision dot com 2007-09-21 13:26 -------
The bug is related to i386.c function 'return_in_memory_ms_64':
The return statement of this function has to be extended by SCmode.
Patch looks like:
static int
return_in_memory_ms_64 (const_tree type, enum machine_mode mode)
{
HOST_WIDE_INT size = int_size_in_bytes (type);
/* __m128 and friends are returned in xmm0. */
if (size == 16 && VECTOR_MODE_P (mode))
return 0;
/* Otherwise, the size must be exactly in [1248]. */
- return (size != 1 && size != 2 && size != 4 && size != 8);
+ return (size != 1 && size != 2 && size != 4 && size != 8) || mode == SCmode;
}
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33472
More information about the Gcc-bugs
mailing list