316c316
< 0x04: PrivCheck::rdtick({{Rd = Tick;}}, {{Tick<63:>}});
---
> 0x04: Priv::rdtick({{Rd = Tick;}}, {{Tick<63:>}});
332c332
< 0x11: PrivCheck::rdpic({{Rd = Pic;}}, {{Pcr<0:>}});
---
> 0x11: Priv::rdpic({{Rd = Pic;}}, {{Pcr<0:>}});
343c343
< 0x18: PrivCheck::rdstick({{Rd = Stick}}, {{Stick<63:>}});
---
> 0x18: Priv::rdstick({{Rd = Stick}}, {{Stick<63:>}});
357,361c357
< 0x01: HPriv::rdhprhtstate({{
< if(Tl == 0)
< return new IllegalInstruction;
< Rd = Htstate;
< }});
---
> 0x01: HPriv::rdhprhtstate({{Rd = Htstate;}}, checkTl=true);
371,390c367,370
< 0x00: Priv::rdprtpc({{
< if(Tl == 0)
< return new IllegalInstruction;
< Rd = Tpc;
< }});
< 0x01: Priv::rdprtnpc({{
< if(Tl == 0)
< return new IllegalInstruction;
< Rd = Tnpc;
< }});
< 0x02: Priv::rdprtstate({{
< if(Tl == 0)
< return new IllegalInstruction;
< Rd = Tstate;
< }});
< 0x03: Priv::rdprtt({{
< if(Tl == 0)
< return new IllegalInstruction;
< Rd = Tt;
< }});
---
> 0x00: Priv::rdprtpc({{Rd = Tpc;}}, checkTl=true);
> 0x01: Priv::rdprtnpc({{Rd = Tnpc;}}, checkTl=true);
> 0x02: Priv::rdprtstate({{Rd = Tstate;}}, checkTl=true);
> 0x03: Priv::rdprtt({{Rd = Tt;}}, checkTl=true);
458c438
< 0x11: PrivCheck::wrpic({{Pic = Rs1 ^ Rs2_or_imm13;}}, {{Pcr<0:>}});
---
> 0x11: Priv::wrpic({{Pic = Rs1 ^ Rs2_or_imm13;}}, {{Pcr<0:>}});
506,529c486,493
< 0x00: Priv::wrprtpc({{
< if(Tl == 0)
< return new IllegalInstruction;
< else
< Tpc = Rs1 ^ Rs2_or_imm13;
< }});
< 0x01: Priv::wrprtnpc({{
< if(Tl == 0)
< return new IllegalInstruction;
< else
< Tnpc = Rs1 ^ Rs2_or_imm13;
< }});
< 0x02: Priv::wrprtstate({{
< if(Tl == 0)
< return new IllegalInstruction;
< else
< Tstate = Rs1 ^ Rs2_or_imm13;
< }});
< 0x03: Priv::wrprtt({{
< if(Tl == 0)
< return new IllegalInstruction;
< else
< Tt = Rs1 ^ Rs2_or_imm13;
< }});
---
> 0x00: Priv::wrprtpc(
> {{Tpc = Rs1 ^ Rs2_or_imm13;}}, checkTl=true);
> 0x01: Priv::wrprtnpc(
> {{Tnpc = Rs1 ^ Rs2_or_imm13;}}, checkTl=true);
> 0x02: Priv::wrprtstate(
> {{Tstate = Rs1 ^ Rs2_or_imm13;}}, checkTl=true);
> 0x03: Priv::wrprtt(
> {{Tt = Rs1 ^ Rs2_or_imm13;}}, checkTl=true);
557,561c521,522
< 0x01: HPriv::wrhprhtstate({{
< if(Tl == 0)
< return new IllegalInstruction;
< Htstate = Rs1 ^ Rs2_or_imm13;
< }});
---
> 0x01: HPriv::wrhprhtstate(
> {{Htstate = Rs1 ^ Rs2_or_imm13;}}, checkTl=true);
1133,1135d1093
< if(Tl == 0)
< return new IllegalInstruction;
<
1145c1103
< }});
---
> }}, checkTl=true);
1147,1148d1104
< if(Tl == 0)
< return new IllegalInstruction;
1158c1114
< }});
---
> }}, checkTl=true);