[llvm] [GlobalISel][AMDGPU] Fix handling of v2i128 type for AND, OR, XOR (PR #138574)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Wed May 7 04:09:57 PDT 2025


================
@@ -872,12 +872,14 @@ AMDGPULegalizerInfo::AMDGPULegalizerInfo(const GCNSubtarget &ST_,
   // Report legal for any types we can handle anywhere. For the cases only legal
   // on the SALU, RegBankSelect will be able to re-legalize.
   getActionDefinitionsBuilder({G_AND, G_OR, G_XOR})
-    .legalFor({S32, S1, S64, V2S32, S16, V2S16, V4S16})
-    .clampScalar(0, S32, S64)
-    .moreElementsIf(isSmallOddVector(0), oneMoreElement(0))
-    .fewerElementsIf(vectorWiderThan(0, 64), fewerEltsToSize64Vector(0))
----------------
arsenm wrote:

I don't see why this was wrong. Why was the rule wrong? Is this just papering over a bug in LegalizerHelper

https://github.com/llvm/llvm-project/pull/138574


More information about the llvm-commits mailing list