[committed,PR/target,102957] Allow Z*-ext extension with only 2 char.
Commit Message
We was assume the Z* extension should be more than 2 char, so we put an
assertion there, but it should just an error or warning rather than an
assertion, however RISC-V has add `Zk` extension, which just 2 char, so
actually, we should just allow that.
gcc/ChangeLog
PR target/102957
* common/config/riscv/riscv-common.c (multi_letter_subset_rank): Remove
assertion for Z*-ext.
gcc/testsuite/ChangeLog
* gcc.target/riscv/pr102957.c: New.
---
gcc/common/config/riscv/riscv-common.c | 1 -
gcc/testsuite/gcc.target/riscv/pr102957.c | 5 +++++
2 files changed, 5 insertions(+), 1 deletion(-)
create mode 100644 gcc/testsuite/gcc.target/riscv/pr102957.c
@@ -202,7 +202,6 @@ multi_letter_subset_rank (const std::string &subset)
high_order = 1;
break;
case 'z':
- gcc_assert (subset.length () > 2);
high_order = 2;
break;
case 'x':
new file mode 100644
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-O -march=rv64gzb -mabi=lp64" } */
+int foo()
+{
+}