aboutsummaryrefslogtreecommitdiff
path: root/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'extensions')
-rw-r--r--extensions/rv32_zclsd9
-rw-r--r--extensions/rv32_zilsd4
2 files changed, 13 insertions, 0 deletions
diff --git a/extensions/rv32_zclsd b/extensions/rv32_zclsd
new file mode 100644
index 0000000..f8d7e82
--- /dev/null
+++ b/extensions/rv32_zclsd
@@ -0,0 +1,9 @@
+# Compressed load/store pair for RV32
+
+# quadrant 0
+$pseudo_op rv32_c_f::c.flw c.ld rd_p_e rs1_p c_uimm8lo c_uimm8hi 2..0=0 15..13=3
+$pseudo_op rv32_c_f::c.fsw c.sd rs1_p rs2_p_e c_uimm8hi c_uimm8lo 2..0=0 15..13=7
+
+#quadrant 2
+$pseudo_op rv32_c_f::c.flwsp c.ldsp rd_n0_e c_uimm9sphi c_uimm9splo 1..0=2 15..13=3 7=0
+$pseudo_op rv32_c_f::c.fswsp c.sdsp c_rs2_e c_uimm9sp_s 2..0=2 15..13=7
diff --git a/extensions/rv32_zilsd b/extensions/rv32_zilsd
new file mode 100644
index 0000000..b9682e4
--- /dev/null
+++ b/extensions/rv32_zilsd
@@ -0,0 +1,4 @@
+# Load/store pair for RV32
+
+$pseudo_op rv64_i::ld ld rd_e rs1 imm12 14..12=3 7..2=0x00 1..0=3
+$pseudo_op rv64_i::ld ld imm12hi rs1 rs2_e imm12lo 20=0 14..12=3 6..2=0x08 1..0=3