[PATCH] D15138: Fix signbit related bitcast optimization for ppc_fp128

Tim Shen via llvm-commits llvm-commits at lists.llvm.org
Thu Dec 3 23:41:39 PST 2015


timshen retitled this revision from "Disable signbit related bitcast optimization for ppc_fp128" to "Fix signbit related bitcast optimization for ppc_fp128".
timshen updated the summary for this revision.
timshen removed rL LLVM as the repository for this revision.
timshen updated this revision to Diff 41844.
timshen added a comment.

I have updated the combiners, with these optimizations correctly implemented.

Compared to disabling these optimizations:
For fabs, both are 12 instructions, but the optimized version have no floating point instructions.
For fneg, they are exactly the same.
For fcopysign, it's way better - no constants, no function call, less instructions.

Links to the actual assembly code:
https://gist.github.com/innocentim/ae3c3807161b236bbbc7
https://gist.github.com/innocentim/5373dd6ca13c5b3a35b3


http://reviews.llvm.org/D15138

Files:
  lib/CodeGen/SelectionDAG/DAGCombiner.cpp
  test/CodeGen/PowerPC/fp128-bitcast-after-operation.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D15138.41844.patch
Type: text/x-patch
Size: 6995 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151204/57d50d56/attachment.bin>


More information about the llvm-commits mailing list