[llvm] [AArch64][GlobalISel] Legalize Insert vector element (PR #81453)
Thorsten Schütt via llvm-commits
llvm-commits at lists.llvm.org
Tue Mar 12 07:41:45 PDT 2024
================
@@ -883,9 +883,15 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
.clampMaxNumElements(1, p0, 2);
getActionDefinitionsBuilder(G_INSERT_VECTOR_ELT)
- .legalIf(typeInSet(0, {v16s8, v8s8, v8s16, v4s16, v4s32, v2s32, v2s64}))
+ .legalIf(
+ typeInSet(0, {v16s8, v8s8, v8s16, v4s16, v4s32, v2s32, v2s64, v2p0}))
.moreElementsToNextPow2(0)
----------------
tschuett wrote:
We had the same issue with G_SELECT. It works with integers, floats, and pointers, but we cannot legalize s16. If s16 is an f16, we can easily select G_SELECT with f16. If s16 is an i16, then we get into trouble selecting G_SELECT with a scalar i16.
Expressing the distinction between f16 and bf16 in the LLT is another upcoming issue.
https://github.com/llvm/llvm-project/pull/81453
More information about the llvm-commits
mailing list