1 #name: ARM v8.2 FP16 support on scalar (Thumb) 2 #source: armv8-2-fp16-scalar.s 3 #objdump: -d 4 #as: -march=armv8.2-a+fp16 -mfpu=fp-armv8 -mthumb 5 #skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd 6 7 .*: +file format .*arm.* 8 Disassembly of section .text: 9 10 00000000 <label-0xc>: 11 0: ee00 1910 vmov.f16 s0, r1 12 4: ee10 0990 vmov.f16 r0, s1 13 8: eeb0 0900 vmov.f16 s0, #0 ; 0x40000000 2.0 14 15 0000000c <label>: 16 c: 00000ffe .word 0x00000ffe 17 10: ed5f 1904 vldr.16 s3, \[pc, #-8\] ; c <label> 18 14: ed1f 3902 vldr.16 s6, \[pc, #-4\] ; 14 <label\+0x8> 19 18: eddf 1902 vldr.16 s3, \[pc, #4\] ; 20 <label\+0x14> 20 1c: edd0 0902 vldr.16 s1, \[r0, #4\] 21 20: ed10 1902 vldr.16 s2, \[r0, #-4\] 22 24: ed80 3902 vstr.16 s6, \[r0, #4\] 23 28: ed40 5902 vstr.16 s11, \[r0, #-4\] 24 2c: eec6 298c vdiv.f16 s5, s13, s24 25 30: eee6 298c vfma.f16 s5, s13, s24 26 34: eee6 29cc vfms.f16 s5, s13, s24 27 38: eed6 29cc vfnma.f16 s5, s13, s24 28 3c: eed6 298c vfnms.f16 s5, s13, s24 29 40: fec6 298c vmaxnm.f16 s5, s13, s24 30 44: fec6 29cc vminnm.f16 s5, s13, s24 31 48: ee46 298c vmla.f16 s5, s13, s24 32 4c: ee46 29cc vmls.f16 s5, s13, s24 33 50: ee66 298c vmul.f16 s5, s13, s24 34 54: ee56 29cc vnmla.f16 s5, s13, s24 35 58: ee56 298c vnmls.f16 s5, s13, s24 36 5c: ee66 29cc vnmul.f16 s5, s13, s24 37 60: ee76 29cc vsub.f16 s5, s13, s24 38 64: eef0 29c6 vabs.f16 s5, s12 39 68: ee72 2986 vadd.f16 s5, s5, s12 40 6c: eef1 29c6 vsqrt.f16 s5, s12 41 70: eef1 2946 vneg.f16 s5, s12 42 74: eeb5 1940 vcmp.f16 s2, #0.0 43 78: eeb5 19c0 vcmpe.f16 s2, #0.0 44 7c: eef4 2966 vcmp.f16 s5, s13 45 80: eef4 29e6 vcmpe.f16 s5, s13 46 84: fe46 29ab vseleq.f16 s5, s13, s23 47 88: fe66 29ab vselge.f16 s5, s13, s23 48 8c: fe56 29ab vselvs.f16 s5, s13, s23 49 90: eefd 19c4 vcvt.s32.f16 s3, s8 50 94: eefc 19c4 vcvt.u32.f16 s3, s8 51 98: eef8 19c4 vcvt.f16.s32 s3, s8 52 9c: eef8 1944 vcvt.f16.u32 s3, s8 53 a0: eefa 39e1 vcvt.f16.s32 s7, s7, #29 54 a4: eefb 39e1 vcvt.f16.u32 s7, s7, #29 55 a8: eefe 39e1 vcvt.s32.f16 s7, s7, #29 56 ac: eeff 39e1 vcvt.u32.f16 s7, s7, #29 57 b0: fefc 29c5 vcvta.s32.f16 s5, s10 58 b4: fefc 2945 vcvta.u32.f16 s5, s10 59 b8: feff 29c5 vcvtm.s32.f16 s5, s10 60 bc: feff 2945 vcvtm.u32.f16 s5, s10 61 c0: fefd 29c5 vcvtn.s32.f16 s5, s10 62 c4: fefd 2945 vcvtn.u32.f16 s5, s10 63 c8: fefe 29c5 vcvtp.s32.f16 s5, s10 64 cc: fefe 2945 vcvtp.u32.f16 s5, s10 65 d0: eefc 2945 vcvtr.u32.f16 s5, s10 66 d4: eefd 2945 vcvtr.s32.f16 s5, s10 67 d8: fef8 1965 vrinta.f16 s3, s11 68 dc: fefb 1965 vrintm.f16 s3, s11 69 e0: fef9 1965 vrintn.f16 s3, s11 70 e4: fefa 1965 vrintp.f16 s3, s11 71 e8: eef6 1965 vrintr.f16 s3, s11 72 ec: eef7 1965 vrintx.f16 s3, s11 73 f0: eef6 19e5 vrintz.f16 s3, s11 74 f4: fef0 2ae4 vins.f16 s5, s9 75 f8: fef0 2a64 vmovx.f16 s5, s9 76