summaryrefslogtreecommitdiffstats
path: root/target-mips/op.c
diff options
context:
space:
mode:
authorths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-20 14:35:19 +0000
committerths <ths@c046a42c-6fe2-441c-8c8c-71466251a162>2008-06-20 14:35:19 +0000
commit92af06d216857de77bcadaf86cf9675cce9f1d3c (patch)
tree703cd09351247c06ebf8494677f2a247f5708143 /target-mips/op.c
parent278ed7c329b7e5a8dbef8da7efd42a5b73ca785d (diff)
downloadhqemu-92af06d216857de77bcadaf86cf9675cce9f1d3c.zip
hqemu-92af06d216857de77bcadaf86cf9675cce9f1d3c.tar.gz
Convert vr54xx multiply instructions to TCG.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4756 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-mips/op.c')
-rw-r--r--target-mips/op.c223
1 files changed, 0 insertions, 223 deletions
diff --git a/target-mips/op.c b/target-mips/op.c
index 89ee9ce..d617a07 100644
--- a/target-mips/op.c
+++ b/target-mips/op.c
@@ -45,226 +45,3 @@
#include "op_mem.c"
#undef MEMSUFFIX
#endif
-
-/* 64 bits arithmetic */
-#if TARGET_LONG_BITS > HOST_LONG_BITS
-void op_madd (void)
-{
- CALL_FROM_TB0(do_madd);
- FORCE_RET();
-}
-
-void op_maddu (void)
-{
- CALL_FROM_TB0(do_maddu);
- FORCE_RET();
-}
-
-void op_msub (void)
-{
- CALL_FROM_TB0(do_msub);
- FORCE_RET();
-}
-
-void op_msubu (void)
-{
- CALL_FROM_TB0(do_msubu);
- FORCE_RET();
-}
-
-/* Multiplication variants of the vr54xx. */
-void op_muls (void)
-{
- CALL_FROM_TB0(do_muls);
- FORCE_RET();
-}
-
-void op_mulsu (void)
-{
- CALL_FROM_TB0(do_mulsu);
- FORCE_RET();
-}
-
-void op_macc (void)
-{
- CALL_FROM_TB0(do_macc);
- FORCE_RET();
-}
-
-void op_macchi (void)
-{
- CALL_FROM_TB0(do_macchi);
- FORCE_RET();
-}
-
-void op_maccu (void)
-{
- CALL_FROM_TB0(do_maccu);
- FORCE_RET();
-}
-void op_macchiu (void)
-{
- CALL_FROM_TB0(do_macchiu);
- FORCE_RET();
-}
-
-void op_msac (void)
-{
- CALL_FROM_TB0(do_msac);
- FORCE_RET();
-}
-
-void op_msachi (void)
-{
- CALL_FROM_TB0(do_msachi);
- FORCE_RET();
-}
-
-void op_msacu (void)
-{
- CALL_FROM_TB0(do_msacu);
- FORCE_RET();
-}
-
-void op_msachiu (void)
-{
- CALL_FROM_TB0(do_msachiu);
- FORCE_RET();
-}
-
-void op_mulhi (void)
-{
- CALL_FROM_TB0(do_mulhi);
- FORCE_RET();
-}
-
-void op_mulhiu (void)
-{
- CALL_FROM_TB0(do_mulhiu);
- FORCE_RET();
-}
-
-void op_mulshi (void)
-{
- CALL_FROM_TB0(do_mulshi);
- FORCE_RET();
-}
-
-void op_mulshiu (void)
-{
- CALL_FROM_TB0(do_mulshiu);
- FORCE_RET();
-}
-
-#else /* TARGET_LONG_BITS > HOST_LONG_BITS */
-
-static always_inline uint64_t get_HILO (void)
-{
- return ((uint64_t)env->HI[env->current_tc][0] << 32) |
- ((uint64_t)(uint32_t)env->LO[env->current_tc][0]);
-}
-
-static always_inline void set_HILO (uint64_t HILO)
-{
- env->LO[env->current_tc][0] = (int32_t)(HILO & 0xFFFFFFFF);
- env->HI[env->current_tc][0] = (int32_t)(HILO >> 32);
-}
-
-static always_inline void set_HIT0_LO (uint64_t HILO)
-{
- env->LO[env->current_tc][0] = (int32_t)(HILO & 0xFFFFFFFF);
- T0 = env->HI[env->current_tc][0] = (int32_t)(HILO >> 32);
-}
-
-static always_inline void set_HI_LOT0 (uint64_t HILO)
-{
- T0 = env->LO[env->current_tc][0] = (int32_t)(HILO & 0xFFFFFFFF);
- env->HI[env->current_tc][0] = (int32_t)(HILO >> 32);
-}
-
-/* Multiplication variants of the vr54xx. */
-void op_muls (void)
-{
- set_HI_LOT0(0 - ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_mulsu (void)
-{
- set_HI_LOT0(0 - ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-void op_macc (void)
-{
- set_HI_LOT0(get_HILO() + ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_macchi (void)
-{
- set_HIT0_LO(get_HILO() + ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_maccu (void)
-{
- set_HI_LOT0(get_HILO() + ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-void op_macchiu (void)
-{
- set_HIT0_LO(get_HILO() + ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-void op_msac (void)
-{
- set_HI_LOT0(get_HILO() - ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_msachi (void)
-{
- set_HIT0_LO(get_HILO() - ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_msacu (void)
-{
- set_HI_LOT0(get_HILO() - ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-void op_msachiu (void)
-{
- set_HIT0_LO(get_HILO() - ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-void op_mulhi (void)
-{
- set_HIT0_LO((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1);
- FORCE_RET();
-}
-
-void op_mulhiu (void)
-{
- set_HIT0_LO((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1);
- FORCE_RET();
-}
-
-void op_mulshi (void)
-{
- set_HIT0_LO(0 - ((int64_t)(int32_t)T0 * (int64_t)(int32_t)T1));
- FORCE_RET();
-}
-
-void op_mulshiu (void)
-{
- set_HIT0_LO(0 - ((uint64_t)(uint32_t)T0 * (uint64_t)(uint32_t)T1));
- FORCE_RET();
-}
-
-#endif /* TARGET_LONG_BITS > HOST_LONG_BITS */
OpenPOWER on IntegriCloud