[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