diff --git a/compiler/src/dmd/backend/x86/cod4.d b/compiler/src/dmd/backend/x86/cod4.d index 35fc88a2a4..d17b091449 100644 --- a/compiler/src/dmd/backend/x86/cod4.d +++ b/compiler/src/dmd/backend/x86/cod4.d @@ -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; diff --git a/compiler/src/dmd/e2ir.d b/compiler/src/dmd/e2ir.d index 87d359055b..9b027a0c5c 100644 --- a/compiler/src/dmd/e2ir.d +++ b/compiler/src/dmd/e2ir.d @@ -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; }