qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Julian Seward <jseward@acm.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] FP emulation bugs for x86_64-softmmu
Date: Wed, 10 Oct 2007 13:38:35 +0200	[thread overview]
Message-ID: <200710101338.35231.jseward@acm.org> (raw)


Some x86_64 SSE2 instructions that convert floats to ints appear
to ignore the rounding mode (in mxcsr), and so produce wrong results
if mxcsr is set to anything other than default rounding.  For example
cvtsd2si et al.

I'm looking at softfloat-native.c and softfloat.c and wondering how
to fix it.  A couple of questions:

* is softfloat-native.c intended to handle such corner cases as 
  accurately as softfloat.c ?

* is it possible to build x86_64-softmmu to use softfloat.c 
  rather than softfloat-native.c?

  I hacked ./configure to use CONFIG_SOFTFLOAT for x86_64 (added
  x86_64 as a softfloat cpu in test at line 1095), but the build
  then dies like this:

  target-i386/exec.h:296: warning: conflicting types for built-in
  function 'sinl'
  target-i386/exec.h:297: warning: conflicting types for built-in  
  function 'cosl'
  target-i386/exec.h:298: warning: conflicting types for built-in
  function 'sqrtl'
  target-i386/exec.h:299: warning: conflicting types for built-in
  function 'powl'
  target-i386/exec.h:300: warning: conflicting types for built-in
  function 'logl'
  target-i386/exec.h:301: warning: conflicting types for built-in
  function 'tanl'
  target-i386/exec.h:302: warning: conflicting types for built-in
  function 'atan2l'
  target-i386/exec.h:303: warning: conflicting types for built-in
  function 'floorl'
  target-i386/exec.h:304: warning: conflicting types for built-in
  function 'ceill'
  target-i386/exec.h: In function `helper_fldt':
  target-i386/exec.h:440: error: incompatible types in return
  target-i386/exec.h: In function `helper_fstt':
  target-i386/exec.h:447: error: incompatible types in assignment
  (many more errors like this follow)

  Is this some minor compile bug, or is it the case that x86_64-softmmu
  (and i386-softmmu) is not intended to use softfloat.c?

J

                 reply	other threads:[~2007-10-10 11:48 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200710101338.35231.jseward@acm.org \
    --to=jseward@acm.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).