Revision ad69471c target-arm/helpers.h

b/target-arm/helpers.h
84 84
DEF_HELPER_1_2(sdiv, int32_t, (int32_t, int32_t))
85 85
DEF_HELPER_1_2(udiv, uint32_t, (uint32_t, uint32_t))
86 86
DEF_HELPER_1_1(rbit, uint32_t, (uint32_t))
87
DEF_HELPER_1_1(abs, uint32_t, (uint32_t))
87 88

  
88 89
#define PAS_OP(pfx)  \
89 90
    DEF_HELPER_1_3(pfx ## add8, uint32_t, (uint32_t, uint32_t, uint32_t *)) \
......
208 209
DEF_HELPER_1_2(recpe_u32, uint32_t, (uint32_t, CPUState *))
209 210
DEF_HELPER_1_2(rsqrte_u32, uint32_t, (uint32_t, CPUState *))
210 211
DEF_HELPER_1_4(neon_tbl, uint32_t, (uint32_t, uint32_t, uint32_t, uint32_t))
212
DEF_HELPER_1_2(neon_add_saturate_u64, uint64_t, (uint64_t, uint64_t))
213
DEF_HELPER_1_2(neon_add_saturate_s64, uint64_t, (uint64_t, uint64_t))
214
DEF_HELPER_1_2(neon_sub_saturate_u64, uint64_t, (uint64_t, uint64_t))
215
DEF_HELPER_1_2(neon_sub_saturate_s64, uint64_t, (uint64_t, uint64_t))
211 216

  
212 217
DEF_HELPER_1_2(add_cc, uint32_t, (uint32_t, uint32_t))
213 218
DEF_HELPER_1_2(adc_cc, uint32_t, (uint32_t, uint32_t))
......
223 228
DEF_HELPER_1_2(sar_cc, uint32_t, (uint32_t, uint32_t))
224 229
DEF_HELPER_1_2(ror_cc, uint32_t, (uint32_t, uint32_t))
225 230

  
231
/* neon_helper.c */
232
DEF_HELPER_1_3(neon_qadd_u8, uint32_t, (CPUState *, uint32_t, uint32_t))
233
DEF_HELPER_1_3(neon_qadd_s8, uint32_t, (CPUState *, uint32_t, uint32_t))
234
DEF_HELPER_1_3(neon_qadd_u16, uint32_t, (CPUState *, uint32_t, uint32_t))
235
DEF_HELPER_1_3(neon_qadd_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
236
DEF_HELPER_1_3(neon_qsub_u8, uint32_t, (CPUState *, uint32_t, uint32_t))
237
DEF_HELPER_1_3(neon_qsub_s8, uint32_t, (CPUState *, uint32_t, uint32_t))
238
DEF_HELPER_1_3(neon_qsub_u16, uint32_t, (CPUState *, uint32_t, uint32_t))
239
DEF_HELPER_1_3(neon_qsub_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
240

  
241
DEF_HELPER_1_2(neon_hadd_s8, uint32_t, (uint32_t, uint32_t))
242
DEF_HELPER_1_2(neon_hadd_u8, uint32_t, (uint32_t, uint32_t))
243
DEF_HELPER_1_2(neon_hadd_s16, uint32_t, (uint32_t, uint32_t))
244
DEF_HELPER_1_2(neon_hadd_u16, uint32_t, (uint32_t, uint32_t))
245
DEF_HELPER_1_2(neon_hadd_s32, int32_t, (int32_t, int32_t))
246
DEF_HELPER_1_2(neon_hadd_u32, uint32_t, (uint32_t, uint32_t))
247
DEF_HELPER_1_2(neon_rhadd_s8, uint32_t, (uint32_t, uint32_t))
248
DEF_HELPER_1_2(neon_rhadd_u8, uint32_t, (uint32_t, uint32_t))
249
DEF_HELPER_1_2(neon_rhadd_s16, uint32_t, (uint32_t, uint32_t))
250
DEF_HELPER_1_2(neon_rhadd_u16, uint32_t, (uint32_t, uint32_t))
251
DEF_HELPER_1_2(neon_rhadd_s32, int32_t, (int32_t, int32_t))
252
DEF_HELPER_1_2(neon_rhadd_u32, uint32_t, (uint32_t, uint32_t))
253
DEF_HELPER_1_2(neon_hsub_s8, uint32_t, (uint32_t, uint32_t))
254
DEF_HELPER_1_2(neon_hsub_u8, uint32_t, (uint32_t, uint32_t))
255
DEF_HELPER_1_2(neon_hsub_s16, uint32_t, (uint32_t, uint32_t))
256
DEF_HELPER_1_2(neon_hsub_u16, uint32_t, (uint32_t, uint32_t))
257
DEF_HELPER_1_2(neon_hsub_s32, int32_t, (int32_t, int32_t))
258
DEF_HELPER_1_2(neon_hsub_u32, uint32_t, (uint32_t, uint32_t))
259

  
260
DEF_HELPER_1_2(neon_cgt_u8, uint32_t, (uint32_t, uint32_t))
261
DEF_HELPER_1_2(neon_cgt_s8, uint32_t, (uint32_t, uint32_t))
262
DEF_HELPER_1_2(neon_cgt_u16, uint32_t, (uint32_t, uint32_t))
263
DEF_HELPER_1_2(neon_cgt_s16, uint32_t, (uint32_t, uint32_t))
264
DEF_HELPER_1_2(neon_cgt_u32, uint32_t, (uint32_t, uint32_t))
265
DEF_HELPER_1_2(neon_cgt_s32, uint32_t, (uint32_t, uint32_t))
266
DEF_HELPER_1_2(neon_cge_u8, uint32_t, (uint32_t, uint32_t))
267
DEF_HELPER_1_2(neon_cge_s8, uint32_t, (uint32_t, uint32_t))
268
DEF_HELPER_1_2(neon_cge_u16, uint32_t, (uint32_t, uint32_t))
269
DEF_HELPER_1_2(neon_cge_s16, uint32_t, (uint32_t, uint32_t))
270
DEF_HELPER_1_2(neon_cge_u32, uint32_t, (uint32_t, uint32_t))
271
DEF_HELPER_1_2(neon_cge_s32, uint32_t, (uint32_t, uint32_t))
272

  
273
DEF_HELPER_1_2(neon_min_u8, uint32_t, (uint32_t, uint32_t))
274
DEF_HELPER_1_2(neon_min_s8, uint32_t, (uint32_t, uint32_t))
275
DEF_HELPER_1_2(neon_min_u16, uint32_t, (uint32_t, uint32_t))
276
DEF_HELPER_1_2(neon_min_s16, uint32_t, (uint32_t, uint32_t))
277
DEF_HELPER_1_2(neon_min_u32, uint32_t, (uint32_t, uint32_t))
278
DEF_HELPER_1_2(neon_min_s32, uint32_t, (uint32_t, uint32_t))
279
DEF_HELPER_1_2(neon_max_u8, uint32_t, (uint32_t, uint32_t))
280
DEF_HELPER_1_2(neon_max_s8, uint32_t, (uint32_t, uint32_t))
281
DEF_HELPER_1_2(neon_max_u16, uint32_t, (uint32_t, uint32_t))
282
DEF_HELPER_1_2(neon_max_s16, uint32_t, (uint32_t, uint32_t))
283
DEF_HELPER_1_2(neon_max_u32, uint32_t, (uint32_t, uint32_t))
284
DEF_HELPER_1_2(neon_max_s32, uint32_t, (uint32_t, uint32_t))
285
DEF_HELPER_1_2(neon_pmin_u8, uint32_t, (uint32_t, uint32_t))
286
DEF_HELPER_1_2(neon_pmin_s8, uint32_t, (uint32_t, uint32_t))
287
DEF_HELPER_1_2(neon_pmin_u16, uint32_t, (uint32_t, uint32_t))
288
DEF_HELPER_1_2(neon_pmin_s16, uint32_t, (uint32_t, uint32_t))
289
DEF_HELPER_1_2(neon_pmin_u32, uint32_t, (uint32_t, uint32_t))
290
DEF_HELPER_1_2(neon_pmin_s32, uint32_t, (uint32_t, uint32_t))
291
DEF_HELPER_1_2(neon_pmax_u8, uint32_t, (uint32_t, uint32_t))
292
DEF_HELPER_1_2(neon_pmax_s8, uint32_t, (uint32_t, uint32_t))
293
DEF_HELPER_1_2(neon_pmax_u16, uint32_t, (uint32_t, uint32_t))
294
DEF_HELPER_1_2(neon_pmax_s16, uint32_t, (uint32_t, uint32_t))
295
DEF_HELPER_1_2(neon_pmax_u32, uint32_t, (uint32_t, uint32_t))
296
DEF_HELPER_1_2(neon_pmax_s32, uint32_t, (uint32_t, uint32_t))
297

  
298
DEF_HELPER_1_2(neon_abd_u8, uint32_t, (uint32_t, uint32_t))
299
DEF_HELPER_1_2(neon_abd_s8, uint32_t, (uint32_t, uint32_t))
300
DEF_HELPER_1_2(neon_abd_u16, uint32_t, (uint32_t, uint32_t))
301
DEF_HELPER_1_2(neon_abd_s16, uint32_t, (uint32_t, uint32_t))
302
DEF_HELPER_1_2(neon_abd_u32, uint32_t, (uint32_t, uint32_t))
303
DEF_HELPER_1_2(neon_abd_s32, uint32_t, (uint32_t, uint32_t))
304

  
305
DEF_HELPER_1_2(neon_shl_u8, uint32_t, (uint32_t, uint32_t))
306
DEF_HELPER_1_2(neon_shl_s8, uint32_t, (uint32_t, uint32_t))
307
DEF_HELPER_1_2(neon_shl_u16, uint32_t, (uint32_t, uint32_t))
308
DEF_HELPER_1_2(neon_shl_s16, uint32_t, (uint32_t, uint32_t))
309
DEF_HELPER_1_2(neon_shl_u32, uint32_t, (uint32_t, uint32_t))
310
DEF_HELPER_1_2(neon_shl_s32, uint32_t, (uint32_t, uint32_t))
311
DEF_HELPER_1_2(neon_shl_u64, uint64_t, (uint64_t, uint64_t))
312
DEF_HELPER_1_2(neon_shl_s64, uint64_t, (uint64_t, uint64_t))
313
DEF_HELPER_1_2(neon_rshl_u8, uint32_t, (uint32_t, uint32_t))
314
DEF_HELPER_1_2(neon_rshl_s8, uint32_t, (uint32_t, uint32_t))
315
DEF_HELPER_1_2(neon_rshl_u16, uint32_t, (uint32_t, uint32_t))
316
DEF_HELPER_1_2(neon_rshl_s16, uint32_t, (uint32_t, uint32_t))
317
DEF_HELPER_1_2(neon_rshl_u32, uint32_t, (uint32_t, uint32_t))
318
DEF_HELPER_1_2(neon_rshl_s32, uint32_t, (uint32_t, uint32_t))
319
DEF_HELPER_1_2(neon_rshl_u64, uint64_t, (uint64_t, uint64_t))
320
DEF_HELPER_1_2(neon_rshl_s64, uint64_t, (uint64_t, uint64_t))
321
DEF_HELPER_1_3(neon_qshl_u8, uint32_t, (CPUState *, uint32_t, uint32_t))
322
DEF_HELPER_1_3(neon_qshl_s8, uint32_t, (CPUState *, uint32_t, uint32_t))
323
DEF_HELPER_1_3(neon_qshl_u16, uint32_t, (CPUState *, uint32_t, uint32_t))
324
DEF_HELPER_1_3(neon_qshl_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
325
DEF_HELPER_1_3(neon_qshl_u32, uint32_t, (CPUState *, uint32_t, uint32_t))
326
DEF_HELPER_1_3(neon_qshl_s32, uint32_t, (CPUState *, uint32_t, uint32_t))
327
DEF_HELPER_1_3(neon_qshl_u64, uint64_t, (CPUState *, uint64_t, uint64_t))
328
DEF_HELPER_1_3(neon_qshl_s64, uint64_t, (CPUState *, uint64_t, uint64_t))
329
DEF_HELPER_1_3(neon_qrshl_u8, uint32_t, (CPUState *, uint32_t, uint32_t))
330
DEF_HELPER_1_3(neon_qrshl_s8, uint32_t, (CPUState *, uint32_t, uint32_t))
331
DEF_HELPER_1_3(neon_qrshl_u16, uint32_t, (CPUState *, uint32_t, uint32_t))
332
DEF_HELPER_1_3(neon_qrshl_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
333
DEF_HELPER_1_3(neon_qrshl_u32, uint32_t, (CPUState *, uint32_t, uint32_t))
334
DEF_HELPER_1_3(neon_qrshl_s32, uint32_t, (CPUState *, uint32_t, uint32_t))
335
DEF_HELPER_1_3(neon_qrshl_u64, uint64_t, (CPUState *, uint64_t, uint64_t))
336
DEF_HELPER_1_3(neon_qrshl_s64, uint64_t, (CPUState *, uint64_t, uint64_t))
337

  
338
DEF_HELPER_1_2(neon_add_u8, uint32_t, (uint32_t, uint32_t))
339
DEF_HELPER_1_2(neon_add_u16, uint32_t, (uint32_t, uint32_t))
340
DEF_HELPER_1_2(neon_padd_u8, uint32_t, (uint32_t, uint32_t))
341
DEF_HELPER_1_2(neon_padd_u16, uint32_t, (uint32_t, uint32_t))
342
DEF_HELPER_1_2(neon_sub_u8, uint32_t, (uint32_t, uint32_t))
343
DEF_HELPER_1_2(neon_sub_u16, uint32_t, (uint32_t, uint32_t))
344
DEF_HELPER_1_2(neon_mul_u8, uint32_t, (uint32_t, uint32_t))
345
DEF_HELPER_1_2(neon_mul_u16, uint32_t, (uint32_t, uint32_t))
346
DEF_HELPER_1_2(neon_mul_p8, uint32_t, (uint32_t, uint32_t))
347

  
348
DEF_HELPER_1_2(neon_tst_u8, uint32_t, (uint32_t, uint32_t))
349
DEF_HELPER_1_2(neon_tst_u16, uint32_t, (uint32_t, uint32_t))
350
DEF_HELPER_1_2(neon_tst_u32, uint32_t, (uint32_t, uint32_t))
351
DEF_HELPER_1_2(neon_ceq_u8, uint32_t, (uint32_t, uint32_t))
352
DEF_HELPER_1_2(neon_ceq_u16, uint32_t, (uint32_t, uint32_t))
353
DEF_HELPER_1_2(neon_ceq_u32, uint32_t, (uint32_t, uint32_t))
354

  
355
DEF_HELPER_1_1(neon_abs_s8, uint32_t, (uint32_t))
356
DEF_HELPER_1_1(neon_abs_s16, uint32_t, (uint32_t))
357
DEF_HELPER_1_1(neon_clz_u8, uint32_t, (uint32_t))
358
DEF_HELPER_1_1(neon_clz_u16, uint32_t, (uint32_t))
359
DEF_HELPER_1_1(neon_cls_s8, uint32_t, (uint32_t))
360
DEF_HELPER_1_1(neon_cls_s16, uint32_t, (uint32_t))
361
DEF_HELPER_1_1(neon_cls_s32, uint32_t, (uint32_t))
362
DEF_HELPER_1_1(neon_cnt_u8, uint32_t, (uint32_t))
363

  
364
DEF_HELPER_1_3(neon_qdmulh_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
365
DEF_HELPER_1_3(neon_qrdmulh_s16, uint32_t, (CPUState *, uint32_t, uint32_t))
366
DEF_HELPER_1_3(neon_qdmulh_s32, uint32_t, (CPUState *, uint32_t, uint32_t))
367
DEF_HELPER_1_3(neon_qrdmulh_s32, uint32_t, (CPUState *, uint32_t, uint32_t))
368

  
369
DEF_HELPER_1_1(neon_narrow_u8, uint32_t, (uint64_t))
370
DEF_HELPER_1_1(neon_narrow_u16, uint32_t, (uint64_t))
371
DEF_HELPER_1_2(neon_narrow_sat_u8, uint32_t, (CPUState *, uint64_t))
372
DEF_HELPER_1_2(neon_narrow_sat_s8, uint32_t, (CPUState *, uint64_t))
373
DEF_HELPER_1_2(neon_narrow_sat_u16, uint32_t, (CPUState *, uint64_t))
374
DEF_HELPER_1_2(neon_narrow_sat_s16, uint32_t, (CPUState *, uint64_t))
375
DEF_HELPER_1_2(neon_narrow_sat_u32, uint32_t, (CPUState *, uint64_t))
376
DEF_HELPER_1_2(neon_narrow_sat_s32, uint32_t, (CPUState *, uint64_t))
377
DEF_HELPER_1_1(neon_narrow_high_u8, uint32_t, (uint64_t))
378
DEF_HELPER_1_1(neon_narrow_high_u16, uint32_t, (uint64_t))
379
DEF_HELPER_1_1(neon_narrow_round_high_u8, uint32_t, (uint64_t))
380
DEF_HELPER_1_1(neon_narrow_round_high_u16, uint32_t, (uint64_t))
381
DEF_HELPER_1_1(neon_widen_u8, uint64_t, (uint32_t))
382
DEF_HELPER_1_1(neon_widen_s8, uint64_t, (uint32_t))
383
DEF_HELPER_1_1(neon_widen_u16, uint64_t, (uint32_t))
384
DEF_HELPER_1_1(neon_widen_s16, uint64_t, (uint32_t))
385

  
386
DEF_HELPER_1_2(neon_addl_u16, uint64_t, (uint64_t, uint64_t))
387
DEF_HELPER_1_2(neon_addl_u32, uint64_t, (uint64_t, uint64_t))
388
DEF_HELPER_1_2(neon_paddl_u16, uint64_t, (uint64_t, uint64_t))
389
DEF_HELPER_1_2(neon_paddl_u32, uint64_t, (uint64_t, uint64_t))
390
DEF_HELPER_1_2(neon_subl_u16, uint64_t, (uint64_t, uint64_t))
391
DEF_HELPER_1_2(neon_subl_u32, uint64_t, (uint64_t, uint64_t))
392
DEF_HELPER_1_3(neon_addl_saturate_s32, uint64_t, (CPUState *, uint64_t, uint64_t))
393
DEF_HELPER_1_3(neon_addl_saturate_s64, uint64_t, (CPUState *, uint64_t, uint64_t))
394
DEF_HELPER_1_2(neon_abdl_u16, uint64_t, (uint32_t, uint32_t))
395
DEF_HELPER_1_2(neon_abdl_s16, uint64_t, (uint32_t, uint32_t))
396
DEF_HELPER_1_2(neon_abdl_u32, uint64_t, (uint32_t, uint32_t))
397
DEF_HELPER_1_2(neon_abdl_s32, uint64_t, (uint32_t, uint32_t))
398
DEF_HELPER_1_2(neon_abdl_u64, uint64_t, (uint32_t, uint32_t))
399
DEF_HELPER_1_2(neon_abdl_s64, uint64_t, (uint32_t, uint32_t))
400
DEF_HELPER_1_2(neon_mull_u8, uint64_t, (uint32_t, uint32_t))
401
DEF_HELPER_1_2(neon_mull_s8, uint64_t, (uint32_t, uint32_t))
402
DEF_HELPER_1_2(neon_mull_u16, uint64_t, (uint32_t, uint32_t))
403
DEF_HELPER_1_2(neon_mull_s16, uint64_t, (uint32_t, uint32_t))
404

  
405
DEF_HELPER_1_1(neon_negl_u16, uint64_t, (uint64_t))
406
DEF_HELPER_1_1(neon_negl_u32, uint64_t, (uint64_t))
407
DEF_HELPER_1_1(neon_negl_u64, uint64_t, (uint64_t))
408

  
409
DEF_HELPER_1_2(neon_qabs_s8, uint32_t, (CPUState *, uint32_t))
410
DEF_HELPER_1_2(neon_qabs_s16, uint32_t, (CPUState *, uint32_t))
411
DEF_HELPER_1_2(neon_qabs_s32, uint32_t, (CPUState *, uint32_t))
412
DEF_HELPER_1_2(neon_qneg_s8, uint32_t, (CPUState *, uint32_t))
413
DEF_HELPER_1_2(neon_qneg_s16, uint32_t, (CPUState *, uint32_t))
414
DEF_HELPER_1_2(neon_qneg_s32, uint32_t, (CPUState *, uint32_t))
415

  
416
DEF_HELPER_0_0(neon_trn_u8, void, (void))
417
DEF_HELPER_0_0(neon_trn_u16, void, (void))
418
DEF_HELPER_0_0(neon_unzip_u8, void, (void))
419
DEF_HELPER_0_0(neon_zip_u8, void, (void))
420
DEF_HELPER_0_0(neon_zip_u16, void, (void))
421

  
422
DEF_HELPER_1_2(neon_min_f32, uint32_t, (uint32_t, uint32_t))
423
DEF_HELPER_1_2(neon_max_f32, uint32_t, (uint32_t, uint32_t))
424
DEF_HELPER_1_2(neon_abd_f32, uint32_t, (uint32_t, uint32_t))
425
DEF_HELPER_1_2(neon_add_f32, uint32_t, (uint32_t, uint32_t))
426
DEF_HELPER_1_2(neon_sub_f32, uint32_t, (uint32_t, uint32_t))
427
DEF_HELPER_1_2(neon_mul_f32, uint32_t, (uint32_t, uint32_t))
428
DEF_HELPER_1_2(neon_ceq_f32, uint32_t, (uint32_t, uint32_t))
429
DEF_HELPER_1_2(neon_cge_f32, uint32_t, (uint32_t, uint32_t))
430
DEF_HELPER_1_2(neon_cgt_f32, uint32_t, (uint32_t, uint32_t))
431
DEF_HELPER_1_2(neon_acge_f32, uint32_t, (uint32_t, uint32_t))
432
DEF_HELPER_1_2(neon_acgt_f32, uint32_t, (uint32_t, uint32_t))
433

  
226 434
#undef DEF_HELPER
227 435
#undef DEF_HELPER_0_0
228 436
#undef DEF_HELPER_0_1

Also available in: Unified diff