1 !sum
2 # Add
3 - go: Add
4 asm: "VPADD[BWDQ]|VADDP[SD]"
5 in:
6 - &any
7 go: $t
8 - *any
9 out:
10 - *any
11 # Add Saturated
12 - go: AddSaturated
13 asm: "VPADDS[BWDQ]"
14 in:
15 - &int
16 go: $t
17 base: int
18 - *int
19 out:
20 - *int
21 - go: AddSaturated
22 asm: "VPADDUS[BWDQ]"
23 in:
24 - &uint
25 go: $t
26 base: uint
27 - *uint
28 out:
29 - *uint
30
31 # Sub
32 - go: Sub
33 asm: "VPSUB[BWDQ]|VSUBP[SD]"
34 in: &2any
35 - *any
36 - *any
37 out: &1any
38 - *any
39 # Sub Saturated
40 - go: SubSaturated
41 asm: "VPSUBS[BWDQ]"
42 in: &2int
43 - *int
44 - *int
45 out: &1int
46 - *int
47 - go: SubSaturated
48 asm: "VPSUBUS[BWDQ]"
49 in:
50 - *uint
51 - *uint
52 out:
53 - *uint
54 - go: AddPairs
55 asm: "VPHADD[DW]"
56 in: *2any
57 out: *1any
58 - go: SubPairs
59 asm: "VPHSUB[DW]"
60 in: *2any
61 out: *1any
62 - go: AddPairs
63 asm: "VHADDP[SD]" # floats
64 in: *2any
65 out: *1any
66 - go: SubPairs
67 asm: "VHSUBP[SD]" # floats
68 in: *2any
69 out: *1any
70 - go: AddPairsSaturated
71 asm: "VPHADDS[DW]"
72 in: *2int
73 out: *1int
74 - go: SubPairsSaturated
75 asm: "VPHSUBS[DW]"
76 in: *2int
77 out: *1int
78
View as plain text