Simon Pilgrim
1889f26b94
[InstCombine] Add m_Negative pattern matching
...
Allows us to add non-uniform constant vector support for "X urem C -> X < C ? X : X - C, where C >= signbit."
llvm-svn: 324631
2018-02-08 18:36:01 +00:00
Simon Pilgrim
11a02589c1
[InstCombine] Add vector urem tests.
...
Improve coverage of InstCombiner::visitURem for vector types
llvm-svn: 324629
2018-02-08 18:10:08 +00:00
Simon Pilgrim
9f2ae7e2d1
[InstCombine][ValueTracking] Match non-uniform constant power-of-two vectors
...
Generalize existing constant matching to work with non-uniform constant vectors as well.
Differential Revision: https://reviews.llvm.org/D42818
llvm-svn: 324369
2018-02-06 18:39:23 +00:00
Simon Pilgrim
e11c64162c
Regenerate vector-urem test. NFCI.
...
llvm-svn: 324357
2018-02-06 16:10:12 +00:00
Sanjay Patel
2b1f6f4b92
[InstSimplify] vector div/rem with any zero element in divisor is undef
...
This was suggested as a DAG simplification in the review for rL297026 :
http://lists.llvm.org/pipermail/llvm-commits/Week-of-Mon-20170306/435253.html
...but let's start with IR since we have actual docs for IR (LangRef).
Differential Revision:
https://reviews.llvm.org/D30665
llvm-svn: 297390
2017-03-09 16:20:52 +00:00
Simon Pilgrim
b2116d9b94
[InstCombine] Add vector urem tests
...
Demonstrate missed opportunity for urem -> and combine for powerof2 or zero non-uniform constant dividers
llvm-svn: 288510
2016-12-02 17:16:21 +00:00