commit | d6a187abe9ebb3eb185e64815fa3b44c56e5702f | [log] [tgz] |
---|---|---|
author | Sanjay Patel <spatel@rotateright.com> | Sun Mar 24 13:55:54 2019 +0000 |
committer | Sanjay Patel <spatel@rotateright.com> | Sun Mar 24 13:55:54 2019 +0000 |
tree | 13449b76c41ca7fd448556b5252b3141a7b22b4c | |
parent | 8731cd195cc3ccb1d49ae05e260e94208b60d8c5 [diff] |
[x86] improve the default expansion of uaddsat/usubsat This is yet another step towards solving PR14613: https://bugs.llvm.org/show_bug.cgi?id=14613 uaddsat X, Y --> (X >u (X + Y)) ? -1 : X + Y usubsat X, Y --> (X >u Y) ? X - Y : 0 We can't count on a sane vector ISA, so override the default (umin/umax) expansion of unsigned add/sub saturate in cases where we do not have umin/umax. Differential Revision: https://reviews.llvm.org/D59006 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@356855 91177308-0d34-0410-b5e6-96231b3b80d8