summaryrefslogtreecommitdiffstats
path: root/target-mips
diff options
context:
space:
mode:
authorPeter Maydell <peter.maydell@linaro.org>2015-02-02 18:47:16 +0000
committerPeter Maydell <peter.maydell@linaro.org>2015-02-06 16:11:38 +0000
commitff32e16e865c78fb54187723f3fd09650cd9b962 (patch)
tree9d41c410e7d4a5e5f82f4bb5c7451d871e81bdee /target-mips
parente5a41ffa870ad096eb2f084447fea5dd00a51b31 (diff)
downloadhqemu-ff32e16e865c78fb54187723f3fd09650cd9b962.zip
hqemu-ff32e16e865c78fb54187723f3fd09650cd9b962.tar.gz
softfloat: expand out STATUS_VAR
Expand out and remove the STATUS_VAR macro. Signed-off-by: Peter Maydell <peter.maydell@linaro.org> Reviewed-by: Richard Henderson <rth@twiddle.net>
Diffstat (limited to 'target-mips')
-rw-r--r--target-mips/msa_helper.c56
1 files changed, 28 insertions, 28 deletions
diff --git a/target-mips/msa_helper.c b/target-mips/msa_helper.c
index c9fc9f9..c2160a6 100644
--- a/target-mips/msa_helper.c
+++ b/target-mips/msa_helper.c
@@ -1619,7 +1619,7 @@ static inline float16 float16_from_float32(int32 a, flag ieee,
{
float16 f_val;
- f_val = float32_to_float16((float32)a, ieee STATUS_VAR);
+ f_val = float32_to_float16((float32)a, ieee, status);
f_val = float16_maybe_silence_nan(f_val);
return a < 0 ? (f_val | (1 << 15)) : f_val;
@@ -1629,7 +1629,7 @@ static inline float32 float32_from_float64(int64 a, float_status *status)
{
float32 f_val;
- f_val = float64_to_float32((float64)a STATUS_VAR);
+ f_val = float64_to_float32((float64)a, status);
f_val = float32_maybe_silence_nan(f_val);
return a < 0 ? (f_val | (1 << 31)) : f_val;
@@ -1640,7 +1640,7 @@ static inline float32 float32_from_float16(int16_t a, flag ieee,
{
float32 f_val;
- f_val = float16_to_float32((float16)a, ieee STATUS_VAR);
+ f_val = float16_to_float32((float16)a, ieee, status);
f_val = float32_maybe_silence_nan(f_val);
return a < 0 ? (f_val | (1 << 31)) : f_val;
@@ -1650,7 +1650,7 @@ static inline float64 float64_from_float32(int32 a, float_status *status)
{
float64 f_val;
- f_val = float32_to_float64((float64)a STATUS_VAR);
+ f_val = float32_to_float64((float64)a, status);
f_val = float64_maybe_silence_nan(f_val);
return a < 0 ? (f_val | (1ULL << 63)) : f_val;
@@ -1661,8 +1661,8 @@ static inline float32 float32_from_q16(int16_t a, float_status *status)
float32 f_val;
/* conversion as integer and scaling */
- f_val = int32_to_float32(a STATUS_VAR);
- f_val = float32_scalbn(f_val, -15 STATUS_VAR);
+ f_val = int32_to_float32(a, status);
+ f_val = float32_scalbn(f_val, -15, status);
return f_val;
}
@@ -1672,8 +1672,8 @@ static inline float64 float64_from_q32(int32 a, float_status *status)
float64 f_val;
/* conversion as integer and scaling */
- f_val = int32_to_float64(a STATUS_VAR);
- f_val = float64_scalbn(f_val, -31 STATUS_VAR);
+ f_val = int32_to_float64(a, status);
+ f_val = float64_scalbn(f_val, -31, status);
return f_val;
}
@@ -1687,43 +1687,43 @@ static inline int16_t float32_to_q16(float32 a, float_status *status)
int ieee_ex;
if (float32_is_any_nan(a)) {
- float_raise(float_flag_invalid STATUS_VAR);
+ float_raise(float_flag_invalid, status);
return 0;
}
/* scaling */
- a = float32_scalbn(a, 15 STATUS_VAR);
+ a = float32_scalbn(a, 15, status);
ieee_ex = get_float_exception_flags(status);
set_float_exception_flags(ieee_ex & (~float_flag_underflow)
- STATUS_VAR);
+ , status);
if (ieee_ex & float_flag_overflow) {
- float_raise(float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_inexact, status);
return (int32)a < 0 ? q_min : q_max;
}
/* conversion to int */
- q_val = float32_to_int32(a STATUS_VAR);
+ q_val = float32_to_int32(a, status);
ieee_ex = get_float_exception_flags(status);
set_float_exception_flags(ieee_ex & (~float_flag_underflow)
- STATUS_VAR);
+ , status);
if (ieee_ex & float_flag_invalid) {
set_float_exception_flags(ieee_ex & (~float_flag_invalid)
- STATUS_VAR);
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ , status);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int32)a < 0 ? q_min : q_max;
}
if (q_val < q_min) {
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int16_t)q_min;
}
if (q_max < q_val) {
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int16_t)q_max;
}
@@ -1739,43 +1739,43 @@ static inline int32 float64_to_q32(float64 a, float_status *status)
int ieee_ex;
if (float64_is_any_nan(a)) {
- float_raise(float_flag_invalid STATUS_VAR);
+ float_raise(float_flag_invalid, status);
return 0;
}
/* scaling */
- a = float64_scalbn(a, 31 STATUS_VAR);
+ a = float64_scalbn(a, 31, status);
ieee_ex = get_float_exception_flags(status);
set_float_exception_flags(ieee_ex & (~float_flag_underflow)
- STATUS_VAR);
+ , status);
if (ieee_ex & float_flag_overflow) {
- float_raise(float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_inexact, status);
return (int64)a < 0 ? q_min : q_max;
}
/* conversion to integer */
- q_val = float64_to_int64(a STATUS_VAR);
+ q_val = float64_to_int64(a, status);
ieee_ex = get_float_exception_flags(status);
set_float_exception_flags(ieee_ex & (~float_flag_underflow)
- STATUS_VAR);
+ , status);
if (ieee_ex & float_flag_invalid) {
set_float_exception_flags(ieee_ex & (~float_flag_invalid)
- STATUS_VAR);
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ , status);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int64)a < 0 ? q_min : q_max;
}
if (q_val < q_min) {
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int32)q_min;
}
if (q_max < q_val) {
- float_raise(float_flag_overflow | float_flag_inexact STATUS_VAR);
+ float_raise(float_flag_overflow | float_flag_inexact, status);
return (int32)q_max;
}
OpenPOWER on IntegriCloud