summaryrefslogtreecommitdiff
path: root/6/asm.h
diff options
context:
space:
mode:
authorOri Bernstein <ori@eigenstate.org>2014-09-18 02:22:45 -0400
committerOri Bernstein <ori@eigenstate.org>2014-09-18 02:22:45 -0400
commit1457588b491615b8f1634a39419db9e7404c398f (patch)
tree360f611f0d176ddf8643a8c93d8ec2225fa0a6a9 /6/asm.h
parentd5f312edc20a8f46eb5482f3e2a462ac839b881a (diff)
downloadmc-1457588b491615b8f1634a39419db9e7404c398f.tar.gz
Save and restore xmm registers correctly
Generate instructions with the right mode and all that good stuff.
Diffstat (limited to '6/asm.h')
-rw-r--r--6/asm.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/6/asm.h b/6/asm.h
index 666bf26..0830b60 100644
--- a/6/asm.h
+++ b/6/asm.h
@@ -185,6 +185,8 @@ struct Isel {
Bitset *initial; /* initial set of locations used by this fn */
};
+extern char *modenames[];
+
/* entry points */
void genblob(FILE *fd, Node *blob, Htab *globls, Htab *strtab);
void genasm(FILE *fd, Func *fn, Htab *globls, Htab *strtab);
@@ -208,6 +210,8 @@ Loc *locmemls(char *disp, Loc *base, Loc *idx, int scale, Mode mode);
Loc *loclit(long val, Mode m);
Loc *loclitl(char *lbl);
Loc *coreg(Reg r, Mode m);
+int isfloatmode(Mode m);
+int isintmode(Mode m);
void locprint(FILE *fd, Loc *l, char spec);
void iprintf(FILE *fd, Insn *insn);