1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189
|
@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=-fullfp16 -show-encoding < %s 2>&1 | FileCheck %s
@ RUN: not llvm-mc -triple armv8a-none-eabi -mattr=-fullfp16,+thumb-mode -show-encoding < %s 2>&1 | FileCheck %s
vadd.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vsub.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vdiv.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vmul.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vnmul.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vmla.f16 s1, s2, s0
@ CHECK: instruction requires: full half-float
vmls.f16 s1, s2, s0
@ CHECK: instruction requires: full half-float
vnmla.f16 s1, s2, s0
@ CHECK: instruction requires: full half-float
vnmls.f16 s1, s2, s0
@ CHECK: instruction requires: full half-float
vcmp.f16 s0, s1
@ CHECK: instruction requires: full half-float
vcmp.f16 s2, #0
@ CHECK: instruction requires: full half-float
vcmpe.f16 s1, s0
@ CHECK: instruction requires: full half-float
vcmpe.f16 s0, #0
@ CHECK: instruction requires: full half-float
vabs.f16 s0, s0
@ CHECK: instruction requires: full half-float
vneg.f16 s0, s0
@ CHECK: instruction requires: full half-float
vsqrt.f16 s0, s0
@ CHECK: instruction requires: full half-float
vcvt.f16.s32 s0, s0
vcvt.f16.u32 s0, s0
vcvt.s32.f16 s0, s0
vcvt.u32.f16 s0, s0
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
vcvtr.s32.f16 s0, s1
vcvtr.u32.f16 s0, s1
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
vcvt.f16.u32 s0, s0, #20
vcvt.f16.u16 s0, s0, #1
vcvt.f16.s32 s1, s1, #20
vcvt.f16.s16 s17, s17, #1
vcvt.u32.f16 s12, s12, #20
vcvt.u16.f16 s28, s28, #1
vcvt.s32.f16 s1, s1, #20
vcvt.s16.f16 s17, s17, #1
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
vcvta.s32.f16 s2, s3
@ CHECK: instruction requires: full half-float
vcvtn.s32.f16 s6, s23
@ CHECK: instruction requires: full half-float
vcvtp.s32.f16 s0, s4
@ CHECK: instruction requires: full half-float
vcvtm.s32.f16 s17, s8
@ CHECK: instruction requires: full half-float
vcvta.u32.f16 s2, s3
@ CHECK: instruction requires: full half-float
vcvtn.u32.f16 s6, s23
@ CHECK: instruction requires: full half-float
vcvtp.u32.f16 s0, s4
@ CHECK: instruction requires: full half-float
vcvtm.u32.f16 s17, s8
@ CHECK: instruction requires: full half-float
vselge.f16 s4, s1, s23
@ CHECK: instruction requires: full half-float
vselgt.f16 s0, s1, s0
@ CHECK: instruction requires: full half-float
vseleq.f16 s30, s28, s23
@ CHECK: instruction requires: full half-float
vselvs.f16 s21, s16, s14
@ CHECK: instruction requires: full half-float
vmaxnm.f16 s5, s12, s0
@ CHECK: instruction requires: full half-float
vminnm.f16 s0, s0, s12
@ CHECK: instruction requires: full half-float
vrintz.f16 s3, s24
@ CHECK: instruction requires: full half-float
vrintr.f16 s0, s9
@ CHECK: instruction requires: full half-float
vrintx.f16 s10, s14
@ CHECK: instruction requires: full half-float
vrinta.f16 s12, s1
@ CHECK: instruction requires: full half-float
vrintn.f16 s12, s1
@ CHECK: instruction requires: full half-float
vrintp.f16 s12, s1
@ CHECK: instruction requires: full half-float
vrintm.f16 s12, s1
@ CHECK: instruction requires: full half-float
vfma.f16 s2, s7, s4
@ CHECK: instruction requires: full half-float
vfms.f16 s2, s7, s4
@ CHECK: instruction requires: full half-float
vfnma.f16 s2, s7, s4
@ CHECK: instruction requires: full half-float
vfnms.f16 s2, s7, s4
@ CHECK: instruction requires: full half-float
vmovx.f16 s2, s5
vins.f16 s2, s5
@ CHECK: instruction requires: full half-float
@ CHECK: instruction requires: full half-float
vldr.16 s1, [pc, #6]
vldr.16 s2, [pc, #510]
vldr.16 s3, [pc, #-510]
vldr.16 s4, [r4, #-18]
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
vstr.16 s1, [pc, #6]
vstr.16 s2, [pc, #510]
vstr.16 s3, [pc, #-510]
vstr.16 s4, [r4, #-18]
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
vmov.f16 s0, #1.0
@ CHECK: instruction requires: full half-float
vmov.f16 s1, r2
vmov.f16 r3, s4
@ CHECK: instruction requires: 16-bit fp registers
@ CHECK: instruction requires: 16-bit fp registers
|