1f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon < %s 2> %t
2f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// RUN: FileCheck < %t %s
3f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
4f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmla v0.4h, v1.4h, v16.h[3]
5f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmla v2.8h, v3.8h, v17.h[6]
6f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
7f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
8f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmla v0.4h, v1.4h, v16.h[3]
9f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
10f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
11f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmla v2.8h, v3.8h, v17.h[6]
12f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
13f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
14f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmls v0.4h, v1.4h, v16.h[3]
15f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmls v2.8h, v3.8h, v17.h[6]
16f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
17f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
18f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmls v0.4h, v1.4h, v16.h[3]
19f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
20f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
21f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmls v2.8h, v3.8h, v17.h[6]
22f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
23f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
24f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmul v0.4h, v1.4h, v16.h[3]
25f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmul v2.8h, v3.8h, v17.h[6]
26f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
27f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
28f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmul v0.4h, v1.4h, v16.h[3]
29f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
30f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
31f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmul v2.8h, v3.8h, v17.h[6]
32f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                    ^
33f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
34f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmulx v0.4h, v1.4h, v16.h[3]
35f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmulx v2.8h, v3.8h, v17.h[6]
36f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
37f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
38f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmulx v0.4h, v1.4h, v16.h[3]
39f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                     ^
40f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
41f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmulx v2.8h, v3.8h, v17.h[6]
42f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:                     ^
43f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
44f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmla h0, h1, v16.h[3]
45f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmla h2, h3, v17.h[6]
46f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
47f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
48f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmla h0, h1, v16.h[3]
49f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
50f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
51f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmla h2, h3, v17.h[6]
52f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
53f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
54f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmls h0, h1, v16.h[3]
55f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmls h2, h3, v17.h[6]
56f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
57f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
58f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmls h0, h1, v16.h[3]
59f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
60f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
61f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmls h2, h3, v17.h[6]
62f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
63f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
64f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmul h0, h1, v16.h[3]
65f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmul h2, h3, v17.h[6]
66f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
67f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
68f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmul h0, h1, v16.h[3]
69f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
70f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
71f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmul h2, h3, v17.h[6]
72f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:              ^
73f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
74f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmulx h0, h1, v16.h[3]
75f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar  fmulx h2, h3, v17.h[6]
76f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar
77f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
78f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmulx h0, h1, v16.h[3]
79f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:               ^
80f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK:      error: invalid operand for instruction
81f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT: fmulx h2, h3, v17.h[6]
82f3ef5332fa3f4d5ec72c178a2b19dac363a19383Pirama Arumuga Nainar// CHECK-NEXT:               ^
83