1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package asmgen
16
17 var arches = []*Arch{
18 Arch386,
19 ArchAMD64,
20 ArchARM,
21 ArchARM64,
22 ArchLoong64,
23 ArchMIPS,
24 ArchMIPS64x,
25 ArchPPC64x,
26 ArchRISCV64,
27 ArchS390X,
28 }
29
30
31 func generate(arch *Arch) (file string, data []byte) {
32 file = "arith_" + arch.Name + ".s"
33 a := NewAsm(arch)
34 addOrSubVV(a, "addVV")
35 addOrSubVV(a, "subVV")
36 shiftVU(a, "lshVU")
37 shiftVU(a, "rshVU")
38 mulAddVWW(a)
39 addMulVVWW(a)
40 return file, a.out.Bytes()
41 }
42
View as plain text