On 11/13/22 12:32, Weiwei Li wrote:
  {
    sq              101  ... ... .. ... 10 @c_sqsp
    c_fsd           101   ......  ..... 10 @c_sdsp
+
+  # *** RV64 and RV32 Zcmp Extension ***
+  cm_push         101  11000  .... .. 10 @zcmp
+  cm_pop          101  11010  .... .. 10 @zcmp
+  cm_popret       101  11110  .... .. 10 @zcmp
+  cm_popretz      101  11100  .... .. 10 @zcmp
+  cm_mva01s       101  011 ... 11 ... 10 @cm_mv
+  cm_mvsa01       101  011 ... 01 ... 10 @cm_mv
  }

There is no overlap in these, so they should be within nested [].


diff --git a/target/riscv/zce_helper.c b/target/riscv/zce_helper.c
new file mode 100644
index 0000000000..1346de1367
--- /dev/null
+++ b/target/riscv/zce_helper.c
@@ -0,0 +1,210 @@
+/*
+ * RISC-V Zc* extension Helpers for QEMU.
+ *
+ * Copyright (c) 2021-2022 PLCT Lab
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms and conditions of the GNU General Public License,
+ * version 2 or later, as published by the Free Software Foundation.
+ *
+ * This program is distributed in the hope it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
+ * more details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program.  If not, see <http://www.gnu.org/licenses/>.
+ */

The entire contents of this helper file should be handled at translation time.


r~

Reply via email to