@@ -143,6 +143,14 @@ static const riscv_implied_info_t riscv_implied_info[] =
{"zcmp", "zca"},
{"zcmt", "zca"},
+ {"smaia", "ssaia"},
+ {"smstateen", "ssstateen"},
+ {"smepmp", "zicsr"},
+ {"ssaia", "zicsr"},
+ {"sscofpmf", "zicsr"},
+ {"ssstateen", "zicsr"},
+ {"sstc", "zicsr"},
+
{NULL, NULL}
};
@@ -288,8 +296,18 @@ static const struct riscv_ext_version riscv_ext_version_table[] =
{"zcmp", ISA_SPEC_CLASS_NONE, 1, 0},
{"zcmt", 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},
+
+ {"ssaia", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sscofpmf", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"ssstateen", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"sstc", ISA_SPEC_CLASS_NONE, 1, 0},
+
{"svinval", ISA_SPEC_CLASS_NONE, 1, 0},
{"svnapot", ISA_SPEC_CLASS_NONE, 1, 0},
+ {"svpbmt", ISA_SPEC_CLASS_NONE, 1, 0},
{"xtheadba", ISA_SPEC_CLASS_NONE, 1, 0},
{"xtheadbb", ISA_SPEC_CLASS_NONE, 1, 0},
new file mode 100644
@@ -0,0 +1,35 @@
+/* { dg-do compile } */
+/* { dg-options "-march=rv64i_smstateen -mabi=lp64 -mcmodel=medlow -misa-spec=20191213" } */
+
+int main () {
+
+#ifndef __riscv_arch_test
+#error "__riscv_arch_test"
+#endif
+
+#if __riscv_xlen != 64
+#error "__riscv_xlen"
+#endif
+
+#if !defined(__riscv_i) || (__riscv_i != (2 * 1000 * 1000 + 1 * 1000))
+#error "__riscv_i"
+#endif
+
+#if defined(__riscv_e)
+#error "__riscv_e"
+#endif
+
+#if !defined(__riscv_zicsr)
+#error "__riscv_zicsr"
+#endif
+
+#if !defined(__riscv_smstateen)
+#error "__riscv_smstateen"
+#endif
+
+#if !defined(__riscv_ssstateen)
+#error "__riscv_ssstateen"
+#endif
+
+ return 0;
+}