summaryrefslogtreecommitdiff
path: root/py/asmthumb.h
diff options
context:
space:
mode:
authorAlessandro Gatti <a.gatti@frob.it>2025-06-26 20:25:09 +0200
committerDamien George <damien@micropython.org>2025-07-01 15:43:17 +1000
commit1b0cdc0794825fe147fc3bc8a717e83246640d2d (patch)
treee315f08efd0dadbd8d0a4a2ea0287e6fafde695a /py/asmthumb.h
parent6fd7422a8e5b6c8952f7b67713f0551992d247cc (diff)
py/asmthumb: Clean up integer-indexed load/store emitters.
This commit cleans up the single entry point integer-indexed load/store emitters that have been built by merging the single operand type load/store functions in 1f5ba6998bb1895354f5afcd7bb52d83a02733be. To follow the same convention found in RV32 and Xtensa emitters, the function operand size is not named after the left shift amount to apply to the initial offset to get its true byte offset, but by a generic "operand size". Also, those functions were updated to use the new MP_FIT_UNSIGNED macros to perform bit width checks when figuring out which opcode encoding is the best one to use. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
Diffstat (limited to 'py/asmthumb.h')
-rw-r--r--py/asmthumb.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/py/asmthumb.h b/py/asmthumb.h
index b423ce7a4..9cd9d32d8 100644
--- a/py/asmthumb.h
+++ b/py/asmthumb.h
@@ -365,9 +365,9 @@ void asm_thumb_mov_reg_local_addr(asm_thumb_t *as, uint rlo_dest, int local_num)
void asm_thumb_mov_reg_pcrel(asm_thumb_t *as, uint rlo_dest, uint label);
// Generate optimised load dest, [src, #offset] sequence
-void asm_thumb_load_reg_reg_offset(asm_thumb_t *as, uint reg_dest, uint reg_base, uint offset, uint shift);
+void asm_thumb_load_reg_reg_offset(asm_thumb_t *as, uint reg_dest, uint reg_base, uint offset, uint operation_size);
// Generate optimised store src, [dest, #offset] sequence
-void asm_thumb_store_reg_reg_offset(asm_thumb_t *as, uint reg_src, uint reg_base, uint offset, uint shift);
+void asm_thumb_store_reg_reg_offset(asm_thumb_t *as, uint reg_src, uint reg_base, uint offset, uint operation_size);
void asm_thumb_b_label(asm_thumb_t *as, uint label); // convenience: picks narrow or wide branch
void asm_thumb_bcc_label(asm_thumb_t *as, int cc, uint label); // convenience: picks narrow or wide branch