Add custom lowering for add/sub with overflow intrinsics to ARM
authorLouis Gerbarg <lgg@apple.com>
Fri, 9 May 2014 17:02:49 +0000 (17:02 +0000)
committerLouis Gerbarg <lgg@apple.com>
Fri, 9 May 2014 17:02:49 +0000 (17:02 +0000)
commit7a9fbab1823e915aa7e2eb7536652d2a3ef8a38a
treed19df1fa9b9fac637b912039595bea4c9133827d
parentc0adfbb49d674dc04f39536151f05cc6a5e9e5fb
Add custom lowering for add/sub with overflow intrinsics to ARM

This patch adds support to ARM for custom lowering of the
llvm.{u|s}add.with.overflow.i32 intrinsics for i32/i64. This is particularly useful
for handling idiomatic saturating math functions as generated by
InstCombineCompare.

Test cases included.

rdar://14853450

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@208435 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelLowering.cpp
lib/Target/ARM/ARMISelLowering.h
test/CodeGen/ARM/intrinsics-overflow.ll [new file with mode: 0644]