1
2
3
4
5 package asmgen
6
7 var ArchRISCV64 = &Arch{
8 Name: "riscv64",
9 WordBits: 64,
10 WordBytes: 8,
11 CarrySafeLoop: true,
12
13 regs: []string{
14
15
16
17
18
19
20
21
22 "X5", "X6", "X7", "X8", "X9",
23 "X10", "X11", "X12", "X13", "X14", "X15", "X16", "X17", "X18", "X19",
24 "X20", "X21", "X22", "X23", "X24", "X25", "X26",
25 "X30",
26 },
27
28 reg0: "X0",
29 regCarry: "X28",
30 regAltCarry: "X29",
31 regTmp: "X31",
32
33 mov: "MOV",
34 add: "ADD",
35 sub: "SUB",
36 mul: "MUL",
37 mulhi: "MULHU",
38 lsh: "SLL",
39 rsh: "SRL",
40 and: "AND",
41 or: "OR",
42 xor: "XOR",
43 sltu: "SLTU",
44
45 jmpZero: "BEQZ %s, %s",
46 jmpNonZero: "BNEZ %s, %s",
47 }
48
View as plain text