diff options
Diffstat (limited to 'lisc/emit.c')
-rw-r--r-- | lisc/emit.c | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/lisc/emit.c b/lisc/emit.c index 52bddd7..449824c 100644 --- a/lisc/emit.c +++ b/lisc/emit.c @@ -143,8 +143,8 @@ eins(Ins i, Fn *fn, FILE *f) [OSext] = "movsl", [OZext] = "movzl", [OLoad] = "mov", - [OLoadss] = "movsw", - [OLoadus] = "movzw", + [OLoadsh] = "movsw", + [OLoaduh] = "movzw", [OLoadsb] = "movsb", [OLoadub] = "movzb", }; @@ -214,8 +214,8 @@ eins(Ins i, Fn *fn, FILE *f) i.op - OStorel, i.arg[0], i.arg[1]); break; case OLoad: - case OLoadss: - case OLoadus: + case OLoadsh: + case OLoaduh: case OLoadsb: case OLoadub: emitf(fn, f, "\t%s%w %M, %R\n", otoa[i.op], @@ -298,11 +298,12 @@ emitfn(Fn *fn, FILE *f) fprintf(f, ".text\n" - ".globl liscf\n" - ".type liscf, @function\n" - "liscf:\n" + ".globl %s\n" + ".type %s, @function\n" + "%s:\n" "\tpush %%rbp\n" - "\tmov %%rsp, %%rbp\n" + "\tmov %%rsp, %%rbp\n", + fn->name, fn->name, fn->name ); fs = framesz(fn); if (fs) |