aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns
diff options
context:
space:
mode:
authorbrs <turtwig@utexas.edu>2023-10-18 19:07:45 -0500
committerbrs <turtwig@utexas.edu>2023-10-18 19:07:45 -0500
commit9258b59e67f92332fe057e4856e3e2f07312bfe5 (patch)
treeec94b8818a90ded1d38976b6a9e0d03ef939d8f2 /riscv/insns
parent67252b3d7c72363cd0312bec1fa3293c4db59a65 (diff)
downloadriscv-isa-sim-9258b59e67f92332fe057e4856e3e2f07312bfe5.zip
riscv-isa-sim-9258b59e67f92332fe057e4856e3e2f07312bfe5.tar.gz
riscv-isa-sim-9258b59e67f92332fe057e4856e3e2f07312bfe5.tar.bz2
Spike support for the Zalasr extension
Diffstat (limited to 'riscv/insns')
-rw-r--r--riscv/insns/lb_aq.h2
-rw-r--r--riscv/insns/ld_aq.h3
-rw-r--r--riscv/insns/lh_aq.h2
-rw-r--r--riscv/insns/lw_aq.h2
-rw-r--r--riscv/insns/sb_rl.h2
-rw-r--r--riscv/insns/sd_rl.h3
-rw-r--r--riscv/insns/sh_rl.h2
-rw-r--r--riscv/insns/sw_rl.h2
8 files changed, 18 insertions, 0 deletions
diff --git a/riscv/insns/lb_aq.h b/riscv/insns/lb_aq.h
new file mode 100644
index 0000000..84423de
--- /dev/null
+++ b/riscv/insns/lb_aq.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+WRITE_RD(MMU.load<int8_t>(RS1));
diff --git a/riscv/insns/ld_aq.h b/riscv/insns/ld_aq.h
new file mode 100644
index 0000000..3c5bae6
--- /dev/null
+++ b/riscv/insns/ld_aq.h
@@ -0,0 +1,3 @@
+require_rv64;
+require_extension(EXT_ZALASR);
+WRITE_RD(MMU.load<int64_t>(RS1));
diff --git a/riscv/insns/lh_aq.h b/riscv/insns/lh_aq.h
new file mode 100644
index 0000000..e018503
--- /dev/null
+++ b/riscv/insns/lh_aq.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+WRITE_RD(MMU.load<int16_t>(RS1));
diff --git a/riscv/insns/lw_aq.h b/riscv/insns/lw_aq.h
new file mode 100644
index 0000000..88917b5
--- /dev/null
+++ b/riscv/insns/lw_aq.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+WRITE_RD(MMU.load<int32_t>(RS1));
diff --git a/riscv/insns/sb_rl.h b/riscv/insns/sb_rl.h
new file mode 100644
index 0000000..91d4d25
--- /dev/null
+++ b/riscv/insns/sb_rl.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+MMU.store<uint8_t>(RS1, RS2);
diff --git a/riscv/insns/sd_rl.h b/riscv/insns/sd_rl.h
new file mode 100644
index 0000000..980844c
--- /dev/null
+++ b/riscv/insns/sd_rl.h
@@ -0,0 +1,3 @@
+require_rv64;
+require_extension(EXT_ZALASR);
+MMU.store<uint64_t>(RS1, RS2);
diff --git a/riscv/insns/sh_rl.h b/riscv/insns/sh_rl.h
new file mode 100644
index 0000000..bd81cf1
--- /dev/null
+++ b/riscv/insns/sh_rl.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+MMU.store<uint16_t>(RS1, RS2);
diff --git a/riscv/insns/sw_rl.h b/riscv/insns/sw_rl.h
new file mode 100644
index 0000000..e97f626
--- /dev/null
+++ b/riscv/insns/sw_rl.h
@@ -0,0 +1,2 @@
+require_extension(EXT_ZALASR);
+MMU.store<uint32_t>(RS1, RS2);