Commit 6ad7365a81ef9b0857e0964190e34e21814bd3b0

Authored by aurel32
1 parent 30e7a22e

target-ppc: fix fsel instruction

Fix fsel instruction.  Eliminate unneeded temporaries while we're at it,
too.

Signed-off-by: Nathan Froyd <froydnj@codesourcery.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6026 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 3 additions and 5 deletions
target-ppc/op_helper.c
... ... @@ -1592,16 +1592,14 @@ uint64_t helper_frsqrte (uint64_t arg)
1592 1592 /* fsel - fsel. */
1593 1593 uint64_t helper_fsel (uint64_t arg1, uint64_t arg2, uint64_t arg3)
1594 1594 {
1595   - CPU_DoubleU farg1, farg2, farg3;
  1595 + CPU_DoubleU farg1;
1596 1596  
1597 1597 farg1.ll = arg1;
1598   - farg2.ll = arg2;
1599   - farg3.ll = arg3;
1600 1598  
1601 1599 if (!fpisneg(farg1.d) || iszero(farg1.d))
1602   - return farg2.ll;
  1600 + return arg2;
1603 1601 else
1604   - return farg2.ll;
  1602 + return arg3;
1605 1603 }
1606 1604  
1607 1605 uint32_t helper_fcmpu (uint64_t arg1, uint64_t arg2)
... ...