On 06/26/2017 03:03 PM, Laurent Vivier wrote:
+void HELPER(fsglmul)(CPUM68KState *env, FPReg *res, FPReg *val0, FPReg *val1) +{ + floatx80 a, b; + + PREC_BEGIN(32); + a = floatx80_round(val0->d, &env->fp_status); + b = floatx80_round(val1->d, &env->fp_status); + res->d = floatx80_mul(a, b, &env->fp_status); + PREC_END(); +} +
You need to set the rounding mode to truncate for the first two operations. r~