aboutsummaryrefslogtreecommitdiff
path: root/py/qstrdefs.h
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2016-02-23 15:20:39 +0000
committerDamien George <damien.p.george@gmail.com>2016-02-23 15:20:39 +0000
commit28adab36c795691a9064495a18d44ebc69c5db64 (patch)
tree3b3c4598bda6ca2ac4acdd962ee11fb00ad3024a /py/qstrdefs.h
parente9d1a94bf099d585d0f8d3b0dddb8e0a397afcff (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.h44
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)