[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 051/107] target-ppc: Use float64 arg in helper_comput
From: |
David Gibson |
Subject: |
[Qemu-devel] [PULL 051/107] target-ppc: Use float64 arg in helper_compute_fprf() |
Date: |
Thu, 2 Feb 2017 16:13:49 +1100 |
From: Bharata B Rao <address@hidden>
Use float64 argument instead of unit64_t in helper_compute_fprf()
This allows code in helper_compute_fprf() to be reused later to
work with float128 argument too.
Signed-off-by: Bharata B Rao <address@hidden>
Signed-off-by: Nikunj A Dadhania <address@hidden>
Signed-off-by: David Gibson <address@hidden>
---
target/ppc/fpu_helper.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/target/ppc/fpu_helper.c b/target/ppc/fpu_helper.c
index 1ccd5e6..4da991a 100644
--- a/target/ppc/fpu_helper.c
+++ b/target/ppc/fpu_helper.c
@@ -66,23 +66,21 @@ static inline int ppc_float64_get_unbiased_exp(float64 f)
return ((f >> 52) & 0x7FF) - 1023;
}
-void helper_compute_fprf(CPUPPCState *env, uint64_t arg)
+void helper_compute_fprf(CPUPPCState *env, float64 arg)
{
- CPU_DoubleU farg;
int isneg;
int fprf;
- farg.ll = arg;
- isneg = float64_is_neg(farg.d);
- if (unlikely(float64_is_any_nan(farg.d))) {
- if (float64_is_signaling_nan(farg.d, &env->fp_status)) {
+ isneg = float64_is_neg(arg);
+ if (unlikely(float64_is_any_nan(arg))) {
+ if (float64_is_signaling_nan(arg, &env->fp_status)) {
/* Signaling NaN: flags are undefined */
fprf = 0x00;
} else {
/* Quiet NaN */
fprf = 0x11;
}
- } else if (unlikely(float64_is_infinity(farg.d))) {
+ } else if (unlikely(float64_is_infinity(arg))) {
/* +/- infinity */
if (isneg) {
fprf = 0x09;
@@ -90,7 +88,7 @@ void helper_compute_fprf(CPUPPCState *env, uint64_t arg)
fprf = 0x05;
}
} else {
- if (float64_is_zero(farg.d)) {
+ if (float64_is_zero(arg)) {
/* +/- zero */
if (isneg) {
fprf = 0x12;
@@ -98,7 +96,7 @@ void helper_compute_fprf(CPUPPCState *env, uint64_t arg)
fprf = 0x02;
}
} else {
- if (isden(farg.d)) {
+ if (isden(arg)) {
/* Denormalized numbers */
fprf = 0x10;
} else {
--
2.9.3
- [Qemu-devel] [PULL 073/107] ppc: Implement bcdus. instruction, (continued)
- [Qemu-devel] [PULL 073/107] ppc: Implement bcdus. instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 042/107] hw/gpio: QOM'ify mpc8xxx.c, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 056/107] target-ppc: Add xsxexpdp instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 049/107] prep: add IBM RS/6000 7020 (40p) memory controller, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 054/107] target-ppc: Add xscvdphp, xscvhpdp, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 061/107] pseries: Rewrite CAS PVR compatibility logic, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 067/107] ppc: Fix a warning in bcdcfz code and improve BCD_DIG_BYTE macro, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 031/107] hw/ppc/spapr: Fix boot path of usb-host storage devices, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 032/107] prep: do not use global variable to access nvram, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 039/107] libqos: fix spapr qpci_map(), David Gibson, 2017/02/02
- [Qemu-devel] [PULL 051/107] target-ppc: Use float64 arg in helper_compute_fprf(),
David Gibson <=
- [Qemu-devel] [PULL 046/107] target-ppc: Add xxextractuw instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 057/107] target-ppc: Add xsxexpqp instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 055/107] target-ppc: Use correct precision for FPRF setting, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 040/107] qtest: convert ivshmem-test to use libqos, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 048/107] prep: add PReP System I/O, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 096/107] target/ppc: Remove unused POWERPC_FAMILY(POWER), David Gibson, 2017/02/02
- [Qemu-devel] [PULL 078/107] target-ppc: Add xviexpdp instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 090/107] target-ppc: Add xsmulqp instruction, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 069/107] softfloat: Fix the default qNAN for target-ppc, David Gibson, 2017/02/02
- [Qemu-devel] [PULL 087/107] target-ppc: Use ppc_vsr_t.f128 in xscmp[o, u, exp]qp, David Gibson, 2017/02/02