1 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2
< %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
=+sme2
< %s \
6 // RUN
: | llvm-objdump
-d
--mattr
=+sme2
- | FileCheck
%s
--check-prefix
=CHECK-INST
7 // RUN
: llvm-mc
-triple
=aarch64
-filetype
=obj
-mattr
=+sme2
< %s \
8 // RUN
: | llvm-objdump
-d
--mattr
=-sme2
- | FileCheck
%s
--check-prefix
=CHECK-UNKNOWN
9 // RUN
: llvm-mc
-triple
=aarch64
-show-encoding
-mattr
=+sme2
< %s \
10 // RUN
: | sed
'/.text/d' | sed
's/.*encoding: //g' \
11 // RUN
: | llvm-mc
-triple
=aarch64
-mattr
=+sme2
-disassemble
-show-encoding \
12 // RUN
: | FileCheck
%s
--check-prefixes
=CHECK-ENCODING
,CHECK-INST
15 sqcvtu z0.h
, {z0.s
, z1.s
} // 11000001-01100011-11100000-00000000
16 // CHECK-INST
: sqcvtu z0.h
, { z0.s
, z1.s
}
17 // CHECK-ENCODING
: [0x00,0xe0,0x63,0xc1]
18 // CHECK-ERROR
: instruction requires
: sme2
19 // CHECK-UNKNOWN
: c163e000
<unknown
>
21 sqcvtu z21.h
, {z10.s
, z11.s
} // 11000001-01100011-11100001-01010101
22 // CHECK-INST
: sqcvtu z21.h
, { z10.s
, z11.s
}
23 // CHECK-ENCODING
: [0x55,0xe1,0x63,0xc1]
24 // CHECK-ERROR
: instruction requires
: sme2
25 // CHECK-UNKNOWN
: c163e155
<unknown
>
27 sqcvtu z23.h
, {z12.s
, z13.s
} // 11000001-01100011-11100001-10010111
28 // CHECK-INST
: sqcvtu z23.h
, { z12.s
, z13.s
}
29 // CHECK-ENCODING
: [0x97,0xe1,0x63,0xc1]
30 // CHECK-ERROR
: instruction requires
: sme2
31 // CHECK-UNKNOWN
: c163e197
<unknown
>
33 sqcvtu z31.h
, {z30.s
, z31.s
} // 11000001-01100011-11100011-11011111
34 // CHECK-INST
: sqcvtu z31.h
, { z30.s
, z31.s
}
35 // CHECK-ENCODING
: [0xdf,0xe3,0x63,0xc1]
36 // CHECK-ERROR
: instruction requires
: sme2
37 // CHECK-UNKNOWN
: c163e3df
<unknown
>
40 sqcvtu z0.
b, {z0.s
- z3.s
} // 11000001-01110011-11100000-00000000
41 // CHECK-INST
: sqcvtu z0.
b, { z0.s
- z3.s
}
42 // CHECK-ENCODING
: [0x00,0xe0,0x73,0xc1]
43 // CHECK-ERROR
: instruction requires
: sme2
44 // CHECK-UNKNOWN
: c173e000
<unknown
>
46 sqcvtu z21.
b, {z8.s
- z11.s
} // 11000001-01110011-11100001-00010101
47 // CHECK-INST
: sqcvtu z21.
b, { z8.s
- z11.s
}
48 // CHECK-ENCODING
: [0x15,0xe1,0x73,0xc1]
49 // CHECK-ERROR
: instruction requires
: sme2
50 // CHECK-UNKNOWN
: c173e115
<unknown
>
52 sqcvtu z23.
b, {z12.s
- z15.s
} // 11000001-01110011-11100001-10010111
53 // CHECK-INST
: sqcvtu z23.
b, { z12.s
- z15.s
}
54 // CHECK-ENCODING
: [0x97,0xe1,0x73,0xc1]
55 // CHECK-ERROR
: instruction requires
: sme2
56 // CHECK-UNKNOWN
: c173e197
<unknown
>
58 sqcvtu z31.
b, {z28.s
- z31.s
} // 11000001-01110011-11100011-10011111
59 // CHECK-INST
: sqcvtu z31.
b, { z28.s
- z31.s
}
60 // CHECK-ENCODING
: [0x9f,0xe3,0x73,0xc1]
61 // CHECK-ERROR
: instruction requires
: sme2
62 // CHECK-UNKNOWN
: c173e39f
<unknown
>
65 sqcvtu z0.h
, {z0.d
- z3.d
} // 11000001-11110011-11100000-00000000
66 // CHECK-INST
: sqcvtu z0.h
, { z0.d
- z3.d
}
67 // CHECK-ENCODING
: [0x00,0xe0,0xf3,0xc1]
68 // CHECK-ERROR
: instruction requires
: sme2
69 // CHECK-UNKNOWN
: c1f3e000
<unknown
>
71 sqcvtu z21.h
, {z8.d
- z11.d
} // 11000001-11110011-11100001-00010101
72 // CHECK-INST
: sqcvtu z21.h
, { z8.d
- z11.d
}
73 // CHECK-ENCODING
: [0x15,0xe1,0xf3,0xc1]
74 // CHECK-ERROR
: instruction requires
: sme2
75 // CHECK-UNKNOWN
: c1f3e115
<unknown
>
77 sqcvtu z23.h
, {z12.d
- z15.d
} // 11000001-11110011-11100001-10010111
78 // CHECK-INST
: sqcvtu z23.h
, { z12.d
- z15.d
}
79 // CHECK-ENCODING
: [0x97,0xe1,0xf3,0xc1]
80 // CHECK-ERROR
: instruction requires
: sme2
81 // CHECK-UNKNOWN
: c1f3e197
<unknown
>
83 sqcvtu z31.h
, {z28.d
- z31.d
} // 11000001-11110011-11100011-10011111
84 // CHECK-INST
: sqcvtu z31.h
, { z28.d
- z31.d
}
85 // CHECK-ENCODING
: [0x9f,0xe3,0xf3,0xc1]
86 // CHECK-ERROR
: instruction requires
: sme2
87 // CHECK-UNKNOWN
: c1f3e39f
<unknown
>