[opcodes, sim, xcc] made *w insns illegal in RV32
[riscv-isa-sim.git] / riscv / insns / remw.h
1 require_xpr64;
2 // INT64_MIN/-1 corner case shouldn't occur in correct code, since
3 // INT64_MIN is not a proper 32-bit signed value
4 if(RS2 == 0)
5 RD = RS1;
6 else if(sreg_t(RS1) == INT64_MIN && sreg_t(RS2) == -1)
7 RD = 0;
8 else
9 RD = sext32(sreg_t(RS1) % sreg_t(RS2));