[all-commits] [llvm/llvm-project] bf242c: [AARCH64][NEON] Allow to sink operands of aarch64_...

avl-llvm via All-commits all-commits at lists.llvm.org
Thu May 21 15:36:36 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: bf242c067eaf8041a3505e115e0a827f28e4451a
      https://github.com/llvm/llvm-project/commit/bf242c067eaf8041a3505e115e0a827f28e4451a
  Author: Alexey Lapshin <a.v.lapshin at mail.ru>
  Date:   2020-05-22 (Fri, 22 May 2020)

  Changed paths:
    M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
    A llvm/test/CodeGen/AArch64/neon-vmull-high-p64.ll

  Log Message:
  -----------
  [AARCH64][NEON] Allow to sink operands of aarch64_neon_pmull64.

Summary:
This patch fixes a problem when pmull2 instruction is not
generated for vmull_high_p64 intrinsic.

ISel has a pattern for int_aarch64_neon_pmull64 intrinsic to generate
PMULL2 instruction. That pattern assumes that extraction operations
are located in the same basic block. We need to sink them
if they are not. Handle operands of int_aarch64_neon_pmull64
into AArch64TargetLowering::shouldSinkOperands.

Reviewed by: efriedma

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




More information about the All-commits mailing list