1 // RUN
: not llvm-mc
-triple aarch64-none-linux-gnu
-show-encoding
-mattr
=+fp16fml
,+neon
< %s
2>&1 | FileCheck
%s
--check-prefix
=CHECK
3 //------------------------------------------------------------------------------
4 // ARMV8.2
-A Floating Point Multiplication
5 //------------------------------------------------------------------------------
7 fmlal V0.2s
, v1.2h
, v2.h
[8]
8 fmlsl V0.2s
, v1.2h
, v2.h
[8]
9 fmlal V0.4s
, v1.4h
, v2.h
[8]
10 fmlsl V0.4s
, v1.4h
, v2.h
[8]
12 fmlal2 V0.2s
, v1.2h
, v2.h
[8]
13 fmlsl2 V0.2s
, v1.2h
, v2.h
[8]
14 fmlal2 V0.4s
, v1.4h
, v2.h
[8]
15 fmlsl2 V0.4s
, v1.4h
, v2.h
[8]
17 fmlal V0.2s
, v1.2h
, v2.h
[-1]
18 fmlsl2 V0.2s
, v1.2h
, v2.h
[-1]
20 //CHECK
: error
: vector lane must
be an integer in range
[0, 7].
21 //CHECK-NEXT
: fmlal V0.2s
, v1.2h
, v2.h
[8]
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]
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]
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]
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]
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]
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]
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]
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]
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]