https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85667

--- Comment #5 from Lokesh Janghel <lokeshjanghel91 at gmail dot com> ---
>>I think we should check if type is aggregate before we return in eax and 
>>>>leave xmm0 for float and double.
>>        break;
>>+     case 8:
>>+     case 4:
>>+       if (valtype != NULL_TREE && AGGREGATE_TYPE_P (valtype))
>>+         break;
>>+       if (mode == SFmode || mode == DFmode)
>>+         regno = FIRST_SSE_REG;
>>+       break;

It is working in both targets (x86_64 & mingw-w64). I tested in both targets.

Reply via email to