From b7c9d7ebb8964644319aeeea6775e503aa93acff Mon Sep 17 00:00:00 2001 From: Tariq Kurd Date: Wed, 6 Nov 2024 17:25:21 +0000 Subject: [PATCH] Fix RV32 Zcherilevels ACPERM (#440) This version has been verified by a python script which checks all possible combinations of removing permissions from maximum permissions additional fix for https://github.com/riscv/riscv-cheri/issues/428 --- src/insns/acperm_32bit.adoc | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/insns/acperm_32bit.adoc b/src/insns/acperm_32bit.adoc index c2cfdc88..bfa364cf 100644 --- a/src/insns/acperm_32bit.adoc +++ b/src/insns/acperm_32bit.adoc @@ -53,12 +53,15 @@ The rules from <> must be followed when removing permissions. | 5 (RV32 only) | <> | not(<>) or <> | 6 (RV32 only) | <> | <> or <> | 7 | <> | <> and <> -| 8 | <> | <> and <> -| 9 | <> | <> -| 10 (RV32 only) | <> | (<> and <> and <> and (<> == ∞)) or + +| 8 (RV32 only) | <> | <> +| 9 | <> | <> and <> +| 10 (RV32 only) | <> | (<> or <>) +| 11 | <> | <> +| 12 (RV32 only) | <> | (<> and (<> or <>)) +| 13 (RV32 only) | <> | (<> and <> and <> and (<> == ∞)) or + (not(<> and not(<>) and not(<>) and (<>==0)))^1^ -| 11 | <> | <> -| 12 | <> | <> +| 14 | <> | <> +| 15 | <> | <> |=== ^1^ All the listed permissions in the set are either minimum or maximum.