| @ RUN: llvm-mc < %s -triple thumbv7-unknown-unknown -show-encoding -mattr=+vfp4,-d16 2>&1 | FileCheck %s --check-prefix=D32 |
| @ RUN: not llvm-mc < %s -triple thumbv7-unknown-unknown -show-encoding -mattr=+vfp4,+d16 2>&1 | FileCheck %s --check-prefix=D16 |
| |
| @ D32-NOT: error: |
| |
| @ D16: error: invalid instruction, any one of the following would fix this: |
| @ D16-NEXT: vadd.f64 d1, d2, d16 |
| @ D16: note: operand must be a register in range [d0, d15] |
| @ D16: note: too many operands for instruction |
| vadd.f64 d1, d2, d16 |
| |
| @ D16: error: operand must be a register in range [d0, d15] |
| @ D16-NEXT: vadd.f64 d1, d17, d6 |
| vadd.f64 d1, d17, d6 |
| |
| @ D16: error: operand must be a register in range [d0, d15] |
| @ D16-NEXT: vadd.f64 d19, d7, d6 |
| vadd.f64 d19, d7, d6 |
| |
| @ D16: error: operand must be a register in range [d0, d15] |
| @ D16-NEXT: vcvt.f64.f32 d22, s4 |
| vcvt.f64.f32 d22, s4 |
| |
| @ D16: error: operand must be a register in range [d0, d15] |
| @ D16-NEXT: vcvt.f32.f64 s26, d30 |
| vcvt.f32.f64 s26, d30 |