[PATCH] D80320: [AARCH64][NEON] Allow to sink operands of aarch64_neon_pmull64.

Alexey Lapshin via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 20 14:18:42 PDT 2020


avl created this revision.
avl added reviewers: efriedma, fhahn, samparker.
Herald added subscribers: danielkiss, hiraditya, kristof.beyls.
Herald added a project: LLVM.

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.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D80320

Files:
  llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
  llvm/test/CodeGen/AArch64/neon-vmull-high-p64.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D80320.265343.patch
Type: text/x-patch
Size: 5919 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20200520/dede1a49/attachment-0001.bin>


More information about the llvm-commits mailing list