[all-commits] [llvm/llvm-project] 2ec2b2: [AArch64][GlobalISel] Select @llvm.aarch64.neon.ld2.*

Jessica Paquette via All-commits all-commits at lists.llvm.org
Mon Aug 23 17:16:15 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 2ec2b25fbaafa845495249de4f25bdcd1141c6ef
      https://github.com/llvm/llvm-project/commit/2ec2b25fbaafa845495249de4f25bdcd1141c6ef
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2021-08-23 (Mon, 23 Aug 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/GISel/AArch64InstructionSelector.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/select-ld2.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select @llvm.aarch64.neon.ld2.*

This is pretty similar to the ST2 selection code in
`AArch64InstructionSelector::selectIntrinsicWithSideEffects`.

This is a GISel equivalent of the ld2 case in `AArch64DAGToDAGISel::Select`.
There's some weirdness there that appears here too (e.g. using ld1 for scalar
cases, which are 1-element vectors in SDAG.)

It's a little gross that we have to create the copy and then select it right
after, but I think we'd need to refactor the existing copy selection code
quite a bit to do better.

This was falling back while building llvm-project with GISel for AArch64.

Differential Revision: https://reviews.llvm.org/D108590




More information about the All-commits mailing list