1 #name: ARM v8.2 FP16 support on SIMD 2 #source: armv8-2-fp16-simd.s 3 #objdump: -d 4 #as: -march=armv8.2-a+fp16 -mfpu=neon-fp-armv8 5 #skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd 6 7 .*: +file format .*arm.* 8 9 Disassembly of section .text: 10 11 00000000 <func>: 12 0: f3342d0e vabd.f16 d2, d4, d14 13 4: f3384d6c vabd.f16 q2, q4, q14 14 8: f2142f0e vmax.f16 d2, d4, d14 15 c: f2184f6c vmax.f16 q2, q4, q14 16 10: f2342f0e vmin.f16 d2, d4, d14 17 14: f2384f6c vmin.f16 q2, q4, q14 18 18: f3300dec vabd.f16 q0, q8, q14 19 1c: f2100fec vmax.f16 q0, q8, q14 20 20: f2300fec vmin.f16 q0, q8, q14 21 24: f3331d0f vabd.f16 d1, d3, d15 22 28: f3310d08 vabd.f16 d0, d1, d8 23 2c: f3b50708 vabs.f16 d0, d8 24 30: f3b50760 vabs.f16 q0, q8 25 34: f3b50788 vneg.f16 d0, d8 26 38: f3b507e0 vneg.f16 q0, q8 27 3c: f3b5474c vabs.f16 q2, q6 28 40: f3b547cc vneg.f16 q2, q6 29 44: f3b57703 vabs.f16 d7, d3 30 48: f3b59781 vneg.f16 d9, d1 31 4c: f3142e1e vacge.f16 d2, d4, d14 32 50: f3184e7c vacge.f16 q2, q4, q14 33 54: f3342e1e vacgt.f16 d2, d4, d14 34 58: f3384e7c vacgt.f16 q2, q4, q14 35 5c: f33e2e14 vacgt.f16 d2, d14, d4 36 60: f33c4ed8 vacgt.f16 q2, q14, q4 37 64: f31e2e14 vacge.f16 d2, d14, d4 38 68: f31c4ed8 vacge.f16 q2, q14, q4 39 6c: f2142e0e vceq.f16 d2, d4, d14 40 70: f2184e6c vceq.f16 q2, q4, q14 41 74: f3142e0e vcge.f16 d2, d4, d14 42 78: f3184e6c vcge.f16 q2, q4, q14 43 7c: f3342e0e vcgt.f16 d2, d4, d14 44 80: f3384e6c vcgt.f16 q2, q4, q14 45 84: f31e2e04 vcge.f16 d2, d14, d4 46 88: f31c4ec8 vcge.f16 q2, q14, q4 47 8c: f33e2e04 vcgt.f16 d2, d14, d4 48 90: f33c4ec8 vcgt.f16 q2, q14, q4 49 94: f3100efc vacge.f16 q0, q8, q14 50 98: f3300efc vacgt.f16 q0, q8, q14 51 9c: f33c0ef0 vacgt.f16 q0, q14, q8 52 a0: f31c0ef0 vacge.f16 q0, q14, q8 53 a4: f2100eec vceq.f16 q0, q8, q14 54 a8: f3100eec vcge.f16 q0, q8, q14 55 ac: f3300eec vcgt.f16 q0, q8, q14 56 b0: f31c0ee0 vcge.f16 q0, q14, q8 57 b4: f33c0ee0 vcgt.f16 q0, q14, q8 58 b8: f2142d0e vadd.f16 d2, d4, d14 59 bc: f2184d6c vadd.f16 q2, q4, q14 60 c0: f2342d0e vsub.f16 d2, d4, d14 61 c4: f2384d6c vsub.f16 q2, q4, q14 62 c8: f2100dec vadd.f16 q0, q8, q14 63 cc: f2300dec vsub.f16 q0, q8, q14 64 d0: f3142f1e vmaxnm.f16 d2, d4, d14 65 d4: f3184f7c vmaxnm.f16 q2, q4, q14 66 d8: f3342f1e vminnm.f16 d2, d4, d14 67 dc: f3384f7c vminnm.f16 q2, q4, q14 68 e0: f2142c1e vfma.f16 d2, d4, d14 69 e4: f2184c7c vfma.f16 q2, q4, q14 70 e8: f2342c1e vfms.f16 d2, d4, d14 71 ec: f2384c7c vfms.f16 q2, q4, q14 72 f0: f2142d1e vmla.f16 d2, d4, d14 73 f4: f2184d7c vmla.f16 q2, q4, q14 74 f8: f2342d1e vmls.f16 d2, d4, d14 75 fc: f2384d7c vmls.f16 q2, q4, q14 76 100: f3b6458e vrintz.f16 d4, d14 77 104: f3b685ec vrintz.f16 q4, q14 78 108: f3b6448e vrintx.f16 d4, d14 79 10c: f3b684ec vrintx.f16 q4, q14 80 110: f3b6450e vrinta.f16 d4, d14 81 114: f3b6856c vrinta.f16 q4, q14 82 118: f3b6440e vrintn.f16 d4, d14 83 11c: f3b6846c vrintn.f16 q4, q14 84 120: f3b6478e vrintp.f16 d4, d14 85 124: f3b687ec vrintp.f16 q4, q14 86 128: f3b6468e vrintm.f16 d4, d14 87 12c: f3b686ec vrintm.f16 q4, q14 88 130: f3184d0e vpadd.f16 d4, d8, d14 89 134: f3b74508 vrecpe.f16 d4, d8 90 138: f3b78560 vrecpe.f16 q4, q8 91 13c: f3b74588 vrsqrte.f16 d4, d8 92 140: f3b785e0 vrsqrte.f16 q4, q8 93 144: f3b70564 vrecpe.f16 q0, q10 94 148: f3b705e4 vrsqrte.f16 q0, q10 95 14c: f21a8f1c vrecps.f16 d8, d10, d12 96 150: f2540ff8 vrecps.f16 q8, q10, q12 97 154: f23a8f1c vrsqrts.f16 d8, d10, d12 98 158: f2740ff8 vrsqrts.f16 q8, q10, q12 99 15c: f2104f58 vrecps.f16 q2, q0, q4 100 160: f2304f58 vrsqrts.f16 q2, q0, q4 101 164: f3184f0e vpmax.f16 d4, d8, d14 102 168: f338af02 vpmin.f16 d10, d8, d2 103 16c: f3184d1e vmul.f16 d4, d8, d14 104 170: f3107d11 vmul.f16 d7, d0, d1 105 174: f3104dd0 vmul.f16 q2, q8, q0 106 178: f3b7600c vcvta.s16.f16 d6, d12 107 17c: f3b7c068 vcvta.s16.f16 q6, q12 108 180: f3b7630c vcvtm.s16.f16 d6, d12 109 184: f3b7c368 vcvtm.s16.f16 q6, q12 110 188: f3b7610c vcvtn.s16.f16 d6, d12 111 18c: f3b7c168 vcvtn.s16.f16 q6, q12 112 190: f3b7620c vcvtp.s16.f16 d6, d12 113 194: f3b7c268 vcvtp.s16.f16 q6, q12 114 198: f3b7608c vcvta.u16.f16 d6, d12 115 19c: f3b7c0e8 vcvta.u16.f16 q6, q12 116 1a0: f3b7638c vcvtm.u16.f16 d6, d12 117 1a4: f3b7c3e8 vcvtm.u16.f16 q6, q12 118 1a8: f3b7618c vcvtn.u16.f16 d6, d12 119 1ac: f3b7c1e8 vcvtn.u16.f16 q6, q12 120 1b0: f3b7628c vcvtp.u16.f16 d6, d12 121 1b4: f3b7c2e8 vcvtp.u16.f16 q6, q12 122 1b8: f3b7e700 vcvt.s16.f16 d14, d0 123 1bc: f3f7c740 vcvt.s16.f16 q14, q0 124 1c0: f3b7e780 vcvt.u16.f16 d14, d0 125 1c4: f3f7c7c0 vcvt.u16.f16 q14, q0 126 1c8: f3b7e600 vcvt.f16.s16 d14, d0 127 1cc: f3f7c640 vcvt.f16.s16 q14, q0 128 1d0: f3b7e680 vcvt.f16.u16 d14, d0 129 1d4: f3f7c6c0 vcvt.f16.u16 q14, q0 130 1d8: f2bded10 vcvt.s16.f16 d14, d0, #3 131 1dc: f2fdcd50 vcvt.s16.f16 q14, q0, #3 132 1e0: f3bded10 vcvt.u16.f16 d14, d0, #3 133 1e4: f3fdcd50 vcvt.u16.f16 q14, q0, #3 134 1e8: f2bdec10 vcvt.f16.s16 d14, d0, #3 135 1ec: f2fdcc50 vcvt.f16.s16 q14, q0, #3 136 1f0: f3bdec10 vcvt.f16.u16 d14, d0, #3 137 1f4: f3fdcc50 vcvt.f16.u16 q14, q0, #3 138 1f8: f3b5e502 vceq.f16 d14, d2, #0 139 1fc: f3f5c544 vceq.f16 q14, q2, #0 140 200: f3b5e482 vcge.f16 d14, d2, #0 141 204: f3f5c4c4 vcge.f16 q14, q2, #0 142 208: f3b5e402 vcgt.f16 d14, d2, #0 143 20c: f3f5c444 vcgt.f16 q14, q2, #0 144 210: f3b5e582 vcle.f16 d14, d2, #0 145 214: f3f5c5c4 vcle.f16 q14, q2, #0 146 218: f3b5e602 vclt.f16 d14, d2, #0 147 21c: f3f5c644 vclt.f16 q14, q2, #0 148 220: f2907941 vmul.f16 d7, d0, d1\[0\] 149 224: f2984966 vmul.f16 d4, d8, d6\[2\] 150 228: f39049c8 vmul.f16 q2, q8, d0\[1\] 151 22c: f39049ef vmul.f16 q2, q8, d7\[3\] 152 230: f2942141 vmla.f16 d2, d4, d1\[0\] 153 234: f3984141 vmla.f16 q2, q4, d1\[0\] 154 238: f2942541 vmls.f16 d2, d4, d1\[0\] 155 23c: f3984541 vmls.f16 q2, q4, d1\[0\] 156 240: f298116f vmla.f16 d1, d8, d7\[3\] 157 244: f39021ef vmla.f16 q1, q8, d7\[3\] 158 248: f298156f vmls.f16 d1, d8, d7\[3\] 159 24c: f39025ef vmls.f16 q1, q8, d7\[3\] 160