[PATCH] D96037: [DAGCombiner] Don't fold FCOPYSIGN vector sign operand casts

Luís Marques via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 4 07:23:22 PST 2021


luismarques created this revision.
luismarques added reviewers: david-arm, asb, efriedma, mundaym.
Herald added subscribers: ecnelises, pengfei, hiraditya.
luismarques requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

Avoid doing the following combine for vector types:

  copysign(x, fp_extend(y)) -> copysign(x, y)
  copysign(x, fp_round(y)) -> copysign(x, y)

This seems to impede the selection of vector instruction and cause a mess in various circumstances.

This patch was extracted from D70426 <https://reviews.llvm.org/D70426>, which I am abandoning. The patch also refactors the code, for clarity.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96037

Files:
  llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  llvm/test/CodeGen/AArch64/vector-fcopysign.ll
  llvm/test/CodeGen/X86/combine-fcopysign.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96037.321416.patch
Type: text/x-patch
Size: 9176 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210204/f0f1a7c7/attachment.bin>


More information about the llvm-commits mailing list