1 #name: ARM v8.2 FP16 support on scalar 2 #source: armv8-2-fp16-scalar.s 3 #objdump: -d 4 #as: -march=armv8.2-a+fp16 -mfpu=fp-armv8 5 #skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd 6 7 .*: +file format .*arm.* 8 Disassembly of section .text: 9 10 00000000 <label-0xc>: 11 0: ee001910 vmov.f16 s0, r1 12 4: ee100990 vmov.f16 r0, s1 13 8: eeb00900 vmov.f16 s0, #0 ; 0x40000000 2.0 14 15 0000000c <label>: 16 c: 00000ffe .word 0x00000ffe 17 10: ed5f1906 vldr.16 s3, \[pc, #-12\] ; c <label> 18 14: ed1f3902 vldr.16 s6, \[pc, #-4\] ; 18 <label\+0xc> 19 18: eddf1902 vldr.16 s3, \[pc, #4\] ; 24 <label\+0x18> 20 1c: edd00902 vldr.16 s1, \[r0, #4\] 21 20: ed101902 vldr.16 s2, \[r0, #-4\] 22 24: ed803902 vstr.16 s6, \[r0, #4\] 23 28: ed405902 vstr.16 s11, \[r0, #-4\] 24 2c: eec6298c vdiv.f16 s5, s13, s24 25 30: eee6298c vfma.f16 s5, s13, s24 26 34: eee629cc vfms.f16 s5, s13, s24 27 38: eed629cc vfnma.f16 s5, s13, s24 28 3c: eed6298c vfnms.f16 s5, s13, s24 29 40: fec6298c vmaxnm.f16 s5, s13, s24 30 44: fec629cc vminnm.f16 s5, s13, s24 31 48: ee46298c vmla.f16 s5, s13, s24 32 4c: ee4629cc vmls.f16 s5, s13, s24 33 50: ee66298c vmul.f16 s5, s13, s24 34 54: ee5629cc vnmla.f16 s5, s13, s24 35 58: ee56298c vnmls.f16 s5, s13, s24 36 5c: ee6629cc vnmul.f16 s5, s13, s24 37 60: ee7629cc vsub.f16 s5, s13, s24 38 64: eef029c6 vabs.f16 s5, s12 39 68: ee722986 vadd.f16 s5, s5, s12 40 6c: eef129c6 vsqrt.f16 s5, s12 41 70: eef12946 vneg.f16 s5, s12 42 74: eeb51940 vcmp.f16 s2, #0.0 43 78: eeb519c0 vcmpe.f16 s2, #0.0 44 7c: eef42966 vcmp.f16 s5, s13 45 80: eef429e6 vcmpe.f16 s5, s13 46 84: fe4629ab vseleq.f16 s5, s13, s23 47 88: fe6629ab vselge.f16 s5, s13, s23 48 8c: fe5629ab vselvs.f16 s5, s13, s23 49 90: eefd19c4 vcvt.s32.f16 s3, s8 50 94: eefc19c4 vcvt.u32.f16 s3, s8 51 98: eef819c4 vcvt.f16.s32 s3, s8 52 9c: eef81944 vcvt.f16.u32 s3, s8 53 a0: eefa39e1 vcvt.f16.s32 s7, s7, #29 54 a4: eefb39e1 vcvt.f16.u32 s7, s7, #29 55 a8: eefe39e1 vcvt.s32.f16 s7, s7, #29 56 ac: eeff39e1 vcvt.u32.f16 s7, s7, #29 57 b0: fefc29c5 vcvta.s32.f16 s5, s10 58 b4: fefc2945 vcvta.u32.f16 s5, s10 59 b8: feff29c5 vcvtm.s32.f16 s5, s10 60 bc: feff2945 vcvtm.u32.f16 s5, s10 61 c0: fefd29c5 vcvtn.s32.f16 s5, s10 62 c4: fefd2945 vcvtn.u32.f16 s5, s10 63 c8: fefe29c5 vcvtp.s32.f16 s5, s10 64 cc: fefe2945 vcvtp.u32.f16 s5, s10 65 d0: eefc2945 vcvtr.u32.f16 s5, s10 66 d4: eefd2945 vcvtr.s32.f16 s5, s10 67 d8: fef81965 vrinta.f16 s3, s11 68 dc: fefb1965 vrintm.f16 s3, s11 69 e0: fef91965 vrintn.f16 s3, s11 70 e4: fefa1965 vrintp.f16 s3, s11 71 e8: eef61965 vrintr.f16 s3, s11 72 ec: eef71965 vrintx.f16 s3, s11 73 f0: eef619e5 vrintz.f16 s3, s11 74 f4: fef02ae4 vins.f16 s5, s9 75 f8: fef02a64 vmovx.f16 s5, s9 76