1@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=-fullfp16,+neon -show-encoding < %s 2>&1 | FileCheck %s 2@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=+fullfp16,-neon -show-encoding < %s 2>&1 | FileCheck %s 3@ RUN: not llvm-mc -triple thumbv8a-none-eabi -mattr=-fullfp16,+neon -show-encoding < %s 2>&1 | FileCheck %s 4@ RUN: not llvm-mc -triple thumbv8a-none-eabi -mattr=+fullfp16,-neon -show-encoding < %s 2>&1 | FileCheck %s 5 6 vadd.f16 d0, d1, d2 7 vadd.f16 q0, q1, q2 8@ CHECK: error: instruction requires: 9@ CHECK: error: instruction requires: 10 11 vsub.f16 d0, d1, d2 12 vsub.f16 q0, q1, q2 13@ CHECK: error: instruction requires: 14@ CHECK: error: instruction requires: 15 16 vmul.f16 d0, d1, d2 17 vmul.f16 q0, q1, q2 18@ CHECK: error: instruction requires: 19@ CHECK: error: instruction requires: 20 21 vmul.f16 d1, d2, d3[2] 22 vmul.f16 q4, q5, d6[3] 23@ CHECK: error: instruction requires: 24@ CHECK: error: instruction requires: 25 26 vmla.f16 d0, d1, d2 27 vmla.f16 q0, q1, q2 28@ CHECK: error: instruction requires: 29@ CHECK: error: instruction requires: 30 31 vmla.f16 d5, d6, d7[2] 32 vmla.f16 q5, q6, d7[3] 33@ CHECK: error: instruction requires: 34@ CHECK: error: instruction requires: 35 36 vmls.f16 d0, d1, d2 37 vmls.f16 q0, q1, q2 38@ CHECK: error: instruction requires: 39@ CHECK: error: instruction requires: 40 41 vmls.f16 d5, d6, d7[2] 42 vmls.f16 q5, q6, d7[3] 43@ CHECK: error: instruction requires: 44@ CHECK: error: instruction requires: 45 46 vfma.f16 d0, d1, d2 47 vfma.f16 q0, q1, q2 48@ CHECK: error: instruction requires: 49@ CHECK: error: instruction requires: 50 51 vfms.f16 d0, d1, d2 52 vfms.f16 q0, q1, q2 53@ CHECK: error: instruction requires: 54@ CHECK: error: instruction requires: 55 56 vceq.f16 d2, d3, d4 57 vceq.f16 q2, q3, q4 58@ CHECK: error: instruction requires: 59@ CHECK: error: instruction requires: 60 61 vceq.f16 d2, d3, #0 62 vceq.f16 q2, q3, #0 63@ CHECK: error: instruction requires: 64@ CHECK: error: instruction requires: 65 66 vcge.f16 d2, d3, d4 67 vcge.f16 q2, q3, q4 68@ CHECK: error: instruction requires: 69@ CHECK: error: instruction requires: 70 71 vcge.f16 d2, d3, #0 72 vcge.f16 q2, q3, #0 73@ CHECK: error: instruction requires: 74@ CHECK: error: instruction requires: 75 76 vcgt.f16 d2, d3, d4 77 vcgt.f16 q2, q3, q4 78@ CHECK: error: instruction requires: 79@ CHECK: error: instruction requires: 80 81 vcgt.f16 d2, d3, #0 82 vcgt.f16 q2, q3, #0 83@ CHECK: error: instruction requires: 84@ CHECK: error: instruction requires: 85 86 vcle.f16 d2, d3, d4 87 vcle.f16 q2, q3, q4 88@ CHECK: error: instruction requires: 89@ CHECK: error: instruction requires: 90 91 vcle.f16 d2, d3, #0 92 vcle.f16 q2, q3, #0 93@ CHECK: error: instruction requires: 94@ CHECK: error: instruction requires: 95 96 vclt.f16 d2, d3, d4 97 vclt.f16 q2, q3, q4 98@ CHECK: error: instruction requires: 99@ CHECK: error: instruction requires: 100 101 vclt.f16 d2, d3, #0 102 vclt.f16 q2, q3, #0 103@ CHECK: error: instruction requires: 104@ CHECK: error: instruction requires: 105 106 vacge.f16 d0, d1, d2 107 vacge.f16 q0, q1, q2 108@ CHECK: error: instruction requires: 109@ CHECK: error: instruction requires: 110 111 vacgt.f16 d0, d1, d2 112 vacgt.f16 q0, q1, q2 113@ CHECK: error: instruction requires: 114@ CHECK: error: instruction requires: 115 116 vacle.f16 d0, d1, d2 117 vacle.f16 q0, q1, q2 118@ CHECK: error: instruction requires: 119@ CHECK: error: instruction requires: 120 121 vaclt.f16 d0, d1, d2 122 vaclt.f16 q0, q1, q2 123@ CHECK: error: instruction requires: 124@ CHECK: error: instruction requires: 125 126 vabd.f16 d0, d1, d2 127 vabd.f16 q0, q1, q2 128@ CHECK: error: instruction requires: 129@ CHECK: error: instruction requires: 130 131 vabs.f16 d0, d1 132 vabs.f16 q0, q1 133@ CHECK: error: instruction requires: 134@ CHECK: error: instruction requires: 135 136 vmax.f16 d0, d1, d2 137 vmax.f16 q0, q1, q2 138@ CHECK: error: instruction requires: 139@ CHECK: error: instruction requires: 140 141 vmin.f16 d0, d1, d2 142 vmin.f16 q0, q1, q2 143@ CHECK: error: instruction requires: 144@ CHECK: error: instruction requires: 145 146 vmaxnm.f16 d0, d1, d2 147 vmaxnm.f16 q0, q1, q2 148@ CHECK: error: instruction requires: 149@ CHECK: error: instruction requires: 150 151 vminnm.f16 d0, d1, d2 152 vminnm.f16 q0, q1, q2 153@ CHECK: error: instruction requires: 154@ CHECK: error: instruction requires: 155 156 vpadd.f16 d0, d1, d2 157@ CHECK: error: instruction requires: 158 159 vpmax.f16 d0, d1, d2 160@ CHECK: error: instruction requires: 161 162 vpmin.f16 d0, d1, d2 163@ CHECK: error: instruction requires: 164 165 vrecpe.f16 d0, d1 166 vrecpe.f16 q0, q1 167@ CHECK: error: instruction requires: 168@ CHECK: error: instruction requires: 169 170 vrecps.f16 d0, d1, d2 171 vrecps.f16 q0, q1, q2 172@ CHECK: error: instruction requires: 173@ CHECK: error: instruction requires: 174 175 vrsqrte.f16 d0, d1 176 vrsqrte.f16 q0, q1 177@ CHECK: error: instruction requires: 178@ CHECK: error: instruction requires: 179 180 vrsqrts.f16 d0, d1, d2 181 vrsqrts.f16 q0, q1, q2 182@ CHECK: error: instruction requires: 183@ CHECK: error: instruction requires: 184 185 vneg.f16 d0, d1 186 vneg.f16 q0, q1 187@ CHECK: error: instruction requires: 188@ CHECK: error: instruction requires: 189 190 vcvt.s16.f16 d0, d1 191 vcvt.u16.f16 d0, d1 192 vcvt.f16.s16 d0, d1 193 vcvt.f16.u16 d0, d1 194 vcvt.s16.f16 q0, q1 195 vcvt.u16.f16 q0, q1 196 vcvt.f16.s16 q0, q1 197 vcvt.f16.u16 q0, q1 198@ CHECK: error: instruction requires: 199@ CHECK: error: instruction requires: 200@ CHECK: error: instruction requires: 201@ CHECK: error: instruction requires: 202@ CHECK: error: instruction requires: 203@ CHECK: error: instruction requires: 204@ CHECK: error: instruction requires: 205@ CHECK: error: instruction requires: 206 207 vcvta.s16.f16 d0, d1 208 vcvta.s16.f16 q0, q1 209 vcvta.u16.f16 d0, d1 210 vcvta.u16.f16 q0, q1 211@ CHECK: error: instruction requires: 212@ CHECK: error: instruction requires: 213@ CHECK: error: instruction requires: 214@ CHECK: error: instruction requires: 215 216 vcvtm.s16.f16 d0, d1 217 vcvtm.s16.f16 q0, q1 218 vcvtm.u16.f16 d0, d1 219 vcvtm.u16.f16 q0, q1 220@ CHECK: error: instruction requires: 221@ CHECK: error: instruction requires: 222@ CHECK: error: instruction requires: 223@ CHECK: error: instruction requires: 224 225 vcvtn.s16.f16 d0, d1 226 vcvtn.s16.f16 q0, q1 227 vcvtn.u16.f16 d0, d1 228 vcvtn.u16.f16 q0, q1 229@ CHECK: error: instruction requires: 230@ CHECK: error: instruction requires: 231@ CHECK: error: instruction requires: 232@ CHECK: error: instruction requires: 233 234 vcvtp.s16.f16 d0, d1 235 vcvtp.s16.f16 q0, q1 236 vcvtp.u16.f16 d0, d1 237 vcvtp.u16.f16 q0, q1 238@ CHECK: error: instruction requires: 239@ CHECK: error: instruction requires: 240@ CHECK: error: instruction requires: 241@ CHECK: error: instruction requires: 242 243 244 vcvt.s16.f16 d0, d1, #1 245 vcvt.u16.f16 d0, d1, #2 246 vcvt.f16.s16 d0, d1, #3 247 vcvt.f16.u16 d0, d1, #4 248 vcvt.s16.f16 q0, q1, #5 249 vcvt.u16.f16 q0, q1, #6 250 vcvt.f16.s16 q0, q1, #7 251 vcvt.f16.u16 q0, q1, #8 252@ CHECK: error: instruction requires: 253@ CHECK: error: instruction requires: 254@ CHECK: error: instruction requires: 255@ CHECK: error: instruction requires: 256@ CHECK: error: instruction requires: 257@ CHECK: error: instruction requires: 258@ CHECK: error: instruction requires: 259@ CHECK: error: instruction requires: 260 261 vrinta.f16.f16 d0, d1 262 vrinta.f16.f16 q0, q1 263@ CHECK: error: instruction requires: 264@ CHECK: error: instruction requires: 265 266 vrintm.f16.f16 d0, d1 267 vrintm.f16.f16 q0, q1 268@ CHECK: error: instruction requires: 269@ CHECK: error: instruction requires: 270 271 vrintn.f16.f16 d0, d1 272 vrintn.f16.f16 q0, q1 273@ CHECK: error: instruction requires: 274@ CHECK: error: instruction requires: 275 276 vrintp.f16.f16 d0, d1 277 vrintp.f16.f16 q0, q1 278@ CHECK: error: instruction requires: 279@ CHECK: error: instruction requires: 280 281 vrintx.f16.f16 d0, d1 282 vrintx.f16.f16 q0, q1 283@ CHECK: error: instruction requires: 284@ CHECK: error: instruction requires: 285 286 vrintz.f16.f16 d0, d1 287 vrintz.f16.f16 q0, q1 288@ CHECK: error: instruction requires: 289@ CHECK: error: instruction requires: 290