1 .macro f16_sss_arithmetic reg0, reg1, reg2 2 .irp op, vdiv, vfma, vfms, vfnma, vfnms, vmla, vmls, vmul, vnmla, vnmls, vnmul, vsub 3 .irp cond, eq.f16, ne.f16, ge.f16, lt.f16, gt.f16, le.f16 4 \op\cond s\reg0, s\reg1, s\reg2 5 .endr 6 .endr 7 .endm 8 9 .macro f16_ss_arithmetic reg0, reg1 10 .irp op, vabs, vadd, vsqrt, vneg 11 .irp cond, eq.f16, ne.f16, ge.f16, lt.f16, gt.f16, le.f16 12 \op\cond s\reg0, s\reg1 13 .endr 14 .endr 15 .endm 16 17 .macro f16_si_cmp reg0, imm 18 .irp op, vcmp, vcmpe 19 .irp cond, eq.f16, ne.f16, ge.f16, lt.f16, gt.f16, le.f16 20 \op\cond s\reg0, \imm 21 .endr 22 .endr 23 .endm 24 25 .macro f16_ss_cmp reg0, reg1 26 .irp op, vcmp, vcmpe 27 .irp cond, eq.f16, ne.f16, ge.f16, lt.f16, gt.f16, le.f16 28 \op\cond s\reg0, s\reg1 29 .endr 30 .endr 31 .endm 32 33 .macro f16_ss_cvt reg0, reg1 34 .irp cond, eq, ne, ge, lt, gt, le 35 .irp mode, .s32.f16, .u32.f16, .f16.s32, .f16.u32 36 vcvt\cond\mode s\reg0, s\reg1 37 .endr 38 .endr 39 .endm 40 41 .macro f16_ssi_cvt_imm32 reg0, reg1, imm 42 .irp cond, eq, ne, ge, lt, gt, le 43 .irp mode, .s32.f16, .u32.f16, .f16.s32, .f16.u32 44 vcvt\cond\mode s\reg0, s\reg1, \imm 45 .endr 46 .endr 47 .endm 48 49 .macro f16_ss_cvt_r reg0, reg1 50 .irp cond, eq, ne, ge, lt, gt, le 51 .irp mode, .s32.f16, .u32.f16 52 vcvtr\cond\mode s\reg0, s\reg1 53 .endr 54 .endr 55 .endm 56 57 .macro f16_ss_vrint reg0, reg1 58 .irp op, vrintr, vrintx, vrintz 59 .irp cond, eq.f16, ne.f16, ge.f16, lt.f16, gt.f16, le.f16 60 \op\cond s\reg0, s\reg1 61 .endr 62 .endr 63 .endm 64 65 .text 66 67 @ invalied immediate range 68 vldr.16 s6, [pc, #-511] 69 vldr.16 s6, [pc, #111] 70 vldr.16 s3, [pc, #511] 71 72 @ invalid immediate range 73 vcvt.s32.f16 s11, s11, #33 74 vcvt.u32.f16 s11, s11, #0 75 vcvt.f16.s32 s12, s12, #34 76 vcvt.f16.u32 s12, s12, #-1 77 78 @ armv8.2 fp16 scalar instruction cannot be conditional 79 f16_sss_arithmetic 0, 1, 2 80 f16_ss_arithmetic 0, 1 81 f16_si_cmp 2, #0.0 82 f16_ss_cmp 0, 1 83 f16_ss_cvt 1, 8 84 f16_ssi_cvt_imm32 2, 2, #29 85 f16_ss_cvt_r 0, 10 86 f16_ss_vrint 3, 11 87