Lines Matching refs:ImageDimIntr
153 const AMDGPU::ImageDimIntrinsicInfo *ImageDimIntr, in simplifyAMDGCNImageIntrinsic() argument
157 AMDGPU::getMIMGLZMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
159 dyn_cast<ConstantFP>(II.getOperand(ImageDimIntr->LodIndex))) { in simplifyAMDGCNImageIntrinsic()
163 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
166 Args.erase(Args.begin() + ImageDimIntr->LodIndex); in simplifyAMDGCNImageIntrinsic()
174 AMDGPU::getMIMGMIPMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
176 dyn_cast<ConstantInt>(II.getOperand(ImageDimIntr->MipIndex))) { in simplifyAMDGCNImageIntrinsic()
180 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
183 Args.erase(Args.begin() + ImageDimIntr->MipIndex); in simplifyAMDGCNImageIntrinsic()
191 AMDGPU::getMIMGBiasMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
193 dyn_cast<ConstantFP>(II.getOperand(ImageDimIntr->BiasIndex))) { in simplifyAMDGCNImageIntrinsic()
197 ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
200 Args.erase(Args.begin() + ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
201 ArgTys.erase(ArgTys.begin() + ImageDimIntr->BiasTyArg); in simplifyAMDGCNImageIntrinsic()
209 AMDGPU::getMIMGOffsetMappingInfo(ImageDimIntr->BaseOpcode)) { in simplifyAMDGCNImageIntrinsic()
211 dyn_cast<ConstantInt>(II.getOperand(ImageDimIntr->OffsetIndex))) { in simplifyAMDGCNImageIntrinsic()
215 OffsetMappingInfo->NoOffset, ImageDimIntr->Dim); in simplifyAMDGCNImageIntrinsic()
218 Args.erase(Args.begin() + ImageDimIntr->OffsetIndex); in simplifyAMDGCNImageIntrinsic()
228 AMDGPU::getMIMGBaseOpcodeInfo(ImageDimIntr->BaseOpcode); in simplifyAMDGCNImageIntrinsic()
241 return modifyIntrinsicCall(II, *User, ImageDimIntr->Intr, IC, in simplifyAMDGCNImageIntrinsic()
259 AMDGPU::getMIMGBaseOpcodeInfo(ImageDimIntr->BaseOpcode)->Sampler; in simplifyAMDGCNImageIntrinsic()
264 for (unsigned OperandIndex = ImageDimIntr->GradientStart; in simplifyAMDGCNImageIntrinsic()
265 OperandIndex < ImageDimIntr->VAddrEnd; OperandIndex++) { in simplifyAMDGCNImageIntrinsic()
269 if (OperandIndex < ImageDimIntr->CoordStart || in simplifyAMDGCNImageIntrinsic()
270 ImageDimIntr->GradientStart == ImageDimIntr->CoordStart) { in simplifyAMDGCNImageIntrinsic()
278 assert(OperandIndex == ImageDimIntr->GradientStart || in simplifyAMDGCNImageIntrinsic()
287 if (!OnlyDerivatives && ImageDimIntr->NumBiasArgs != 0) { in simplifyAMDGCNImageIntrinsic()
288 Value *Bias = II.getOperand(ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
295 if (OnlyDerivatives && (!ST->hasG16() || ImageDimIntr->GradientStart == in simplifyAMDGCNImageIntrinsic()
296 ImageDimIntr->CoordStart)) in simplifyAMDGCNImageIntrinsic()
304 ArgTys[ImageDimIntr->GradientTyArg] = CoordType; in simplifyAMDGCNImageIntrinsic()
306 ArgTys[ImageDimIntr->CoordTyArg] = CoordType; in simplifyAMDGCNImageIntrinsic()
309 if (ImageDimIntr->NumBiasArgs != 0) in simplifyAMDGCNImageIntrinsic()
310 ArgTys[ImageDimIntr->BiasTyArg] = Type::getHalfTy(II.getContext()); in simplifyAMDGCNImageIntrinsic()
314 OnlyDerivatives ? ImageDimIntr->CoordStart : ImageDimIntr->VAddrEnd; in simplifyAMDGCNImageIntrinsic()
315 for (unsigned OperandIndex = ImageDimIntr->GradientStart; in simplifyAMDGCNImageIntrinsic()
322 if (!OnlyDerivatives && ImageDimIntr->NumBiasArgs != 0) { in simplifyAMDGCNImageIntrinsic()
323 Value *Bias = II.getOperand(ImageDimIntr->BiasIndex); in simplifyAMDGCNImageIntrinsic()
324 Args[ImageDimIntr->BiasIndex] = convertTo16Bit(*Bias, IC.Builder); in simplifyAMDGCNImageIntrinsic()
1072 if (const AMDGPU::ImageDimIntrinsicInfo *ImageDimIntr = in instCombineIntrinsic() local
1074 return simplifyAMDGCNImageIntrinsic(ST, ImageDimIntr, II, IC); in instCombineIntrinsic()