diff options
Diffstat (limited to 'riscv/insns/mulqr.h')
| -rw-r--r-- | riscv/insns/mulqr.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/riscv/insns/mulqr.h b/riscv/insns/mulqr.h new file mode 100644 index 00000000..d024e9ff --- /dev/null +++ b/riscv/insns/mulqr.h @@ -0,0 +1,8 @@ +require_extension('P'); +require_rv32; +if ((RS1 != (reg_t)INT32_MIN) || (RS2 != (reg_t)INT32_MIN)) { + WRITE_RD((((RS1 * RS2) >> 30) + 1) >> 1); + } else { + WRITE_RD(INT32_MAX); + P.VU.vxsat->write(1); +} |
