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
16 umop4a za0.s
, z0.h
, z16.h
// 10000001-00000000-10000000-00001000
17 // CHECK-INST
: umop4a za0.s
, z0.h
, z16.h
18 // CHECK-ENCODING
: [0x08,0x80,0x00,0x81]
19 // CHECK-ERROR
: instruction requires
: sme2p2
20 // CHECK-UNKNOWN
: 81008008 <unknown
>
22 umop4a za3.s
, z12.h
, z24.h
// 10000001-00001000-10000001-10001011
23 // CHECK-INST
: umop4a za3.s
, z12.h
, z24.h
24 // CHECK-ENCODING
: [0x8b,0x81,0x08,0x81]
25 // CHECK-ERROR
: instruction requires
: sme2p2
26 // CHECK-UNKNOWN
: 8108818b <unknown
>
28 umop4a za3.s
, z14.h
, z30.h
// 10000001-00001110-10000001-11001011
29 // CHECK-INST
: umop4a za3.s
, z14.h
, z30.h
30 // CHECK-ENCODING
: [0xcb,0x81,0x0e,0x81]
31 // CHECK-ERROR
: instruction requires
: sme2p2
32 // CHECK-UNKNOWN
: 810e81cb
<unknown
>
34 umop4a za0.s
, z0.h
, {z16.h-z17.h
} // 10000001-00010000-10000000-00001000
35 // CHECK-INST
: umop4a za0.s
, z0.h
, { z16.h
, z17.h
}
36 // CHECK-ENCODING
: [0x08,0x80,0x10,0x81]
37 // CHECK-ERROR
: instruction requires
: sme2p2
38 // CHECK-UNKNOWN
: 81108008 <unknown
>
40 umop4a za3.s
, z12.h
, {z24.h-z25.h
} // 10000001-00011000-10000001-10001011
41 // CHECK-INST
: umop4a za3.s
, z12.h
, { z24.h
, z25.h
}
42 // CHECK-ENCODING
: [0x8b,0x81,0x18,0x81]
43 // CHECK-ERROR
: instruction requires
: sme2p2
44 // CHECK-UNKNOWN
: 8118818b <unknown
>
46 umop4a za3.s
, z14.h
, {z30.h-z31.h
} // 10000001-00011110-10000001-11001011
47 // CHECK-INST
: umop4a za3.s
, z14.h
, { z30.h
, z31.h
}
48 // CHECK-ENCODING
: [0xcb,0x81,0x1e,0x81]
49 // CHECK-ERROR
: instruction requires
: sme2p2
50 // CHECK-UNKNOWN
: 811e81cb
<unknown
>
52 umop4a za0.s
, {z0.h-z1.h
}, z16.h
// 10000001-00000000-10000010-00001000
53 // CHECK-INST
: umop4a za0.s
, { z0.h
, z1.h
}, z16.h
54 // CHECK-ENCODING
: [0x08,0x82,0x00,0x81]
55 // CHECK-ERROR
: instruction requires
: sme2p2
56 // CHECK-UNKNOWN
: 81008208 <unknown
>
58 umop4a za3.s
, {z12.h-z13.h
}, z24.h
// 10000001-00001000-10000011-10001011
59 // CHECK-INST
: umop4a za3.s
, { z12.h
, z13.h
}, z24.h
60 // CHECK-ENCODING
: [0x8b,0x83,0x08,0x81]
61 // CHECK-ERROR
: instruction requires
: sme2p2
62 // CHECK-UNKNOWN
: 8108838b <unknown
>
64 umop4a za3.s
, {z14.h-z15.h
}, z30.h
// 10000001-00001110-10000011-11001011
65 // CHECK-INST
: umop4a za3.s
, { z14.h
, z15.h
}, z30.h
66 // CHECK-ENCODING
: [0xcb,0x83,0x0e,0x81]
67 // CHECK-ERROR
: instruction requires
: sme2p2
68 // CHECK-UNKNOWN
: 810e83cb
<unknown
>
70 umop4a za0.s
, {z0.h-z1.h
}, {z16.h-z17.h
} // 10000001-00010000-10000010-00001000
71 // CHECK-INST
: umop4a za0.s
, { z0.h
, z1.h
}, { z16.h
, z17.h
}
72 // CHECK-ENCODING
: [0x08,0x82,0x10,0x81]
73 // CHECK-ERROR
: instruction requires
: sme2p2
74 // CHECK-UNKNOWN
: 81108208 <unknown
>
76 umop4a za3.s
, {z12.h-z13.h
}, {z24.h-z25.h
} // 10000001-00011000-10000011-10001011
77 // CHECK-INST
: umop4a za3.s
, { z12.h
, z13.h
}, { z24.h
, z25.h
}
78 // CHECK-ENCODING
: [0x8b,0x83,0x18,0x81]
79 // CHECK-ERROR
: instruction requires
: sme2p2
80 // CHECK-UNKNOWN
: 8118838b <unknown
>
82 umop4a za3.s
, {z14.h-z15.h
}, {z30.h-z31.h
} // 10000001-00011110-10000011-11001011
83 // CHECK-INST
: umop4a za3.s
, { z14.h
, z15.h
}, { z30.h
, z31.h
}
84 // CHECK-ENCODING
: [0xcb,0x83,0x1e,0x81]
85 // CHECK-ERROR
: instruction requires
: sme2p2
86 // CHECK-UNKNOWN
: 811e83cb
<unknown
>