| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #include "all.h"
- Amd64Op amd64_op[NOp] = {
- #define O(op, t, x) [O##op] =
- #define X(nm, zf, lf) { nm, zf, lf, },
- #include "../ops.h"
- };
- static int
- amd64_memargs(int op)
- {
- return amd64_op[op].nmem;
- }
- #define AMD64_COMMON \
- .gpr0 = RAX, \
- .ngpr = NGPR, \
- .fpr0 = XMM0, \
- .nfpr = NFPR, \
- .rglob = BIT(RBP) | BIT(RSP), \
- .nrglob = 2, \
- .rsave = amd64_sysv_rsave, \
- .nrsave = {NGPS, NFPS}, \
- .retregs = amd64_sysv_retregs, \
- .argregs = amd64_sysv_argregs, \
- .memargs = amd64_memargs, \
- .abi0 = elimsb, \
- .abi1 = amd64_sysv_abi, \
- .isel = amd64_isel, \
- .emitfn = amd64_emitfn, \
- Target T_amd64_sysv = {
- .name = "amd64_sysv",
- .emitfin = elf_emitfin,
- .asloc = ".L",
- AMD64_COMMON
- };
- Target T_amd64_apple = {
- .name = "amd64_apple",
- .apple = 1,
- .emitfin = macho_emitfin,
- .asloc = "L",
- .assym = "_",
- AMD64_COMMON
- };
|