Browse Source

[xcc, sim] added slei/sleui in lieu of slti/sltiu

Rationale was that since we have the datapath for rc = (ra < rb),
it's straightforward to also add rc = !(imm < rb) = (rb <= imm).
cs250
Andrew Waterman 16 years ago
parent
commit
c82197c593
  1. 4
      riscv/execute.h
  2. 1
      riscv/insns/slei.h
  3. 1
      riscv/insns/sleiu.h
  4. 1
      riscv/insns/slti.h
  5. 1
      riscv/insns/sltiu.h

4
riscv/execute.h

@ -480,12 +480,12 @@ switch((insn.bits >> 0x19) & 0x7f)
}
case 0x2:
{
#include "insns/slti.h"
#include "insns/slei.h"
break;
}
case 0x3:
{
#include "insns/sltiu.h"
#include "insns/sleiu.h"
break;
}
case 0x4:

1
riscv/insns/slei.h

@ -0,0 +1 @@
RA = !(sreg_t(cmp_trunc(SIMM)) < sreg_t(cmp_trunc(RB)));

1
riscv/insns/sleiu.h

@ -0,0 +1 @@
RA = !(cmp_trunc(SIMM) < cmp_trunc(RB));

1
riscv/insns/slti.h

@ -1 +0,0 @@
RA = sreg_t(cmp_trunc(RB)) < sreg_t(cmp_trunc(SIMM));

1
riscv/insns/sltiu.h

@ -1 +0,0 @@
RA = cmp_trunc(RB) < cmp_trunc(SIMM);
Loading…
Cancel
Save