[llvm] [AMDGPU][NFC] Simplify assertions (PR #206126)
via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 26 09:31:09 PDT 2026
llvmorg-github-actions[bot] wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-backend-amdgpu
Author: Piotr Sobczak (piotrAMD)
<details>
<summary>Changes</summary>
Replace assertions that listed concrete types with generic ones that check that the type is a vector with an even number of elements.
Update splitUnary and splitBinary.
I already updated splitBinary and splitTernary in #<!-- -->203472, but splitBinary change was accidentally removed in #<!-- -->203607, so I am bringing it back in.
---
Full diff: https://github.com/llvm/llvm-project/pull/206126.diff
1 Files Affected:
- (modified) llvm/lib/Target/AMDGPU/SIISelLowering.cpp (+2-15)
``````````diff
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index a5b331b6e076f..3a80cfec33b23 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -7463,13 +7463,7 @@ SDValue SITargetLowering::splitUnaryVectorOp(SDValue Op,
SelectionDAG &DAG) const {
unsigned Opc = Op.getOpcode();
EVT VT = Op.getValueType();
- assert(VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16 ||
- VT == MVT::v4f32 || VT == MVT::v8i16 || VT == MVT::v8f16 ||
- VT == MVT::v8bf16 || VT == MVT::v16i16 || VT == MVT::v16f16 ||
- VT == MVT::v16bf16 || VT == MVT::v8f32 || VT == MVT::v16f32 ||
- VT == MVT::v32f32 || VT == MVT::v32i16 || VT == MVT::v32f16 ||
- VT == MVT::v32bf16 || VT == MVT::v4f64 || VT == MVT::v8f64 ||
- VT == MVT::v16f64 || VT == MVT::v32f64);
+ assert(VT.isVector() && VT.getVectorElementCount().isKnownEven());
auto [Lo, Hi] = DAG.SplitVectorOperand(Op.getNode(), 0);
auto [LoVT, HiVT] = DAG.GetSplitDestVTs(VT);
@@ -7509,14 +7503,7 @@ SDValue SITargetLowering::splitBinaryVectorOp(SDValue Op,
SelectionDAG &DAG) const {
unsigned Opc = Op.getOpcode();
EVT VT = Op.getValueType();
- assert(VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v4bf16 ||
- VT == MVT::v4f32 || VT == MVT::v8i16 || VT == MVT::v8f16 ||
- VT == MVT::v8bf16 || VT == MVT::v16i16 || VT == MVT::v16f16 ||
- VT == MVT::v16bf16 || VT == MVT::v8f32 || VT == MVT::v16f32 ||
- VT == MVT::v32f32 || VT == MVT::v32i16 || VT == MVT::v32f16 ||
- VT == MVT::v32bf16 || VT == MVT::v4f64 || VT == MVT::v8f64 ||
- VT == MVT::v16f64 || VT == MVT::v32f64 || VT == MVT::v4i64 ||
- VT == MVT::v8i64 || VT == MVT::v16i64 || VT == MVT::v32i64);
+ assert(VT.isVector() && VT.getVectorElementCount().isKnownEven());
auto [Lo0, Hi0] = DAG.SplitVectorOperand(Op.getNode(), 0);
auto [Lo1, Hi1] = DAG.SplitVectorOperand(Op.getNode(), 1);
``````````
</details>
https://github.com/llvm/llvm-project/pull/206126
More information about the llvm-commits
mailing list