summaryrefslogtreecommitdiff
path: root/lib/builtins/extendhfsf2.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-1/+0
| | | | | | | | | | | 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-7/+3
| | | | | | | | | | | 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-1/+4
| | | | | | | | | | | | | | | | 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/+7
| | | | | | | | | | | | | 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
* Add ARM RTABI aliases for half-precision conversionsOliver Stannard2015-10-071-0/+2
| | | | | | | | | The ARM RTABI defines these functions as __aeabi_h2f, __aeabi_f2h and __aeabi_d2h, so we need aliases for them. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249559 91177308-0d34-0410-b5e6-96231b3b80d8
* builtins: Use MSVC-equivalents of attributesSaleem Abdulrasool2015-10-061-1/+1
| | | | | | | | This allows us to build the builtins using MSVC. NFC. Patch by Tee Hao Wei! git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@249375 91177308-0d34-0410-b5e6-96231b3b80d8
* [Builtins] Implement f2h/h2f by jumping to trunc/extend.Ahmed Bougacha2015-05-141-2/+4
| | | | | | | | | | | | | Follow-up to r237161; seems like we can't use aliases, but we can do better than duplicating the bodies, especially when that body, after inlining, isn't as small as it looks. Better approaches welcome. Perhaps the best thing is just to have an #ifndef __APPLE__ over the GNUEABI names, since they're not used there. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237323 91177308-0d34-0410-b5e6-96231b3b80d8
* [Builtins] Implement half-precision conversions.Ahmed Bougacha2015-05-121-0/+21
Mostly uninteresting, except: - in __extendXfYf2, when checking if the number is normal, the old code relied on the unsignedness of src_rep_t, which is a problem when sizeof(src_rep_t) < sizeof(int): the result gets promoted to int, the signedness of which breaks the comparison. I added an explicit cast; it shouldn't affect other types. - we can't pass __fp16, so src_t and src_rep_t are the same. - the gnu_*_ieee symbols are simply duplicated definitions, as aliases are problematic on mach-o (where only weak aliases are supported; that's not what we want). Differential Revision: http://reviews.llvm.org/D9693 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@237161 91177308-0d34-0410-b5e6-96231b3b80d8