summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gblack@eecs.umich.edu>2007-05-08 17:19:33 +0000
committerGabe Black <gblack@eecs.umich.edu>2007-05-08 17:19:33 +0000
commitc2ac0fd89b9928f653e1485b2432cd71b455d7c5 (patch)
tree343c968caed17bb9e513fe13fe115ae44a6e0808
parentdc1c9e03007f084caabc995b41616603e0a004dc (diff)
downloadgem5-c2ac0fd89b9928f653e1485b2432cd71b455d7c5.tar.xz
Fix insertBits so it doesn't shift things into oblivion
--HG-- extra : convert_revision : 8833b60e3fc94c917fbdb7a99f3d90155907b44e
-rw-r--r--src/base/bitfield.hh3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/base/bitfield.hh b/src/base/bitfield.hh
index 69cce2245..518bad6b8 100644
--- a/src/base/bitfield.hh
+++ b/src/base/bitfield.hh
@@ -96,8 +96,9 @@ inline
T
insertBits(T val, int first, int last, B bit_val)
{
+ T t_bit_val = bit_val;
T bmask = mask(first - last + 1) << last;
- return ((bit_val << last) & bmask) | (val & ~bmask);
+ return ((t_bit_val << last) & bmask) | (val & ~bmask);
}
/**