func (this *Dispatcher) renameRegisters(operationId uint32, op *operation.Operation, rat *registeraliastable.RegisterAliasTable) {

	if op.Instruction().Info.Type == data.TypeI {
		data := op.Instruction().Data.(*data.DataI)
		if !op.Instruction().Info.IsBranch() {
			opcode := op.Instruction().Info.Opcode
			if opcode != set.OP_SW && opcode != set.OP_SLI && opcode != set.OP_SUI {
				reg, _ := rat.GetPhysicalRegister(operationId, data.RegisterD.ToUint32())
				op.SetRenamedDestRegister(reg)
			}
		}
		op.Instruction().Data = data
	} else if op.Instruction().Info.Type == data.TypeR {
		data := op.Instruction().Data.(*data.DataR)
		reg, _ := rat.GetPhysicalRegister(operationId, data.RegisterD.ToUint32())
		op.SetRenamedDestRegister(reg)
	}
}