diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp index a43be056ea3775..f6be81b4d7a728 100644 --- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp @@ -4548,19 +4548,22 @@ bool AMDGPULegalizerInfo::legalizeBufferLoad(MachineInstr &MI, // TODO: Support TFE for typed and narrow loads. if (IsTyped) { - assert(!IsTFE); + if (IsTFE) + return false; Opc = IsD16 ? AMDGPU::G_AMDGPU_TBUFFER_LOAD_FORMAT_D16 : AMDGPU::G_AMDGPU_TBUFFER_LOAD_FORMAT; } else if (IsFormat) { if (IsD16) { - assert(!IsTFE); + if (IsTFE) + return false; Opc = AMDGPU::G_AMDGPU_BUFFER_LOAD_FORMAT_D16; } else { Opc = IsTFE ? AMDGPU::G_AMDGPU_BUFFER_LOAD_FORMAT_TFE : AMDGPU::G_AMDGPU_BUFFER_LOAD_FORMAT; } } else { - assert(!IsTFE); + if (IsTFE) + return false; switch (MemTy.getSizeInBits()) { case 8: Opc = AMDGPU::G_AMDGPU_BUFFER_LOAD_UBYTE; diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp index 2025bc84da09dc..6fc66187a1c6ef 100644 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -4894,7 +4894,8 @@ SDValue SITargetLowering::lowerIntrinsicLoad(MemSDNode *M, bool IsFormat, : AMDGPUISD::BUFFER_LOAD_FORMAT; } else { // TODO: Support non-format TFE loads. - assert(!IsTFE); + if (IsTFE) + return SDValue(); Opc = AMDGPUISD::BUFFER_LOAD; }