aboutsummaryrefslogtreecommitdiff
path: root/src/copyjit.h
diff options
context:
space:
mode:
authorKimplul <kimi.h.kuparinen@gmail.com>2023-06-27 13:00:19 +0300
committerKimplul <kimi.h.kuparinen@gmail.com>2023-06-27 13:00:19 +0300
commit6aefc5167a64e05580dcf1afc70efa496ed145ac (patch)
tree57032839fd8f5f748b273c679f3766c6911bbca5 /src/copyjit.h
parente80d3758a37848cda7990e8eff68ed9df344afa4 (diff)
downloadcopyjit-6aefc5167a64e05580dcf1afc70efa496ed145ac.tar.gz
copyjit-6aefc5167a64e05580dcf1afc70efa496ed145ac.zip
add immediate loading
Diffstat (limited to 'src/copyjit.h')
-rw-r--r--src/copyjit.h22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/copyjit.h b/src/copyjit.h
index 69c34cb..6c0a247 100644
--- a/src/copyjit.h
+++ b/src/copyjit.h
@@ -9,9 +9,27 @@ typedef struct {
size_t size;
} ctx_t;
-#include "../lib/decls.h"
+#include "../lib/op_decls.h"
+#include "../lib/imm_decls.h"
+
+void *compile_fast_lio(ctx_t *ctx, unsigned long i);
+void *compile_fast_lia(ctx_t *ctx, unsigned long i);
+void *compile_fast_lix(ctx_t *ctx, unsigned long i);
+void *compile_fast_liy(ctx_t *ctx, unsigned long i);
+
+void *compile_fast_addio(ctx_t *ctx, unsigned long i);
+void *compile_fast_addia(ctx_t *ctx, unsigned long i);
+void *compile_fast_addix(ctx_t *ctx, unsigned long i);
+void *compile_fast_addiy(ctx_t *ctx, unsigned long i);
+
+void *compile_slo(ctx_t *ctx, unsigned long i);
+void *compile_sla(ctx_t *ctx, unsigned long i);
+void *compile_slx(ctx_t *ctx, unsigned long i);
+void *compile_sly(ctx_t *ctx, unsigned long i);
+
+/** @todo add in placeholders (for example for load immediate but we don't know
+ * what the immediate is yet) */
-void *compile_uli(ctx_t *ctx, unsigned long i);
void compile_start(ctx_t *ctx);
void compile_finish(ctx_t *ctx);
void run(ctx_t *ctx);