diff options
author | Korey Sewell <ksewell@umich.edu> | 2006-06-09 17:47:23 -0400 |
---|---|---|
committer | Korey Sewell <ksewell@umich.edu> | 2006-06-09 17:47:23 -0400 |
commit | f8df550db826c9fe29cc184fce873db6789e42ee (patch) | |
tree | 96aa51eef059ef3740c5e67459682f4256a95812 /src/arch/isa_parser.py | |
parent | caca57421b32410f6ff1356ae75684891337073f (diff) | |
parent | b94fecfa10236b51ded904a5f1a57f4a5ebe7acc (diff) | |
download | gem5-f8df550db826c9fe29cc184fce873db6789e42ee.tar.xz |
Merge zizzer:/bk/newmem
into zizzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-release
--HG--
extra : convert_revision : 82b83199a36059d4b402f89f7db2de299ea59c1e
Diffstat (limited to 'src/arch/isa_parser.py')
-rwxr-xr-x | src/arch/isa_parser.py | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/arch/isa_parser.py b/src/arch/isa_parser.py index 22baaf98e..4d522e18a 100755 --- a/src/arch/isa_parser.py +++ b/src/arch/isa_parser.py @@ -25,6 +25,7 @@ # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # # Authors: Steve Reinhardt +# Korey Sewell import os import sys @@ -1181,6 +1182,11 @@ class IntRegOperand(Operand): if (self.size == self.dflt_size): return '%s = xc->readIntReg(this, %d);\n' % \ (self.base_name, self.src_reg_idx) + elif (self.size > self.dflt_size): + int_reg_val = 'xc->readIntReg(this, %d)' % (self.src_reg_idx) + if (self.is_signed): + int_reg_val = 'sext<%d>(%s)' % (self.dflt_size, int_reg_val) + return '%s = %s;\n' % (self.base_name, int_reg_val) else: return '%s = bits(xc->readIntReg(this, %d), %d, 0);\n' % \ (self.base_name, self.src_reg_idx, self.size-1) |