[all-commits] [llvm/llvm-project] 14e1a4: [AArch64][SVE] Workaround incorrect types when low...

Bradley Smith via All-commits all-commits at lists.llvm.org
Thu Sep 2 08:07:49 PDT 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 14e1a4a6eef2fb95ec852c9ddfc597f80bba3226
      https://github.com/llvm/llvm-project/commit/14e1a4a6eef2fb95ec852c9ddfc597f80bba3226
  Author: Bradley Smith <bradley.smith at arm.com>
  Date:   2021-09-02 (Thu, 02 Sep 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-gather.ll
    M llvm/test/CodeGen/AArch64/sve-fixed-length-masked-scatter.ll

  Log Message:
  -----------
  [AArch64][SVE] Workaround incorrect types when lowering fixed length gather/scatter

When lowering a fixed length gather/scatter the index type is assumed to
be the same as the memory type, this is incorrect in cases where the
extension of the index has been folded into the addressing mode.

For now add a temporary workaround to fix the codegen faults caused by
this by preventing the removal of this extension. At a later date the
lowering for SVE gather/scatters will be redesigned to improve the way
addressing modes are handled.

As a short term side effect of this change, the addressing modes
generated for fixed length gather/scatters will not be optimal.

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




More information about the All-commits mailing list