1
2
3 package main
4
5 func simdARM64SVEOps(z11, z21, zkv, z2kk, z2kv, z2kvPred, z3kvPred regInfo) []opData {
6 return []opData{
7 {name: "ZABSB", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
8 {name: "ZABSD", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
9 {name: "ZABSH", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
10 {name: "ZABSMergingB", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
11 {name: "ZABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
12 {name: "ZABSMergingH", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
13 {name: "ZABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZABS", typ: "Vec256", resultInArg0: true},
14 {name: "ZABSS", argLength: 2, reg: zkv, asm: "ZABS", typ: "Vec256"},
15 {name: "ZADDB", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
16 {name: "ZADDD", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
17 {name: "ZADDH", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
18 {name: "ZADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
19 {name: "ZADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
20 {name: "ZADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
21 {name: "ZADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
22 {name: "ZADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
23 {name: "ZADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
24 {name: "ZADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZADD", typ: "Vec256", resultInArg0: true},
25 {name: "ZADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZADD", commutative: true, typ: "Vec256"},
26 {name: "ZADDS", argLength: 2, reg: z21, asm: "ZADD", commutative: true, typ: "Vec256"},
27 {name: "ZANDD", argLength: 2, reg: z21, asm: "ZAND", commutative: true, typ: "Vec256"},
28 {name: "ZANDMergingB", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
29 {name: "ZANDMergingD", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
30 {name: "ZANDMergingH", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
31 {name: "ZANDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
32 {name: "ZANDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
33 {name: "ZANDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
34 {name: "ZANDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZAND", typ: "Vec256", resultInArg0: true},
35 {name: "ZANDMergingS", argLength: 3, reg: z2kvPred, asm: "ZAND", commutative: true, typ: "Vec256"},
36 {name: "ZBICD", argLength: 2, reg: z21, asm: "ZBIC", typ: "Vec256"},
37 {name: "ZBICMergingB", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
38 {name: "ZBICMergingD", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
39 {name: "ZBICMergingH", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
40 {name: "ZBICMergingS", argLength: 3, reg: z2kvPred, asm: "ZBIC", typ: "Vec256", resultInArg0: true},
41 {name: "ZCMPEQB", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
42 {name: "ZCMPEQD", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
43 {name: "ZCMPEQH", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
44 {name: "ZCMPEQS", argLength: 3, reg: z2kk, asm: "ZCMPEQ", commutative: true, typ: "Mask"},
45 {name: "ZCMPGEB", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
46 {name: "ZCMPGED", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
47 {name: "ZCMPGEH", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
48 {name: "ZCMPGES", argLength: 3, reg: z2kk, asm: "ZCMPGE", typ: "Mask"},
49 {name: "ZCMPGTB", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
50 {name: "ZCMPGTD", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
51 {name: "ZCMPGTH", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
52 {name: "ZCMPGTS", argLength: 3, reg: z2kk, asm: "ZCMPGT", typ: "Mask"},
53 {name: "ZCMPHIB", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
54 {name: "ZCMPHID", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
55 {name: "ZCMPHIH", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
56 {name: "ZCMPHIS", argLength: 3, reg: z2kk, asm: "ZCMPHI", typ: "Mask"},
57 {name: "ZCMPHSB", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
58 {name: "ZCMPHSD", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
59 {name: "ZCMPHSH", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
60 {name: "ZCMPHSS", argLength: 3, reg: z2kk, asm: "ZCMPHS", typ: "Mask"},
61 {name: "ZCMPNEB", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
62 {name: "ZCMPNED", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
63 {name: "ZCMPNEH", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
64 {name: "ZCMPNES", argLength: 3, reg: z2kk, asm: "ZCMPNE", commutative: true, typ: "Mask"},
65 {name: "ZEORD", argLength: 2, reg: z21, asm: "ZEOR", commutative: true, typ: "Vec256"},
66 {name: "ZEORMergingB", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
67 {name: "ZEORMergingD", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
68 {name: "ZEORMergingH", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
69 {name: "ZEORMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
70 {name: "ZEORMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
71 {name: "ZEORMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
72 {name: "ZEORMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZEOR", typ: "Vec256", resultInArg0: true},
73 {name: "ZEORMergingS", argLength: 3, reg: z2kvPred, asm: "ZEOR", commutative: true, typ: "Vec256"},
74 {name: "ZFABSD", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
75 {name: "ZFABSMergingD", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
76 {name: "ZFABSMergingS", argLength: 3, reg: z2kvPred, asm: "ZFABS", typ: "Vec256", resultInArg0: true},
77 {name: "ZFABSS", argLength: 2, reg: zkv, asm: "ZFABS", typ: "Vec256"},
78 {name: "ZFADDD", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
79 {name: "ZFADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
80 {name: "ZFADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
81 {name: "ZFADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZFADD", typ: "Vec256", resultInArg0: true},
82 {name: "ZFADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZFADD", commutative: true, typ: "Vec256"},
83 {name: "ZFADDS", argLength: 2, reg: z21, asm: "ZFADD", commutative: true, typ: "Vec256"},
84 {name: "ZFCMEQD", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
85 {name: "ZFCMEQS", argLength: 3, reg: z2kk, asm: "ZFCMEQ", commutative: true, typ: "Mask"},
86 {name: "ZFCMGED", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
87 {name: "ZFCMGES", argLength: 3, reg: z2kk, asm: "ZFCMGE", typ: "Mask"},
88 {name: "ZFCMGTD", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
89 {name: "ZFCMGTS", argLength: 3, reg: z2kk, asm: "ZFCMGT", typ: "Mask"},
90 {name: "ZFCMNED", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
91 {name: "ZFCMNES", argLength: 3, reg: z2kk, asm: "ZFCMNE", commutative: true, typ: "Mask"},
92 {name: "ZFMULD", argLength: 2, reg: z21, asm: "ZFMUL", commutative: true, typ: "Vec256"},
93 {name: "ZFMULMergingD", argLength: 3, reg: z2kvPred, asm: "ZFMUL", commutative: true, typ: "Vec256"},
94 {name: "ZFMULMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZFMUL", typ: "Vec256", resultInArg0: true},
95 {name: "ZFMULMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZFMUL", typ: "Vec256", resultInArg0: true},
96 {name: "ZFMULMergingS", argLength: 3, reg: z2kvPred, asm: "ZFMUL", commutative: true, typ: "Vec256"},
97 {name: "ZFMULS", argLength: 2, reg: z21, asm: "ZFMUL", commutative: true, typ: "Vec256"},
98 {name: "ZFNEGD", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
99 {name: "ZFNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
100 {name: "ZFNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZFNEG", typ: "Vec256", resultInArg0: true},
101 {name: "ZFNEGS", argLength: 2, reg: zkv, asm: "ZFNEG", typ: "Vec256"},
102 {name: "ZFRINTMD", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
103 {name: "ZFRINTMS", argLength: 2, reg: zkv, asm: "ZFRINTM", typ: "Vec256"},
104 {name: "ZFRINTND", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
105 {name: "ZFRINTNS", argLength: 2, reg: zkv, asm: "ZFRINTN", typ: "Vec256"},
106 {name: "ZFRINTPD", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
107 {name: "ZFRINTPS", argLength: 2, reg: zkv, asm: "ZFRINTP", typ: "Vec256"},
108 {name: "ZFRINTZD", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
109 {name: "ZFRINTZS", argLength: 2, reg: zkv, asm: "ZFRINTZ", typ: "Vec256"},
110 {name: "ZFSQRTD", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
111 {name: "ZFSQRTMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
112 {name: "ZFSQRTMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSQRT", typ: "Vec256", resultInArg0: true},
113 {name: "ZFSQRTS", argLength: 2, reg: zkv, asm: "ZFSQRT", typ: "Vec256"},
114 {name: "ZFSUBD", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
115 {name: "ZFSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
116 {name: "ZFSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZFSUB", typ: "Vec256", resultInArg0: true},
117 {name: "ZFSUBS", argLength: 2, reg: z21, asm: "ZFSUB", typ: "Vec256"},
118 {name: "ZMULB", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
119 {name: "ZMULD", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
120 {name: "ZMULH", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
121 {name: "ZMULMergingB", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
122 {name: "ZMULMergingD", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
123 {name: "ZMULMergingH", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
124 {name: "ZMULMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
125 {name: "ZMULMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
126 {name: "ZMULMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
127 {name: "ZMULMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZMUL", typ: "Vec256", resultInArg0: true},
128 {name: "ZMULMergingS", argLength: 3, reg: z2kvPred, asm: "ZMUL", commutative: true, typ: "Vec256"},
129 {name: "ZMULS", argLength: 2, reg: z21, asm: "ZMUL", commutative: true, typ: "Vec256"},
130 {name: "ZNEGB", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
131 {name: "ZNEGD", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
132 {name: "ZNEGH", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
133 {name: "ZNEGMergingB", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
134 {name: "ZNEGMergingD", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
135 {name: "ZNEGMergingH", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
136 {name: "ZNEGMergingS", argLength: 3, reg: z2kvPred, asm: "ZNEG", typ: "Vec256", resultInArg0: true},
137 {name: "ZNEGS", argLength: 2, reg: zkv, asm: "ZNEG", typ: "Vec256"},
138 {name: "ZORRD", argLength: 2, reg: z21, asm: "ZORR", commutative: true, typ: "Vec256"},
139 {name: "ZORRMergingB", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
140 {name: "ZORRMergingD", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
141 {name: "ZORRMergingH", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
142 {name: "ZORRMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
143 {name: "ZORRMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
144 {name: "ZORRMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
145 {name: "ZORRMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZORR", typ: "Vec256", resultInArg0: true},
146 {name: "ZORRMergingS", argLength: 3, reg: z2kvPred, asm: "ZORR", commutative: true, typ: "Vec256"},
147 {name: "ZSMULHB", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
148 {name: "ZSMULHD", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
149 {name: "ZSMULHH", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
150 {name: "ZSMULHMergingB", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
151 {name: "ZSMULHMergingD", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
152 {name: "ZSMULHMergingH", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
153 {name: "ZSMULHMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
154 {name: "ZSMULHMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
155 {name: "ZSMULHMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
156 {name: "ZSMULHMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZSMULH", typ: "Vec256", resultInArg0: true},
157 {name: "ZSMULHMergingS", argLength: 3, reg: z2kvPred, asm: "ZSMULH", commutative: true, typ: "Vec256"},
158 {name: "ZSMULHS", argLength: 2, reg: z21, asm: "ZSMULH", commutative: true, typ: "Vec256"},
159 {name: "ZSQADDB", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
160 {name: "ZSQADDD", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
161 {name: "ZSQADDH", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
162 {name: "ZSQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
163 {name: "ZSQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
164 {name: "ZSQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
165 {name: "ZSQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
166 {name: "ZSQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
167 {name: "ZSQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
168 {name: "ZSQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZSQADD", typ: "Vec256", resultInArg0: true},
169 {name: "ZSQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQADD", commutative: true, typ: "Vec256"},
170 {name: "ZSQADDS", argLength: 2, reg: z21, asm: "ZSQADD", commutative: true, typ: "Vec256"},
171 {name: "ZSQSUBB", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
172 {name: "ZSQSUBD", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
173 {name: "ZSQSUBH", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
174 {name: "ZSQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
175 {name: "ZSQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
176 {name: "ZSQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
177 {name: "ZSQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSQSUB", typ: "Vec256", resultInArg0: true},
178 {name: "ZSQSUBS", argLength: 2, reg: z21, asm: "ZSQSUB", typ: "Vec256"},
179 {name: "ZSUBB", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
180 {name: "ZSUBD", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
181 {name: "ZSUBH", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
182 {name: "ZSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
183 {name: "ZSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
184 {name: "ZSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
185 {name: "ZSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZSUB", typ: "Vec256", resultInArg0: true},
186 {name: "ZSUBS", argLength: 2, reg: z21, asm: "ZSUB", typ: "Vec256"},
187 {name: "ZUMULHB", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
188 {name: "ZUMULHD", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
189 {name: "ZUMULHH", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
190 {name: "ZUMULHMergingB", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
191 {name: "ZUMULHMergingD", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
192 {name: "ZUMULHMergingH", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
193 {name: "ZUMULHMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
194 {name: "ZUMULHMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
195 {name: "ZUMULHMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
196 {name: "ZUMULHMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZUMULH", typ: "Vec256", resultInArg0: true},
197 {name: "ZUMULHMergingS", argLength: 3, reg: z2kvPred, asm: "ZUMULH", commutative: true, typ: "Vec256"},
198 {name: "ZUMULHS", argLength: 2, reg: z21, asm: "ZUMULH", commutative: true, typ: "Vec256"},
199 {name: "ZUQADDB", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
200 {name: "ZUQADDD", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
201 {name: "ZUQADDH", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
202 {name: "ZUQADDMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
203 {name: "ZUQADDMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
204 {name: "ZUQADDMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
205 {name: "ZUQADDMergingPrefixedB", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
206 {name: "ZUQADDMergingPrefixedD", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
207 {name: "ZUQADDMergingPrefixedH", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
208 {name: "ZUQADDMergingPrefixedS", argLength: 4, reg: z3kvPred, asm: "ZUQADD", typ: "Vec256", resultInArg0: true},
209 {name: "ZUQADDMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQADD", commutative: true, typ: "Vec256"},
210 {name: "ZUQADDS", argLength: 2, reg: z21, asm: "ZUQADD", commutative: true, typ: "Vec256"},
211 {name: "ZUQSUBB", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
212 {name: "ZUQSUBD", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
213 {name: "ZUQSUBH", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
214 {name: "ZUQSUBMergingB", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
215 {name: "ZUQSUBMergingD", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
216 {name: "ZUQSUBMergingH", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
217 {name: "ZUQSUBMergingS", argLength: 3, reg: z2kvPred, asm: "ZUQSUB", typ: "Vec256", resultInArg0: true},
218 {name: "ZUQSUBS", argLength: 2, reg: z21, asm: "ZUQSUB", typ: "Vec256"},
219 }
220 }
221
View as plain text