[Bug middle-end/33472] ICE and invalid rtl sharing with complex on x86_64-mingw

2007-09-21 Thread ktietz at onevision dot com


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



[Bug target/34013] callee-save register value sometimes corrupted when __stkchk called

2007-12-13 Thread ktietz at onevision dot com


--- Comment #3 from ktietz at onevision dot com  2007-12-13 08:50 ---
I tested this and confirm the problem. I did a regression test of this patch
for x86_64-linux and x86_64-mingw32 and it was successful.


-- 

ktietz at onevision dot com changed:

   What|Removed |Added

 CC||ktietz at onevision dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34013