[llvm] [AMDGPU][NFC] Simplify assertions (PR #203472)
Piotr Sobczak via llvm-commits
llvm-commits at lists.llvm.org
Fri Jun 12 00:10:09 PDT 2026
https://github.com/piotrAMD created https://github.com/llvm/llvm-project/pull/203472
Replace assertions that listed concrete types with generic ones that check that the type is a vector with an even number of elements.
This keeps the spirit of the assertions and matches the code.
>From 5b5904c5d81fd462653cc502764d97e45a539782 Mon Sep 17 00:00:00 2001
From: Piotr Sobczak <piotr.sobczak at amd.com>
Date: Fri, 12 Jun 2026 08:57:52 +0200
Subject: [PATCH] [AMDGPU][NFC] Simplify assertions
Replace assertions that listed concrete types with generic
ones that check that the type is a vector with an even number
of elements.
This keeps the spirit of the assertions and matches the code.
---
llvm/lib/Target/AMDGPU/SIISelLowering.cpp | 16 ++--------------
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
index 3026d0dfa1dab..eb3b869990cdd 100644
--- a/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
+++ b/llvm/lib/Target/AMDGPU/SIISelLowering.cpp
@@ -7485,13 +7485,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);
+ assert(VT.isVector() && VT.getVectorElementCount().isKnownEven());
auto [Lo0, Hi0] = DAG.SplitVectorOperand(Op.getNode(), 0);
auto [Lo1, Hi1] = DAG.SplitVectorOperand(Op.getNode(), 1);
@@ -7510,13 +7504,7 @@ SDValue SITargetLowering::splitTernaryVectorOp(SDValue Op,
SelectionDAG &DAG) const {
unsigned Opc = Op.getOpcode();
EVT VT = Op.getValueType();
- assert(VT == MVT::v4i16 || VT == MVT::v4f16 || VT == MVT::v8i16 ||
- VT == MVT::v8f16 || VT == MVT::v4f32 || VT == MVT::v16i16 ||
- VT == MVT::v16f16 || VT == MVT::v8f32 || VT == MVT::v16f32 ||
- VT == MVT::v32f32 || VT == MVT::v32f16 || VT == MVT::v32i16 ||
- VT == MVT::v4bf16 || VT == MVT::v8bf16 || VT == MVT::v16bf16 ||
- VT == MVT::v32bf16 || VT == MVT::v4f64 || VT == MVT::v8f64 ||
- VT == MVT::v16f64 || VT == MVT::v16f64);
+ assert(VT.isVector() && VT.getVectorElementCount().isKnownEven());
SDValue Op0 = Op.getOperand(0);
auto [Lo0, Hi0] = Op0.getValueType().isVector()
More information about the llvm-commits
mailing list