diff options
author | Eric Christopher <echristo@apple.com> | 2011-06-17 20:17:05 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2011-06-17 20:17:05 +0000 |
commit | 1ace4055f79f304750839d73c46bbcaeb994f1b5 (patch) | |
tree | 726c372193dcada5b3959cf02297889904c0e65c /README.txt | |
parent | 90467a679a4e45c035b126701a0450857f3c4483 (diff) |
Implement mulo<mode>4 for use in signed overflow checking.
Fixes rdar://9219742 and rdar://9218244
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@133284 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'README.txt')
-rw-r--r-- | README.txt | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/README.txt b/README.txt index cbeb10cf9..b37c0aecd 100644 --- a/README.txt +++ b/README.txt @@ -106,6 +106,15 @@ si_int __mulvsi3(si_int a, si_int b); // a * b di_int __mulvdi3(di_int a, di_int b); // a * b ti_int __mulvti3(ti_int a, ti_int b); // a * b + +// Integral arithmetic which returns if overflow + +si_int __mulosi4(si_int a, si_int b, int* overflow); // a * b, overflow set to one if result not in signed range +di_int __mulodi4(di_int a, di_int b, int* overflow); // a * b, overflow set to one if result not in signed range +ti_int __muloti4(ti_int a, ti_int b, int* overflow); // a * b, overflow set to + one if result not in signed range + + // Integral comparison: a < b -> 0 // a == b -> 1 // a > b -> 2 |