anchor.diff:                 end
   
                  // CSRRCI
  -               else if (m_v_csr matches tagged Valid .csr_old_val &&& (decoded.funct3 == f3_CSRRC)) begin
  +               else if (m_v_csr matches tagged Valid .csr_old_val &&& (decoded.funct3 == f3_CSRRCI)) begin
                     Word v1 = zeroExtend (decoded.rs1);
                     if (v1 != 0) begin
                        Word csr_new_val = (csr_old_val & (~ v1));
  
positive.code:                end
  
                 // CSRRWI
                 else if (m_v_csr matches tagged Valid .csr_old_val &&& (decoded.funct3 == f3_CSRRW)) begin
                    let v1 = zeroExtend (decoded.rs1);
                    fa_write_csr(decoded.csr, v1);
                    fa_finish_with_Rd(decoded.rd, csr_old_val);
                 end
  
                 // CSRRSI
                 else if (m_v_csr matches tagged Valid .csr_old_val &&& (decoded.funct3 == f3_CSRRS)) begin
                    Word v1 = zeroExtend (decoded.rs1);
                    if (v1 != 0) begin
                       Word csr_new_val = (csr_old_val | v1);
  
negative.code:          function Action fa_exec_SYSTEM();
              action
                 // CSRRW
                 if (m_v_csr matches tagged Valid .csr_old_val &&& (decoded.funct3 == f3_CSRRW)) begin
                    fa_write_csr(decoded.csr, v1);
                    fa_finish_with_Rd(decoded.rd, csr_old_val);
                 end
  