@@ -142,6 +142,146 @@ pub fn find(name: &str) -> Option<Intrinsic> {
142
142
output : & :: U32x4 ,
143
143
definition : Named ( "llvm.ppc.altivec.vminuw" )
144
144
} ,
145
+ "_vec_subsbs" => Intrinsic {
146
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
147
+ output : & :: I8x16 ,
148
+ definition : Named ( "llvm.ppc.altivec.vsubsbs" )
149
+ } ,
150
+ "_vec_sububs" => Intrinsic {
151
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
152
+ output : & :: U8x16 ,
153
+ definition : Named ( "llvm.ppc.altivec.vsububs" )
154
+ } ,
155
+ "_vec_subshs" => Intrinsic {
156
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
157
+ output : & :: I16x8 ,
158
+ definition : Named ( "llvm.ppc.altivec.vsubshs" )
159
+ } ,
160
+ "_vec_subuhs" => Intrinsic {
161
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
162
+ output : & :: U16x8 ,
163
+ definition : Named ( "llvm.ppc.altivec.vsubuhs" )
164
+ } ,
165
+ "_vec_subsws" => Intrinsic {
166
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
167
+ output : & :: I32x4 ,
168
+ definition : Named ( "llvm.ppc.altivec.vsubsws" )
169
+ } ,
170
+ "_vec_subuws" => Intrinsic {
171
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
172
+ output : & :: U32x4 ,
173
+ definition : Named ( "llvm.ppc.altivec.vsubuws" )
174
+ } ,
175
+ "_vec_subc" => Intrinsic {
176
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
177
+ output : & :: U32x4 ,
178
+ definition : Named ( "llvm.ppc.altivec.vsubcuw" )
179
+ } ,
180
+ "_vec_addsbs" => Intrinsic {
181
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
182
+ output : & :: I8x16 ,
183
+ definition : Named ( "llvm.ppc.altivec.vaddsbs" )
184
+ } ,
185
+ "_vec_addubs" => Intrinsic {
186
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
187
+ output : & :: U8x16 ,
188
+ definition : Named ( "llvm.ppc.altivec.vaddubs" )
189
+ } ,
190
+ "_vec_addshs" => Intrinsic {
191
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
192
+ output : & :: I16x8 ,
193
+ definition : Named ( "llvm.ppc.altivec.vaddshs" )
194
+ } ,
195
+ "_vec_adduhs" => Intrinsic {
196
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
197
+ output : & :: U16x8 ,
198
+ definition : Named ( "llvm.ppc.altivec.vadduhs" )
199
+ } ,
200
+ "_vec_addsws" => Intrinsic {
201
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
202
+ output : & :: I32x4 ,
203
+ definition : Named ( "llvm.ppc.altivec.vaddsws" )
204
+ } ,
205
+ "_vec_adduws" => Intrinsic {
206
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
207
+ output : & :: U32x4 ,
208
+ definition : Named ( "llvm.ppc.altivec.vadduws" )
209
+ } ,
210
+ "_vec_addc" => Intrinsic {
211
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
212
+ output : & :: U32x4 ,
213
+ definition : Named ( "llvm.ppc.altivec.vaddcuw" )
214
+ } ,
215
+ "_vec_mulesb" => Intrinsic {
216
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
217
+ output : & :: I16x8 ,
218
+ definition : Named ( "llvm.ppc.altivec.vmulesb" )
219
+ } ,
220
+ "_vec_muleub" => Intrinsic {
221
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
222
+ output : & :: U16x8 ,
223
+ definition : Named ( "llvm.ppc.altivec.vmuleub" )
224
+ } ,
225
+ "_vec_mulesh" => Intrinsic {
226
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
227
+ output : & :: I32x4 ,
228
+ definition : Named ( "llvm.ppc.altivec.vmulesh" )
229
+ } ,
230
+ "_vec_muleuh" => Intrinsic {
231
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
232
+ output : & :: U32x4 ,
233
+ definition : Named ( "llvm.ppc.altivec.vmuleuh" )
234
+ } ,
235
+ "_vec_mulosb" => Intrinsic {
236
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
237
+ output : & :: I16x8 ,
238
+ definition : Named ( "llvm.ppc.altivec.vmulosb" )
239
+ } ,
240
+ "_vec_muloub" => Intrinsic {
241
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
242
+ output : & :: U16x8 ,
243
+ definition : Named ( "llvm.ppc.altivec.vmuloub" )
244
+ } ,
245
+ "_vec_mulosh" => Intrinsic {
246
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
247
+ output : & :: I32x4 ,
248
+ definition : Named ( "llvm.ppc.altivec.vmulosh" )
249
+ } ,
250
+ "_vec_mulouh" => Intrinsic {
251
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
252
+ output : & :: U32x4 ,
253
+ definition : Named ( "llvm.ppc.altivec.vmulouh" )
254
+ } ,
255
+ "_vec_avgsb" => Intrinsic {
256
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I8x16 , & :: I8x16 ] ; & INPUTS } ,
257
+ output : & :: I8x16 ,
258
+ definition : Named ( "llvm.ppc.altivec.vavgsb" )
259
+ } ,
260
+ "_vec_avgub" => Intrinsic {
261
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U8x16 , & :: U8x16 ] ; & INPUTS } ,
262
+ output : & :: U8x16 ,
263
+ definition : Named ( "llvm.ppc.altivec.vavgub" )
264
+ } ,
265
+ "_vec_avgsh" => Intrinsic {
266
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I16x8 , & :: I16x8 ] ; & INPUTS } ,
267
+ output : & :: I16x8 ,
268
+ definition : Named ( "llvm.ppc.altivec.vavgsh" )
269
+ } ,
270
+ "_vec_avguh" => Intrinsic {
271
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U16x8 , & :: U16x8 ] ; & INPUTS } ,
272
+ output : & :: U16x8 ,
273
+ definition : Named ( "llvm.ppc.altivec.vavguh" )
274
+ } ,
275
+ "_vec_avgsw" => Intrinsic {
276
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: I32x4 , & :: I32x4 ] ; & INPUTS } ,
277
+ output : & :: I32x4 ,
278
+ definition : Named ( "llvm.ppc.altivec.vavgsw" )
279
+ } ,
280
+ "_vec_avguw" => Intrinsic {
281
+ inputs : { static INPUTS : [ & ' static Type ; 2 ] = [ & :: U32x4 , & :: U32x4 ] ; & INPUTS } ,
282
+ output : & :: U32x4 ,
283
+ definition : Named ( "llvm.ppc.altivec.vavguw" )
284
+ } ,
145
285
_ => return None ,
146
286
} )
147
287
}
0 commit comments