xref: /llvm-project/llvm/test/MC/AArch64/armv8a-fpmul-error.s (revision b828bb2a15c00204514d7a9585ffe743d8858237)
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+fp16fml,+neon < %s 2>&1 | FileCheck %s --check-prefix=CHECK
2
3//------------------------------------------------------------------------------
4// ARMV8.2-A Floating Point Multiplication
5//------------------------------------------------------------------------------
6
7fmlal  V0.2s, v1.2h, v2.h[8]
8fmlsl  V0.2s, v1.2h, v2.h[8]
9fmlal  V0.4s, v1.4h, v2.h[8]
10fmlsl  V0.4s, v1.4h, v2.h[8]
11
12fmlal2  V0.2s, v1.2h, v2.h[8]
13fmlsl2  V0.2s, v1.2h, v2.h[8]
14fmlal2  V0.4s, v1.4h, v2.h[8]
15fmlsl2  V0.4s, v1.4h, v2.h[8]
16
17fmlal  V0.2s, v1.2h, v2.h[-1]
18fmlsl2  V0.2s, v1.2h, v2.h[-1]
19
20//CHECK: error: vector lane must be an integer in range [0, 7].
21//CHECK-NEXT: fmlal  V0.2s, v1.2h, v2.h[8]
22//CHECK-NEXT:                          ^
23//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
24//CHECK-NEXT: fmlsl  V0.2s, v1.2h, v2.h[8]
25//CHECK-NEXT:                          ^
26//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
27//CHECK-NEXT: fmlal  V0.4s, v1.4h, v2.h[8]
28//CHECK-NEXT:                          ^
29//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
30//CHECK-NEXT: fmlsl  V0.4s, v1.4h, v2.h[8]
31//CHECK-NEXT:                          ^
32
33//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
34//CHECK-NEXT: fmlal2  V0.2s, v1.2h, v2.h[8]
35//CHECK-NEXT:                           ^
36//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
37//CHECK-NEXT: fmlsl2  V0.2s, v1.2h, v2.h[8]
38//CHECK-NEXT:                           ^
39//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
40//CHECK-NEXT: fmlal2  V0.4s, v1.4h, v2.h[8]
41//CHECK-NEXT:                           ^
42//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
43//CHECK-NEXT: fmlsl2  V0.4s, v1.4h, v2.h[8]
44//CHECK-NEXT:                           ^
45
46//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
47//CHECK-NEXT: fmlal  V0.2s, v1.2h, v2.h[-1]
48//CHECK-NEXT:                          ^
49//CHECK-NEXT: error: vector lane must be an integer in range [0, 7].
50//CHECK-NEXT: fmlsl2  V0.2s, v1.2h, v2.h[-1]
51//CHECK-NEXT:                           ^
52