[all-commits] [llvm/llvm-project] a70480: [AArch64] Add some tests for mul(shuffle(ext. NFC

David Green via All-commits all-commits at lists.llvm.org
Mon Apr 4 15:08:00 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: a70480dd13c3317f4f9e2f55dc9d67dfb61d8218
      https://github.com/llvm/llvm-project/commit/a70480dd13c3317f4f9e2f55dc9d67dfb61d8218
  Author: David Green <david.green at arm.com>
  Date:   2022-04-04 (Mon, 04 Apr 2022)

  Changed paths:
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll

  Log Message:
  -----------
  [AArch64] Add some tests for mul(shuffle(ext. NFC


  Commit: 3b9833597e810d4c485487d2f094a8e223af5548
      https://github.com/llvm/llvm-project/commit/3b9833597e810d4c485487d2f094a8e223af5548
  Author: David Green <david.green at arm.com>
  Date:   2022-04-04 (Mon, 04 Apr 2022)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/aarch64-dup-ext.ll

  Log Message:
  -----------
  [AArch64] Alter mull buildvectors(ext(..)) combine to work on shuffles

D120018 altered this combine to work on buildvectors as opposed to
shuffle dup's. This works well for dups and other things that are
expanded into buildvectors. Some shuffles are legal though, and stay as
vector_shuffle through lowering. This expands the transform to also
handle shuffles, so that we can turn mul(shuffle(sext into
mul(sext(shuffle and more readily make smull/umull instructions. This
can come up from the SLP vectorizer adding shuffles that are costed from
extends.

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


Compare: https://github.com/llvm/llvm-project/compare/9a44ed43cf9a...3b9833597e81


More information about the All-commits mailing list