qemu-devel
[Top][All Lists]
Advanced

[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

Attachment: sparc-qemu-ieee_exceptions.diff
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]