diff --git a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp --- a/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp +++ b/llvm/lib/Target/AMDGPU/AMDGPULegalizerInfo.cpp @@ -4555,19 +4555,22 @@ // 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 --- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp +++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp @@ -4895,7 +4895,8 @@ : AMDGPUISD::BUFFER_LOAD_FORMAT; } else { // TODO: Support non-format TFE loads. - assert(!IsTFE); + if (IsTFE) + return SDValue(); Opc = AMDGPUISD::BUFFER_LOAD; }