[DAGCombiner][X86][AArch64] (x - C) + y -> (x + y) - C fold. Try 2
authorRoman Lebedev <lebedev.ri@gmail.com>
Thu, 30 May 2019 20:37:49 +0000 (20:37 +0000)
committerRoman Lebedev <lebedev.ri@gmail.com>
Thu, 30 May 2019 20:37:49 +0000 (20:37 +0000)
commita4e3b50e2651510d2d93a0f3128d4bcceb3ea3d3
tree754876825c18ce31c31f19ffc921c79016e22310
parent57aa36ff9164f40cf99f38428246c59d41a74ddd
[DAGCombiner][X86][AArch64] (x - C) + y  ->  (x + y) - C  fold. Try 2

Summary:
Only vector tests are being affected here,
since subtraction by scalar constant is rewritten
as addition by negated constant.

No surprising test changes.

https://rise4fun.com/Alive/pbT

This is a recommit, originally committed in rL361852, but reverted
to investigate test-suite compile-time hangs.

Reviewers: RKSimon, craig.topper, spatel

Reviewed By: RKSimon

Subscribers: javed.absar, kristof.beyls, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D62257

llvm-svn: 362146
llvm/lib/CodeGen/SelectionDAG/DAGCombiner.cpp
llvm/test/CodeGen/AArch64/sink-addsub-of-const.ll
llvm/test/CodeGen/X86/sink-addsub-of-const.ll
llvm/test/CodeGen/X86/vector-idiv-sdiv-128.ll
llvm/test/CodeGen/X86/vector-idiv-sdiv-256.ll
llvm/test/CodeGen/X86/vector-idiv-sdiv-512.ll