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: &2any128
57 - &any128
58 go: $t
59 bits: 128
60 - *any128
61 out: &1any128
62 - *any128
63 - go: SubPairs
64 asm: "VPHSUB[DW]"
65 in: *2any128
66 out: *1any128
67 - go: AddPairs
68 asm: "VHADDP[SD]" # floats
69 in: *2any128
70 out: *1any128
71 - go: SubPairs
72 asm: "VHSUBP[SD]" # floats
73 in: *2any128
74 out: *1any128
75 - go: AddPairsSaturated
76 asm: "VPHADDS[DW]"
77 in: &2int128
78 - &int128
79 go: $t
80 base: int
81 bits: 128
82 - *int128
83 out: &1int128
84 - *int128
85 - go: SubPairsSaturated
86 asm: "VPHSUBS[DW]"
87 in: *2int128
88 out: *1int128
89 - go: AddPairsGrouped
90 asm: "VPHADD[DW]"
91 in: &2any256
92 - &any256
93 go: $t
94 bits: 256
95 - *any256
96 out: &1any256
97 - *any256
98 - go: SubPairsGrouped
99 asm: "VPHSUB[DW]"
100 in: *2any256
101 out: *1any256
102 - go: AddPairsGrouped
103 asm: "VHADDP[SD]" # floats
104 in: *2any256
105 out: *1any256
106 - go: SubPairsGrouped
107 asm: "VHSUBP[SD]" # floats
108 in: *2any256
109 out: *1any256
110 - go: AddPairsSaturatedGrouped
111 asm: "VPHADDS[DW]"
112 in: &2int256
113 - &int256
114 go: $t
115 base: int
116 bits: 256
117 - *int256
118 out: &1int256
119 - *int256
120 - go: SubPairsSaturatedGrouped
121 asm: "VPHSUBS[DW]"
122 in: *2int256
123 out: *1int256
124
View as plain text