Skip to content

Commit bdd4568

Browse files
authored
reals do not fit in XMM registers (#21288)
1 parent 3ad50a0 commit bdd4568

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

compiler/src/dmd/backend/x86/cod4.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4666,7 +4666,7 @@ void cdpair(ref CGstate cg, ref CodeBuilder cdb, elem* e, ref regm_t pretregs)
46664666
regm_t retregs = pretregs;
46674667
if (retregs == mPSW && tycomplex(e.Ety) && config.inline8087)
46684668
{
4669-
if (config.fpxmmregs)
4669+
if (config.fpxmmregs && tysize(e.Ety) < 20)
46704670
retregs |= mXMM0 | mXMM1;
46714671
else
46724672
retregs |= mST01;

compiler/src/dmd/e2ir.d

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1765,7 +1765,7 @@ elem* toElem(Expression e, ref IRState irs)
17651765
op = OPpair;
17661766
else if (ty == Tcomplex32 && ty1 == Timaginary32 && ty2 == Tfloat32 ||
17671767
ty == Tcomplex64 && ty1 == Timaginary64 && ty2 == Tfloat64 ||
1768-
0 && ty == Tcomplex80 && ty1 == Timaginary80 && ty2 == Tfloat80)
1768+
ty == Tcomplex80 && ty1 == Timaginary80 && ty2 == Tfloat80)
17691769
op = OPrpair;
17701770
}
17711771

0 commit comments

Comments
 (0)