[all-commits] [llvm/llvm-project] 8dd34c: [AArch64][GlobalISel] Select uzp1 and uzp2

Jessica Paquette via All-commits all-commits at lists.llvm.org
Wed Jun 3 15:10:20 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 8dd34cce0716e0d83c2f05375e8352b5fb4c680c
      https://github.com/llvm/llvm-project/commit/8dd34cce0716e0d83c2f05375e8352b5fb4c680c
  Author: Jessica Paquette <jpaquette at apple.com>
  Date:   2020-06-03 (Wed, 03 Jun 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64Combine.td
    M llvm/lib/Target/AArch64/AArch64InstrGISel.td
    M llvm/lib/Target/AArch64/AArch64PostLegalizerCombiner.cpp
    A llvm/test/CodeGen/AArch64/GlobalISel/postlegalizer-combiner-uzp.mir
    A llvm/test/CodeGen/AArch64/GlobalISel/select-uzp.mir

  Log Message:
  -----------
  [AArch64][GlobalISel] Select uzp1 and uzp2

Porting the mask stuff for uzp1 and uzp2 from AArch64ISelLowering.

Add two custom opcodes: G_UZP1 and G_UZP2.

Produce them in the post-legalizer combiner when the mask checks out.

Tests:

- postlegalizer-combiner-uzp.mir verifies that we create G_UZP1 and G_UZP2.
The testcases that check that we create them come from neon-perm.ll.

- select-uzp.mir verifies that we can select G_UZP1 and G_UZP2.

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




More information about the All-commits mailing list