use adcx instead of adc

update-fork
MITSUNARI Shigeo 4 years ago
parent c08437c973
commit 9a3add8fe6
  1. 14
      src/fp_generator.hpp

@ -1774,6 +1774,13 @@ private:
mov(d, ptr [px]);
mulx(pd[0], a, ptr [py + 8 * 0]);
mov(ptr [pz + 8 * 0], a);
if (useAdx_) {
xor_(a, a);
for (size_t i = 1; i < pd.size(); i++) {
mulx(pd[i], a, ptr [py + 8 * i]);
adcx(pd[i - 1], a);
}
} else {
for (size_t i = 1; i < pd.size(); i++) {
mulx(pd[i], a, ptr [py + 8 * i]);
if (i == 1) {
@ -1782,6 +1789,7 @@ private:
adc(pd[i - 1], a);
}
}
}
adc(pd[pd.size() - 1], 0);
}
/*
@ -3783,9 +3791,9 @@ private:
if (pn_ == 4) {
gen_raw_fp_sub((RegExp)d0 + pn_ * 8, (RegExp)d0 + pn_ * 8, (RegExp)d2 + pn_ * 8, Pack(gt0, gt1, gt2, gt3, gt4, gt5, gt6, gt7), true);
} else {
lea(gp0, ptr[d0]);
lea(gp2, ptr[d2]);
gen_raw_fp_sub6(gp0, gp0, gp2, pn_ * 8, sf.t.sub(0, 6), true);
lea(gp0, ptr[(RegExp)d0 + pn_ * 8]);
lea(gp2, ptr[(RegExp)d2 + pn_ * 8]);
gen_raw_fp_sub6(gp0, gp0, gp2, 0, sf.t.sub(0, 6), true);
}
mov(gp0, ptr [z]);

Loading…
Cancel
Save