summaryrefslogtreecommitdiff
path: root/py/asmxtensa.c
diff options
context:
space:
mode:
Diffstat (limited to 'py/asmxtensa.c')
-rw-r--r--py/asmxtensa.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/py/asmxtensa.c b/py/asmxtensa.c
index 84018402f..0fbe351dc 100644
--- a/py/asmxtensa.c
+++ b/py/asmxtensa.c
@@ -185,7 +185,9 @@ size_t asm_xtensa_mov_reg_i32(asm_xtensa_t *as, uint reg_dest, uint32_t i32) {
}
void asm_xtensa_mov_reg_i32_optimised(asm_xtensa_t *as, uint reg_dest, uint32_t i32) {
- if (SIGNED_FIT12(i32)) {
+ if (-32 <= (int)i32 && (int)i32 <= 95) {
+ asm_xtensa_op_movi_n(as, reg_dest, i32);
+ } else if (SIGNED_FIT12(i32)) {
asm_xtensa_op_movi(as, reg_dest, i32);
} else {
asm_xtensa_mov_reg_i32(as, reg_dest, i32);