do not leak type fields
[qbe.git] / amd64 / targ.c
blob2cf1bdc55f9cced6bb87c9724c8dff3a66870331
1 #include "all.h"
3 Amd64Op amd64_op[NOp] = {
4 #define O(op, t, x) [O##op] =
5 #define X(nm, zf, lf) { nm, zf, lf, },
6 #include "../ops.h"
7 };
9 static int
10 amd64_memargs(int op)
12 return amd64_op[op].nmem;
15 Target T_amd64_sysv = {
16 .name = "amd64_sysv",
17 .gpr0 = RAX,
18 .ngpr = NGPR,
19 .fpr0 = XMM0,
20 .nfpr = NFPR,
21 .rglob = BIT(RBP) | BIT(RSP),
22 .nrglob = 2,
23 .rsave = amd64_sysv_rsave,
24 .nrsave = {NGPS, NFPS},
25 .retregs = amd64_sysv_retregs,
26 .argregs = amd64_sysv_argregs,
27 .memargs = amd64_memargs,
28 .abi = amd64_sysv_abi,
29 .isel = amd64_isel,
30 .emitfn = amd64_emitfn,