projects
/
libreriscv.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9676694
)
off-by-one in extsb XLEN=64
author
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Wed, 19 Apr 2023 10:18:51 +0000
(11:18 +0100)
committer
Luke Kenneth Casson Leighton
<lkcl@lkcl.net>
Wed, 19 Apr 2023 10:18:53 +0000
(11:18 +0100)
openpower/sv/rfc/ls005.mdwn
patch
|
blob
|
history
diff --git
a/openpower/sv/rfc/ls005.mdwn
b/openpower/sv/rfc/ls005.mdwn
index 648ef5750e7fcb6d16a8cd06b469039793e005b6..deac1ceac0be326c015cc4332cae3b7074b3c56c 100644
(file)
--- a/
openpower/sv/rfc/ls005.mdwn
+++ b/
openpower/sv/rfc/ls005.mdwn
@@
-297,7
+297,7
@@
The RTL for `extsb` becomes:
if XLEN = 8 then RT <- in[7] * 8 # 1->8
if XLEN = 16 then RT <- in[6] * 15 || in[7] # 2->16
if XLEN = 32 then RT <- in[4] * 29 || in[5:7] # 4->32
- if XLEN = 64 then RT <- in[0] * 5
6
|| in[1:7] # 8->64
+ if XLEN = 64 then RT <- in[0] * 5
7
|| in[1:7] # 8->64
```
And `extsh` and `extsw` follow similar logic. Interestingly there is