Skip to content

Commit 4b629f7

Browse files
vmustyapszymich
authored andcommitted
VC fix for large vector kernel arguments
Align vector kernel arguments to element size instead of vector size (cherry picked from commit 9abc8e4)
1 parent 49bf847 commit 4b629f7

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

IGC/VectorCompiler/lib/GenXOpts/CMTrans/CMKernelArgOffset.cpp

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,10 @@ void CMKernelArgOffset::processKernelOnOCLRT(Function *F) {
591591
Alignment = IGCLLVM::getAlignmentValue(
592592
DL.getPointerABIAlignment(Ty->getPointerAddressSpace()));
593593
}
594+
} else if (auto *VTy = dyn_cast<IGCLLVM::FixedVectorType>(Ty)) {
595+
auto *ETy = VTy->getElementType();
596+
Bytes = DL.getTypeSizeInBits(Ty) / 8;
597+
Alignment = IGCLLVM::getAlignmentValue(DL.getABITypeAlignment(ETy));
594598
} else {
595599
Bytes = DL.getTypeSizeInBits(Ty) / 8;
596600
Alignment = IGCLLVM::getAlignmentValue(DL.getABITypeAlignment(Ty));

0 commit comments

Comments
 (0)