public
/
ack.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
7ec9f54
)
Fix edge case in rlwnm when the mask is 32 bits wide. All tests now pass.
author
David Given
<dg@cowlark.com>
Sun, 17 Jun 2018 09:00:01 +0000
(11:00 +0200)
committer
David Given
<dg@cowlark.com>
Sun, 17 Jun 2018 09:00:01 +0000
(11:00 +0200)
plat/linuxppc/emu/emu.c
patch
|
blob
|
history
diff --git
a/plat/linuxppc/emu/emu.c
b/plat/linuxppc/emu/emu.c
index
ae1fb92
..
90c9fd5
100644
(file)
--- a/
plat/linuxppc/emu/emu.c
+++ b/
plat/linuxppc/emu/emu.c
@@
-278,7
+278,7
@@
static uint32_t rotate(uint32_t i, uint32_t shift)
static uint32_t rlwnm(uint32_t source, uint8_t shift, uint8_t mb, uint8_t me)
{
uint8_t masksize = 1 + me - mb; /* me and mb are inclusive */
- uint32_t mask = ((1<<masksize)-1) << (31 - me);
+ uint32_t mask = ((
(uint64_t)
1<<masksize)-1) << (31 - me);
return rotate(source, shift) & mask;
}