Re: [hatari-devel] FPU update |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
Am 25.01.2017 um 20:24 schrieb Toni Wilen <twilen@xxxxxxxxxx>:
>> Did the tests also change? Now it lists huge amount of failed tests
>> compared to previous version. Previously neg/abs test was first that
>> failed.
>>
>>
>> No but the errors are now reported with much finer resolution -
>> previously an error would be reported at the end of a full test, if the
>> combined hash was incorrect. Now it reports an error on each individual
>> result word that is incorrect - hundreds of times more reports
>> (potentially). It also reports the result words (and expected values) as
>> hex when they are not a match.
>
> Results are same, first passed tests just scrolled so quickly that I
> thought they caused the errors.
>
> This update fixed fabs (and fneg) tests:
>
> static void fp_abs(fpdata *a, fpdata *dst)
> {
> if (floatx80_invalid_encoding(a->fpx)) {
> float_raise(float_flag_invalid, &fs);
> dst->fpx = floatx80_default_nan(&fs);
> return;
> }
> uint64_t aSig = extractFloatx80Frac(a->fpx);
> int32_t aExp = extractFloatx80Exp(a->fpx);
> if (aExp == 0x7FFF && (uint64_t)(aSig << 1)) {
> dst->fpx = propagateFloatx80NaN(a->fpx, a->fpx, &fs);
> return;
> }
> dst->fpx = floatx80_abs(a->fpx);
> }
>
> btw, fabs/fneg test never triggers floatx80_invalid_encoding() check.
>
> fsgldiv/fsglmul still is incorrect but I'll wait for pause when error
> option first.
>
Thank you for testing this. I made a quick fix: https://sourceforge.net/p/previous/code/696/
FNEG and FABS should be fine now.