reals do not fit in XMM registers (#21288)

This commit is contained in:
Walter Bright 2025-04-22 00:34:19 -07:00 committed by GitHub
parent 3ad50a0b08
commit bdd45686de
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 2 additions and 2 deletions

View file

@ -4666,7 +4666,7 @@ void cdpair(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t pretregs)
regm_t retregs = pretregs;
if (retregs == mPSW && tycomplex(e.Ety) && config.inline8087)
{
if (config.fpxmmregs)
if (config.fpxmmregs && tysize(e.Ety) < 20)
retregs |= mXMM0 | mXMM1;
else
retregs |= mST01;

View file

@ -1765,7 +1765,7 @@ elem* toElem(Expression e, ref IRState irs)
op = OPpair;
else if (ty == Tcomplex32 && ty1 == Timaginary32 && ty2 == Tfloat32 ||
ty == Tcomplex64 && ty1 == Timaginary64 && ty2 == Tfloat64 ||
0 && ty == Tcomplex80 && ty1 == Timaginary80 && ty2 == Tfloat80)
ty == Tcomplex80 && ty1 == Timaginary80 && ty2 == Tfloat80)
op = OPrpair;
}