summaryrefslogtreecommitdiff
path: root/lib/builtins/fixunsdfdi.c
Commit message (Collapse)AuthorAgeFilesLines
* [builtins] Use aliases for function redirectsPetr Hosek2019-04-291-1/+1
| | | | | | | | | | | | | Symbol aliases are supported by all platforms that compiler-rt builtins target, and we can use these instead of function redirects to avoid the extra indirection. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60931 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359413 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Use single line C++/C99 comment stylePetr Hosek2019-04-281-17/+14
| | | | | | | | | | | Use the uniform single line C++/99 style for code comments. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60352 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359411 91177308-0d34-0410-b5e6-96231b3b80d8
* [builtins] Reformat builtins with clang-formatPetr Hosek2019-04-281-14/+8
| | | | | | | | | | | Update formatting to use the LLVM style. This is part of the cleanup proposed in "[RFC] compiler-rt builtins cleanup and refactoring". Differential Revision: https://reviews.llvm.org/D60351 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@359410 91177308-0d34-0410-b5e6-96231b3b80d8
* Update more file headers across all of the LLVM projects in the monorepoChandler Carruth2019-01-191-4/+3
| | | | | | | | | | | | | | | | | | to reflect the new license. These used slightly different spellings that defeated my regular expressions. We understand that people may be surprised that we're moving the header entirely to discuss the new license. We checked this carefully with the Foundation's lawyer and we believe this is the correct approach. Essentially, all code in the project is now made available by the LLVM project under our new license, so you will see that the license headers include that license only. Some of our contributors have contributed code under our old license, and accordingly, we have retained a copy of our old license notice in the top-level files in each project and repository. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@351648 91177308-0d34-0410-b5e6-96231b3b80d8
* [compiler-rt] Add back ARM EABI aliases where legal.Eli Friedman2017-10-031-7/+5
| | | | | | | | | | | | | | | | r303188 removed all the uses of aliases for EABI functions from compiler-rt, because some of them had mismatched calling conventions. Obviously, we can't use aliases for functions which don't have the same calling convention, but that's only an issue for floating-point functions with the hardfloat ABI. In other cases, the stubs increase size and reduce performance for no benefit. This patch adds back the aliases, with appropriate checks to make sure they're only used in cases where the calling convention matches. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@314851 91177308-0d34-0410-b5e6-96231b3b80d8
* builtins: expand out the AEABI function stubsSaleem Abdulrasool2017-05-161-2/+12
| | | | | | | | | | | | | These actually may change calling conventions. We cannot simply provide function aliases as the aliased function may have a different calling convention. Provide a forwarding function instead to permit the compiler to synthesize the calling convention adjustment thunk. Remove the `ARM_EABI_FNALIAS` macro as that is not safe to use. Resolves PR33030! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@303188 91177308-0d34-0410-b5e6-96231b3b80d8
* builtins: tweak constant spellingSaleem Abdulrasool2015-10-061-2/+2
| | | | | | | | Use 4294967296.f instead of 0x1p32f to fix MSVC. NFC. Patch by Tee Hao Wei! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249374 91177308-0d34-0410-b5e6-96231b3b80d8
* Fix float->uint conversion for inputs less than 0Derek Schuff2015-05-011-0/+1
| | | | | | | | | | | | | | | | | | | | Summary: The spec for these functions says that they should return 0 in this case but this regressed in r234148. That revision essentially delegates the conversion to the hardware, but that has different behavior on different platforms (e.g. it is wrong on x86). Also fix a typo in the name of __fixunsdfti Test Plan: The existing unit tests now pass Reviewers: joerg, howard.hinnant Subscribers: llvm-commits Differential Revision: http://reviews.llvm.org/D9305 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@236319 91177308-0d34-0410-b5e6-96231b3b80d8
* Add hard float versions of FP to LL conversionsSergey Dmitrouk2015-04-061-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | This adds hard-float implementation for the following builtins: * __fixdfdi() * __fixsfdi() * __fixunsdfdi() * __fixunssfdi() The soft-float implementation does never raise floating point exceptions, which doesn't allow clients to detect floating point conversion errors. I must mention that I had to refer to libgcc's implementation to write these functions. Related unit-tests of compiler-rt passed with these changes. Patch was somewhat out-dated, so was updated locally without any functional changes. Differential Revision: http://reviews.llvm.org/D5376 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@234148 91177308-0d34-0410-b5e6-96231b3b80d8
* Refactor float to integer conversion to share the same code.Joerg Sonnenberger2015-03-111-32/+6
| | | | | | | | | | | | | | 80bit Intel/PPC long double is excluded due to lacking support for the abstraction. Consistently provide saturation logic. Extend to long double on 128bit IEEE extended platforms. Initial patch with test cases from GuanHong Liu. Reviewed by Steve Canon. Differential Revision: http://reviews.llvm.org/D2804 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@231965 91177308-0d34-0410-b5e6-96231b3b80d8
* Move original compiler-rt functions (libgcc replacement) to lib/builtins ↵Alexey Samsonov2014-02-141-0/+47
directory git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@201393 91177308-0d34-0410-b5e6-96231b3b80d8