Commit c609b12e1f41866b2cf82c6b5a5f871fd6bcd4f6

Authored by aurel32
1 parent 196cfc89

target-ppc: use the new float constants

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6515 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 6 additions and 12 deletions
target-ppc/op_helper.c
@@ -1501,15 +1501,13 @@ uint64_t helper_fsqrt (uint64_t arg) @@ -1501,15 +1501,13 @@ uint64_t helper_fsqrt (uint64_t arg)
1501 /* fre - fre. */ 1501 /* fre - fre. */
1502 uint64_t helper_fre (uint64_t arg) 1502 uint64_t helper_fre (uint64_t arg)
1503 { 1503 {
1504 - CPU_DoubleU fone, farg;  
1505 - fone.ll = 0x3FF0000000000000ULL; /* 1.0 */  
1506 - farg.ll = arg; 1504 + CPU_DoubleU farg;
1507 1505
1508 if (unlikely(float64_is_signaling_nan(farg.d))) { 1506 if (unlikely(float64_is_signaling_nan(farg.d))) {
1509 /* sNaN reciprocal */ 1507 /* sNaN reciprocal */
1510 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN); 1508 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);
1511 } else { 1509 } else {
1512 - farg.d = float64_div(fone.d, farg.d, &env->fp_status); 1510 + farg.d = float64_div(float64_one, farg.d, &env->fp_status);
1513 } 1511 }
1514 return farg.d; 1512 return farg.d;
1515 } 1513 }
@@ -1517,16 +1515,14 @@ uint64_t helper_fre (uint64_t arg) @@ -1517,16 +1515,14 @@ uint64_t helper_fre (uint64_t arg)
1517 /* fres - fres. */ 1515 /* fres - fres. */
1518 uint64_t helper_fres (uint64_t arg) 1516 uint64_t helper_fres (uint64_t arg)
1519 { 1517 {
1520 - CPU_DoubleU fone, farg; 1518 + CPU_Double farg;
1521 float32 f32; 1519 float32 f32;
1522 - fone.ll = 0x3FF0000000000000ULL; /* 1.0 */  
1523 - farg.ll = arg;  
1524 1520
1525 if (unlikely(float64_is_signaling_nan(farg.d))) { 1521 if (unlikely(float64_is_signaling_nan(farg.d))) {
1526 /* sNaN reciprocal */ 1522 /* sNaN reciprocal */
1527 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN); 1523 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);
1528 } else { 1524 } else {
1529 - farg.d = float64_div(fone.d, farg.d, &env->fp_status); 1525 + farg.d = float64_div(float64_one, farg.d, &env->fp_status);
1530 f32 = float64_to_float32(farg.d, &env->fp_status); 1526 f32 = float64_to_float32(farg.d, &env->fp_status);
1531 farg.d = float32_to_float64(f32, &env->fp_status); 1527 farg.d = float32_to_float64(f32, &env->fp_status);
1532 } 1528 }
@@ -1536,10 +1532,8 @@ uint64_t helper_fres (uint64_t arg) @@ -1536,10 +1532,8 @@ uint64_t helper_fres (uint64_t arg)
1536 /* frsqrte - frsqrte. */ 1532 /* frsqrte - frsqrte. */
1537 uint64_t helper_frsqrte (uint64_t arg) 1533 uint64_t helper_frsqrte (uint64_t arg)
1538 { 1534 {
1539 - CPU_DoubleU fone, farg; 1535 + CPU_DoubleU farg;
1540 float32 f32; 1536 float32 f32;
1541 - fone.ll = 0x3FF0000000000000ULL; /* 1.0 */  
1542 - farg.ll = arg;  
1543 1537
1544 if (unlikely(float64_is_signaling_nan(farg.d))) { 1538 if (unlikely(float64_is_signaling_nan(farg.d))) {
1545 /* sNaN reciprocal square root */ 1539 /* sNaN reciprocal square root */
@@ -1549,7 +1543,7 @@ uint64_t helper_frsqrte (uint64_t arg) @@ -1549,7 +1543,7 @@ uint64_t helper_frsqrte (uint64_t arg)
1549 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSQRT); 1543 farg.ll = fload_invalid_op_excp(POWERPC_EXCP_FP_VXSQRT);
1550 } else { 1544 } else {
1551 farg.d = float64_sqrt(farg.d, &env->fp_status); 1545 farg.d = float64_sqrt(farg.d, &env->fp_status);
1552 - farg.d = float64_div(fone.d, farg.d, &env->fp_status); 1546 + farg.d = float64_div(float64_one, farg.d, &env->fp_status);
1553 f32 = float64_to_float32(farg.d, &env->fp_status); 1547 f32 = float64_to_float32(farg.d, &env->fp_status);
1554 farg.d = float32_to_float64(f32, &env->fp_status); 1548 farg.d = float32_to_float64(f32, &env->fp_status);
1555 } 1549 }