diff --git a/src/cheri_insts.sail b/src/cheri_insts.sail index 29b3f036..08bb284a 100644 --- a/src/cheri_insts.sail +++ b/src/cheri_insts.sail @@ -2371,7 +2371,7 @@ mapping clause encdec = JALR_CAP(cd, cs1) if (haveXcheri()) <-> 0b1111111 @ 0b mapping clause encdec = CSealEntry(cd, cs1) if (haveXcheri()) <-> 0b1111111 @ 0b10001 @ cs1 @ 0b000 @ cd @ 0b1011011 if (haveXcheri()) mapping clause encdec = JALR_PCC(rd, rs1) if (haveXcheri()) <-> 0b1111111 @ 0b10100 @ rs1 @ 0b000 @ rd @ 0b1011011 if (haveXcheri()) -mapping clause encdec = CLoadTags(rd, cs1) if (haveXcheri()) <-> 0b1111111 @ 0b10010 @ cs1 @ 0b000 @ rd @ 0b1011011 if (haveXcheri()) +mapping clause encdec = CLoadTags(rd, cs1) if (haveXcheri() & haveCLoadTags()) <-> 0b1111111 @ 0b10010 @ cs1 @ 0b000 @ rd @ 0b1011011 if (haveXcheri() & haveCLoadTags()) mapping clause encdec = CRRL(rd, rs1) if (haveXcheri()) <-> 0b1111111 @ 0b01000 @ rs1 @ 0b000 @ rd @ 0b1011011 if (haveXcheri()) mapping clause encdec = CRAM(rd, rs1) if (haveXcheri()) <-> 0b1111111 @ 0b01001 @ rs1 @ 0b000 @ rd @ 0b1011011 if (haveXcheri()) diff --git a/src/cheri_sys_regs.sail b/src/cheri_sys_regs.sail index e46841d1..adafc4d6 100644 --- a/src/cheri_sys_regs.sail +++ b/src/cheri_sys_regs.sail @@ -137,6 +137,8 @@ function haveXcheri () -> bool = /* This is a necessary but not sufficient condition, but should do for now. */ misa.X() == 0b1 +function haveCLoadTags () -> bool = false + function legalize_tcc(o : Capability, v : Capability) -> Capability = { new_base = getCapBaseBits(v);