[llvm] b5e87c9 - [AArch64][GlobalISel] Add selection support for <8 x s16> G_INSERT_VECTOR_ELT with GPR scalar.
Yvan Roux via llvm-commits
llvm-commits at lists.llvm.org
Mon Sep 28 01:17:29 PDT 2020
Hi Amara,
it seems that this commit broke aarch64_neon_intrinsics.test on AArch64
bots, logs are available here:
http://lab.llvm.org:8011/builders/clang-cmake-aarch64-quick/builds/26577
Cheers,
Yvan
On Fri, 25 Sep 2020 at 18:51, Amara Emerson via llvm-commits <
llvm-commits at lists.llvm.org> wrote:
>
> Author: Amara Emerson
> Date: 2020-09-25T09:51:04-07:00
> New Revision: b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04
>
> URL:
> https://github.com/llvm/llvm-project/commit/b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04
> DIFF:
> https://github.com/llvm/llvm-project/commit/b5e87c9ef2243ecd65e0ef87a1bf303c0c26db04.diff
>
> LOG: [AArch64][GlobalISel] Add selection support for <8 x s16>
> G_INSERT_VECTOR_ELT with GPR scalar.
>
> Fixes the neon intrinsics test in the test suite.
>
> Added:
>
>
> Modified:
> llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
> llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
>
> Removed:
>
>
>
>
> ################################################################################
> diff --git a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
> b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
> index 01bd05a2b988..57eb417d2b05 100644
> --- a/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
> +++ b/llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
> @@ -3799,7 +3799,10 @@ static std::pair<unsigned, unsigned>
> getInsertVecEltOpInfo(const RegisterBank &RB, unsigned EltSize) {
> unsigned Opc, SubregIdx;
> if (RB.getID() == AArch64::GPRRegBankID) {
> - if (EltSize == 32) {
> + if (EltSize == 16) {
> + Opc = AArch64::INSvi16gpr;
> + SubregIdx = AArch64::ssub;
> + } else if (EltSize == 32) {
> Opc = AArch64::INSvi32gpr;
> SubregIdx = AArch64::ssub;
> } else if (EltSize == 64) {
>
> diff --git
> a/llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
> b/llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
> index 5c4a2e1c3544..a311e005a574 100644
> --- a/llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
> +++ b/llvm/test/CodeGen/AArch64/GlobalISel/select-insert-vector-elt.mir
> @@ -1,6 +1,32 @@
> # NOTE: Assertions have been autogenerated by
> utils/update_mir_test_checks.py
> # RUN: llc -verify-machineinstrs -mtriple aarch64-unknown-unknown
> -run-pass=instruction-select %s -o - | FileCheck %s
> ---
> +name: v8s16_gpr
> +alignment: 4
> +legalized: true
> +regBankSelected: true
> +tracksRegLiveness: true
> +body: |
> + bb.0:
> + liveins: $q1, $w0
> +
> + ; CHECK-LABEL: name: v8s16_gpr
> + ; CHECK: liveins: $q1, $w0
> + ; CHECK: [[COPY:%[0-9]+]]:gpr32 = COPY $w0
> + ; CHECK: [[COPY1:%[0-9]+]]:fpr128 = COPY $q1
> + ; CHECK: [[INSvi16gpr:%[0-9]+]]:fpr128 = INSvi16gpr [[COPY1]], 1,
> [[COPY]]
> + ; CHECK: $q0 = COPY [[INSvi16gpr]]
> + ; CHECK: RET_ReallyLR implicit $q0
> + %0:gpr(s32) = COPY $w0
> + %trunc:gpr(s16) = G_TRUNC %0
> + %1:fpr(<8 x s16>) = COPY $q1
> + %3:gpr(s32) = G_CONSTANT i32 1
> + %2:fpr(<8 x s16>) = G_INSERT_VECTOR_ELT %1, %trunc:gpr(s16),
> %3:gpr(s32)
> + $q0 = COPY %2(<8 x s16>)
> + RET_ReallyLR implicit $q0
> +
> +...
> +---
> name: v8s16_fpr
> alignment: 4
> legalized: true
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org
> https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200928/def27dba/attachment.html>
More information about the llvm-commits
mailing list