[all-commits] [llvm/llvm-project] b1b9c3: [AArch64][SVE] Use SVE for VLS fcopysign for wide ...

David Truby via All-commits all-commits at lists.llvm.org
Wed Aug 10 03:17:44 PDT 2022


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: b1b9c39629b5af002cc265d9464e3085b17b91cb
      https://github.com/llvm/llvm-project/commit/b1b9c39629b5af002cc265d9464e3085b17b91cb
  Author: David Truby <david.truby at arm.com>
  Date:   2022-08-10 (Wed, 10 Aug 2022)

  Changed paths:
    M llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
    M llvm/lib/CodeGen/SelectionDAG/LegalizeVectorTypes.cpp
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    M llvm/test/CodeGen/AArch64/sve-fcopysign.ll
    A llvm/test/CodeGen/AArch64/sve-fixed-length-fcopysign.ll
    M llvm/test/CodeGen/AArch64/sve2-fcopysign.ll
    A llvm/test/CodeGen/AArch64/sve2-fixed-length-fcopysign.ll

  Log Message:
  -----------
  [AArch64][SVE] Use SVE for VLS fcopysign for wide vectors

Currently fcopysign for VLS vectors lowers through NEON even when the
vector width is wider than a NEON vector, causing bad codegen as the
vectors are split. This patch causes SVE to be used for these vectors
instead, giving much better codegen on wide VLS vectors.

Reviewed By: paulwalker-arm

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




More information about the All-commits mailing list