diff options
author | Damien George <damien.p.george@gmail.com> | 2016-02-23 15:20:39 +0000 |
---|---|---|
committer | Damien George <damien.p.george@gmail.com> | 2016-02-23 15:20:39 +0000 |
commit | 28adab36c795691a9064495a18d44ebc69c5db64 (patch) | |
tree | 3b3c4598bda6ca2ac4acdd962ee11fb00ad3024a /py/qstrdefs.h | |
parent | e9d1a94bf099d585d0f8d3b0dddb8e0a397afcff (diff) |
py/emitinlinethumb: Use qstrs instead of char* for names of asm ops.
Reduces code size by 112 bytes on Thumb2 arch, and makes assembler faster
because comparison can be a simple equals instead of a string compare.
Not all ops have been converted, only those that were simple to convert
and reduced code size.
Diffstat (limited to 'py/qstrdefs.h')
-rw-r--r-- | py/qstrdefs.h | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/py/qstrdefs.h b/py/qstrdefs.h index ad57dd390..ac0703a52 100644 --- a/py/qstrdefs.h +++ b/py/qstrdefs.h @@ -114,6 +114,50 @@ Q(label) Q(align) Q(data) Q(uint) +Q(nop) +Q(mov) +Q(and_) +Q(cmp) +Q(add) +Q(sub) +Q(lsl) +Q(lsr) +Q(asr) +Q(ldr) +Q(ldrb) +Q(ldrh) +Q(str) +Q(strb) +Q(strh) +Q(b) +Q(bl) +Q(bx) +Q(push) +Q(pop) +Q(cpsid) +Q(cpsie) +Q(wfi) +Q(clz) +Q(rbit) +Q(movw) +Q(movt) +Q(movwt) +Q(mrs) +Q(sdiv) +Q(udiv) +Q(ldrex) +Q(strex) +#if MICROPY_EMIT_INLINE_THUMB_FLOAT +Q(vcmp) +Q(vneg) +Q(vcvt_f32_s32) +Q(vcvt_s32_f32) +Q(vsqrt) +Q(vmov) +Q(vmrs) +Q(vldr) +Q(vstr) +#endif #endif Q(builtins) |