[llvm] [AArch64] Resolve TODO: Add v2i8 and v2i16 to bitcast (PR #85306)

via llvm-commits llvm-commits at lists.llvm.org
Thu Mar 14 13:35:06 PDT 2024


https://github.com/AtariDreams created https://github.com/llvm/llvm-project/pull/85306

None

>From 522566ce1f2e9fd995d335c04600a0f90f5ced75 Mon Sep 17 00:00:00 2001
From: Rose <gfunni234 at gmail.com>
Date: Thu, 14 Mar 2024 16:34:39 -0400
Subject: [PATCH] [AArch64] Resolve TODO: Add v2i8 and v2i16 to bitcast

---
 llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
index 36adada2796531..78fffc7e3eb26b 100644
--- a/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
+++ b/llvm/lib/Target/AArch64/GISel/AArch64LegalizerInfo.cpp
@@ -388,8 +388,7 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
       .clampMaxNumElements(0, s32, 4)
       .clampMaxNumElements(0, s64, 2)
       .clampMaxNumElements(0, p0, 2)
-      // TODO: Use BITCAST for v2i8, v2i16 after G_TRUNC gets sorted out
-      .bitcastIf(typeInSet(0, {v4s8}),
+      .bitcastIf(typeInSet(0, {v2i8, v2i16, v4s8}),
                  [=](const LegalityQuery &Query) {
                    const LLT VecTy = Query.Types[0];
                    return std::pair(0, LLT::scalar(VecTy.getSizeInBits()));
@@ -429,8 +428,7 @@ AArch64LegalizerInfo::AArch64LegalizerInfo(const AArch64Subtarget &ST)
       .clampMaxNumElements(0, s64, 2)
       .clampMaxNumElements(0, p0, 2)
       .lowerIfMemSizeNotPow2()
-      // TODO: Use BITCAST for v2i8, v2i16 after G_TRUNC gets sorted out
-      .bitcastIf(typeInSet(0, {v4s8}),
+      .bitcastIf(typeInSet(0, {v2i8, v2i16, v4s8}),
                  [=](const LegalityQuery &Query) {
                    const LLT VecTy = Query.Types[0];
                    return std::pair(0, LLT::scalar(VecTy.getSizeInBits()));



More information about the llvm-commits mailing list