aboutsummaryrefslogtreecommitdiff
path: root/tcg/arm
diff options
context:
space:
mode:
authorAurelien Jarno <aurelien@aurel32.net>2010-04-09 20:52:48 +0200
committerAurelien Jarno <aurelien@aurel32.net>2010-04-19 07:03:06 +0200
commitc66b5c2cb6bf5ab9869bf0739ff3cdf143ab778c (patch)
tree359b3476e64c2fce67e4bcefa0755c15793785af /tcg/arm
parent914ccf51b07af860021863e0f8e46eac9ffbcb68 (diff)
tcg/arm: don't try to load constants using pc
There is statistically almost 0 chances to use this code, so remove it. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'tcg/arm')
-rw-r--r--tcg/arm/tcg-target.c7
1 files changed, 0 insertions, 7 deletions
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index c07d28415e..2937c5adc8 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-target.c
@@ -396,19 +396,12 @@ static inline void tcg_out_dat_imm(TCGContext *s,
static inline void tcg_out_movi32(TCGContext *s,
int cond, int rd, int32_t arg)
{
- int offset = (uint32_t) arg - ((uint32_t) s->code_ptr + 8);
-
/* TODO: This is very suboptimal, we can easily have a constant
* pool somewhere after all the instructions. */
if (arg < 0 && arg > -0x100)
return tcg_out_dat_imm(s, cond, ARITH_MVN, rd, 0, (~arg) & 0xff);
- if (offset < 0x100 && offset > -0x100)
- return offset >= 0 ?
- tcg_out_dat_imm(s, cond, ARITH_ADD, rd, 15, offset) :
- tcg_out_dat_imm(s, cond, ARITH_SUB, rd, 15, -offset);
-
if (use_armv7_instructions) {
/* use movw/movt */
/* movw */