diff --git a/src/arch/mips/isa/base.isa b/src/arch/mips/isa/base.isa index eb063ff1c..4e2b12fc4 100644 --- a/src/arch/mips/isa/base.isa +++ b/src/arch/mips/isa/base.isa @@ -82,7 +82,7 @@ output decoder {{ // Need to find standard way to not print // this info. Maybe add bool variable to // class? - if (mnemonic != "syscall") { + if (strcmp(mnemonic, "syscall") != 0) { if(_numDestRegs > 0){ printReg(ss, _destRegIdx[0]); } @@ -100,7 +100,7 @@ output decoder {{ // Should we define a separate inst. class // just for two insts? - if(mnemonic == "sll" || mnemonic == "sra"){ + if (strcmp(mnemonic, "sll") == 0 || strcmp(mnemonic, "sra") == 0) { ccprintf(ss,", %d",SA); } diff --git a/src/arch/mips/isa/formats/branch.isa b/src/arch/mips/isa/formats/branch.isa index 132394e91..78f973a70 100644 --- a/src/arch/mips/isa/formats/branch.isa +++ b/src/arch/mips/isa/formats/branch.isa @@ -195,7 +195,7 @@ output decoder {{ ccprintf(ss, "%-10s ", mnemonic); - if ( mnemonic == "jal" ) { + if ( strcmp(mnemonic,"jal") == 0 ) { Addr npc = pc + 4; ccprintf(ss,"0x%x",(npc & 0xF0000000) | disp); } else if (_numSrcRegs == 0) { diff --git a/src/arch/mips/isa/formats/int.isa b/src/arch/mips/isa/formats/int.isa index 762865956..88ff5c1d3 100644 --- a/src/arch/mips/isa/formats/int.isa +++ b/src/arch/mips/isa/formats/int.isa @@ -119,7 +119,7 @@ output header {{ { //If Bit 15 is 1 then Sign Extend int32_t temp = sextImm & 0x00008000; - if (temp > 0 && mnemonic != "lui") { + if (temp > 0 && strcmp(mnemonic,"lui") != 0) { sextImm |= 0xFFFF0000; } } @@ -313,7 +313,7 @@ output decoder {{ ss << ", "; } - if( mnemonic == "lui") + if(strcmp(mnemonic,"lui") == 0) ccprintf(ss, "0x%x ", sextImm); else ss << (int) sextImm; diff --git a/src/arch/mips/isa/formats/mt.isa b/src/arch/mips/isa/formats/mt.isa index 01d91f098..81fdc2898 100644 --- a/src/arch/mips/isa/formats/mt.isa +++ b/src/arch/mips/isa/formats/mt.isa @@ -72,9 +72,9 @@ output decoder {{ { std::stringstream ss; - if (mnemonic == "mttc0" || mnemonic == "mftc0") { + if (strcmp(mnemonic,"mttc0") == 0 || strcmp(mnemonic,"mftc0") == 0) { ccprintf(ss, "%-10s r%d, r%d, %d", mnemonic, RT, RD, SEL); - } else if (mnemonic == "mftgpr") { + } else if (strcmp(mnemonic,"mftgpr") == 0) { ccprintf(ss, "%-10s r%d, r%d", mnemonic, RD, RT); } else { ccprintf(ss, "%-10s r%d, r%d", mnemonic, RT, RD);