projects
/
riscv-isa-sim.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
[xcc] minor performance tweaks
[riscv-isa-sim.git]
/
riscv
/
insns
/
mulh.h
diff --git
a/riscv/insns/mulh.h
b/riscv/insns/mulh.h
index ed9c1a822115c01a6a52836dc87e13fe7c244b9a..f771a621d7d0c95777acf8f0ff20150b435d8b45 100644
(file)
--- a/
riscv/insns/mulh.h
+++ b/
riscv/insns/mulh.h
@@
-1,4
+1,8
@@
-require64;
-int64_t rb = RS1;
-int64_t ra = RS2;
-RD = (int128_t(rb) * int128_t(ra)) >> 64;
+if(xpr64)
+{
+ int64_t a = RS1;
+ int64_t b = RS2;
+ RD = (int128_t(a) * int128_t(b)) >> 64;
+}
+else
+ RD = sext32((sext32(RS1) * sext32(RS2)) >> 32);