From 86cb74859265e3d7ce91a39218c095dced37ba9a Mon Sep 17 00:00:00 2001 From: Tsukasa OI Date: Sat, 9 Jul 2022 17:15:31 +0900 Subject: [PATCH] Generalize fence.tso instruction Since `fence.tso' instruction is encoded as a FENCE instruction with fm=1000, predecessor=RW, and successor=RW (as per the ISA Manual), `fence.tso' is generalized to have unused rs1 and rd operands (shall be zero on standard software). --- rv_i | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rv_i b/rv_i index fc274033..1cf8b58e 100644 --- a/rv_i +++ b/rv_i @@ -36,7 +36,7 @@ or rd rs1 rs2 31..25=0 14..12=6 6..2=0x0C 1..0=3 and rd rs1 rs2 31..25=0 14..12=7 6..2=0x0C 1..0=3 fence fm pred succ rs1 14..12=0 rd 6..2=0x03 1..0=3 #specialized fences -$pseudo_op rv_i::fence fence.tso 31..28=8 27..24=3 23..20=3 19..15=0 14..12=0 11..7=0 6..2=0x03 1..0=3 +$pseudo_op rv_i::fence fence.tso 31..28=8 27..24=3 23..20=3 rs1 14..12=0 rd 6..2=0x03 1..0=3 $pseudo_op rv_i::fence pause 31..28=0 27..24=1 23..20=0 19..15=0 14..12=0 11..7=0 6..2=0x03 1..0=3 ecall 31..20=0x000 19..7=0 6..2=0x1C 1..0=3 ebreak 31..20=0x001 19..7=0 6..2=0x1C 1..0=3