aboutsummaryrefslogtreecommitdiff
path: root/src/host/buildvm_asm.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/host/buildvm_asm.c')
-rw-r--r--src/host/buildvm_asm.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/host/buildvm_asm.c b/src/host/buildvm_asm.c
index 9b7ae53a..9b119425 100644
--- a/src/host/buildvm_asm.c
+++ b/src/host/buildvm_asm.c
@@ -261,11 +261,20 @@ void emit_asm(BuildCtx *ctx)
261 261
262#if LJ_TARGET_ARM && defined(__GNUC__) && !LJ_NO_UNWIND 262#if LJ_TARGET_ARM && defined(__GNUC__) && !LJ_NO_UNWIND
263 /* This should really be moved into buildvm_arm.dasc. */ 263 /* This should really be moved into buildvm_arm.dasc. */
264#if LJ_ARCH_HASFPU
265 fprintf(ctx->fp,
266 ".fnstart\n"
267 ".save {r5, r6, r7, r8, r9, r10, r11, lr}\n"
268 ".vsave {d8-d15}\n"
269 ".save {r4}\n"
270 ".pad #28\n");
271#else
264 fprintf(ctx->fp, 272 fprintf(ctx->fp,
265 ".fnstart\n" 273 ".fnstart\n"
266 ".save {r4, r5, r6, r7, r8, r9, r10, r11, lr}\n" 274 ".save {r4, r5, r6, r7, r8, r9, r10, r11, lr}\n"
267 ".pad #28\n"); 275 ".pad #28\n");
268#endif 276#endif
277#endif
269#if LJ_TARGET_MIPS 278#if LJ_TARGET_MIPS
270 fprintf(ctx->fp, ".set nomips16\n.abicalls\n.set noreorder\n.set nomacro\n"); 279 fprintf(ctx->fp, ".set nomips16\n.abicalls\n.set noreorder\n.set nomacro\n");
271#endif 280#endif