start work on word/long handling
This commit is contained in:
parent
dff7044a2c
commit
cf307002d9
14 changed files with 114 additions and 81 deletions
18
lisc/lisc.h
18
lisc/lisc.h
|
@ -19,22 +19,25 @@ typedef struct Fn Fn;
|
|||
typedef enum { U, F, T } B3;
|
||||
|
||||
enum {
|
||||
RAX = 1,
|
||||
RAX = 1, /* caller-save */
|
||||
RCX,
|
||||
RDX,
|
||||
RSI,
|
||||
RDI,
|
||||
RBX,
|
||||
R8,
|
||||
R9,
|
||||
R10,
|
||||
R11,
|
||||
|
||||
RBX, /* callee-save */
|
||||
R12,
|
||||
R13,
|
||||
R14,
|
||||
R15,
|
||||
RSP, /* reserved */
|
||||
|
||||
RBP, /* reserved */
|
||||
RSP,
|
||||
|
||||
// NReg = R15 - RAX + 1
|
||||
NReg = 3 /* for test purposes */
|
||||
};
|
||||
|
@ -94,11 +97,17 @@ enum {
|
|||
ONop,
|
||||
OCopy,
|
||||
OSwap,
|
||||
OXCltd,
|
||||
OSign,
|
||||
OXDiv,
|
||||
OLast
|
||||
};
|
||||
|
||||
enum {
|
||||
CXXX,
|
||||
CWord,
|
||||
CLong,
|
||||
};
|
||||
|
||||
enum {
|
||||
JXXX,
|
||||
JRet,
|
||||
|
@ -155,6 +164,7 @@ struct Sym {
|
|||
STmp,
|
||||
} type;
|
||||
char name[NString];
|
||||
int class;
|
||||
uint ndef, nuse;
|
||||
uint cost;
|
||||
uint spill;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue