1# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32 -mattr=+soft-float 2>&1 |\ 2# RUN: FileCheck %s --check-prefix=32 3# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips64 -mattr=+soft-float 2>&1 |\ 4# RUN: FileCheck %s --check-prefix=64 5# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r2 -mattr=+soft-float 2>&1 |\ 6# RUN: FileCheck %s --check-prefix=R2 7# RUN: not llvm-mc %s -triple=mips-unknown-linux -mcpu=mips32r6 -mattr=+soft-float 2>&1 |\ 8# RUN: FileCheck %s --check-prefix=R6 9 10foo: 11 dmfc1 $7, $f2 12 # 64: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 13 dmtc1 $6, $f2 14 # 64: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 15 16 ceil.l.d $f2, $f2 17 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 18 ceil.l.s $f2, $f2 19 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 20 cvt.d.l $f2, $f2 21 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 22 cvt.l.d $f2, $f2 23 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 24 cvt.l.s $f2, $f2 25 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 26 cvt.s.l $f2, $f2 27 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 28 floor.l.d $f2, $f2 29 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 30 floor.l.s $f2, $f2 31 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 32 ldxc1 $f2, $4($6) 33 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 34 luxc1 $f2, $4($6) 35 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 36 lwxc1 $f2, $4($6) 37 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 38 mfhc1 $7, $f2 39 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 40 msub.s $f2, $f2, $f2, $f2 41 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 42 mthc1 $7, $f2 43 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 44 nmadd.s $f2, $f2, $f2, $f2 45 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 46 nmsub.s $f2, $f2, $f2, $f2 47 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 48 round.l.s $f2, $f2 49 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 50 sdxc1 $f2, $4($6) 51 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 52 suxc1 $f2, $4($6) 53 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 54 swxc1 $f2, $4($6) 55 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 56 trunc.l.d $f2, $f2 57 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 58 trunc.l.s $f2, $f2 59 # R2: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 60 61 bc1eqz $f2, 123 62 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 63 bc1nez $f2, 456 64 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 65 class.d $f2, $f2 66 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 67 class.s $f2, $f2 68 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 69 cmp.af.d $f2, $f2, $f2 70 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 71 cmp.af.s $f2, $f2, $f2 72 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 73 cmp.eq.d $f2, $f2, $f2 74 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 75 cmp.eq.s $f2, $f2, $f2 76 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 77 cmp.le.d $f2, $f2, $f2 78 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 79 cmp.le.s $f2, $f2, $f2 80 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 81 cmp.lt.d $f2, $f2, $f2 82 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 83 cmp.lt.s $f2, $f2, $f2 84 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 85 cmp.saf.d $f2, $f2, $f2 86 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 87 cmp.saf.s $f2, $f2, $f2 88 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 89 cmp.seq.d $f2, $f2, $f2 90 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 91 cmp.seq.s $f2, $f2, $f2 92 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 93 cmp.sle.d $f2, $f2, $f2 94 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 95 cmp.sle.s $f2, $f2, $f2 96 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 97 cmp.slt.d $f2, $f2, $f2 98 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 99 cmp.slt.s $f2, $f2, $f2 100 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 101 cmp.sueq.d $f2, $f2, $f2 102 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 103 cmp.sueq.s $f2, $f2, $f2 104 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 105 cmp.sule.d $f2, $f2, $f2 106 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 107 cmp.sule.s $f2, $f2, $f2 108 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 109 cmp.sult.d $f2, $f2, $f2 110 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 111 cmp.sult.s $f2, $f2, $f2 112 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 113 cmp.sun.d $f2, $f2, $f2 114 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 115 cmp.sun.s $f2, $f2, $f2 116 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 117 cmp.ueq.d $f2, $f2, $f2 118 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 119 cmp.ueq.s $f2, $f2, $f2 120 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 121 cmp.ule.d $f2, $f2, $f2 122 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 123 cmp.ule.s $f2, $f2, $f2 124 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 125 cmp.ult.d $f2, $f2, $f2 126 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 127 cmp.ult.s $f2, $f2, $f2 128 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 129 cmp.un.d $f2, $f2, $f2 130 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 131 cmp.un.s $f2, $f2, $f2 132 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 133 maddf.d $f2, $f2, $f2 134 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 135 maddf.s $f2, $f2, $f2 136 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 137 max.d $f2, $f2, $f2 138 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 139 max.s $f2, $f2, $f2 140 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 141 maxa.d $f2, $f2, $f2 142 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 143 maxa.s $f2, $f2, $f2 144 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 145 min.d $f2, $f2, $f2 146 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 147 min.s $f2, $f2, $f2 148 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 149 mina.d $f2, $f2, $f2 150 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 151 mina.s $f2, $f2, $f2 152 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 153 msubf.d $f2, $f2, $f2 154 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 155 msubf.s $f2, $f2, $f2 156 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 157 rint.d $f2, $f2 158 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 159 rint.s $f2, $f2 160 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 161 sel.d $f2, $f2, $f2 162 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 163 sel.s $f2, $f2, $f2 164 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 165 seleqz.d $f2, $f2, $f2 166 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 167 seleqz.s $f2, $f2, $f2 168 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 169 selnez.d $f2, $f2, $f2 170 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 171 selnez.s $f2, $f2, $f2 172 # R6: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 173 174 abs.d $f2, $f2 175 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 176 abs.s $f2, $f2 177 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 178 add.d $f2, $f2, $f2 179 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 180 add.s $f2, $f2, $f2 181 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 182 c.eq.d $f2, $f2 183 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 184 c.eq.s $f2, $f2 185 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 186 c.f.d $f2, $f2 187 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 188 c.f.s $f2, $f2 189 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 190 c.le.d $f2, $f2 191 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 192 c.le.s $f2, $f2 193 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 194 c.lt.d $f2, $f2 195 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 196 c.lt.s $f2, $f2 197 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 198 c.nge.d $f2, $f2 199 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 200 c.nge.s $f2, $f2 201 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 202 c.ngl.d $f2, $f2 203 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 204 c.ngl.s $f2, $f2 205 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 206 c.ngle.d $f2, $f2 207 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 208 c.ngle.s $f2, $f2 209 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 210 c.ngt.d $f2, $f2 211 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 212 c.ngt.s $f2, $f2 213 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 214 c.ole.d $f2, $f2 215 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 216 c.ole.s $f2, $f2 217 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 218 c.olt.d $f2, $f2 219 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 220 c.olt.s $f2, $f2 221 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 222 c.seq.d $f2, $f2 223 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 224 c.seq.s $f2, $f2 225 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 226 c.sf.d $f2, $f2 227 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 228 c.sf.s $f2, $f2 229 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 230 c.ueq.d $f2, $f2 231 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 232 c.ueq.s $f2, $f2 233 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 234 c.ule.d $f2, $f2 235 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 236 c.ule.s $f2, $f2 237 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 238 c.ult.d $f2, $f2 239 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 240 c.ult.s $f2, $f2 241 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 242 c.un.d $f2, $f2 243 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 244 c.un.s $f2, $f2 245 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 246 ceil.w.d $f2, $f2 247 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 248 ceil.w.s $f2, $f2 249 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 250 cvt.d.s $f2, $f2 251 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 252 cvt.d.w $f2, $f2 253 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 254 cvt.s.d $f2, $f2 255 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 256 cvt.s.w $f2, $f2 257 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 258 cvt.w.d $f2, $f2 259 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 260 cvt.w.s $f2, $f2 261 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 262 div.d $f2, $f2, $f2 263 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 264 div.s $f2, $f2, $f2 265 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 266 floor.w.d $f2, $f2 267 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 268 floor.w.s $f2, $f2 269 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 270 ldc1 $f2, 16($7) 271 # FIXME: LDC1 is correctly rejected but the wrong error message is emitted. 272 # 32: :[[@LINE-2]]:19: error: expected memory with 16-bit signed offset 273 lwc1 $f2, 16($7) 274 # FIXME: LWC1 is correctly rejected but the wrong error message is emitted. 275 # 32: :[[@LINE-2]]:19: error: expected memory with 16-bit signed offset 276 madd.s $f2, $f2, $f2, $f2 277 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 278 mfc1 $7, $f2 279 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 280 mov.d $f2, $f2 281 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 282 mov.s $f2, $f2 283 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 284 movf.d $f2, $f2, $fcc2 285 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 286 movf.s $f2, $f2, $fcc5 287 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 288 movn.d $f2, $f2, $6 289 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 290 movn.s $f2, $f2, $6 291 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 292 movt.d $f2, $f2, $fcc0 293 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 294 movt.s $f2, $f2, $fcc1 295 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 296 movz.d $f2, $f2, $6 297 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 298 movz.s $f2, $f2, $6 299 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 300 mtc1 $7, $f2 301 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 302 mul.d $f2, $f2, $f2 303 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 304 mul.s $f2, $f2, $f2 305 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 306 neg.d $f2, $f2 307 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 308 neg.s $f2, $f2 309 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 310 round.w.d $f2, $f2 311 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 312 round.w.s $f2, $f2 313 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 314 sdc1 $f2, 16($7) 315 # FIXME: SDC1 is correctly rejected but the wrong error message is emitted. 316 # 32: :[[@LINE-2]]:19: error: expected memory with 16-bit signed offset 317 sqrt.d $f2, $f2 318 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 319 sqrt.s $f2, $f2 320 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 321 sub.d $f2, $f2, $f2 322 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 323 sub.s $f2, $f2, $f2 324 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 325 swc1 $f2, 16($7) 326 # FIXME: SWC1 is correctly rejected but the wrong error message is emitted. 327 # 32: :[[@LINE-2]]:19: error: expected memory with 16-bit signed offset 328 trunc.w.d $f2, $f2 329 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 330 trunc.w.s $f2, $f2 331 # 32: :[[@LINE-1]]:3: error: instruction requires a CPU feature not currently enabled 332