1 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2p2
< %s \
2 // RUN
: | FileCheck
%s
--check-prefixes
=CHECK-ENCODING
,CHECK-INST
3 // RUN
: not llvm-mc
-triple
=aarch64
-show-encoding
< %s
2>&1 \
4 // RUN
: | FileCheck
%s
--check-prefix
=CHECK-ERROR
5 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sme2p2
< %s \
6 // RUN
: | llvm-objdump
-d
--mattr
=+sme2p2
- | FileCheck
%s
--check-prefix
=CHECK-INST
7 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sme2p2
< %s \
8 // RUN
: | llvm-objdump
-d
--mattr
=-sme2p2
- | FileCheck
%s
--check-prefix
=CHECK-UNKNOWN
9 // Disassemble encoding
and check the re-encoding
(-show-encoding
) matches.
10 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2p2
< %s \
11 // RUN
: | sed
'/.text/d' | sed
's/.*encoding: //g' \
12 // RUN
: | llvm-mc
-triple
=aarch64
-mattr
=+sme2p2
-disassemble
-show-encoding \
13 // RUN
: | FileCheck
%s
--check-prefixes
=CHECK-ENCODING
,CHECK-INST
15 umop4a za0.s
, z0.
b, z16.
b // 10000001-00100000-10000000-00000000
16 // CHECK-INST
: umop4a za0.s
, z0.
b, z16.
b
17 // CHECK-ENCODING
: [0x00,0x80,0x20,0x81]
18 // CHECK-ERROR
: instruction requires
: sme2p2
19 // CHECK-UNKNOWN
: 81208000 <unknown
>
21 umop4a za1.s
, z10.
b, z20.
b // 10000001-00100100-10000001-01000001
22 // CHECK-INST
: umop4a za1.s
, z10.
b, z20.
b
23 // CHECK-ENCODING
: [0x41,0x81,0x24,0x81]
24 // CHECK-ERROR
: instruction requires
: sme2p2
25 // CHECK-UNKNOWN
: 81248141 <unknown
>
27 umop4a za3.s
, z14.
b, z30.
b // 10000001-00101110-10000001-11000011
28 // CHECK-INST
: umop4a za3.s
, z14.
b, z30.
b
29 // CHECK-ENCODING
: [0xc3,0x81,0x2e,0x81]
30 // CHECK-ERROR
: instruction requires
: sme2p2
31 // CHECK-UNKNOWN
: 812e81c3
<unknown
>
33 umop4a za0.s
, z0.
b, {z16.b-z17.
b} // 10000001-00110000-10000000-00000000
34 // CHECK-INST
: umop4a za0.s
, z0.
b, { z16.
b, z17.
b }
35 // CHECK-ENCODING
: [0x00,0x80,0x30,0x81]
36 // CHECK-ERROR
: instruction requires
: sme2p2
37 // CHECK-UNKNOWN
: 81308000 <unknown
>
39 umop4a za1.s
, z10.
b, {z20.b-z21.
b} // 10000001-00110100-10000001-01000001
40 // CHECK-INST
: umop4a za1.s
, z10.
b, { z20.
b, z21.
b }
41 // CHECK-ENCODING
: [0x41,0x81,0x34,0x81]
42 // CHECK-ERROR
: instruction requires
: sme2p2
43 // CHECK-UNKNOWN
: 81348141 <unknown
>
45 umop4a za3.s
, z14.
b, {z30.b-z31.
b} // 10000001-00111110-10000001-11000011
46 // CHECK-INST
: umop4a za3.s
, z14.
b, { z30.
b, z31.
b }
47 // CHECK-ENCODING
: [0xc3,0x81,0x3e,0x81]
48 // CHECK-ERROR
: instruction requires
: sme2p2
49 // CHECK-UNKNOWN
: 813e81c3
<unknown
>
51 umop4a za0.s
, {z0.b-z1.
b}, z16.
b // 10000001-00100000-10000010-00000000
52 // CHECK-INST
: umop4a za0.s
, { z0.
b, z1.
b }, z16.
b
53 // CHECK-ENCODING
: [0x00,0x82,0x20,0x81]
54 // CHECK-ERROR
: instruction requires
: sme2p2
55 // CHECK-UNKNOWN
: 81208200 <unknown
>
57 umop4a za1.s
, {z10.b-z11.
b}, z20.
b // 10000001-00100100-10000011-01000001
58 // CHECK-INST
: umop4a za1.s
, { z10.
b, z11.
b }, z20.
b
59 // CHECK-ENCODING
: [0x41,0x83,0x24,0x81]
60 // CHECK-ERROR
: instruction requires
: sme2p2
61 // CHECK-UNKNOWN
: 81248341 <unknown
>
63 umop4a za3.s
, {z14.b-z15.
b}, z30.
b // 10000001-00101110-10000011-11000011
64 // CHECK-INST
: umop4a za3.s
, { z14.
b, z15.
b }, z30.
b
65 // CHECK-ENCODING
: [0xc3,0x83,0x2e,0x81]
66 // CHECK-ERROR
: instruction requires
: sme2p2
67 // CHECK-UNKNOWN
: 812e83c3
<unknown
>
69 umop4a za0.s
, {z0.b-z1.
b}, {z16.b-z17.
b} // 10000001-00110000-10000010-00000000
70 // CHECK-INST
: umop4a za0.s
, { z0.
b, z1.
b }, { z16.
b, z17.
b }
71 // CHECK-ENCODING
: [0x00,0x82,0x30,0x81]
72 // CHECK-ERROR
: instruction requires
: sme2p2
73 // CHECK-UNKNOWN
: 81308200 <unknown
>
75 umop4a za1.s
, {z10.b-z11.
b}, {z20.b-z21.
b} // 10000001-00110100-10000011-01000001
76 // CHECK-INST
: umop4a za1.s
, { z10.
b, z11.
b }, { z20.
b, z21.
b }
77 // CHECK-ENCODING
: [0x41,0x83,0x34,0x81]
78 // CHECK-ERROR
: instruction requires
: sme2p2
79 // CHECK-UNKNOWN
: 81348341 <unknown
>
81 umop4a za3.s
, {z14.b-z15.
b}, {z30.b-z31.
b} // 10000001-00111110-10000011-11000011
82 // CHECK-INST
: umop4a za3.s
, { z14.
b, z15.
b }, { z30.
b, z31.
b }
83 // CHECK-ENCODING
: [0xc3,0x83,0x3e,0x81]
84 // CHECK-ERROR
: instruction requires
: sme2p2
85 // CHECK-UNKNOWN
: 813e83c3
<unknown
>