Sanjay Patel
c6944f795d
[InstSimplify] move minnum/maxnum with Inf folds from instcombine
...
llvm-svn: 339396
2018-08-09 22:20:44 +00:00
Sanjay Patel
948ff87d7d
[InstSimplify] move minnum/maxnum with common op fold from instcombine
...
llvm-svn: 339144
2018-08-07 14:36:27 +00:00
Sanjay Patel
b802d18df7
[InstSimplify] move misplaced minnum/maxnum tests; NFC
...
llvm-svn: 339141
2018-08-07 14:12:08 +00:00
Sanjay Patel
3f6e9a71f7
[InstSimplify] move minnum/maxnum with undef fold from instcombine
...
llvm-svn: 338719
2018-08-02 14:33:40 +00:00
Sanjay Patel
28c7e41c09
[InstSimplify] move minnum/maxnum with same arg fold from instcombine
...
llvm-svn: 338652
2018-08-01 23:05:55 +00:00
Sanjay Patel
c7bb14301a
[InstCombine] add folds for minnum(-a, -b) --> -maxnum(a, b)
...
This is similar to what we do for integer min/max with 'not'
ops (rL321882).
This should fix:
https://bugs.llvm.org/show_bug.cgi?id=37404
https://bugs.llvm.org/show_bug.cgi?id=37405
llvm-svn: 332031
2018-05-10 20:03:13 +00:00
Sanjay Patel
b5322e385e
[InstCombine] add minnum/maxnum tests (PR37404, PR37405); NFC
...
llvm-svn: 332025
2018-05-10 19:21:08 +00:00
Sanjay Patel
dc4bb3fd36
[InstCombine] regenerate full checks; NFC
...
llvm-svn: 331998
2018-05-10 17:05:38 +00:00
Matt Arsenault
d6511b49ac
Add minnum / maxnum intrinsics
...
These are named following the IEEE-754 names for these
functions, rather than the libm fmin / fmax to avoid
possible ambiguities. Some languages may implement something
resembling fmin / fmax which return NaN if either operand is
to propagate errors. These implement the IEEE-754 semantics
of returning the other operand if either is a NaN representing
missing data.
llvm-svn: 220341
2014-10-21 23:00:20 +00:00