13 changed files with 13 additions and 13 deletions
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * sext32(RS2); |
sreg_t mres = sext32(RS1) * sext32(RS2); |
||||
WRITE_RD(RD + (mres >> 32)); |
WRITE_RD(sext32(RD + (mres >> 32))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * sext32(P_FIELD(RS2, 0, 16)); |
sreg_t mres = sext32(RS1) * sext32(P_FIELD(RS2, 0, 16)); |
||||
WRITE_RD(RD + (mres >> 16)); |
WRITE_RD(sext32(RD + (mres >> 16))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * sext32(P_FIELD(RS2, 1, 16)); |
sreg_t mres = sext32(RS1) * sext32(P_FIELD(RS2, 1, 16)); |
||||
WRITE_RD(RD + (mres >> 16)); |
WRITE_RD(sext32(RD + (mres >> 16))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * reg_t((uint32_t)RS2); |
sreg_t mres = sext32(RS1) * reg_t((uint32_t)RS2); |
||||
WRITE_RD(RD + (mres >> 32)); |
WRITE_RD(sext32(RD + (mres >> 32))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * (uint32_t)P_FIELD(RS2, 0, 16); |
sreg_t mres = sext32(RS1) * (uint32_t)P_FIELD(RS2, 0, 16); |
||||
WRITE_RD(RD + (mres >> 16)); |
WRITE_RD(sext32(RD + (mres >> 16))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext32(RS1) * (uint32_t)P_FIELD(RS2, 1, 16); |
sreg_t mres = sext32(RS1) * (uint32_t)P_FIELD(RS2, 1, 16); |
||||
WRITE_RD(RD + (mres >> 16)); |
WRITE_RD(sext32(RD + (mres >> 16))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
uint64_t mres = reg_t((uint32_t)RS1) * reg_t((uint32_t)RS2); |
uint64_t mres = reg_t((uint32_t)RS1) * reg_t((uint32_t)RS2); |
||||
WRITE_RD(RD + (mres >> 32)); |
WRITE_RD(sext32(RD + (mres >> 32))); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
int64_t mres = sext(RS1,64) * sext(RS2,64); |
int64_t mres = sext(RS1,64) * sext(RS2,64); |
||||
WRITE_RD(((mres >> 31) + 1) >> 1); |
WRITE_RD(sext32(((mres >> 31) + 1) >> 1)); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = sext(RS1,64) * reg_t((uint32_t)RS2); |
sreg_t mres = sext(RS1,64) * reg_t((uint32_t)RS2); |
||||
WRITE_RD(((mres >> 31) + 1) >> 1); |
WRITE_RD(sext32(((mres >> 31) + 1) >> 1)); |
||||
|
|||||
@ -1,4 +1,4 @@ |
|||||
require_extension('P'); |
require_extension('P'); |
||||
require_rv32; |
require_rv32; |
||||
sreg_t mres = reg_t((uint32_t)RS1) * reg_t((uint32_t)RS2); |
sreg_t mres = reg_t((uint32_t)RS1) * reg_t((uint32_t)RS2); |
||||
WRITE_RD(((mres >> 31) + 1) >> 1); |
WRITE_RD(sext32(((mres >> 31) + 1) >> 1)); |
||||
|
|||||
Loading…
Reference in new issue