[InstCombine] Signed saturation patterns
This adds an instcombine matcher for code that attempts to perform signed saturating arithmetic by casting to a higher type. Unsigned cases are already matched, this adds extra matches for the more complex signed cases, which involves matching the min(max(add a b)) nodes with proper extends to ensure legality. Differential Revision: https://reviews.llvm.org/D68651 llvm-svn: 375505
Showing
- llvm/lib/Transforms/InstCombine/InstCombineInternal.h 1 addition, 0 deletionsllvm/lib/Transforms/InstCombine/InstCombineInternal.h
- llvm/lib/Transforms/InstCombine/InstCombineSelect.cpp 67 additions, 0 deletionsllvm/lib/Transforms/InstCombine/InstCombineSelect.cpp
- llvm/test/Transforms/InstCombine/sadd_sat.ll 30 additions, 124 deletionsllvm/test/Transforms/InstCombine/sadd_sat.ll
Loading
Please register or sign in to comment