[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:528c985b943bb3afcd49b343d087083bae81edd4
commit 528c985b943bb3afcd49b343d087083bae81edd4
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:a71e27938511cc310a89c8eb21080bd11cc386d6
commit a71e27938511cc310a89c8eb21080bd11cc386d6
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:e4e2826b84551e37dc6cbc31b3cd60bf1d91f50d
commit e4e2826b84551e37dc6cbc31b3cd60bf1d91f50d
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:40b0f99a07c4d1316bfce6e6089193733495fe47
commit 40b0f99a07c4d1316bfce6e6089193733495fe47
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:73765273b80834108bbeeebee66238513687e512
commit 73765273b80834108bbeeebee66238513687e512
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:42b7dadd72fa4c11b4c274c3f4334ec623ce9c70
commit 42b7dadd72fa4c11b4c274c3f4334ec623ce9c70
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:77d826d89b28dcf164cee3f2449708b3d781bede
commit 77d826d89b28dcf164cee3f2449708b3d781bede
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:1f4c76ef83d224e7800d55da3b6d624536a732c5
commit 1f4c76ef83d224e7800d55da3b6d624536a732c5
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:91c78280208977be8351dbde323b952c0134a40f
commit 91c78280208977be8351dbde323b952c0134a40f
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:a85d3aacddf690d1bdf046fdba23097519bb5e7a
commit a85d3aacddf690d1bdf046fdba23097519bb5e7a
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
[gcc(refs/vendors/riscv/heads/gcc-15-with-riscv-opts)] [PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
https://gcc.gnu.org/g:71b176096c00f0f77b1734294ec30f209209cc46
commit 71b176096c00f0f77b1734294ec30f209209cc46
Author: Dongyan Chen
Date: Tue May 6 17:09:54 2025 -0600
[PATCH] RISC-V: Minimal support for sdtrig and ssstrict extensions.
This patch support sdtrig and ssstrict extensions[1].
To enable GCC to recognize and process sdtrig and ssstrict extensions
correctly
at compile time.
[1] https://github.com/riscv/riscv-profiles/blob/main/src/rva23-profile.adoc
gcc/ChangeLog:
* common/config/riscv/riscv-common.cc: New extension.
gcc/testsuite/ChangeLog:
* gcc.target/riscv/arch-47.c: New test.
(cherry picked from commit 82126b26d17ed2c5ee48ca51e3fed69e898c9a20)
Diff:
---
gcc/common/config/riscv/riscv-common.cc | 3 +++
gcc/testsuite/gcc.target/riscv/arch-47.c | 5 +
2 files changed, 8 insertions(+)
diff --git a/gcc/common/config/riscv/riscv-common.cc
b/gcc/common/config/riscv/riscv-common.cc
index 58c7d205b336..0233e1a108be 100644
--- a/gcc/common/config/riscv/riscv-common.cc
+++ b/gcc/common/config/riscv/riscv-common.cc
@@ -432,6 +432,8 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sdtrig", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"smaia", ISA_SPEC_CLASS_NONE, 1, 0},
{"smepmp",ISA_SPEC_CLASS_NONE, 1, 0},
{"smstateen", ISA_SPEC_CLASS_NONE, 1, 0},
@@ -440,6 +442,7 @@ static const struct riscv_ext_version
riscv_ext_version_table[] =
{"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
{"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
{"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstrict", ISA_SPEC_CLASS_NONE, 1, 0},
{"svade", ISA_SPEC_CLASS_NONE, 1, 0},
{"svadu", ISA_SPEC_CLASS_NONE, 1, 0},
diff --git a/gcc/testsuite/gcc.target/riscv/arch-47.c
b/gcc/testsuite/gcc.target/riscv/arch-47.c
new file mode 100644
index ..06bc80fe7800
--- /dev/null
+++ b/gcc/testsuite/gcc.target/riscv/arch-47.c
@@ -0,0 +1,5 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64gc_sdtrig_ssstrict -mabi=lp64" } */
+int foo()
+{
+}
