Skip to content

Commit

Permalink
Add helper for getting memory surface operand in VC
Browse files Browse the repository at this point in the history
.
  • Loading branch information
vsemenov368 authored and igcbot committed Aug 7, 2024
1 parent 44ae27b commit b599fd4
Show file tree
Hide file tree
Showing 3 changed files with 26 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -147,6 +147,8 @@ unsigned getMemoryVectorSizePerLane(const llvm::Instruction *I);
unsigned getMemorySimdWidth(const llvm::Instruction *I);
unsigned getMemoryRegisterElementSize(const llvm::Instruction *I);

int getMemorySurfaceOperandIndex(unsigned IID);

int getMemoryCacheControlOperandIndex(unsigned IID);

inline int getMemoryCacheControlOperandIndex(const llvm::Value *V) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -238,16 +238,6 @@ static int getSurfaceOperandNo(unsigned Id) {
case genx_oword_st:
return 0;

case vc::InternalIntrinsic::lsc_atomic_bti:
case vc::InternalIntrinsic::lsc_load_bti:
case vc::InternalIntrinsic::lsc_prefetch_bti:
case vc::InternalIntrinsic::lsc_store_bti:
case vc::InternalIntrinsic::lsc_load_quad_bti:
case vc::InternalIntrinsic::lsc_prefetch_quad_bti:
case vc::InternalIntrinsic::lsc_store_quad_bti:
return 5;


default:
return -1;
}
Expand Down
24 changes: 24 additions & 0 deletions IGC/VectorCompiler/lib/InternalIntrinsics/InternalIntrinsics.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -975,3 +975,27 @@ int InternalIntrinsic::getMemoryCacheControlOperandIndex(unsigned IID) {

return 4;
}

int InternalIntrinsic::getMemorySurfaceOperandIndex(unsigned IID) {
switch (IID) {
case vc::InternalIntrinsic::lsc_atomic_bti:
case vc::InternalIntrinsic::lsc_load_bti:
case vc::InternalIntrinsic::lsc_prefetch_bti:
case vc::InternalIntrinsic::lsc_store_bti:
case vc::InternalIntrinsic::lsc_load_quad_bti:
case vc::InternalIntrinsic::lsc_prefetch_quad_bti:
case vc::InternalIntrinsic::lsc_store_quad_bti:
return 5;
case vc::InternalIntrinsic::lsc_load_2d_tgm_bti:
case vc::InternalIntrinsic::lsc_store_2d_tgm_bti:
return 1;
case vc::InternalIntrinsic::lsc_load_quad_tgm:
case vc::InternalIntrinsic::lsc_store_quad_tgm:
case vc::InternalIntrinsic::lsc_prefetch_quad_tgm:
return 3;
default:
break;
}

return -1;
}

0 comments on commit b599fd4

Please sign in to comment.