aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorjasonkercher <jkercher43@gmail.com>2024-05-10 13:24:43 -0400
committerjasonkercher <jkercher43@gmail.com>2024-05-10 13:24:43 -0400
commit2183140e7162b93066e93b0e65da86b220d45ad0 (patch)
tree900278676685c1ed072a96ecb36bc0217a64b0d9 /src/llvm_backend_proc.cpp
parent9b75656400b609143147155bf387601a2ab5a242 (diff)
arm32 now compiles and runs demo
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index 898c9ac31..3e0e19a18 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -2909,7 +2909,6 @@ gb_internal lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValu
break;
case TargetArch_arm32:
{
- // TODO(bill): Check this is correct
GB_ASSERT(arg_count <= 7);
char asm_string[] = "svc #0";
@@ -2917,13 +2916,14 @@ gb_internal lbValue lb_build_builtin_proc(lbProcedure *p, Ast *expr, TypeAndValu
for (unsigned i = 0; i < arg_count; i++) {
constraints = gb_string_appendc(constraints, ",{");
static char const *regs[] = {
- "r8",
+ "r7",
"r0",
"r1",
"r2",
"r3",
"r4",
"r5",
+ "r6",
};
constraints = gb_string_appendc(constraints, regs[i]);
constraints = gb_string_appendc(constraints, "}");