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 smop4s za0.s
, z0.h
, z16.h
// 10000000-00000000-10000000-00011000
16 // CHECK-INST
: smop4s za0.s
, z0.h
, z16.h
17 // CHECK-ENCODING
: [0x18,0x80,0x00,0x80]
18 // CHECK-ERROR
: instruction requires
: sme2p2
19 // CHECK-UNKNOWN
: 80008018 <unknown
>
21 smop4s za3.s
, z12.h
, z24.h
// 10000000-00001000-10000001-10011011
22 // CHECK-INST
: smop4s za3.s
, z12.h
, z24.h
23 // CHECK-ENCODING
: [0x9b,0x81,0x08,0x80]
24 // CHECK-ERROR
: instruction requires
: sme2p2
25 // CHECK-UNKNOWN
: 8008819b <unknown
>
27 smop4s za3.s
, z14.h
, z30.h
// 10000000-00001110-10000001-11011011
28 // CHECK-INST
: smop4s za3.s
, z14.h
, z30.h
29 // CHECK-ENCODING
: [0xdb,0x81,0x0e,0x80]
30 // CHECK-ERROR
: instruction requires
: sme2p2
31 // CHECK-UNKNOWN
: 800e81db
<unknown
>
33 smop4s za0.s
, z0.h
, {z16.h-z17.h
} // 10000000-00010000-10000000-00011000
34 // CHECK-INST
: smop4s za0.s
, z0.h
, { z16.h
, z17.h
}
35 // CHECK-ENCODING
: [0x18,0x80,0x10,0x80]
36 // CHECK-ERROR
: instruction requires
: sme2p2
37 // CHECK-UNKNOWN
: 80108018 <unknown
>
39 smop4s za3.s
, z12.h
, {z24.h-z25.h
} // 10000000-00011000-10000001-10011011
40 // CHECK-INST
: smop4s za3.s
, z12.h
, { z24.h
, z25.h
}
41 // CHECK-ENCODING
: [0x9b,0x81,0x18,0x80]
42 // CHECK-ERROR
: instruction requires
: sme2p2
43 // CHECK-UNKNOWN
: 8018819b <unknown
>
45 smop4s za3.s
, z14.h
, {z30.h-z31.h
} // 10000000-00011110-10000001-11011011
46 // CHECK-INST
: smop4s za3.s
, z14.h
, { z30.h
, z31.h
}
47 // CHECK-ENCODING
: [0xdb,0x81,0x1e,0x80]
48 // CHECK-ERROR
: instruction requires
: sme2p2
49 // CHECK-UNKNOWN
: 801e81db
<unknown
>
51 smop4s za0.s
, {z0.h-z1.h
}, z16.h
// 10000000-00000000-10000010-00011000
52 // CHECK-INST
: smop4s za0.s
, { z0.h
, z1.h
}, z16.h
53 // CHECK-ENCODING
: [0x18,0x82,0x00,0x80]
54 // CHECK-ERROR
: instruction requires
: sme2p2
55 // CHECK-UNKNOWN
: 80008218 <unknown
>
57 smop4s za3.s
, {z12.h-z13.h
}, z24.h
// 10000000-00001000-10000011-10011011
58 // CHECK-INST
: smop4s za3.s
, { z12.h
, z13.h
}, z24.h
59 // CHECK-ENCODING
: [0x9b,0x83,0x08,0x80]
60 // CHECK-ERROR
: instruction requires
: sme2p2
61 // CHECK-UNKNOWN
: 8008839b <unknown
>
63 smop4s za3.s
, {z14.h-z15.h
}, z30.h
// 10000000-00001110-10000011-11011011
64 // CHECK-INST
: smop4s za3.s
, { z14.h
, z15.h
}, z30.h
65 // CHECK-ENCODING
: [0xdb,0x83,0x0e,0x80]
66 // CHECK-ERROR
: instruction requires
: sme2p2
67 // CHECK-UNKNOWN
: 800e83db
<unknown
>
69 smop4s za0.s
, {z0.h-z1.h
}, {z16.h-z17.h
} // 10000000-00010000-10000010-00011000
70 // CHECK-INST
: smop4s za0.s
, { z0.h
, z1.h
}, { z16.h
, z17.h
}
71 // CHECK-ENCODING
: [0x18,0x82,0x10,0x80]
72 // CHECK-ERROR
: instruction requires
: sme2p2
73 // CHECK-UNKNOWN
: 80108218 <unknown
>
75 smop4s za3.s
, {z12.h-z13.h
}, {z24.h-z25.h
} // 10000000-00011000-10000011-10011011
76 // CHECK-INST
: smop4s za3.s
, { z12.h
, z13.h
}, { z24.h
, z25.h
}
77 // CHECK-ENCODING
: [0x9b,0x83,0x18,0x80]
78 // CHECK-ERROR
: instruction requires
: sme2p2
79 // CHECK-UNKNOWN
: 8018839b <unknown
>
81 smop4s za3.s
, {z14.h-z15.h
}, {z30.h-z31.h
} // 10000000-00011110-10000011-11011011
82 // CHECK-INST
: smop4s za3.s
, { z14.h
, z15.h
}, { z30.h
, z31.h
}
83 // CHECK-ENCODING
: [0xdb,0x83,0x1e,0x80]
84 // CHECK-ERROR
: instruction requires
: sme2p2
85 // CHECK-UNKNOWN
: 801e83db
<unknown
>