------- 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

Reply via email to