xref: /llvm-project/llvm/test/MC/AArch64/armv8.3a-complex_bad.s (revision 9c9067316be2b802a3af689b94aadc2740a47bcc)
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+complxnum,+fullfp16 -o - %s 2>&1 | FileCheck %s
2fcmla v0.2s, v1.2s, v2.2s, #1
3fcmla v0.2s, v1.2s, v2.2s, #360
4fcmla v0.2s, v1.2s, v2.2s, #-90
5fcadd v0.2s, v1.2s, v2.2s, #1
6fcadd v0.2s, v1.2s, v2.2s, #360
7fcadd v0.2s, v1.2s, v2.2s, #-90
8fcadd v0.2s, v1.2s, v2.2s, #0
9fcadd v0.2s, v1.2s, v2.2s, #180
10fcmla v0.4h, v1.4h, v2.h[2], #0
11fcmla v0.8h, v1.8h, v2.h[4], #0
12fcmla v0.4s, v1.4s, v2.s[2], #0
13fcmla v0.4s, v1.4s, v2.s[0], #1
14fcmla v0.4s, v1.4s, v2.s[0], #360
15fcmla v0.4s, v1.4s, v2.s[0], #-90
16//CHECK: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
17//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #1
18//CHECK-NEXT:                            ^
19//CHECK-NEXT: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
20//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #360
21//CHECK-NEXT:                            ^
22//CHECK-NEXT: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
23//CHECK-NEXT: fcmla v0.2s, v1.2s, v2.2s, #-90
24//CHECK-NEXT:                            ^
25//CHECK-NEXT: {{.*}}error: complex rotation must be 90 or 270.
26//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #1
27//CHECK-NEXT:                            ^
28//CHECK-NEXT: {{.*}}error: complex rotation must be 90 or 270.
29//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #360
30//CHECK-NEXT:                            ^
31//CHECK-NEXT: {{.*}}error: complex rotation must be 90 or 270.
32//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #-90
33//CHECK-NEXT:                            ^
34//CHECK-NEXT: {{.*}}error: complex rotation must be 90 or 270.
35//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #0
36//CHECK-NEXT:                            ^
37//CHECK-NEXT: {{.*}}error: complex rotation must be 90 or 270.
38//CHECK-NEXT: fcadd v0.2s, v1.2s, v2.2s, #180
39//CHECK-NEXT:                            ^
40//CHECK-NEXT: {{.*}}error: vector lane must be an integer in range [0, 1].
41//CHECK-NEXT: fcmla v0.4h, v1.4h, v2.h[2], #0
42//CHECK-NEXT:                         ^
43//CHECK-NEXT: {{.*}}error: vector lane must be an integer in range [0, 3].
44//CHECK-NEXT: fcmla v0.8h, v1.8h, v2.h[4], #0
45//CHECK-NEXT:                         ^
46//CHECK-NEXT: {{.*}}error: vector lane must be an integer in range [0, 1].
47//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[2], #0
48//CHECK-NEXT:                         ^
49//CHECK-NEXT: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
50//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #1
51//CHECK-NEXT:                              ^
52//CHECK-NEXT: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
53//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #360
54//CHECK-NEXT:                              ^
55//CHECK-NEXT: {{.*}}error: complex rotation must be 0, 90, 180 or 270.
56//CHECK-NEXT: fcmla v0.4s, v1.4s, v2.s[0], #-90
57//CHECK-NEXT:                              ^
58
59