Re: [hatari-devel] FPU tester update request |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/hatari-devel Archives
]
- To: hatari-devel@xxxxxxxxxxxxxxxxxxx
- Subject: Re: [hatari-devel] FPU tester update request
- From: Andreas Grabher <andreas_g86@xxxxxxxxxx>
- Date: Tue, 07 Aug 2018 10:08:33 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=04042017; t=1533629318; bh=FZpit8G26xNAsK6PFrAKsoLYKFQN3h+DZ5t5VknYFRc=; h=Content-type:MIME-version:Subject:From:Date:Message-id:To; b=QnzhoYWlb7AX93JK4Ugy2g6o1KpLSZEB1gaPo5zTnqi3E59d/R06TA/diZQHOBd5H wzypOQHGITJdqEEfUvmNJtWN+24a6OZ5eKasl+M6/Bx1FbOXKOVRwoqi+1ItZvU8Yo ifiZQ2+6GTMBd2Ym1bPIz+zl5SBsryh8S2uXILFWKfsj8BjYd/KVFl2BLHkDe0HEAH MHcQJdvvTtROounzGF8fzafGYCXQC6Cju+pVpgVdWKwO9iMwciTQ/9crtnl5WmZkAZ JBi355u3IuH4iqE+OKK+c7k+I13WG/AljKdmrCzRbZnu3ZFUMS8uwffbKQSlvtER2q Y/eVrXvuaQHrA==
- Sun-java-system-smtp-warning: Lines longer than SMTP allows found and wrapped.
Am 31.07.2018 um 14:58 schrieb Toni Wilen <twilen@xxxxxxxxxx>:
> It has been more than 1 year now..
>
>> Here is an updated version of the FPU tester (diagnostic version). I'll
>> release an update to the original testing tool once this has settled.
>
> Hi
>
> I found some more undocumented FPU behaviors (already implemented by
> Andreas in softfloat emulation) that are not found by FPU tester:
>
> ---
>
> 68040 FCMP: returns also N-bit set if either parameter is NaN with sign
> bit set. 6888x and 68060 never return N + NAN flags set simultaneously.
> Currently FCMP test returns error if CPU is 68040 which is fine for me,
> at least this confirms FCMP difference.
>
> --
>
> Monadic instruction, infinity as input value with high mantissa bit set
> and instruction also returning infinity (because input was infinity):
>
> Valid infinity bit patterns are:
>
> 7FFF 00000000 00000000 or 7FFF 80000000 00000000 (+inf)
> FFFF 00000000 00000000 or FFFF 80000000 00000000 (-inf)
>
> 6888x and 68040: returned infinity value is same as input value,
> mantissa high bit is not cleared.
>
> 68060: returned infinity mantissa is always zero.
>
> FPU internally generated infinity has always zero mantissa.
>
> --
>
> 6888x and 68040 dyadic instruction that returns infinity when either (or
> both) input values are infinity:
>
> Fxxx a, b: if a is infinity: returned infinity equals a (including
> mantissa high bit). if only b is infinity: returned infinity mantissa
> high bit is always cleared.
>
> 68040 only "inverted" special case: FADD a,b and FSUB a,b: if a is
> infinity but b isn't: zero mantissa returned. if b is infinity: b is
> returned as is (with possibility for mantissa high bit being set)
>
> --
>
> Above infinity weird cases are not detected by tester. Not that no
> program most likely cares but it would be interesting to know if these
> are model specific differences or if it was changed in some later revision.
>
Hallo all,
are there any updates on this one? It would be great if current implementation now matches behavior of real hardware.
Best wishes,
Andreas