aboutsummaryrefslogtreecommitdiff
path: root/target-ppc/op.c
diff options
context:
space:
mode:
authoraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-11-23 10:54:04 +0000
committeraurel32 <aurel32@c046a42c-6fe2-441c-8c8c-71466251a162>2008-11-23 10:54:04 +0000
commit1c97856dcc4557f75eb9a86ec5300f9450a1e1a0 (patch)
tree0875ad311ee098fc2e7845eadbbffa90ba735774 /target-ppc/op.c
parentf48879196272e8e966d4666e05ed4c11422f3baf (diff)
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
Diffstat (limited to 'target-ppc/op.c')
-rw-r--r--target-ppc/op.c464
1 files changed, 0 insertions, 464 deletions
diff --git a/target-ppc/op.c b/target-ppc/op.c
index 8b3dbcaa04..ee2f36ece7 100644
--- a/target-ppc/op.c
+++ b/target-ppc/op.c
@@ -960,468 +960,4 @@ void OPPROTO op_srli32_T1_64 (void)
RETURN();
}
-void OPPROTO op_evfssub (void)
-{
- do_evfssub();
- RETURN();
-}
-
-void OPPROTO op_evfsadd (void)
-{
- do_evfsadd();
- RETURN();
-}
-
-void OPPROTO op_evfsnabs (void)
-{
- do_evfsnabs();
- RETURN();
-}
-
-void OPPROTO op_evfsabs (void)
-{
- do_evfsabs();
- RETURN();
-}
-
-void OPPROTO op_evfsneg (void)
-{
- do_evfsneg();
- RETURN();
-}
-
-void OPPROTO op_evfsdiv (void)
-{
- do_evfsdiv();
- RETURN();
-}
-
-void OPPROTO op_evfsmul (void)
-{
- do_evfsmul();
- RETURN();
-}
-
-void OPPROTO op_evfscmplt (void)
-{
- do_evfscmplt();
- RETURN();
-}
-
-void OPPROTO op_evfscmpgt (void)
-{
- do_evfscmpgt();
- RETURN();
-}
-
-void OPPROTO op_evfscmpeq (void)
-{
- do_evfscmpeq();
- RETURN();
-}
-
-void OPPROTO op_evfscfsi (void)
-{
- do_evfscfsi();
- RETURN();
-}
-
-void OPPROTO op_evfscfui (void)
-{
- do_evfscfui();
- RETURN();
-}
-
-void OPPROTO op_evfscfsf (void)
-{
- do_evfscfsf();
- RETURN();
-}
-
-void OPPROTO op_evfscfuf (void)
-{
- do_evfscfuf();
- RETURN();
-}
-
-void OPPROTO op_evfsctsi (void)
-{
- do_evfsctsi();
- RETURN();
-}
-
-void OPPROTO op_evfsctui (void)
-{
- do_evfsctui();
- RETURN();
-}
-
-void OPPROTO op_evfsctsf (void)
-{
- do_evfsctsf();
- RETURN();
-}
-
-void OPPROTO op_evfsctuf (void)
-{
- do_evfsctuf();
- RETURN();
-}
-
-void OPPROTO op_evfsctuiz (void)
-{
- do_evfsctuiz();
- RETURN();
-}
-
-void OPPROTO op_evfsctsiz (void)
-{
- do_evfsctsiz();
- RETURN();
-}
-
-void OPPROTO op_evfststlt (void)
-{
- do_evfststlt();
- RETURN();
-}
-
-void OPPROTO op_evfststgt (void)
-{
- do_evfststgt();
- RETURN();
-}
-
-void OPPROTO op_evfststeq (void)
-{
- do_evfststeq();
- RETURN();
-}
-
-void OPPROTO op_efssub (void)
-{
- T0_64 = _do_efssub(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efsadd (void)
-{
- T0_64 = _do_efsadd(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efsnabs (void)
-{
- T0_64 = _do_efsnabs(T0_64);
- RETURN();
-}
-
-void OPPROTO op_efsabs (void)
-{
- T0_64 = _do_efsabs(T0_64);
- RETURN();
-}
-
-void OPPROTO op_efsneg (void)
-{
- T0_64 = _do_efsneg(T0_64);
- RETURN();
-}
-
-void OPPROTO op_efsdiv (void)
-{
- T0_64 = _do_efsdiv(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efsmul (void)
-{
- T0_64 = _do_efsmul(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efscmplt (void)
-{
- do_efscmplt();
- RETURN();
-}
-
-void OPPROTO op_efscmpgt (void)
-{
- do_efscmpgt();
- RETURN();
-}
-
-void OPPROTO op_efscfd (void)
-{
- do_efscfd();
- RETURN();
-}
-
-void OPPROTO op_efscmpeq (void)
-{
- do_efscmpeq();
- RETURN();
-}
-
-void OPPROTO op_efscfsi (void)
-{
- do_efscfsi();
- RETURN();
-}
-
-void OPPROTO op_efscfui (void)
-{
- do_efscfui();
- RETURN();
-}
-
-void OPPROTO op_efscfsf (void)
-{
- do_efscfsf();
- RETURN();
-}
-
-void OPPROTO op_efscfuf (void)
-{
- do_efscfuf();
- RETURN();
-}
-
-void OPPROTO op_efsctsi (void)
-{
- do_efsctsi();
- RETURN();
-}
-
-void OPPROTO op_efsctui (void)
-{
- do_efsctui();
- RETURN();
-}
-
-void OPPROTO op_efsctsf (void)
-{
- do_efsctsf();
- RETURN();
-}
-
-void OPPROTO op_efsctuf (void)
-{
- do_efsctuf();
- RETURN();
-}
-
-void OPPROTO op_efsctsiz (void)
-{
- do_efsctsiz();
- RETURN();
-}
-
-void OPPROTO op_efsctuiz (void)
-{
- do_efsctuiz();
- RETURN();
-}
-
-void OPPROTO op_efststlt (void)
-{
- T0 = _do_efststlt(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efststgt (void)
-{
- T0 = _do_efststgt(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efststeq (void)
-{
- T0 = _do_efststeq(T0_64, T1_64);
- RETURN();
-}
-void OPPROTO op_efdsub (void)
-{
- CPU_DoubleU u1, u2;
- u1.ll = T0_64;
- u2.ll = T1_64;
- u1.d = float64_sub(u1.d, u2.d, &env->spe_status);
- T0_64 = u1.ll;
- RETURN();
-}
-
-void OPPROTO op_efdadd (void)
-{
- CPU_DoubleU u1, u2;
- u1.ll = T0_64;
- u2.ll = T1_64;
- u1.d = float64_add(u1.d, u2.d, &env->spe_status);
- T0_64 = u1.ll;
- RETURN();
-}
-
-void OPPROTO op_efdcfsid (void)
-{
- do_efdcfsi();
- RETURN();
-}
-
-void OPPROTO op_efdcfuid (void)
-{
- do_efdcfui();
- RETURN();
-}
-
-void OPPROTO op_efdnabs (void)
-{
- T0_64 |= 0x8000000000000000ULL;
- RETURN();
-}
-
-void OPPROTO op_efdabs (void)
-{
- T0_64 &= ~0x8000000000000000ULL;
- RETURN();
-}
-
-void OPPROTO op_efdneg (void)
-{
- T0_64 ^= 0x8000000000000000ULL;
- RETURN();
-}
-
-void OPPROTO op_efddiv (void)
-{
- CPU_DoubleU u1, u2;
- u1.ll = T0_64;
- u2.ll = T1_64;
- u1.d = float64_div(u1.d, u2.d, &env->spe_status);
- T0_64 = u1.ll;
- RETURN();
-}
-
-void OPPROTO op_efdmul (void)
-{
- CPU_DoubleU u1, u2;
- u1.ll = T0_64;
- u2.ll = T1_64;
- u1.d = float64_mul(u1.d, u2.d, &env->spe_status);
- T0_64 = u1.ll;
- RETURN();
-}
-
-void OPPROTO op_efdctsidz (void)
-{
- do_efdctsiz();
- RETURN();
-}
-
-void OPPROTO op_efdctuidz (void)
-{
- do_efdctuiz();
- RETURN();
-}
-
-void OPPROTO op_efdcmplt (void)
-{
- do_efdcmplt();
- RETURN();
-}
-
-void OPPROTO op_efdcmpgt (void)
-{
- do_efdcmpgt();
- RETURN();
-}
-
-void OPPROTO op_efdcfs (void)
-{
- do_efdcfs();
- RETURN();
-}
-
-void OPPROTO op_efdcmpeq (void)
-{
- do_efdcmpeq();
- RETURN();
-}
-
-void OPPROTO op_efdcfsi (void)
-{
- do_efdcfsi();
- RETURN();
-}
-
-void OPPROTO op_efdcfui (void)
-{
- do_efdcfui();
- RETURN();
-}
-
-void OPPROTO op_efdcfsf (void)
-{
- do_efdcfsf();
- RETURN();
-}
-
-void OPPROTO op_efdcfuf (void)
-{
- do_efdcfuf();
- RETURN();
-}
-
-void OPPROTO op_efdctsi (void)
-{
- do_efdctsi();
- RETURN();
-}
-
-void OPPROTO op_efdctui (void)
-{
- do_efdctui();
- RETURN();
-}
-
-void OPPROTO op_efdctsf (void)
-{
- do_efdctsf();
- RETURN();
-}
-
-void OPPROTO op_efdctuf (void)
-{
- do_efdctuf();
- RETURN();
-}
-
-void OPPROTO op_efdctuiz (void)
-{
- do_efdctuiz();
- RETURN();
-}
-
-void OPPROTO op_efdctsiz (void)
-{
- do_efdctsiz();
- RETURN();
-}
-
-void OPPROTO op_efdtstlt (void)
-{
- T0 = _do_efdtstlt(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efdtstgt (void)
-{
- T0 = _do_efdtstgt(T0_64, T1_64);
- RETURN();
-}
-
-void OPPROTO op_efdtsteq (void)
-{
- T0 = _do_efdtsteq(T0_64, T1_64);
- RETURN();
-}