diff --git a/lib/SPIRV/SPIRVToOCL.cpp b/lib/SPIRV/SPIRVToOCL.cpp index 884ddb547c..7711d73c80 100644 --- a/lib/SPIRV/SPIRVToOCL.cpp +++ b/lib/SPIRV/SPIRVToOCL.cpp @@ -785,8 +785,8 @@ void SPIRVToOCLBase::mutateArgsForImageOperands(std::vector &Args, if (ImOpValue & ImageOperandsMask::ImageOperandsZeroExtendMask) IsSigned = false; ImOpValue &= ~SignZeroExtMasks; - Args[3] = getInt32(M, ImOpValue); - ImOp = cast(Args[3]); + Args[ImOpArgIndex] = getInt32(M, ImOpValue); + ImOp = cast(Args[ImOpArgIndex]); } // Drop "Image Operands" argument. Args.erase(Args.begin() + ImOpArgIndex);