[committed] [PR/target 102957] Allow Z*-ext extension with only 2 char.
Kito Cheng
kito.cheng@sifive.com
Tue Nov 9 16:28:25 GMT 2021
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
diff --git a/gcc/common/config/riscv/riscv-common.c b/gcc/common/config/riscv/riscv-common.c
index 37b6ea80086..f3c120b4cb4 100644
--- a/gcc/common/config/riscv/riscv-common.c
+++ b/gcc/common/config/riscv/riscv-common.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':
diff --git a/gcc/testsuite/gcc.target/riscv/pr102957.c b/gcc/testsuite/gcc.target/riscv/pr102957.c
new file mode 100644
index 00000000000..8a7e541bf6d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/pr102957.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-O -march=rv64gzb -mabi=lp64" } */
+int foo()
+{
+}
--
2.33.0
More information about the Gcc-patches
mailing list