http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59794
H.J. Lu <hjl.tools at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rth at gcc dot gnu.org
Summary|i386 backend fails to |[4.7/4.8/4.9 Regression]
|detect SSE/AVX return value |i386 backend fails to
| |detect MMX/SSE/AVX return
| |value
--- Comment #4 from H.J. Lu <hjl.tools at gmail dot com> ---
This is a regression:
[hjl@gnu-6 tmp]$ cat m1.i
typedef int __v2si __attribute__ ((__vector_size__ (8)));
extern __v2si y;
__v2si
foo ()
{
return y;
}
[hjl@gnu-6 tmp]$ cc -S -mno-mmx m1.i -m32
[hjl@gnu-6 tmp]$
This may be caused by r83533. ix86_struct_value_rtx sees BLKmode
when SSE is disabled and DImode when MMX is disabled.