[all-commits] [llvm/llvm-project] 52e408: [SVE][CodeGen] Vector + immediate addressing mode ...

kmclaughlin-arm via All-commits all-commits at lists.llvm.org
Fri Dec 18 04:01:57 PST 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 52e4084d9c3b15dbb73906f28f7f5aa45b835b64
      https://github.com/llvm/llvm-project/commit/52e4084d9c3b15dbb73906f28f7f5aa45b835b64
  Author: Kerry McLaughlin <kerry.mclaughlin at arm.com>
  Date:   2020-12-18 (Fri, 18 Dec 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-masked-gather-legalize.ll
    A llvm/test/CodeGen/AArch64/sve-masked-gather-vec-plus-imm.ll
    A llvm/test/CodeGen/AArch64/sve-masked-gather-vec-plus-reg.ll
    A llvm/test/CodeGen/AArch64/sve-masked-gather.ll
    A llvm/test/CodeGen/AArch64/sve-masked-scatter-vec-plus-imm.ll
    A llvm/test/CodeGen/AArch64/sve-masked-scatter-vec-plus-reg.ll
    A llvm/test/CodeGen/AArch64/sve-masked-scatter.ll

  Log Message:
  -----------
  [SVE][CodeGen] Vector + immediate addressing mode for masked gather/scatter

This patch extends LowerMGATHER/MSCATTER to make use of the vector + reg/immediate
addressing modes for scalable masked gathers & scatters.

selectGatherScatterAddrMode checks if the base pointer is null, in which case
we can swap the base pointer and the index, e.g.
     getelementptr nullptr, <vscale x N x T> (splat(%offset)) + %indices)
  -> getelementptr %offset, <vscale x N x T> %indices

Reviewed By: david-arm

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




More information about the All-commits mailing list