[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH][SPARC] Full implementation of IEEE exceptions
From: |
Aurelien Jarno |
Subject: |
[Qemu-devel] [PATCH][SPARC] Full implementation of IEEE exceptions |
Date: |
Thu, 5 Apr 2007 21:16:44 +0200 |
User-agent: |
Mutt/1.5.13 (2006-08-11) |
Hi,
The attached patch fully implements IEEE exceptions on the SPARC target.
Some more details:
- Any floating point operation that does not trap should clear the ftt
flags. Similary, any floating point operation that does not generate
an IEEE exception should clear the cexec flags. In the patch this
operation is actually done at the same place before emulating the
instruction via op_clear_ieee_excp_and_FTT, and set back to the
correct value in the unlikely case of a trap.
- To compute the IEEE flags, and to trap if needed, every floating point
instruction that can generate a trap is precedeed by a clear of the
IEEE flags of the softmmu functions. After the instruction, the
check_ieee_exceptions function copies the softmmu flags into the FSR
flags (aexec, cexec), and if the corresponding TEM flag is set, a trap
is generated.
- GEN_FCMP has to set the FSR_NVC flag, and should set the ftt flags
to IEEE_754_exception.
- This patch also correctly implements the fcmpes and fcmped instructions
by adding a sixth parameter. If this parameter is set, the comparaison
generates a trap for unordered relations even if FSR_NVM is not set.
Bye,
Aurelien
--
.''`. Aurelien Jarno | GPG: 1024D/F1BCDB73
: :' : Debian developer | Electrical Engineer
`. `' address@hidden | address@hidden
`- people.debian.org/~aurel32 | www.aurel32.net
sparc-qemu-ieee_exceptions.diff
Description: Text Data
- [Qemu-devel] [PATCH][SPARC] Full implementation of IEEE exceptions,
Aurelien Jarno <=