aboutsummaryrefslogtreecommitdiff
path: root/circuitpython/py/emitnx64.c
diff options
context:
space:
mode:
Diffstat (limited to 'circuitpython/py/emitnx64.c')
-rw-r--r--circuitpython/py/emitnx64.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/circuitpython/py/emitnx64.c b/circuitpython/py/emitnx64.c
new file mode 100644
index 0000000..4abb3ec
--- /dev/null
+++ b/circuitpython/py/emitnx64.c
@@ -0,0 +1,20 @@
+// x64 specific stuff
+
+#include "py/mpconfig.h"
+
+#if MICROPY_EMIT_X64
+
+// This is defined so that the assembler exports generic assembler API macros
+#define GENERIC_ASM_API (1)
+#include "py/asmx64.h"
+
+// Word indices of REG_LOCAL_x in nlr_buf_t
+#define NLR_BUF_IDX_LOCAL_1 (5) // rbx
+#define NLR_BUF_IDX_LOCAL_2 (6) // r12
+#define NLR_BUF_IDX_LOCAL_3 (7) // r13
+
+#define N_X64 (1)
+#define EXPORT_FUN(name) emit_native_x64_##name
+#include "py/emitnative.c"
+
+#endif