[all-commits] [llvm/llvm-project] e86f9b: [llvm][Aarch64][SVE] Remove extra fmov instruction...

David Truby via All-commits all-commits at lists.llvm.org
Tue Feb 16 06:17:16 PST 2021


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: e86f9ba15c41492c4ff9cd860136f69cfb4e17d2
      https://github.com/llvm/llvm-project/commit/e86f9ba15c41492c4ff9cd860136f69cfb4e17d2
  Author: David Truby <david.truby at arm.com>
  Date:   2021-02-16 (Tue, 16 Feb 2021)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64SVEInstrInfo.td
    M llvm/test/CodeGen/AArch64/sve-intrinsics-dup-x.ll
    M llvm/test/CodeGen/AArch64/sve-vector-splat.ll

  Log Message:
  -----------
  [llvm][Aarch64][SVE] Remove extra fmov instruction with certain literals

When a literal that cannot fit in the immediate form of the fmov instruction
is used to initialise an SVE vector, an extra unnecessary fmov is currently
generated. This patch adds an extra codegen pattern preventing the extra
instruction from being generated.

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

Co-Authored-By: Paul Walker <paul.walker at arm.com>




More information about the All-commits mailing list