aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/sra32_u.h
diff options
context:
space:
mode:
authormarcfedorow <mark.fedorov@cloudbear.ru>2021-07-08 23:09:06 +0300
committerGitHub <noreply@github.com>2021-07-08 13:09:06 -0700
commit21f4b59d3ae16ebf14752c2dfd580646f7612152 (patch)
tree17860bc1e1865ed71e34717e8049fea475cac147 /riscv/insns/sra32_u.h
parentdb6f5795270c922d52041fd016261982687dd145 (diff)
downloadspike-21f4b59d3ae16ebf14752c2dfd580646f7612152.zip
spike-21f4b59d3ae16ebf14752c2dfd580646f7612152.tar.gz
spike-21f4b59d3ae16ebf14752c2dfd580646f7612152.tar.bz2
Fixed range issues on sr<al>[i]32.u insns (see #695) (#740)
Diffstat (limited to 'riscv/insns/sra32_u.h')
-rw-r--r--riscv/insns/sra32_u.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/riscv/insns/sra32_u.h b/riscv/insns/sra32_u.h
index c0ce87f..ac9f9e5 100644
--- a/riscv/insns/sra32_u.h
+++ b/riscv/insns/sra32_u.h
@@ -1,7 +1,7 @@
require_rv64;
P_X_LOOP(32, 5, {
if(sa > 0)
- pd = ((ps1 >> (sa - 1)) + 1) >> 1;
+ pd = (((uint64_t)(ps1 >> (sa - 1))) + 1) >> 1;
else
pd = ps1;
}) \ No newline at end of file