I tried to extract the fmul type instructions and display them in the format: [image: image.png] I have these functions in execute.cc
// Cod adaugat std::string disassembledInst = inst->staticInst->disassemble(inst->pc->instAddr(), &loader::debugSymbolTable); if(inst->staticInst->opClass()==FloatMultOp){ if (disassembledInst.find("fmul") != std::string::npos) { // Instruction details DPRINTF(MinorExecuteOp, "Exec inst: %s\n", *inst); // Op Class DPRINTF(MinorExecuteOp, " Op Class inst: %s\n", enums::OpClassStrings[inst->staticInst->opClass()]); // Op Dissasembled DPRINTF(MinorExecuteOp, "Dissasembled: %s\n", inst->staticInst->disassemble(inst->pc->instAddr(), &loader::debugSymbolTable)); // Cast from StaticInstPtr to StaticInst StaticInst* leInst = inst->staticInst.get(); // Print source register values for (int i = 0; i < leInst->numSrcRegs(); i++) { RegId regId = leInst->srcRegIdx(i); float regValue; context.getFloatRegOperand(leInst, i, ®Value); DPRINTF(MinorExecuteOp, " SrcReg%d=%d (%s)\n",/*i, regValue,*/ printRegName(regId)); } // Print destination register values for (int i = 0; i < leInst->numDestRegs(); i++) { RegId regId = leInst->destRegIdx(i); float regValue; context.getFloatRegOperand(leInst, i, ®Value); DPRINTF(MinorExecuteOp, " DestReg%d=%d (%s)\n", /*i, regValue,*/ printRegName(regId)); } } } fault = inst->staticInst->execute(&context, inst->traceData); /*Set the predicate for tracing and dump*/ if(inst->traceData){ inst->traceData->setPredicate(context.readPredicate()); } // Cod adaugat // Print destination register values if(inst->staticInst->opClass()==FloatMultOp){ if (disassembledInst.find("fmul") != std::string::npos) { // Cast from StaticInstPtr to StaticInst StaticInst* leInst = inst->staticInst.get(); for (int i = 0; i < leInst->numDestRegs(); i++) { RegId regId = leInst->destRegIdx(i); float regValue; context.getFloatRegOperand(leInst, i, ®Value); DPRINTF(MinorExecuteOp, " DestReg%d=%d (%s)\n", /*i, regValue,*/ printRegName(regId)); } } } // Cod adaugat and the getFloatRegOperand looks like this [image: image.png] has anyone tried to do this before and can help me? Thank you very much! Have a nice day!
_______________________________________________ gem5-users mailing list -- gem5-us...@gem5.org To unsubscribe send an email to gem5-users-le...@gem5.org