[AArch64] Add ARMv8.2-A FP16 vector instructions
[oota-llvm.git] / test / MC / AArch64 / fullfp16-diagnostics.s
1 // RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon < %s 2> %t
2 // RUN: FileCheck < %t %s
3
4   fmla v0.4h, v1.4h, v16.h[3]
5   fmla v2.8h, v3.8h, v17.h[6]
6
7 // CHECK:      error: invalid operand for instruction
8 // CHECK-NEXT: fmla v0.4h, v1.4h, v16.h[3]
9 // CHECK-NEXT:                    ^
10 // CHECK:      error: invalid operand for instruction
11 // CHECK-NEXT: fmla v2.8h, v3.8h, v17.h[6]
12 // CHECK-NEXT:                    ^
13
14   fmls v0.4h, v1.4h, v16.h[3]
15   fmls v2.8h, v3.8h, v17.h[6]
16
17 // CHECK:      error: invalid operand for instruction
18 // CHECK-NEXT: fmls v0.4h, v1.4h, v16.h[3]
19 // CHECK-NEXT:                    ^
20 // CHECK:      error: invalid operand for instruction
21 // CHECK-NEXT: fmls v2.8h, v3.8h, v17.h[6]
22 // CHECK-NEXT:                    ^
23
24   fmul v0.4h, v1.4h, v16.h[3]
25   fmul v2.8h, v3.8h, v17.h[6]
26
27 // CHECK:      error: invalid operand for instruction
28 // CHECK-NEXT: fmul v0.4h, v1.4h, v16.h[3]
29 // CHECK-NEXT:                    ^
30 // CHECK:      error: invalid operand for instruction
31 // CHECK-NEXT: fmul v2.8h, v3.8h, v17.h[6]
32 // CHECK-NEXT:                    ^
33
34   fmulx v0.4h, v1.4h, v16.h[3]
35   fmulx v2.8h, v3.8h, v17.h[6]
36
37 // CHECK:      error: invalid operand for instruction
38 // CHECK-NEXT: fmulx v0.4h, v1.4h, v16.h[3]
39 // CHECK-NEXT:                     ^
40 // CHECK:      error: invalid operand for instruction
41 // CHECK-NEXT: fmulx v2.8h, v3.8h, v17.h[6]
42 // CHECK-NEXT:                     ^