204 lines · plain
1@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=-fullfp16 -show-encoding < %s 2>&1 | FileCheck %s2@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=-fullfp16,+thumb-mode -show-encoding < %s 2>&1 | FileCheck %s3 4 vadd.f16 s0, s1, s05@ CHECK: instruction requires: full half-float6 7 vsub.f16 s0, s1, s08@ CHECK: instruction requires: full half-float9 10 vdiv.f16 s0, s1, s011@ CHECK: instruction requires: full half-float12 13 vmul.f16 s0, s1, s014@ CHECK: instruction requires: full half-float15 16 vnmul.f16 s0, s1, s017@ CHECK: instruction requires: full half-float18 19 vmla.f16 s1, s2, s020@ CHECK: instruction requires: full half-float21 22 vmls.f16 s1, s2, s023@ CHECK: instruction requires: full half-float24 25 vnmla.f16 s1, s2, s026@ CHECK: instruction requires: full half-float27 28 vnmls.f16 s1, s2, s029@ CHECK: instruction requires: full half-float30 31 vcmp.f16 s0, s132@ CHECK: instruction requires: full half-float33 34 vcmp.f16 s2, #035@ CHECK: instruction requires: full half-float36 37 vcmpe.f16 s1, s038@ CHECK: instruction requires: full half-float39 40 vcmpe.f16 s0, #041@ CHECK: instruction requires: full half-float42 43 vabs.f16 s0, s044@ CHECK: instruction requires: full half-float45 46 vneg.f16 s0, s047@ CHECK: instruction requires: full half-float48 49 vsqrt.f16 s0, s050@ CHECK: instruction requires: full half-float51 52 vcvt.f16.s32 s0, s053 vcvt.f16.u32 s0, s054 vcvt.s32.f16 s0, s055 vcvt.u32.f16 s0, s056@ CHECK: instruction requires: full half-float57@ CHECK: instruction requires: full half-float58@ CHECK: instruction requires: full half-float59@ CHECK: instruction requires: full half-float60 61 vcvtr.s32.f16 s0, s162 vcvtr.u32.f16 s0, s163@ CHECK: instruction requires: full half-float64@ CHECK: instruction requires: full half-float65 66 vcvt.f16.u32 s0, s0, #2067 vcvt.f16.u16 s0, s0, #168 vcvt.f16.s32 s1, s1, #2069 vcvt.f16.s16 s17, s17, #170 vcvt.u32.f16 s12, s12, #2071 vcvt.u16.f16 s28, s28, #172 vcvt.s32.f16 s1, s1, #2073 vcvt.s16.f16 s17, s17, #174@ CHECK: instruction requires: full half-float75@ CHECK: instruction requires: full half-float76@ CHECK: instruction requires: full half-float77@ CHECK: instruction requires: full half-float78@ CHECK: instruction requires: full half-float79@ CHECK: instruction requires: full half-float80@ CHECK: instruction requires: full half-float81@ CHECK: instruction requires: full half-float82 83 vcvta.s32.f16 s2, s384@ CHECK: instruction requires: full half-float85 86 vcvtn.s32.f16 s6, s2387@ CHECK: instruction requires: full half-float88 89 vcvtp.s32.f16 s0, s490@ CHECK: instruction requires: full half-float91 92 vcvtm.s32.f16 s17, s893@ CHECK: instruction requires: full half-float94 95 vcvta.u32.f16 s2, s396@ CHECK: instruction requires: full half-float97 98 vcvtn.u32.f16 s6, s2399@ CHECK: instruction requires: full half-float100 101 vcvtp.u32.f16 s0, s4102@ CHECK: instruction requires: full half-float103 104 vcvtm.u32.f16 s17, s8105@ CHECK: instruction requires: full half-float106 107 vselge.f16 s4, s1, s23108@ CHECK: instruction requires: full half-float109 110 vselgt.f16 s0, s1, s0111@ CHECK: instruction requires: full half-float112 113 vseleq.f16 s30, s28, s23114@ CHECK: instruction requires: full half-float115 116 vselvs.f16 s21, s16, s14117@ CHECK: instruction requires: full half-float118 119 vmaxnm.f16 s5, s12, s0120@ CHECK: instruction requires: full half-float121 122 vminnm.f16 s0, s0, s12123@ CHECK: instruction requires: full half-float124 125 vrintz.f16 s3, s24126 vrintz.f16.f16 s3, s24127@ CHECK: instruction requires: full half-float128@ CHECK: instruction requires: full half-float129 130 vrintr.f16 s0, s9131 vrintr.f16.f16 s0, s9132@ CHECK: instruction requires: full half-float133@ CHECK: instruction requires: full half-float134 135 vrintx.f16 s10, s14136 vrintx.f16.f16 s10, s14137@ CHECK: instruction requires: full half-float138@ CHECK: instruction requires: full half-float139 140 vrinta.f16 s12, s1141 vrinta.f16.f16 s12, s1142@ CHECK: instruction requires: full half-float143@ CHECK: instruction requires: full half-float144 145 vrintn.f16 s12, s1146 vrintn.f16.f16 s12, s1147@ CHECK: instruction requires: full half-float148@ CHECK: instruction requires: full half-float149 150 vrintp.f16 s12, s1151 vrintp.f16.f16 s12, s1152@ CHECK: instruction requires: full half-float153@ CHECK: instruction requires: full half-float154 155 vrintm.f16 s12, s1156 vrintm.f16.f16 s12, s1157@ CHECK: instruction requires: full half-float158@ CHECK: instruction requires: full half-float159 160 vfma.f16 s2, s7, s4161@ CHECK: instruction requires: full half-float162 163 vfms.f16 s2, s7, s4164@ CHECK: instruction requires: full half-float165 166 vfnma.f16 s2, s7, s4167@ CHECK: instruction requires: full half-float168 169 vfnms.f16 s2, s7, s4170@ CHECK: instruction requires: full half-float171 172 vmovx.f16 s2, s5173 vins.f16 s2, s5174@ CHECK: instruction requires: full half-float175@ CHECK: instruction requires: full half-float176 177 178 vldr.16 s1, [pc, #6]179 vldr.16 s2, [pc, #510]180 vldr.16 s3, [pc, #-510]181 vldr.16 s4, [r4, #-18]182@ CHECK: instruction requires: 16-bit fp registers183@ CHECK: instruction requires: 16-bit fp registers184@ CHECK: instruction requires: 16-bit fp registers185@ CHECK: instruction requires: 16-bit fp registers186 187 188 vstr.16 s1, [pc, #6]189 vstr.16 s2, [pc, #510]190 vstr.16 s3, [pc, #-510]191 vstr.16 s4, [r4, #-18]192@ CHECK: instruction requires: 16-bit fp registers193@ CHECK: instruction requires: 16-bit fp registers194@ CHECK: instruction requires: 16-bit fp registers195@ CHECK: instruction requires: 16-bit fp registers196 197 vmov.f16 s0, #1.0198@ CHECK: instruction requires: full half-float199 200 vmov.f16 s1, r2201 vmov.f16 r3, s4202@ CHECK: instruction requires: 16-bit fp registers203@ CHECK: instruction requires: 16-bit fp registers204