summaryrefslogtreecommitdiff
path: root/mpy-cross
diff options
context:
space:
mode:
authorDamien George <damien@micropython.org>2022-05-23 17:59:33 +1000
committerDamien George <damien@micropython.org>2022-05-23 23:01:25 +1000
commit0e28a1f0e5e229f14b199a30d1796770b232f5a1 (patch)
tree6fd4ca25d78a512c9a1382a52b3a01c119633a4f /mpy-cross
parent17ac68770caa4f60141fa89e233829744a24cba8 (diff)
mpy-cross: Add armv6m architecture option.
Signed-off-by: Damien George <damien@micropython.org>
Diffstat (limited to 'mpy-cross')
-rw-r--r--mpy-cross/main.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/mpy-cross/main.c b/mpy-cross/main.c
index 6199abd36..390689fcb 100644
--- a/mpy-cross/main.c
+++ b/mpy-cross/main.c
@@ -108,7 +108,7 @@ STATIC int usage(char **argv) {
"\n"
"Target specific options:\n"
"-msmall-int-bits=number : set the maximum bits used to encode a small-int\n"
- "-march=<arch> : set architecture for native emitter; x86, x64, armv6, armv7m, armv7em, armv7emsp, armv7emdp, xtensa, xtensawin\n"
+ "-march=<arch> : set architecture for native emitter; x86, x64, armv6, armv6m, armv7m, armv7em, armv7emsp, armv7emdp, xtensa, xtensawin\n"
"\n"
"Implementation specific options:\n", argv[0]
);
@@ -270,6 +270,9 @@ MP_NOINLINE int main_(int argc, char **argv) {
} else if (strcmp(arch, "armv6") == 0) {
mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_ARMV6;
mp_dynamic_compiler.nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP;
+ } else if (strcmp(arch, "armv6m") == 0) {
+ mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_ARMV6M;
+ mp_dynamic_compiler.nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP; // need to be conservative so this code can run on armv7emdp
} else if (strcmp(arch, "armv7m") == 0) {
mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_ARMV7M;
mp_dynamic_compiler.nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_ARM_THUMB_FP;