1 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+i8mm
< %s | FileCheck
%s
2 // RUN
: llvm-mc
-triple aarch64
-show-encoding
-mattr
=+v8.6
a < %s | FileCheck
%s
3 // RUN
: not llvm-mc
-triple aarch64
-show-encoding
-mattr
=+v8.6a-i8mm
< %s
2>&1 | FileCheck
%s
--check-prefix
=NOMATMUL
5 smmla v1.4s
, v16.16
b, v31.16
b
6 ummla v1.4s
, v16.16
b, v31.16
b
7 usmmla v1.4s
, v16.16
b, v31.16
b
8 // CHECK
: smmla v1.4s
, v16.16
b, v31.16
b // encoding
: [0x01,0xa6,0x9f,0x4e]
9 // CHECK
: ummla v1.4s
, v16.16
b, v31.16
b // encoding
: [0x01,0xa6,0x9f,0x6e]
10 // CHECK
: usmmla v1.4s
, v16.16
b, v31.16
b // encoding
: [0x01,0xae,0x9f,0x4e]
11 // NOMATMUL
: instruction requires
: i8mm
12 // NOMATMUL-NEXT
: smmla v1.4s
, v16.16
b, v31.16
b
13 // NOMATMUL
: instruction requires
: i8mm
14 // NOMATMUL-NEXT
: ummla v1.4s
, v16.16
b, v31.16
b
15 // NOMATMUL
: instruction requires
: i8mm
16 // NOMATMUL-NEXT
: usmmla v1.4s
, v16.16
b, v31.16
b
18 usdot v3.2s
, v15.8
b, v30.8
b
19 usdot v3.4s
, v15.16
b, v30.16
b
20 // CHECK
: usdot v3.2s
, v15.8
b, v30.8
b // encoding
: [0xe3,0x9d,0x9e,0x0e]
21 // CHECK
: usdot v3.4s
, v15.16
b, v30.16
b // encoding
: [0xe3,0x9d,0x9e,0x4e]
22 // NOMATMUL
: instruction requires
: i8mm
23 // NOMATMUL-NEXT
: usdot v3.2s
, v15.8
b, v30.8
b
24 // NOMATMUL
: instruction requires
: i8mm
25 // NOMATMUL-NEXT
: usdot v3.4s
, v15.16
b, v30.16
b
27 usdot v31.2s
, v1.8
b, v2.4
b[3]
28 usdot v31.4s
, v1.16
b, v2.4
b[3]
29 // CHECK
: usdot v31.2s
, v1.8
b, v2.4
b[3] // encoding
: [0x3f,0xf8,0xa2,0x0f]
30 // CHECK
: usdot v31.4s
, v1.16
b, v2.4
b[3] // encoding
: [0x3f,0xf8,0xa2,0x4f]
31 // NOMATMUL
: instruction requires
: i8mm
32 // NOMATMUL-NEXT
: usdot v31.2s
, v1.8
b, v2.4
b[3]
33 // NOMATMUL
: instruction requires
: i8mm
34 // NOMATMUL-NEXT
: usdot v31.4s
, v1.16
b, v2.4
b[3]
36 sudot v31.2s
, v1.8
b, v2.4
b[3]
37 sudot v31.4s
, v1.16
b, v2.4
b[3]
38 // CHECK
: sudot v31.2s
, v1.8
b, v2.4
b[3] // encoding
: [0x3f,0xf8,0x22,0x0f]
39 // CHECK
: sudot v31.4s
, v1.16
b, v2.4
b[3] // encoding
: [0x3f,0xf8,0x22,0x4f]
40 // NOMATMUL
: instruction requires
: i8mm
41 // NOMATMUL-NEXT
: sudot v31.2s
, v1.8
b, v2.4
b[3]
42 // NOMATMUL
: instruction requires
: i8mm
43 // NOMATMUL-NEXT
: sudot v31.4s
, v1.16
b, v2.4
b[3]