From 65010ec98703948acd7f439c0c0e23d50c2b4f49 Mon Sep 17 00:00:00 2001 From: Martin Kaiser Date: Thu, 2 Jan 2025 11:18:02 +0100 Subject: [PATCH] amo: amoswap: offset must be 0 (#499) The amo.[w|d] and amoswap.c instructions need the exact address and do not support an offset. Their encodings have no offset field. Set the offset to 0 in the Mnemonics. This is what we already do for lr and sc instructions. Signed-off-by: Martin Kaiser --- src/insns/amo_32bit.adoc | 8 ++++---- src/insns/amoswap_32bit_cap.adoc | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/insns/amo_32bit.adoc b/src/insns/amo_32bit.adoc index 37b5b220..794a1dca 100644 --- a/src/insns/amo_32bit.adoc +++ b/src/insns/amo_32bit.adoc @@ -14,16 +14,16 @@ Synopsis:: Atomic Operations (AMO.W, AMO.D), 32-bit encodings {cheri_cap_mode_name} Mnemonics (RV64):: -`amo.[w|d] rd, rs2, offset(cs1)` +`amo.[w|d] rd, rs2, 0(cs1)` {cheri_cap_mode_name} Mnemonics (RV32):: -`amo.w rd, rs2, offset(cs1)` +`amo.w rd, rs2, 0(cs1)` {cheri_int_mode_name} Mnemonics (RV64):: -`amo.[w|d] rd, rs2, offset(rs1)` +`amo.[w|d] rd, rs2, 0(rs1)` {cheri_int_mode_name} Mnemonics (RV32):: -`amo.w rd, rs2, offset(rs1)` +`amo.w rd, rs2, 0(rs1)` Encoding:: include::wavedrom/amo.adoc[] diff --git a/src/insns/amoswap_32bit_cap.adoc b/src/insns/amoswap_32bit_cap.adoc index b654db5c..46c0aab0 100644 --- a/src/insns/amoswap_32bit_cap.adoc +++ b/src/insns/amoswap_32bit_cap.adoc @@ -7,10 +7,10 @@ Synopsis:: Atomic Operation (AMOSWAP.C), 32-bit encoding {cheri_cap_mode_name} Mnemonic:: -`amoswap.c cd, cs2, offset(cs1)` +`amoswap.c cd, cs2, 0(cs1)` {cheri_int_mode_name} Mnemonic:: -`amoswap.c cd, cs2, offset(rs1)` +`amoswap.c cd, cs2, 0(rs1)` Encoding:: include::wavedrom/amoswap_cap.adoc[]