1 # RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.3a,-fullfp16 --disassemble < %s 2>%t | FileCheck %s --check-prefix=CHECK
2 # RUN: FileCheck %s < %t --check-prefix=NO-FP16
3 # RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.3a,+fullfp16 --disassemble < %s 2>%t | FileCheck %s --check-prefix=CHECK --check-prefix=FP16
4 # RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8r,+complxnum --disassemble < %s 2>%t | FileCheck %s --check-prefix=CHECK
5 # RUN: FileCheck %s < %t --check-prefix=NO-FP16
6 # RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=-v8.3a,+fullfp16 --disassemble < %s 2>&1 | FileCheck %s --check-prefix=NO-V83A
10 # FP16: fcmla v0.4h, v1.4h, v2.4h, #0
11 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
12 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
14 # FP16: fcmla v0.8h, v1.8h, v2.8h, #0
15 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
16 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
18 # CHECK: fcmla v0.2s, v1.2s, v2.2s, #0
19 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
21 # CHECK: fcmla v0.4s, v1.4s, v2.4s, #0
22 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
24 # CHECK: fcmla v0.2d, v1.2d, v2.2d, #0
25 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
29 # CHECK: fcmla v0.2s, v1.2s, v2.2s, #0
30 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
32 # CHECK: fcmla v0.2s, v1.2s, v2.2s, #90
33 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
35 # CHECK: fcmla v0.2s, v1.2s, v2.2s, #180
36 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
38 # CHECK: fcmla v0.2s, v1.2s, v2.2s, #270
39 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
44 # FP16: fcadd v0.4h, v1.4h, v2.4h, #90
45 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
46 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
48 # FP16: fcadd v0.8h, v1.8h, v2.8h, #90
49 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
50 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
52 # CHECK: fcadd v0.2s, v1.2s, v2.2s, #90
53 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
55 # CHECK: fcadd v0.4s, v1.4s, v2.4s, #90
56 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
58 # CHECK: fcadd v0.2d, v1.2d, v2.2d, #90
59 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
63 # CHECK: fcadd v0.2s, v1.2s, v2.2s, #90
64 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
66 # CHECK: fcadd v0.2s, v1.2s, v2.2s, #270
67 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
70 # FP16: fcmla v0.4h, v1.4h, v2.h[0], #0
71 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
72 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
74 # FP16: fcmla v0.8h, v1.8h, v2.h[0], #0
75 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
76 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
78 # CHECK: fcmla v0.4s, v1.4s, v2.s[0], #0
79 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
83 # CHECK: fcmla v0.4s, v1.4s, v2.s[0], #90
84 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
86 # CHECK: fcmla v0.4s, v1.4s, v2.s[0], #180
87 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
89 # CHECK: fcmla v0.4s, v1.4s, v2.s[0], #270
90 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
94 # FP16: fcmla v0.4h, v1.4h, v2.h[1], #0
95 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
96 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
98 # FP16: fcmla v0.8h, v1.8h, v2.h[3], #0
99 # NO-FP16: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding
100 # NO-V83A: :[[@LINE-3]]:{{[0-9]*}}: warning: invalid instruction encoding
101 [0x20,0x18,0x82,0x6f]
102 # CHECK: fcmla v0.4s, v1.4s, v2.s[1], #0
103 # NO-V83A: :[[@LINE-2]]:{{[0-9]*}}: warning: invalid instruction encoding