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.