[llvm] [X86][GISel] Add missing legalization for G_IMPLICIT_DEF (PR #161699)
Simon Pilgrim via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 3 02:07:03 PDT 2025
================
@@ -91,7 +91,27 @@ X86LegalizerInfo::X86LegalizerInfo(const X86Subtarget &STI,
// s128 = EXTEND (G_IMPLICIT_DEF s32/s64) -> s128 = G_IMPLICIT_DEF
getActionDefinitionsBuilder(G_IMPLICIT_DEF)
.legalFor({p0, s1, s8, s16, s32, s64})
- .legalFor(Is64Bit, {s128});
+ .legalFor(Is64Bit, {s128})
+ .legalFor(HasSSE2, {v16s8, v8s16, v4s32, v2s64})
+ .legalFor(HasAVX, {v8s32, v4s64})
+ .legalFor(HasAVX2, {v32s8, v16s16, v8s32, v4s64})
----------------
RKSimon wrote:
HasAVX/AVX2 can be merged into a single `.legalFor(HasAVX, {v32s8, v16s16, v8s32, v4s64})` - as all these types are legal on AVX1
Similar for clamping below
https://github.com/llvm/llvm-project/pull/161699
More information about the llvm-commits
mailing list