diff options
author | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-02-12 16:07:16 +0000 |
---|---|---|
committer | Simon Pilgrim <llvm-dev@redking.me.uk> | 2020-02-12 16:07:27 +0000 |
commit | ff307c8120ecca89193576c38d68a0353ea49e8b (patch) | |
tree | f594997ac15d609f7f550de1e12efbf108244774 /llvm/tools/llvm-objdump/llvm-objdump.cpp | |
parent | 665dcdacc06b056c3279a1fccbcae4660d80f117 (diff) | |
download | llvm-ff307c8120ecca89193576c38d68a0353ea49e8b.zip llvm-ff307c8120ecca89193576c38d68a0353ea49e8b.tar.gz llvm-ff307c8120ecca89193576c38d68a0353ea49e8b.tar.bz2 |
[X86] combineFneg - generalize FMA negations with isNegatibleForFree/getNegatedExpression
This has a really interesting side effect in that it improves some UMAX/UMIN reduction code which had redundant XOR(SHUFFLE(XOR(X,SIGNMASK)),SIGNMASK) patterns - the getNegatibleCost recognises it as FNEG(SHUFFLE(FNEG(X))).... We have a lot of FNEG patterns bitcasted to the integer domain for XOR signbit twiddling which is similar to what we do to allow UMAX/UMIN to be lowered using SMAX/SMIN.
Differential Revision: https://reviews.llvm.org/D74231
Diffstat (limited to 'llvm/tools/llvm-objdump/llvm-objdump.cpp')
0 files changed, 0 insertions, 0 deletions