summaryrefslogtreecommitdiff
path: root/arch/mips/isa/formats/int.isa
diff options
context:
space:
mode:
authorKorey Sewell <ksewell@umich.edu>2006-04-10 12:37:15 -0400
committerKorey Sewell <ksewell@umich.edu>2006-04-10 12:37:15 -0400
commitf51656498ea4c3418499f25e5a7a24b4c71be122 (patch)
treef54ef3c2ec601519e0cc98f007705e56a4b20dc0 /arch/mips/isa/formats/int.isa
parentae1a95ed9c9aa2b3c97272570575345dc3c37799 (diff)
parent4f430e9ab56443e822171b7881f4d50475dbaf25 (diff)
downloadgem5-f51656498ea4c3418499f25e5a7a24b4c71be122.tar.xz
Merge zizzer:/bk/newmem
into zazzer.eecs.umich.edu:/.automount/zooks/y/ksewell/research/m5-sim/newmem-mips arch/mips/isa/formats/mem.isa: Filled in Split-Memory Access Code arch/mips/isa_traits.hh: Leave IntRegFile as an array instead of class with member functions mem/page_table.cc: take out NO ALIGN FAULT page table access code for now... No need to messs up what works --HG-- extra : convert_revision : cbf1cce9145daf9ee9ceabc9080271ddb0561489
Diffstat (limited to 'arch/mips/isa/formats/int.isa')
-rw-r--r--arch/mips/isa/formats/int.isa16
1 files changed, 9 insertions, 7 deletions
diff --git a/arch/mips/isa/formats/int.isa b/arch/mips/isa/formats/int.isa
index a47844bee..98e58f7f2 100644
--- a/arch/mips/isa/formats/int.isa
+++ b/arch/mips/isa/formats/int.isa
@@ -29,17 +29,19 @@ output header {{
{
protected:
- int32_t imm;
+ int16_t imm;
+ int32_t sextImm;
+ uint32_t zextImm;
/// Constructor
IntImmOp(const char *mnem, MachInst _machInst, OpClass __opClass) :
- MipsStaticInst(mnem, _machInst, __opClass),imm(INTIMM)
+ MipsStaticInst(mnem, _machInst, __opClass),imm(INTIMM),
+ sextImm(INTIMM),zextImm(0x0000FFFF & INTIMM)
{
//If Bit 15 is 1 then Sign Extend
- int32_t temp = imm & 0x00008000;
-
+ int32_t temp = sextImm & 0x00008000;
if (temp > 0 && mnemonic != "lui") {
- imm |= 0xFFFF0000;
+ sextImm |= 0xFFFF0000;
}
}
@@ -99,9 +101,9 @@ output decoder {{
}
if( mnemonic == "lui")
- ccprintf(ss, "%08p ", imm);
+ ccprintf(ss, "%08p ", sextImm);
else
- ss << (int) imm;
+ ss << (int) sextImm;
return ss.str();
}