move PR2053 to here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47237 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2008-02-17 19:43:57 +00:00
parent 5f137244c2
commit 456012c72e

View File

@ -1516,3 +1516,15 @@ should generate:
lock ; mov %esp, %esp
//===---------------------------------------------------------------------===//
The generated code on x86 for checking for signed overflow on a multiply the
obvious way is much longer than it needs to be.
int x(int a, int b) {
long long prod = (long long)a*b;
return prod > 0x7FFFFFFF || prod < (-0x7FFFFFFF-1);
}
See PR2053 for more details.
//===---------------------------------------------------------------------===//