1 // RUN
: llvm-mc
-triple arm
-mattr
=+dotprod
-show-encoding
< %s | FileCheck
%s
--check-prefix
=CHECK
2 // RUN
: llvm-mc
-triple arm
-mcpu
=cortex-a55
-show-encoding
< %s | FileCheck
%s
--check-prefix
=CHECK
3 // RUN
: llvm-mc
-triple arm
-mcpu
=cortex-a75
-show-encoding
< %s | FileCheck
%s
--check-prefix
=CHECK
4 // RUN
: llvm-mc
-triple arm
-mcpu
=cortex-a76
-show-encoding
< %s | FileCheck
%s
--check-prefix
=CHECK
5 // RUN
: llvm-mc
-triple arm
-mcpu
=neoverse-n1
-show-encoding
< %s | FileCheck
%s
--check-prefix
=CHECK
7 // RUN
: not llvm-mc
-triple arm
-mattr
=-dotprod
-show-encoding
< %s
2> %t
8 // RUN
: FileCheck
--check-prefix
=CHECK-NO-DOTPROD
< %t %s
9 // RUN
: not llvm-mc
-triple arm
-show-encoding
< %s
2> %t
10 // RUN
: FileCheck
--check-prefix
=CHECK-NO-DOTPROD
< %t %s
11 // RUN
: not llvm-mc
-triple arm
-mattr
=+v8.1
a -show-encoding
< %s
2> %t
12 // RUN
: FileCheck
--check-prefix
=CHECK-NO-DOTPROD
< %t %s
13 // RUN
: not llvm-mc
-triple arm
-mattr
=+v8.2
a -show-encoding
< %s
2> %t
14 // RUN
: FileCheck
--check-prefix
=CHECK-NO-DOTPROD
< %t %s
20 vudot.u8 d0
, d1
, d2
[0]
21 vsdot.s8 d0
, d1
, d2
[1]
22 vudot.u8 q0
, q1
, d4
[0]
23 vsdot.s8 q0
, q1
, d4
[1]
25 // CHECK
: vudot.u8 d0
, d1
, d2 @ encoding
: [0x12,0x0d,0x21,0xfc]
26 // CHECK
: vsdot.s8 d0
, d1
, d2 @ encoding
: [0x02,0x0d,0x21,0xfc]
27 // CHECK
: vudot.u8 q0
, q1
, q4 @ encoding
: [0x58,0x0d,0x22,0xfc]
28 // CHECK
: vsdot.s8 q0
, q1
, q4 @ encoding
: [0x48,0x0d,0x22,0xfc]
29 // CHECK
: vudot.u8 d0
, d1
, d2
[0] @ encoding
: [0x12,0x0d,0x21,0xfe]
30 // CHECK
: vsdot.s8 d0
, d1
, d2
[1] @ encoding
: [0x22,0x0d,0x21,0xfe]
31 // CHECK
: vudot.u8 q0
, q1
, d4
[0] @ encoding
: [0x54,0x0d,0x22,0xfe]
32 // CHECK
: vsdot.s8 q0
, q1
, d4
[1] @ encoding
: [0x64,0x0d,0x22,0xfe]
34 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
35 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
36 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
37 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
38 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
39 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
40 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod
41 // CHECK-NO-DOTPROD
: error
: instruction requires
: dotprod