diff options
author | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
---|---|---|
committer | Taru Karttunen <taruti@taruti.net> | 2011-03-30 15:46:40 +0300 |
commit | e5888a1ffdae813d7575f5fb02275c6bb07e5199 (patch) | |
tree | d8d51eac403f07814b9e936eed0c9a79195e2450 /sys/src/cmd/vc/v.out.h |
Import sources from 2011-03-30 iso image
Diffstat (limited to 'sys/src/cmd/vc/v.out.h')
-rwxr-xr-x | sys/src/cmd/vc/v.out.h | 201 |
1 files changed, 201 insertions, 0 deletions
diff --git a/sys/src/cmd/vc/v.out.h b/sys/src/cmd/vc/v.out.h new file mode 100755 index 000000000..2fec28935 --- /dev/null +++ b/sys/src/cmd/vc/v.out.h @@ -0,0 +1,201 @@ +#define NSNAME 8 +#define NSYM 50 +#define NREG 32 + +#define NOPROF (1<<0) +#define DUPOK (1<<1) + +#define REGZERO 0 +#define REGRET 1 +#define REGARG 1 +/* compiler allocates R1 up as temps */ +/* compiler allocates register variables R3-R23 */ +#define REGEXT 25 +/* compiler allocates external registers R25 down */ +/* dont use R26 R27 */ +#define REGTMP 28 +#define REGSP 29 +#define REGSB 30 +#define REGLINK 31 + +#define FREGRET 0 +/* compiler allocates register variables F4-F22 */ +/* compiler allocates external registers F22 down */ +#define FREGEXT 22 +#define FREGZERO 24 /* both float and double */ +#define FREGHALF 26 /* double */ +#define FREGONE 28 /* double */ +#define FREGTWO 30 /* double */ + +enum as +{ + AXXX, + + AABSD, + AABSF, + AABSW, + AADD, + AADDD, + AADDF, + AADDU, + AADDW, + AAND, + ABEQ, + ABFPF, + ABFPT, + ABGEZ, + ABGEZAL, + ABGTZ, + ABLEZ, + ABLTZ, + ABLTZAL, + ABNE, + ABREAK, + ACMPEQD, + ACMPEQF, + ACMPGED, + ACMPGEF, + ACMPGTD, + ACMPGTF, + ADATA, + ADIV, + ADIVD, + ADIVF, + ADIVU, + ADIVW, + AGLOBL, + AGOK, + AHISTORY, + AJAL, + AJMP, + AMOVB, + AMOVBU, + AMOVD, + AMOVDF, + AMOVDW, + AMOVF, + AMOVFD, + AMOVFW, + AMOVH, + AMOVHU, + AMOVW, + AMOVWD, + AMOVWF, + AMOVWL, + AMOVWR, + AMUL, + AMULD, + AMULF, + AMULU, + AMULW, + ANAME, + ANEGD, + ANEGF, + ANEGW, + ANOP, + ANOR, + AOR, + AREM, + AREMU, + ARET, + ARFE, + ASGT, + ASGTU, + ASLL, + ASRA, + ASRL, + ASUB, + ASUBD, + ASUBF, + ASUBU, + ASUBW, + ASYSCALL, + ATEXT, + ATLBP, + ATLBR, + ATLBWI, + ATLBWR, + AWORD, + AXOR, + + AEND, + + AMOVV, + AMOVVL, + AMOVVR, + ASLLV, + ASRAV, + ASRLV, + ADIVV, + ADIVVU, + AREMV, + AREMVU, + AMULV, + AMULVU, + AADDV, + AADDVU, + ASUBV, + ASUBVU, + + ADYNT, + AINIT, + + ABCASE, + ACASE, + + ATRUNCFV, + ATRUNCDV, + ATRUNCFW, + ATRUNCDW, + AMOVWU, + AMOVFV, + AMOVDV, + AMOVVF, + AMOVVD, + + ASIGNAME, + + ALAST, +}; + +/* type/name */ +#define D_GOK 0 +#define D_NONE 1 + +/* type */ +#define D_BRANCH (D_NONE+1) +#define D_OREG (D_NONE+2) +#define D_EXTERN (D_NONE+3) /* name */ +#define D_STATIC (D_NONE+4) /* name */ +#define D_AUTO (D_NONE+5) /* name */ +#define D_PARAM (D_NONE+6) /* name */ +#define D_CONST (D_NONE+7) +#define D_FCONST (D_NONE+8) +#define D_SCONST (D_NONE+9) +#define D_HI (D_NONE+10) +#define D_LO (D_NONE+11) +#define D_REG (D_NONE+12) +#define D_FREG (D_NONE+13) +#define D_FCREG (D_NONE+14) +#define D_MREG (D_NONE+15) +#define D_FILE (D_NONE+16) +#define D_OCONST (D_NONE+17) +#define D_FILE1 (D_NONE+18) +#define D_VCONST (D_NONE+19) + +/* + * this is the ranlib header + */ +#define SYMDEF "__.SYMDEF" + +/* + * this is the simulated IEEE floating point + */ +typedef struct ieee Ieee; +struct ieee +{ + long l; /* contains ls-man 0xffffffff */ + long h; /* contains sign 0x80000000 + exp 0x7ff00000 + ms-man 0x000fffff */ +}; |