From: Alexander Graf <agraf@suse.de>
To: qemu-devel@nongnu.org
Cc: peter.maydell@linaro.org, qemu-ppc@nongnu.org,
Tom Musta <tommusta@gmail.com>
Subject: [Qemu-devel] [PULL 2.0 04/15] target-ppc: Bug: VSX Convert to Integer Should Truncate
Date: Tue, 8 Apr 2014 11:31:43 +0200 [thread overview]
Message-ID: <1396949514-10494-5-git-send-email-agraf@suse.de> (raw)
In-Reply-To: <1396949514-10494-1-git-send-email-agraf@suse.de>
From: Tom Musta <tommusta@gmail.com>
The various VSX Convert to Integer instructions should truncate the
floating point number to an integer value, which is equivalent to
a round-to-zero rounding mode. The existing VSX floating point to
integer conversion helpers are erroneously using the rounding mode set
int the PowerPC Floating Point Status and Control Register (FPSCR).
This change corrects this defect by using the appropriate
float*_to_*_round_to_zero() routines fro the softfloat library.
Signed-off-by: Tom Musta <tommusta@gmail.com>
Tested-by: Tom Musta <tommusta@gmail.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
---
target-ppc/fpu_helper.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/target-ppc/fpu_helper.c b/target-ppc/fpu_helper.c
index fd91239..691d572 100644
--- a/target-ppc/fpu_helper.c
+++ b/target-ppc/fpu_helper.c
@@ -2568,7 +2568,8 @@ void helper_##op(CPUPPCState *env, uint32_t opcode) \
fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXCVI, 0); \
xt.tfld = rnan; \
} else { \
- xt.tfld = stp##_to_##ttp(xb.sfld, &env->fp_status); \
+ xt.tfld = stp##_to_##ttp##_round_to_zero(xb.sfld, \
+ &env->fp_status); \
if (env->fp_status.float_exception_flags & float_flag_invalid) { \
fload_invalid_op_excp(env, POWERPC_EXCP_FP_VXCVI, 0); \
} \
--
1.8.1.4
next prev parent reply other threads:[~2014-04-08 9:32 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-08 9:31 [Qemu-devel] [PULL 2.0 00/15] ppc patch queue 2014-04-08 for 2.0 Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 01/15] PPC: E500: Set PIR default reset value rather than SPR value Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 02/15] pseries: Update SLOF firmware image to qemu-slof-20140404 Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 03/15] softfloat: Introduce float32_to_uint64_round_to_zero Alexander Graf
2014-04-08 9:31 ` Alexander Graf [this message]
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 05/15] target-ppc: Define Endian-Correct Accessors for VSR Field Access Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 06/15] target-ppc: Correct LE Host Inversion of Lower VSRs Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 07/15] target-ppc: Correct Simple VSR LE Host Inversions Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 08/15] target-ppc: Correct VSX Scalar Compares Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 09/15] target-ppc: Correct VSX FP to FP Conversions Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 10/15] target-ppc: Correct VSX FP to Integer Conversion Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 11/15] target-ppc: Correct VSX Integer to FP Conversion Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 12/15] PPC: Clean up DECR implementation Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 13/15] PPC: Only enter MSR_POW when no interrupts pending Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 14/15] ppce500_spin: Initialize struct properly Alexander Graf
2014-04-08 9:31 ` [Qemu-devel] [PULL 2.0 15/15] PPC: Add l1 cache sizes for 970 and above systems Alexander Graf
2014-04-08 10:50 ` [Qemu-devel] [PULL 2.0 00/15] ppc patch queue 2014-04-08 for 2.0 Peter Maydell
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=1396949514-10494-5-git-send-email-agraf@suse.de \
--to=agraf@suse.de \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=qemu-ppc@nongnu.org \
--cc=tommusta@gmail.com \
/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).