diff options
author | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-31 03:46:19 +0000 |
---|---|---|
committer | pbrook <pbrook@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-03-31 03:46:19 +0000 |
commit | 3670669ce25ef337a6e5e99b7a97b83997c06721 (patch) | |
tree | 7b15f6ba52aee927d833ac1aacde641f2631ac17 /target-arm/op.c | |
parent | 8f01245ee768775d5fa4f1dd0930e7062eb5dc27 (diff) |
ARM TCG conversion 6/16.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4143 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'target-arm/op.c')
-rw-r--r-- | target-arm/op.c | 125 |
1 files changed, 0 insertions, 125 deletions
diff --git a/target-arm/op.c b/target-arm/op.c index 2ab99a2744..e714d41deb 100644 --- a/target-arm/op.c +++ b/target-arm/op.c @@ -59,11 +59,6 @@ void OPPROTO op_ ## sub ## l_T0_T1_cc(void) \ res = T0; \ } \ \ -void OPPROTO op_ ## sbc ## l_T0_T1(void) \ -{ \ - res = T0 - T1 + env->CF - 1; \ -} \ - \ void OPPROTO op_ ## sbc ## l_T0_T1_cc(void) \ { \ unsigned int src1; \ @@ -754,12 +749,6 @@ void OPPROTO op_vfp_fconsts(void) FT0s = vfp_itos(PARAM1); } -/* Copy the most significant bit of T0 to all bits of T1. */ -void OPPROTO op_signbit_T1_T0(void) -{ - T1 = (int32_t)T0 >> 31; -} - void OPPROTO op_movl_cp_T0(void) { helper_set_cp(env, PARAM1, T0); @@ -1026,55 +1015,6 @@ static inline uint8_t sub8_usat(uint8_t a, uint8_t b) #include "op_addsub.h" -void OPPROTO op_pkhtb_T0_T1(void) -{ - T0 = (T0 & 0xffff0000) | (T1 & 0xffff); -} - -void OPPROTO op_pkhbt_T0_T1(void) -{ - T0 = (T0 & 0xffff) | (T1 & 0xffff0000); -} - -void OPPROTO op_rev16_T0(void) -{ - T0 = ((T0 & 0xff000000) >> 8) - | ((T0 & 0x00ff0000) << 8) - | ((T0 & 0x0000ff00) >> 8) - | ((T0 & 0x000000ff) << 8); -} - -void OPPROTO op_revsh_T0(void) -{ - T0 = (int16_t)( ((T0 & 0x0000ff00) >> 8) - | ((T0 & 0x000000ff) << 8)); -} - -void OPPROTO op_rbit_T0(void) -{ - T0 = ((T0 & 0xff000000) >> 24) - | ((T0 & 0x00ff0000) >> 8) - | ((T0 & 0x0000ff00) << 8) - | ((T0 & 0x000000ff) << 24); - T0 = ((T0 & 0xf0f0f0f0) >> 4) - | ((T0 & 0x0f0f0f0f) << 4); - T0 = ((T0 & 0x88888888) >> 3) - | ((T0 & 0x44444444) >> 1) - | ((T0 & 0x22222222) << 1) - | ((T0 & 0x11111111) << 3); -} - -/* Dual 16-bit signed multiply. */ -void OPPROTO op_mul_dual_T0_T1(void) -{ - int32_t low; - int32_t high; - low = (int32_t)(int16_t)T0 * (int32_t)(int16_t)T1; - high = (((int32_t)T0) >> 16) * (((int32_t)T1) >> 16); - T0 = low; - T1 = high; -} - void OPPROTO op_sel_T0_T1(void) { uint32_t mask; @@ -1094,11 +1034,6 @@ void OPPROTO op_sel_T0_T1(void) FORCE_RET(); } -void OPPROTO op_roundqd_T0_T1(void) -{ - T0 = T1 + ((uint32_t)T0 >> 31); -} - /* Signed saturation. */ static inline uint32_t do_ssat(int32_t val, int shift) { @@ -1191,66 +1126,6 @@ void OPPROTO op_usad8_T0_T1(void) T0 = sum; } -/* Thumb-2 instructions. */ - -/* Insert T1 into T0. Result goes in T1. */ -void OPPROTO op_bfi_T1_T0(void) -{ - int shift = PARAM1; - uint32_t mask = PARAM2; - uint32_t bits; - - bits = (T1 << shift) & mask; - T1 = (T0 & ~mask) | bits; -} - -/* Unsigned bitfield extract. */ -void OPPROTO op_ubfx_T1(void) -{ - uint32_t shift = PARAM1; - uint32_t mask = PARAM2; - - T1 >>= shift; - T1 &= mask; -} - -/* Signed bitfield extract. */ -void OPPROTO op_sbfx_T1(void) -{ - uint32_t shift = PARAM1; - uint32_t width = PARAM2; - int32_t val; - - val = T1 << (32 - (shift + width)); - T1 = val >> (32 - width); -} - -void OPPROTO op_sdivl_T0_T1(void) -{ - int32_t num; - int32_t den; - num = T0; - den = T1; - if (den == 0) - T0 = 0; - else - T0 = num / den; - FORCE_RET(); -} - -void OPPROTO op_udivl_T0_T1(void) -{ - uint32_t num; - uint32_t den; - num = T0; - den = T1; - if (den == 0) - T0 = 0; - else - T0 = num / den; - FORCE_RET(); -} - void OPPROTO op_movl_T1_r13_banked(void) { T1 = helper_get_r13_banked(env, PARAM1); |