mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-08 02:03:56 -06:00
target-ppc: convert SPE FP ops to TCG
Including a few bug fixes: - Don't clear high part for instruction with 32-bit destination - Fix efscmp* and etstcmp* return value Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5783 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
f488791962
commit
1c97856dcc
5 changed files with 701 additions and 1027 deletions
|
@ -60,10 +60,77 @@ DEF_HELPER_3(fnmsub, i64, i64, i64, i64)
|
|||
DEF_HELPER_1(fabs, i64, i64)
|
||||
DEF_HELPER_1(fnabs, i64, i64)
|
||||
DEF_HELPER_1(fneg, i64, i64)
|
||||
DEF_HELPER_1(fsqrt, i64, i64);
|
||||
DEF_HELPER_1(fre, i64, i64);
|
||||
DEF_HELPER_1(fres, i64, i64);
|
||||
DEF_HELPER_1(frsqrte, i64, i64);
|
||||
DEF_HELPER_1(fsqrt, i64, i64)
|
||||
DEF_HELPER_1(fre, i64, i64)
|
||||
DEF_HELPER_1(fres, i64, i64)
|
||||
DEF_HELPER_1(frsqrte, i64, i64)
|
||||
DEF_HELPER_3(fsel, i64, i64, i64, i64)
|
||||
|
||||
DEF_HELPER_1(efscfsi, i32, i32)
|
||||
DEF_HELPER_1(efscfui, i32, i32)
|
||||
DEF_HELPER_1(efscfuf, i32, i32)
|
||||
DEF_HELPER_1(efscfsf, i32, i32)
|
||||
DEF_HELPER_1(efsctsi, i32, i32)
|
||||
DEF_HELPER_1(efsctui, i32, i32)
|
||||
DEF_HELPER_1(efsctsiz, i32, i32)
|
||||
DEF_HELPER_1(efsctuiz, i32, i32)
|
||||
DEF_HELPER_1(efsctsf, i32, i32)
|
||||
DEF_HELPER_1(efsctuf, i32, i32)
|
||||
DEF_HELPER_1(evfscfsi, i64, i64)
|
||||
DEF_HELPER_1(evfscfui, i64, i64)
|
||||
DEF_HELPER_1(evfscfuf, i64, i64)
|
||||
DEF_HELPER_1(evfscfsf, i64, i64)
|
||||
DEF_HELPER_1(evfsctsi, i64, i64)
|
||||
DEF_HELPER_1(evfsctui, i64, i64)
|
||||
DEF_HELPER_1(evfsctsiz, i64, i64)
|
||||
DEF_HELPER_1(evfsctuiz, i64, i64)
|
||||
DEF_HELPER_1(evfsctsf, i64, i64)
|
||||
DEF_HELPER_1(evfsctuf, i64, i64)
|
||||
DEF_HELPER_2(efsadd, i32, i32, i32)
|
||||
DEF_HELPER_2(efssub, i32, i32, i32)
|
||||
DEF_HELPER_2(efsmul, i32, i32, i32)
|
||||
DEF_HELPER_2(efsdiv, i32, i32, i32)
|
||||
DEF_HELPER_2(evfsadd, i64, i64, i64)
|
||||
DEF_HELPER_2(evfssub, i64, i64, i64)
|
||||
DEF_HELPER_2(evfsmul, i64, i64, i64)
|
||||
DEF_HELPER_2(evfsdiv, i64, i64, i64)
|
||||
DEF_HELPER_2(efststlt, i32, i32, i32)
|
||||
DEF_HELPER_2(efststgt, i32, i32, i32)
|
||||
DEF_HELPER_2(efststeq, i32, i32, i32)
|
||||
DEF_HELPER_2(efscmplt, i32, i32, i32)
|
||||
DEF_HELPER_2(efscmpgt, i32, i32, i32)
|
||||
DEF_HELPER_2(efscmpeq, i32, i32, i32)
|
||||
DEF_HELPER_2(evfststlt, i32, i64, i64)
|
||||
DEF_HELPER_2(evfststgt, i32, i64, i64)
|
||||
DEF_HELPER_2(evfststeq, i32, i64, i64)
|
||||
DEF_HELPER_2(evfscmplt, i32, i64, i64)
|
||||
DEF_HELPER_2(evfscmpgt, i32, i64, i64)
|
||||
DEF_HELPER_2(evfscmpeq, i32, i64, i64)
|
||||
DEF_HELPER_1(efdcfsi, i64, i32)
|
||||
DEF_HELPER_1(efdcfsid, i64, i64)
|
||||
DEF_HELPER_1(efdcfui, i64, i32)
|
||||
DEF_HELPER_1(efdcfuid, i64, i64)
|
||||
DEF_HELPER_1(efdctsi, i32, i64)
|
||||
DEF_HELPER_1(efdctui, i32, i64)
|
||||
DEF_HELPER_1(efdctsiz, i32, i64)
|
||||
DEF_HELPER_1(efdctsidz, i64, i64)
|
||||
DEF_HELPER_1(efdctuiz, i32, i64)
|
||||
DEF_HELPER_1(efdctuidz, i64, i64)
|
||||
DEF_HELPER_1(efdcfsf, i64, i32)
|
||||
DEF_HELPER_1(efdcfuf, i64, i32)
|
||||
DEF_HELPER_1(efdctsf, i32, i64)
|
||||
DEF_HELPER_1(efdctuf, i32, i64)
|
||||
DEF_HELPER_1(efscfd, i32, i64)
|
||||
DEF_HELPER_1(efdcfs, i64, i32)
|
||||
DEF_HELPER_2(efdadd, i64, i64, i64)
|
||||
DEF_HELPER_2(efdsub, i64, i64, i64)
|
||||
DEF_HELPER_2(efdmul, i64, i64, i64)
|
||||
DEF_HELPER_2(efddiv, i64, i64, i64)
|
||||
DEF_HELPER_2(efdtstlt, i32, i64, i64)
|
||||
DEF_HELPER_2(efdtstgt, i32, i64, i64)
|
||||
DEF_HELPER_2(efdtsteq, i32, i64, i64)
|
||||
DEF_HELPER_2(efdcmplt, i32, i64, i64)
|
||||
DEF_HELPER_2(efdcmpgt, i32, i64, i64)
|
||||
DEF_HELPER_2(efdcmpeq, i32, i64, i64)
|
||||
|
||||
#include "def-helper.h"
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue