summaryrefslogtreecommitdiff
path: root/mpy-cross/main.c
diff options
context:
space:
mode:
authorAlessandro Gatti <a.gatti@frob.it>2024-06-16 20:40:28 +0200
committerDamien George <damien@micropython.org>2024-06-21 15:06:29 +1000
commit99f5659cf5fa84d3b9dc8bbd286315fcf56ad899 (patch)
treefc55cd22a9d5c266d20879f189c87119a0040bf2 /mpy-cross/main.c
parent8338f663523d675847b8c0b9b92977b76995de8f (diff)
mpy-cross: Add RISC-V RV32IMC support in MPY files.
MPY files can now hold generated RV32IMC native code. This can be accomplished by passing the `-march=rv32imc` flag to mpy-cross. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
Diffstat (limited to 'mpy-cross/main.c')
-rw-r--r--mpy-cross/main.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/mpy-cross/main.c b/mpy-cross/main.c
index 0ac2e891d..a9066215d 100644
--- a/mpy-cross/main.c
+++ b/mpy-cross/main.c
@@ -129,7 +129,8 @@ 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, armv6m, armv7m, armv7em, armv7emsp, armv7emdp, xtensa, xtensawin\n"
+ "-march=<arch> : set architecture for native emitter;\n"
+ " x86, x64, armv6, armv6m, armv7m, armv7em, armv7emsp, armv7emdp, xtensa, xtensawin, rv32imc\n"
"\n"
"Implementation specific options:\n", argv[0]
);
@@ -312,6 +313,9 @@ MP_NOINLINE int main_(int argc, char **argv) {
} else if (strcmp(arch, "xtensawin") == 0) {
mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_XTENSAWIN;
mp_dynamic_compiler.nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_XTENSAWIN;
+ } else if (strcmp(arch, "rv32imc") == 0) {
+ mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_RV32IMC;
+ mp_dynamic_compiler.nlr_buf_num_regs = MICROPY_NLR_NUM_REGS_RV32I;
} else if (strcmp(arch, "host") == 0) {
#if defined(__i386__) || defined(_M_IX86)
mp_dynamic_compiler.native_arch = MP_NATIVE_ARCH_X86;