aboutsummaryrefslogtreecommitdiff
path: root/py/asmthumb.c
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2018-09-27 23:35:43 +1000
committerDamien George <damien.p.george@gmail.com>2018-09-27 23:39:08 +1000
commit2e862332630e2838d06b293f35fdd76ab7c9d714 (patch)
treee97686acd707fe312887dfb61fc8e997a90c8831 /py/asmthumb.c
parent7d4b6cc868ebf0e1cc5dfe5276b22e1b857c411b (diff)
py/asm*: Remove ASM_MOV_REG_ALIGNED_IMM emit macro, it's no longer used.
After the previous commit this macro is no longer needed by the native emitter because live heap pointers are no longer stored in generated native machine code.
Diffstat (limited to 'py/asmthumb.c')
-rw-r--r--py/asmthumb.c15
1 files changed, 0 insertions, 15 deletions
diff --git a/py/asmthumb.c b/py/asmthumb.c
index 555c21a1d..49700fbdb 100644
--- a/py/asmthumb.c
+++ b/py/asmthumb.c
@@ -269,21 +269,6 @@ void asm_thumb_mov_reg_i32_optimised(asm_thumb_t *as, uint reg_dest, int i32) {
}
}
-// i32 is stored as a full word in the code, and aligned to machine-word boundary
-// TODO this is very inefficient, improve it!
-void asm_thumb_mov_reg_i32_aligned(asm_thumb_t *as, uint reg_dest, int i32) {
- // align on machine-word + 2
- if ((as->base.code_offset & 3) == 0) {
- asm_thumb_op16(as, ASM_THUMB_OP_NOP);
- }
- // jump over the i32 value (instruction prefetch adds 2 to PC)
- asm_thumb_op16(as, OP_B_N(2));
- // store i32 on machine-word aligned boundary
- mp_asm_base_data(&as->base, 4, i32);
- // do the actual load of the i32 value
- asm_thumb_mov_reg_i32_optimised(as, reg_dest, i32);
-}
-
#define OP_STR_TO_SP_OFFSET(rlo_dest, word_offset) (0x9000 | ((rlo_dest) << 8) | ((word_offset) & 0x00ff))
#define OP_LDR_FROM_SP_OFFSET(rlo_dest, word_offset) (0x9800 | ((rlo_dest) << 8) | ((word_offset) & 0x00ff))