Lines Matching defs:ii

165 Wavefront::isGmInstruction(GPUDynInstPtr ii)
167 if (ii->isGlobalMem() || ii->isFlat())
174 Wavefront::isLmInstruction(GPUDynInstPtr ii)
176 if (ii->isLocalMem()) {
187 GPUDynInstPtr ii = instructionBuffer.front();
189 if (status != S_STOPPED && (ii->isNop() ||
190 ii->isReturn() || ii->isBranch() ||
191 ii->isALU() || (ii->isKernArgSeg() && ii->isLoad()))) {
202 GPUDynInstPtr ii = instructionBuffer.front();
204 if (status != S_STOPPED && ii->isBarrier()) {
215 GPUDynInstPtr ii = instructionBuffer.front();
217 if (status != S_STOPPED && ii->isGlobalMem()) {
228 GPUDynInstPtr ii = instructionBuffer.front();
230 if (status != S_STOPPED && ii->isLocalMem()) {
241 GPUDynInstPtr ii = instructionBuffer.front();
243 if (status != S_STOPPED && ii->isPrivateSeg()) {
254 GPUDynInstPtr ii = instructionBuffer.front();
256 if (status != S_STOPPED && ii->isFlat()) {
269 GPUDynInstPtr ii = it;
271 if (ii->isReturn() || ii->isBranch()) {
325 GPUDynInstPtr ii = instructionBuffer.front();
353 if (!(ii->isBarrier() || ii->isNop() || ii->isReturn() || ii->isBranch() ||
354 ii->isALU() || ii->isLoad() || ii->isStore() || ii->isAtomic() ||
355 ii->isMemFence() || ii->isFlat())) {
356 panic("next instruction: %s is of unknown type\n", ii->disassemble());
360 computeUnit->cu_id, simdId, wfSlotId, ii->disassemble());
362 if (type == I_ALU && ii->isBarrier()) {
375 } else if (type == I_ALU && ii->isNop()) {
383 } else if (type == I_ALU && ii->isReturn()) {
396 } else if (type == I_ALU && (ii->isBranch() ||
397 ii->isALU() ||
398 (ii->isKernArgSeg() && ii->isLoad()) ||
399 ii->isArgSeg())) {
405 if (!computeUnit->vrf[simdId]->vrfOperandAccessReady(this, ii,
410 if (!computeUnit->vrf[simdId]->operandsReady(this, ii)) {
414 } else if (type == I_GLOBAL && ii->isGlobalMem()) {
416 if (ii->isLoad() || ii->isAtomic() || ii->isMemFence()) {
423 if (ii->isStore() || ii->isAtomic() || ii->isMemFence()) {
445 if (!computeUnit->vrf[simdId]->vrfOperandAccessReady(this, ii,
449 if (!computeUnit->vrf[simdId]->operandsReady(this, ii)) {
453 } else if (type == I_SHARED && ii->isLocalMem()) {
455 if (ii->isLoad() || ii->isAtomic() || ii->isMemFence()) {
461 if (ii->isStore() || ii->isAtomic() || ii->isMemFence()) {
482 if (!computeUnit->vrf[simdId]->vrfOperandAccessReady(this, ii,
486 if (!computeUnit->vrf[simdId]->operandsReady(this, ii)) {
490 } else if (type == I_FLAT && ii->isFlat()) {
521 if (!computeUnit->vrf[simdId]->vrfOperandAccessReady(this, ii,
526 if (!computeUnit->vrf[simdId]->operandsReady(this, ii)) {
537 simdId, wfSlotId, ii->disassemble());
545 GPUDynInstPtr ii = instructionBuffer.front();
546 assert(ii);
547 computeUnit->vrf[simdId]->updateResources(this, ii);
549 if (ii->isALU() || ii->isSpecialOp() ||
550 ii->isBranch() ||
554 (ii->isKernArgSeg() && ii->isLoad()) || ii->isArgSeg() ||
555 ii->isReturn()) {
561 } else if (ii->isBarrier()) {
564 } else if (ii->isLoad() && ii->isFlat()) {
565 assert(Enums::SC_NONE != ii->executedAs());
568 if ( Enums::SC_SHARED == ii->executedAs() ) {
579 } else if (ii->isStore() && ii->isFlat()) {
580 assert(Enums::SC_NONE != ii->executedAs());
583 if (Enums::SC_SHARED == ii->executedAs()) {
594 } else if (ii->isLoad() && ii->isGlobalMem()) {
601 } else if (ii->isStore() && ii->isGlobalMem()) {
608 } else if ((ii->isAtomic() || ii->isMemFence()) && ii->isGlobalMem()) {
616 } else if (ii->isLoad() && ii->isLocalMem()) {
623 } else if (ii->isStore() && ii->isLocalMem()) {
630 } else if ((ii->isAtomic() || ii->isMemFence()) && ii->isLocalMem()) {
653 GPUDynInstPtr ii = instructionBuffer.front();
658 ii->disassemble(), old_pc);
662 ii->execute(ii);
663 computeUnit->updateInstStats(ii);
665 computeUnit->vrf[simdId]->exec(ii, this);
666 srcRegOpDist.sample(ii->numSrcRegOperands());
667 dstRegOpDist.sample(ii->numDstRegOperands());
673 uint32_t new_pc = _gpuISA.advancePC(old_pc, ii);
690 if (isGmInstruction(ii)) {
692 } else if (isLmInstruction(ii)) {
699 if (ii->isALU() || ii->isSpecialOp() ||
700 ii->isBranch() ||
704 (ii->isKernArgSeg() && ii->isLoad()) ||
705 ii->isArgSeg() ||
706 ii->isReturn()) {
713 } else if (ii->isBarrier()) {
716 } else if (ii->isLoad() && ii->isFlat()) {
717 assert(Enums::SC_NONE != ii->executedAs());
719 if (Enums::SC_SHARED == ii->executedAs()) {
730 } else if (ii->isStore() && ii->isFlat()) {
731 assert(Enums::SC_NONE != ii->executedAs());
732 if (Enums::SC_SHARED == ii->executedAs()) {
743 } else if (ii->isLoad() && ii->isGlobalMem()) {
748 } else if (ii->isStore() && ii->isGlobalMem()) {
753 } else if ((ii->isAtomic() || ii->isMemFence()) && ii->isGlobalMem()) {
758 } else if (ii->isLoad() && ii->isLocalMem()) {
763 } else if (ii->isStore() && ii->isLocalMem()) {
768 } else if ((ii->isAtomic() || ii->isMemFence()) && ii->isLocalMem()) {