Commit 996caac6 by Kai Tietz Committed by Kai Tietz

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

x86_64-mingw.

2007-09-24  Kai Tietz  <kai.tietz@onevision.com>

	* i386.c: (return_in_memory_ms_64): Handle return types for complex types.

From-SVN: r128710
parent 40bc4187
2007-09-24 Kai Tietz <kai.tietz@onevision.com>
* i386.c: (return_in_memory_ms_64): Handle return types for complex types.
2007-09-23 H.J. Lu <hongjiu.lu@intel.com> 2007-09-23 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac (ld_vers): Support GNU linker version xx.xx.* * configure.ac (ld_vers): Support GNU linker version xx.xx.*
...@@ -4721,11 +4721,12 @@ return_in_memory_ms_64 (const_tree type, enum machine_mode mode) ...@@ -4721,11 +4721,12 @@ return_in_memory_ms_64 (const_tree type, enum machine_mode mode)
HOST_WIDE_INT size = int_size_in_bytes (type); HOST_WIDE_INT size = int_size_in_bytes (type);
/* __m128 and friends are returned in xmm0. */ /* __m128 and friends are returned in xmm0. */
if (size == 16 && VECTOR_MODE_P (mode)) if (!COMPLEX_MODE_P (mode) && size == 16 && VECTOR_MODE_P (mode))
return 0; return 0;
/* Otherwise, the size must be exactly in [1248]. */ /* Otherwise, the size must be exactly in [1248]. But not for complex. */
return (size != 1 && size != 2 && size != 4 && size != 8); return (size != 1 && size != 2 && size != 4 && size != 8)
|| COMPLEX_MODE_P (mode);
} }
int int
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment