1 #name: ARM v8.2 FP16 support on SIMD (Thumb) 2 #source: armv8-2-fp16-simd.s 3 #objdump: -d 4 #as: -march=armv8.2-a+fp16 -mthumb 5 #skip: *-*-pe *-*-wince 6 7 .*: +file format .*arm.* 8 9 Disassembly of section .text: 10 11 00000000 <func>: 12 0: ff34 2d0e vabd.f16 d2, d4, d14 13 4: ff38 4d6c vabd.f16 q2, q4, q14 14 8: ef14 2f0e vmax.f16 d2, d4, d14 15 c: ef18 4f6c vmax.f16 q2, q4, q14 16 10: ef34 2f0e vmin.f16 d2, d4, d14 17 14: ef38 4f6c vmin.f16 q2, q4, q14 18 18: ff30 0dec vabd.f16 q0, q8, q14 19 1c: ef10 0fec vmax.f16 q0, q8, q14 20 20: ef30 0fec vmin.f16 q0, q8, q14 21 24: ff33 1d0f vabd.f16 d1, d3, d15 22 28: ff31 0d08 vabd.f16 d0, d1, d8 23 2c: ffb5 0708 vabs.f16 d0, d8 24 30: ffb5 0760 vabs.f16 q0, q8 25 34: ffb5 0788 vneg.f16 d0, d8 26 38: ffb5 07e0 vneg.f16 q0, q8 27 3c: ffb5 474c vabs.f16 q2, q6 28 40: ffb5 47cc vneg.f16 q2, q6 29 44: ffb5 7703 vabs.f16 d7, d3 30 48: ffb5 9781 vneg.f16 d9, d1 31 4c: ff14 2e1e vacge.f16 d2, d4, d14 32 50: ff18 4e7c vacge.f16 q2, q4, q14 33 54: ff34 2e1e vacgt.f16 d2, d4, d14 34 58: ff38 4e7c vacgt.f16 q2, q4, q14 35 5c: ff3e 2e14 vacgt.f16 d2, d14, d4 36 60: ff3c 4ed8 vacgt.f16 q2, q14, q4 37 64: ff1e 2e14 vacge.f16 d2, d14, d4 38 68: ff1c 4ed8 vacge.f16 q2, q14, q4 39 6c: ef14 2e0e vceq.f16 d2, d4, d14 40 70: ef18 4e6c vceq.f16 q2, q4, q14 41 74: ff14 2e0e vcge.f16 d2, d4, d14 42 78: ff18 4e6c vcge.f16 q2, q4, q14 43 7c: ff34 2e0e vcgt.f16 d2, d4, d14 44 80: ff38 4e6c vcgt.f16 q2, q4, q14 45 84: ff1e 2e04 vcge.f16 d2, d14, d4 46 88: ff1c 4ec8 vcge.f16 q2, q14, q4 47 8c: ff3e 2e04 vcgt.f16 d2, d14, d4 48 90: ff3c 4ec8 vcgt.f16 q2, q14, q4 49 94: ff10 0efc vacge.f16 q0, q8, q14 50 98: ff30 0efc vacgt.f16 q0, q8, q14 51 9c: ff3c 0ef0 vacgt.f16 q0, q14, q8 52 a0: ff1c 0ef0 vacge.f16 q0, q14, q8 53 a4: ef10 0eec vceq.f16 q0, q8, q14 54 a8: ff10 0eec vcge.f16 q0, q8, q14 55 ac: ff30 0eec vcgt.f16 q0, q8, q14 56 b0: ff1c 0ee0 vcge.f16 q0, q14, q8 57 b4: ff3c 0ee0 vcgt.f16 q0, q14, q8 58 b8: ef14 2d0e vadd.f16 d2, d4, d14 59 bc: ef18 4d6c vadd.f16 q2, q4, q14 60 c0: ef34 2d0e vsub.f16 d2, d4, d14 61 c4: ef38 4d6c vsub.f16 q2, q4, q14 62 c8: ef10 0dec vadd.f16 q0, q8, q14 63 cc: ef30 0dec vsub.f16 q0, q8, q14 64 d0: ff14 2f1e vmaxnm.f16 d2, d4, d14 65 d4: ff18 4f7c vmaxnm.f16 q2, q4, q14 66 d8: ff34 2f1e vminnm.f16 d2, d4, d14 67 dc: ff38 4f7c vminnm.f16 q2, q4, q14 68 e0: ef14 2c1e vfma.f16 d2, d4, d14 69 e4: ef18 4c7c vfma.f16 q2, q4, q14 70 e8: ef34 2c1e vfms.f16 d2, d4, d14 71 ec: ef38 4c7c vfms.f16 q2, q4, q14 72 f0: ef14 2d1e vmla.f16 d2, d4, d14 73 f4: ef18 4d7c vmla.f16 q2, q4, q14 74 f8: ef34 2d1e vmls.f16 d2, d4, d14 75 fc: ef38 4d7c vmls.f16 q2, q4, q14 76 100: ffb6 458e vrintz.f16 d4, d14 77 104: ffb6 85ec vrintz.f16 q4, q14 78 108: ffb6 448e vrintx.f16 d4, d14 79 10c: ffb6 84ec vrintx.f16 q4, q14 80 110: ffb6 450e vrinta.f16 d4, d14 81 114: ffb6 856c vrinta.f16 q4, q14 82 118: ffb6 440e vrintn.f16 d4, d14 83 11c: ffb6 846c vrintn.f16 q4, q14 84 120: ffb6 478e vrintp.f16 d4, d14 85 124: ffb6 87ec vrintp.f16 q4, q14 86 128: ffb6 468e vrintm.f16 d4, d14 87 12c: ffb6 86ec vrintm.f16 q4, q14 88 130: ff18 4d0e vpadd.f16 d4, d8, d14 89 134: ffb7 4508 vrecpe.f16 d4, d8 90 138: ffb7 8560 vrecpe.f16 q4, q8 91 13c: ffb7 4588 vrsqrte.f16 d4, d8 92 140: ffb7 85e0 vrsqrte.f16 q4, q8 93 144: ffb7 0564 vrecpe.f16 q0, q10 94 148: ffb7 05e4 vrsqrte.f16 q0, q10 95 14c: ef1a 8f1c vrecps.f16 d8, d10, d12 96 150: ef54 0ff8 vrecps.f16 q8, q10, q12 97 154: ef3a 8f1c vrsqrts.f16 d8, d10, d12 98 158: ef74 0ff8 vrsqrts.f16 q8, q10, q12 99 15c: ef10 4f58 vrecps.f16 q2, q0, q4 100 160: ef30 4f58 vrsqrts.f16 q2, q0, q4 101 164: ff18 4f0e vpmax.f16 d4, d8, d14 102 168: ff38 af02 vpmin.f16 d10, d8, d2 103 16c: ff18 4d1e vmul.f16 d4, d8, d14 104 170: ff10 7d11 vmul.f16 d7, d0, d1 105 174: ff10 4dd0 vmul.f16 q2, q8, q0 106 178: ffb7 600c vcvta.s16.f16 d6, d12 107 17c: ffb7 c068 vcvta.s16.f16 q6, q12 108 180: ffb7 630c vcvtm.s16.f16 d6, d12 109 184: ffb7 c368 vcvtm.s16.f16 q6, q12 110 188: ffb7 610c vcvtn.s16.f16 d6, d12 111 18c: ffb7 c168 vcvtn.s16.f16 q6, q12 112 190: ffb7 620c vcvtp.s16.f16 d6, d12 113 194: ffb7 c268 vcvtp.s16.f16 q6, q12 114 198: ffb7 608c vcvta.u16.f16 d6, d12 115 19c: ffb7 c0e8 vcvta.u16.f16 q6, q12 116 1a0: ffb7 638c vcvtm.u16.f16 d6, d12 117 1a4: ffb7 c3e8 vcvtm.u16.f16 q6, q12 118 1a8: ffb7 618c vcvtn.u16.f16 d6, d12 119 1ac: ffb7 c1e8 vcvtn.u16.f16 q6, q12 120 1b0: ffb7 628c vcvtp.u16.f16 d6, d12 121 1b4: ffb7 c2e8 vcvtp.u16.f16 q6, q12 122 1b8: ffb7 e700 vcvt.s16.f16 d14, d0 123 1bc: fff7 c740 vcvt.s16.f16 q14, q0 124 1c0: ffb7 e780 vcvt.u16.f16 d14, d0 125 1c4: fff7 c7c0 vcvt.u16.f16 q14, q0 126 1c8: ffb7 e600 vcvt.f16.s16 d14, d0 127 1cc: fff7 c640 vcvt.f16.s16 q14, q0 128 1d0: ffb7 e680 vcvt.f16.u16 d14, d0 129 1d4: fff7 c6c0 vcvt.f16.u16 q14, q0 130 1d8: efbd ed10 vcvt.s16.f16 d14, d0, #3 131 1dc: effd cd50 vcvt.s16.f16 q14, q0, #3 132 1e0: ffbd ed10 vcvt.u16.f16 d14, d0, #3 133 1e4: fffd cd50 vcvt.u16.f16 q14, q0, #3 134 1e8: efbd ec10 vcvt.f16.s16 d14, d0, #3 135 1ec: effd cc50 vcvt.f16.s16 q14, q0, #3 136 1f0: ffbd ec10 vcvt.f16.u16 d14, d0, #3 137 1f4: fffd cc50 vcvt.f16.u16 q14, q0, #3 138 1f8: ffb5 e502 vceq.f16 d14, d2, #0 139 1fc: fff5 c544 vceq.f16 q14, q2, #0 140 200: ffb5 e482 vcge.f16 d14, d2, #0 141 204: fff5 c4c4 vcge.f16 q14, q2, #0 142 208: ffb5 e402 vcgt.f16 d14, d2, #0 143 20c: fff5 c444 vcgt.f16 q14, q2, #0 144 210: ffb5 e582 vcle.f16 d14, d2, #0 145 214: fff5 c5c4 vcle.f16 q14, q2, #0 146 218: ffb5 e602 vclt.f16 d14, d2, #0 147 21c: fff5 c644 vclt.f16 q14, q2, #0 148 220: ef90 7941 vmul.f16 d7, d0, d1\[0\] 149 224: ef98 4966 vmul.f16 d4, d8, d6\[2\] 150 228: ff90 49c8 vmul.f16 q2, q8, d0\[1\] 151 22c: ff90 49ef vmul.f16 q2, q8, d7\[3\] 152 230: ef94 2141 vmla.f16 d2, d4, d1\[0\] 153 234: ff98 4141 vmla.f16 q2, q4, d1\[0\] 154 238: ef94 2541 vmls.f16 d2, d4, d1\[0\] 155 23c: ff98 4541 vmls.f16 q2, q4, d1\[0\] 156 240: ef98 116f vmla.f16 d1, d8, d7\[3\] 157 244: ff90 21ef vmla.f16 q1, q8, d7\[3\] 158 248: ef98 156f vmls.f16 d1, d8, d7\[3\] 159 24c: ff90 25ef vmls.f16 q1, q8, d7\[3\] 160