Home | History | Annotate | only in /src/sys/external/bsd/compiler_rt/dist/lib/builtins
History log of /src/sys/external/bsd/compiler_rt/dist/lib/builtins
RevisionDateAuthorComments
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file README.txt was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file absvdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file absvdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file absvdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file absvsi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file absvsi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file absvsi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file absvti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file absvti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file absvti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.34; 1.1.1.3.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 19-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file adddf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.2.1 19-May-2014  yamt file adddf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file adddf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 10-Aug-2014  joerg branches: 1.1.1.4.4; 1.1.1.4.34; 1.1.1.4.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.4.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.4.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.4.4.1 10-Aug-2014  tls file addsf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file addsf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file addsf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file addtf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file addvdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file addvdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file addvdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file addvsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file addvsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file addvsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file addvti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file addvti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file addvti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ashldi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ashldi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ashldi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file ashlti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file ashlti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file ashlti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ashrdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ashrdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ashrdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file ashrti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file ashrti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file ashrti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 19-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file assembly.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.2.1 19-May-2014  yamt file assembly.h was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file assembly.h was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file atomic.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file atomic.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file atomic.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_flag_clear.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_flag_clear.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_flag_clear_explicit.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_flag_clear_explicit.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_flag_test_and_set.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_flag_test_and_set.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_flag_test_and_set_explicit.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_flag_test_and_set_explicit.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_signal_fence.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_signal_fence.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file atomic_thread_fence.c was added on branch tls-maxphys on 2017-12-03 11:37:45 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file atomic_thread_fence.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.4 05-May-2020  jmcneill Align addresses to cache lines in __clear_cache for aarch64.

This corrects an issue where if the start and end address fall in different
lines, and the end address is not cache line size aligned, the last line
will not be invalidated properly.

Patch from compiler-rt upstream: https://reviews.llvm.org/rCRT323315
 1.3 16-Jun-2017  joerg branches: 1.3.10;
Implement __clear_cache using __syncicache on PPC
 1.2 24-May-2017  joerg Add __clear_cache implementatin for SPARC/SPARC64.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 16-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.8; 1.1.1.3.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.10.2 28-Aug-2017  skrll Sync with HEAD
 1.1.1.3.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.8.1 16-May-2014  tls file clear_cache.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.4.1 16-May-2014  yamt file clear_cache.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.3.2.2 18-May-2014  rmind sync with head
 1.1.1.3.2.1 16-May-2014  rmind file clear_cache.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.3.10.1 05-May-2020  martin Pull up following revision(s) (requested by jmcneill in ticket #889):

sys/external/bsd/compiler_rt/dist/lib/builtins/clear_cache.c: revision 1.4

Align addresses to cache lines in __clear_cache for aarch64.

This corrects an issue where if the start and end address fall in different
lines, and the end address is not cache line size aligned, the last line
will not be invalidated properly.

Patch from compiler-rt upstream: https://reviews.llvm.org/rCRT323315
 1.3 07-May-2023  skrll RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).
 1.2 04-Mar-2016  christos Fix infinite recursion caused by gcc lossage.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file clzdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file clzdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file clzdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file clzsi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file clzsi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file clzsi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file clzti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file clzti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file clzti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file cmpdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file cmpdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file cmpdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file cmpti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file cmpti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file cmpti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6; 1.1.1.3.8;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.8.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file comparedf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file comparedf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file comparedf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6; 1.1.1.3.8;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.8.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file comparesf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file comparesf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file comparesf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 19-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.6; 1.1.1.2.8;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.2.8.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.6.1 19-May-2014  tls file comparetf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.2.2 10-Aug-2014  tls Rebase.
 1.1.1.2.2.1 19-May-2014  tls file comparetf2.c was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file comparetf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 07-May-2023  skrll RISC-V support that works on QEMU with a single hart.

Thanks for Simon Burge for plic(4).
 1.2 04-Mar-2016  christos Fix infinite recursion caused by gcc lossage.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ctzdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ctzdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ctzdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ctzsi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ctzsi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ctzsi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file ctzti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file ctzti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file ctzti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divdc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divdc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divdc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6; 1.1.1.3.36; 1.1.1.3.48;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.48.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.36.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file divdf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file divdf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divdf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divmoddi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divmoddi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divmoddi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divmodsi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divmodsi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divmodsi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divsc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divsc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divsc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divsf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divsf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divsf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file divtc3.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file divtc3.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file divtf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file divxc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file divxc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file divxc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file emutls.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file emutls.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file enable_execute_stack.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file enable_execute_stack.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file enable_execute_stack.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file eprintf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file eprintf.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file eprintf.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file extenddftf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file extendhfsf2.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file extendhfsf2.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.34; 1.1.1.3.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file extendsfdf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file extendsfdf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file extendsfdf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file extendsftf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ffsdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ffsdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:42 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ffsdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file ffsti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file ffsti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file ffsti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg branches: 1.1.1.3.22; 1.1.1.3.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixdfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixdfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixdfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg branches: 1.1.1.3.22; 1.1.1.3.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixdfsi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixdfsi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixdfsi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixdfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixdfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixdfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixsfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixsfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixsfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixsfsi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixsfsi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixsfsi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixsfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixsfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixsfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixtfdi.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixtfdi.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixtfsi.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixtfsi.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixtfti.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixtfti.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixunsdfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixunsdfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixunsdfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixunsdfsi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixunsdfsi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixunsdfsi.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixunsdfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixunsdfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixunsdfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:53 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixunssfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixunssfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixunssfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg branches: 1.1.1.2.22; 1.1.1.2.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixunssfsi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixunssfsi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixunssfsi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixunssfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixunssfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixunssfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixunstfdi.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixunstfdi.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixunstfsi.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixunstfsi.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fixunstfti.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fixunstfti.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixunsxfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixunsxfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixunsxfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixunsxfsi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixunsxfsi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixunsxfsi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixunsxfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixunsxfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixunsxfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixxfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixxfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixxfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file fixxfti.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file fixxfti.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file fixxfti.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.5 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.4 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303207:

https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__

llvm-svn: 303207
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.2 26-Mar-2016  martin branches: 1.2.22; 1.2.34;
Make the softfloat variant compile
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.2 22-Apr-2016  skrll Sync with HEAD
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatdidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatdidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatdidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatdisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatdisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatdisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file floatditf.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file floatditf.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatdixf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatdixf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatdixf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatsidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatsidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatsidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatsisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatsisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatsisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file floatsitf.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file floatsitf.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floattidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floattidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floattidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floattisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floattisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floattisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floattixf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floattixf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floattixf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.4 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.2 26-Mar-2016  martin branches: 1.2.22; 1.2.34;
Make the softfloat variant compile
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.2 22-Apr-2016  skrll Sync with HEAD
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatundidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatundidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatundidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.2.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.2.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatundisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatundisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatundisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file floatunditf.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file floatunditf.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatundixf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatundixf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatundixf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatunsidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatunsidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatunsidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatunsisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatunsisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatunsisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file floatunsitf.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file floatunsitf.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatuntidf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatuntidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatuntidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatuntisf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatuntisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatuntisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file floatuntixf.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file floatuntixf.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file floatuntixf.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_add_impl.inc was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_extend.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_extend_impl.inc was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fp_fixint_impl.inc was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fp_fixint_impl.inc was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file fp_fixuint_impl.inc was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file fp_fixuint_impl.inc was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.5 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.4 10-Aug-2014  joerg branches: 1.1.1.4.4; 1.1.1.4.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.3 16-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.4.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.4.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.4.4.1 10-Aug-2014  tls file fp_lib.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.4.1 16-May-2014  yamt file fp_lib.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.3.2.2 18-May-2014  rmind sync with head
 1.1.1.3.2.1 16-May-2014  rmind file fp_lib.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_mul_impl.inc was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_trunc.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file fp_trunc_impl.inc was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.3 27-Feb-2016  joerg Merge compiler-rt-259194.
 1.2 09-Mar-2015  joerg Don't use __gcc_personality_sj0 on ARM.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.8; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.12.1 06-Apr-2015  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file gcc_personality_v0.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.8.1 15-Mar-2015  snj Pull up following revision(s) (requested by joerg in ticket #580):
sys/external/bsd/compiler_rt/dist/lib/builtins/gcc_personality_v0.c: revision 1.2
Don't use __gcc_personality_sj0 on ARM.
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file gcc_personality_v0.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file gcc_personality_v0.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file int_endianness.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file int_endianness.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file int_endianness.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.6 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.5 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.4 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303138:

https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)

llvm-svn: 303138
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.

https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf

Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests

This address https://bugs.llvm.org//show_bug.cgi?id=32261

mulsc3_test.c is a newly exposed issue, which will be addressed separately.

Reviewers: rengolin, compnerd

Reviewed By: compnerd

Subscribers: aemerson, llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D31448

llvm-svn: 298974
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 266891:

https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows

Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.

llvm-svn: 266891
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 16-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.4; 1.1.1.3.8; 1.1.1.3.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.3.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.8.1 16-May-2014  tls file int_lib.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.4.1 16-May-2014  yamt file int_lib.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.3.2.2 18-May-2014  rmind sync with head
 1.1.1.3.2.1 16-May-2014  rmind file int_lib.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.2.2.1 10-Aug-2014  tls Rebase.
 1.2 27-Feb-2016  christos Add lint bits.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file int_math.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file int_math.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file int_math.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.2 25-Mar-2016  riastradh No CRT_HAS_128BIT for pcc, which lacks attribute((mode(TI))).
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6; 1.1.1.3.8;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.8.2 22-Apr-2016  skrll Sync with HEAD
 1.1.1.3.8.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.6.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file int_types.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file int_types.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file int_types.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file int_util.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file int_util.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file int_util.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file int_util.h was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file int_util.h was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file int_util.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file lshrdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file lshrdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file lshrdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file lshrti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file lshrti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file lshrti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file moddi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file moddi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file moddi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file modsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file modsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file modsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file modti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file modti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file modti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file muldc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file muldc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file muldc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.34; 1.1.1.2.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file muldf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file muldf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file muldf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file muldi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file muldi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file muldi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulodi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulodi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulodi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulosi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulosi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulosi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file muloti4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file muloti4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file muloti4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulsc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulsc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulsc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.34; 1.1.1.2.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file mulsf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file mulsf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file mulsf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file multc3.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file multc3.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file multf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file multi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file multi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file multi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulvdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulvdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulvdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulvsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulvsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulvsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulvti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulvti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulvti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file mulxc3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file mulxc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file mulxc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.40; 1.1.1.2.52;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file negdf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file negdf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file negdf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file negdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file negdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file negdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file negsf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file negsf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file negsf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file negti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file negti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file negti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file negvdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file negvdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file negvdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file negvsi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file negvsi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file negvsi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file negvti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file negvti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file negvti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file paritydi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file paritydi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file paritydi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file paritysi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file paritysi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file paritysi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file parityti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file parityti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file parityti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file popcountdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file popcountdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file popcountdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file popcountsi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file popcountsi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file popcountsi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file popcountti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file popcountti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file popcountti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file powidf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file powidf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file powidf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file powisf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file powisf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file powisf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file powitf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file powitf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file powitf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file powixf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file powixf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file powixf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg branches: 1.1.1.3.22; 1.1.1.3.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file subdf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file subdf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file subdf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg branches: 1.1.1.3.22; 1.1.1.3.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.34.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.3.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file subsf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file subsf3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file subsf3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file subtf3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file subvdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file subvdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file subvdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file subvsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file subvsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file subvsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10; 1.1.1.2.12;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file subvti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file subvti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file subvti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file trampoline_setup.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file trampoline_setup.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file trampoline_setup.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file truncdfhf2.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file truncdfhf2.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.34; 1.1.1.2.46;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.46.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.2.34.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file truncdfsf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file truncdfsf2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file truncdfsf2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file truncsfhf2.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file truncsfhf2.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file trunctfdf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 10-Aug-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 10-Aug-2014  joerg branches: 1.1.1.1.4;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.4.1 10-Aug-2014  tls file trunctfsf2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file ucmpdi2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file ucmpdi2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file ucmpdi2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file ucmpti2.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file ucmpti2.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file ucmpti2.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file udivdi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file udivdi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file udivdi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file udivmoddi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file udivmoddi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file udivmoddi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file udivmodsi4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file udivmodsi4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file udivmodsi4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file udivmodti4.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file udivmodti4.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file udivmodti4.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.3 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 314851:

https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.

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.

llvm-svn: 314851
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.40; 1.1.1.1.52;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.52.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.40.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file udivsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file udivsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file udivsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file udivti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file udivti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file udivti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file umoddi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file umoddi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file umoddi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file umodsi3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file umodsi3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file umodsi3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 18-Mar-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6; 1.1.1.2.10;
Import compiler-rt r204194. Fixes shift use in divide routines and const
correctness in gcc_personality_v0.c.
 1.1.1.1 26-Feb-2014  joerg Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.10.1 18-Mar-2014  tls file umodti3.c was added on branch tls-maxphys on 2014-08-20 00:03:57 +0000
 1.1.1.2.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.6.1 18-Mar-2014  yamt file umodti3.c was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.4.2 18-May-2014  rmind sync with head
 1.1.1.2.4.1 18-Mar-2014  rmind file umodti3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file adddf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file adddf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file adddf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file addsf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file addsf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file addsf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_cdcmp.S was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_cdcmp.S was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_cdcmpeq_check_nan.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_cdcmpeq_check_nan.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.3 30-Jun-2021  skrll Do previous differently by pushing even number of registers and remove
strange r7 usage.
 1.2 29-Jun-2021  rin Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1329):

lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.10
lib/libc/arch/arm/sys/__clone.S: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
lib/libc/arch/arm/sys/__clone.S: revision 1.12
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.13
lib/libc/arch/arm/sys/__clone.S: revision 1.14
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_cfcmp.S was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_cfcmp.S was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_cfcmpeq_check_nan.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_cfcmpeq_check_nan.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_dcmp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_dcmp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_dcmp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_div0.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_div0.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_drsub.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_drsub.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_fcmp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_fcmp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_fcmp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.2 16-Jun-2021  rin PR port-arm/55897

Cherry-pick upstream commit llvm-svn: 303188:

https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs

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!

llvm-svn: 303188
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18; 1.1.1.1.26; 1.1.1.1.38;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.38.1 17-Jun-2021  thorpej Sync w/ HEAD.
 1.1.1.1.26.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1328):

sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.2
sys/external/bsd/compiler_rt/abi.mk: revision 1.1
sys/external/bsd/compiler_rt/dist/lib/builtins/divdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.5
sys/external/bsd/compiler_rt/dist/lib/builtins/ashrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/ashldi3.c: revision 1.3
sys/lib/libkern/Makefile.compiler-rt: revision 1.13
sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h: revision 1.6
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/lshrdi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c: revision 1.2
lib/libm/compiler_rt/Makefile.inc: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatsidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/adddf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/mulsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/divsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/negdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/extendsfdf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/muldi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatdisf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/addsf3.c: revision 1.3
lib/libc/compiler_rt/Makefile.inc: revision 1.40
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/udivsi3.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c: revision 1.4
sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c: revision 1.3

PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 266891:
https://github.com/llvm/llvm-project/commit/28e1b977d4694c6b3a5c4d8107570a969be71e77#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: remove use of __attribute__((pcs("aapcs"))) on
Windows
Windows does not honour the __attribute__((pcs)) on ARM. Although this will
result in ABI mismatches, compiler-rt should largely be unneeded for resolving
dependencies as we generate MS ABI compliant library calls now for the most
part.
llvm-svn: 266891
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 298974 for lib/builtins/int_lib.h.
https://github.com/llvm/llvm-project/commit/d8ca74176e25bd4080ee81982819e2ef7a36553f#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[Builtin] Unxfail tests for armhf
Summary:
Originally, a few tests fail for armhf target due to:
1) COMPILER_RT_ARMHF_TARGET was not set when building the lib
2) COMPILER_RT_ABI should not be defined as `__attribute__((pcs("aapcs")))` for armhf when building for both lib and tests
This addresshttps://bugs.llvm.org//show_bug.cgi?id=32261
mulsc3_test.c is a newly exposed issue, which will be addressed separately.
Reviewers: rengolin, compnerd
Reviewed By: compnerd
Subscribers: aemerson, llvm-commits, mgorny
Differential Revision:https://reviews.llvm.org/D31448
llvm-svn: 298974
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303138:
https://github.com/llvm/llvm-project/commit/44c45717b9e9f3dc194508d2eeeb8599a9d76949#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: use reserved spelling (NFC)
llvm-svn: 303138
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303188:
https://github.com/llvm/llvm-project/commit/36ac5ddff7377586390a71cb3261f0a40d274308#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: expand out the AEABI function stubs
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!
llvm-svn: 303188
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 303207:
https://github.com/llvm/llvm-project/commit/4a45838d10085defac0f3b3003a5263e34536f3b#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] builtins: fix guard __AEABI__ -> __ARM_EABI__
llvm-svn: 303207
PR port-arm/55897
Cherry-pick upstream commit llvm-svn: 314851:
https://github.com/llvm/llvm-project/commit/0d586d06a756b126a7eb43a21ecc12bd243d7cd8#diff-549f1733063df365663fe375f336034e33e16d6bf2826cd4f966045aeb136007
----
[PATCH] [compiler-rt] Add back ARM EABI aliases where legal.
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.
llvm-svn: 314851
PR port-arm/55897
Fix ABI mismatch for armhf runtime routines for floating-point arithmetics;
For hard-float arm variants, provide
(1) generic runtime routines with correct calling convention, and
(2) EABI runtime routines at the same time.
I've confirmed that no binary changes for kernels.
LGTM by skrll
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file aeabi_frsub.c was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file aeabi_frsub.c was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_idivmod.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_idivmod.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_idivmod.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_ldivmod.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_ldivmod.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_ldivmod.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_memcmp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_memcmp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_memcmp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_memcpy.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_memcpy.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_memcpy.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_memmove.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_memmove.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_memmove.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_memset.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_memset.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_memset.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_uidivmod.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_uidivmod.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_uidivmod.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file aeabi_uldivmod.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file aeabi_uldivmod.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file aeabi_uldivmod.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file bswapdi2.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file bswapdi2.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file bswapdi2.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file bswapsi2.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file bswapsi2.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file bswapsi2.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file clzdi2.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file clzdi2.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file clzdi2.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file clzsi2.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file clzsi2.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file clzsi2.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file comparesf2.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file comparesf2.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file comparesf2.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file divdf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file divdf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file divdf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.3 30-Jun-2021  skrll Do previous differently by pushing even number of registers and remove
strange r7 usage.
 1.2 29-Jun-2021  rin Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1329):

lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.10
lib/libc/arch/arm/sys/__clone.S: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
lib/libc/arch/arm/sys/__clone.S: revision 1.12
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.13
lib/libc/arch/arm/sys/__clone.S: revision 1.14
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file divmodsi4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file divmodsi4.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file divmodsi4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file divsf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file divsf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file divsf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.3 30-Jun-2021  skrll Do previous differently by pushing even number of registers and remove
strange r7 usage.
 1.2 29-Jun-2021  rin Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1329):

lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.10
lib/libc/arch/arm/sys/__clone.S: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
lib/libc/arch/arm/sys/__clone.S: revision 1.12
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.13
lib/libc/arch/arm/sys/__clone.S: revision 1.14
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file divsi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file divsi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file divsi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file eqdf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file eqdf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file eqdf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file eqsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file eqsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file eqsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file extendsfdf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file extendsfdf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file extendsfdf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file fixdfsivfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file fixdfsivfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file fixdfsivfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file fixsfsivfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file fixsfsivfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file fixsfsivfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file fixunsdfsivfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file fixunsdfsivfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file fixunsdfsivfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file fixunssfsivfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file fixunssfsivfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file fixunssfsivfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatsidfvfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatsidfvfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatsidfvfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatsisfvfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatsisfvfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatsisfvfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatunssidfvfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatunssidfvfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatunssidfvfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatunssisfvfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatunssisfvfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatunssisfvfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file gedf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file gedf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file gedf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file gesf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file gesf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file gesf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file gtdf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file gtdf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file gtdf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file gtsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file gtsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file gtsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file ledf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file ledf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file ledf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file lesf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file lesf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file lesf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file ltdf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file ltdf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file ltdf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file ltsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file ltsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file ltsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.3 30-Jun-2021  skrll Do previous differently by pushing even number of registers and remove
strange r7 usage.
 1.2 29-Jun-2021  rin Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg branches: 1.1.1.4.22; 1.1.1.4.34;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.4.34.1 01-Aug-2021  thorpej Sync with HEAD.
 1.1.1.4.22.1 08-Aug-2021  martin Pull up following revision(s) (requested by skrll in ticket #1329):

lib/libc/arch/arm/gen/swapcontext.S: revision 1.18
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S: revision 1.3
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.10
lib/libc/arch/arm/sys/__clone.S: revision 1.11
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.2
lib/libc/arch/arm/sys/__clone.S: revision 1.12
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S: revision 1.3
lib/libc/arch/arm/sys/__clone.S: revision 1.13
lib/libc/arch/arm/sys/__clone.S: revision 1.14
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.2
sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S: revision 1.3
lib/libc/arch/arm/gen/swapcontext.S: revision 1.16
lib/libc/arch/arm/gen/swapcontext.S: revision 1.17

Align sp to 8-byte boundary as required by EABI.

This is especially important for non-leaf functions; GCC optimizes codes
based on assumption that sp is aligned properly.

Mostly fix broken earmv5 userland compiled by GCC10 due to alignment
faults in ld.elf_so, where {ld,st}rd are used for [sp, #8x].

No regression for ATF is observed for earmv[67]{,hf}{,eb}.

Align sp to 8-byte boundary as required by EABI.
IIUC, this change only affects libc compiled for ``Thumb-mode userland'',
which we've not officially supported yet.

Fix previous. For Thumb-1:
- sp cannot be manipulated directly
- {add,sub}s should be used instead of {add,sub}

Trailing whitespace

The _INVOKE_CERROR macro deals with thumb so simplify the code (at the
expense of a couple more instructions).

Do previous differently by pushing even number of registers and remove
strange r7 usage.

Do previous differtly by pushing two registers in the same way as the
_INVOKE_CERROR macro
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file modsi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file modsi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file modsi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file muldf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file muldf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file muldf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file mulsf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file mulsf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file mulsf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file nedf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file nedf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file nedf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file negdf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file negdf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file negdf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file negsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file negsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file negsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file nesf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file nesf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file nesf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file restore_vfp_d8_d15_regs.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file restore_vfp_d8_d15_regs.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file restore_vfp_d8_d15_regs.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file save_vfp_d8_d15_regs.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file save_vfp_d8_d15_regs.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file save_vfp_d8_d15_regs.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file softfloat-alias.list was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file softfloat-alias.list was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file softfloat-alias.list was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file subdf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file subdf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file subdf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file subsf3vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file subsf3vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file subsf3vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file switch16.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file switch16.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file switch16.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file switch32.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file switch32.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file switch32.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file switch8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file switch8.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file switch8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 19-May-2014  joerg branches: 1.1.1.3.2; 1.1.1.3.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.6.1 19-May-2014  tls file switchu8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.3.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.3.2.1 19-May-2014  yamt file switchu8.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file switchu8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.2.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file sync-ops.h was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync-ops.h was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync-ops.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_add_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_add_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_add_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_add_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_add_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_add_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_and_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_and_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_and_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_and_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_and_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_and_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_max_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_max_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_max_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_max_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_max_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_max_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_min_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_min_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_min_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_min_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_min_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_min_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_nand_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_nand_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_nand_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_nand_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_nand_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_nand_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_or_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_or_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_or_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_or_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_or_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_or_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_sub_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_sub_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_sub_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_sub_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_sub_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_sub_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_umax_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_umax_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_umax_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_umax_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_umax_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_umax_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_umin_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_umin_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_umin_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_umin_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_umin_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_umin_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_xor_4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_xor_4.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_xor_4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 16-May-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 16-May-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4; 1.1.1.1.8; 1.1.1.1.10;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1.10.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.8.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.8.1 16-May-2014  tls file sync_fetch_and_xor_8.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.4.2 10-Aug-2014  tls Rebase.
 1.1.1.1.4.1 16-May-2014  tls file sync_fetch_and_xor_8.S was added on branch tls-earlyentropy on 2014-08-10 06:55:27 +0000
 1.1.1.1.2.2 18-May-2014  rmind sync with head
 1.1.1.1.2.1 16-May-2014  rmind file sync_fetch_and_xor_8.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file sync_synchronize.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file sync_synchronize.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file sync_synchronize.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file truncdfsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file truncdfsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file truncdfsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file udivmodsi4.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file udivmodsi4.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file udivmodsi4.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file udivsi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file udivsi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file udivsi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.3 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.2 10-Aug-2014  joerg branches: 1.1.1.2.4; 1.1.1.2.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.2.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.2.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.4.1 10-Aug-2014  tls file umodsi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file umodsi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file umodsi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file unorddf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file unorddf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file unorddf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file unordsf2vfp.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file unordsf2vfp.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file unordsf2vfp.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file ashldi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file ashldi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file ashldi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file ashrdi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file ashrdi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file ashrdi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file chkstk.S was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file chkstk.S was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file chkstk2.S was added on branch tls-maxphys on 2017-12-03 11:37:46 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file chkstk2.S was added on branch nick-nhusb on 2016-03-19 11:30:26 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file divdi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file divdi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file divdi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatdidf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatdidf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatdidf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatdisf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatdisf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatdisf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file floatdixf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatdixf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatdixf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundidf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundidf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundidf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundisf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundisf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundisf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundixf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundixf.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundixf.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file lshrdi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file lshrdi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file lshrdi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file moddi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file moddi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file moddi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file muldi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file muldi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file muldi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file udivdi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file udivdi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file udivdi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4; 1.1.1.2.8;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.8.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.8.1 16-May-2014  tls file umoddi3.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file umoddi3.S was added on branch yamt-pagecache on 2014-05-22 11:40:43 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file umoddi3.S was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file DD.h was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file DD.h was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file DD.h was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file divtc3.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file divtc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file divtc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 19-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.6;
Import compiler-rt r209132. Revert use of TI mode on 32bit PPC.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2; 1.1.1.1.4;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.2.6.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.2.6.1 19-May-2014  tls file fixtfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.2.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.2.1 19-May-2014  yamt file fixtfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixtfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:54 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file fixunstfdi.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file fixunstfdi.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file fixunstfdi.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatditf.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatditf.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatditf.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatunditf.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatunditf.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatunditf.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file gcc_qadd.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file gcc_qadd.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file gcc_qadd.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file gcc_qdiv.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file gcc_qdiv.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file gcc_qdiv.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file gcc_qmul.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file gcc_qmul.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file gcc_qmul.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file gcc_qsub.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file gcc_qsub.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file gcc_qsub.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.2 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10; 1.1.1.1.12;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.12.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.10.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file multc3.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file multc3.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file multc3.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file restFP.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file restFP.S was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file restFP.S was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file saveFP.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file saveFP.S was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file saveFP.S was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file chkstk.S was added on branch tls-maxphys on 2017-12-03 11:37:47 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file chkstk.S was added on branch nick-nhusb on 2016-03-19 11:30:27 +0000
 1.1 27-Feb-2016  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 27-Feb-2016  joerg branches: 1.1.1.1.2; 1.1.1.1.18;
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.1.18.2 03-Dec-2017  jdolecek update from HEAD
 1.1.1.1.18.1 27-Feb-2016  jdolecek file chkstk2.S was added on branch tls-maxphys on 2017-12-03 11:37:47 +0000
 1.1.1.1.2.2 19-Mar-2016  skrll Sync with HEAD
 1.1.1.1.2.1 27-Feb-2016  skrll file chkstk2.S was added on branch nick-nhusb on 2016-03-19 11:30:27 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatdidf.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatdidf.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatdidf.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatdisf.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatdisf.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatdisf.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.4; 1.1.1.1.6; 1.1.1.1.10;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.1.10.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.1.10.1 26-Feb-2014  tls file floatdixf.c was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.1.6.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.1.6.1 26-Feb-2014  yamt file floatdixf.c was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.1.4.2 18-May-2014  rmind sync with head
 1.1.1.1.4.1 26-Feb-2014  rmind file floatdixf.c was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundidf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundidf.S was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundidf.S was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundisf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundisf.S was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundisf.S was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.
 1.1 26-Feb-2014  joerg branches: 1.1.1;
Initial revision
 1.1.1.4 27-Feb-2016  joerg Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.
 1.1.1.3 10-Aug-2014  joerg branches: 1.1.1.3.4; 1.1.1.3.6;
Import compiler-rt r215309. Extends 128bit IEEE support in soft-float,
uses Thumb mode by default on ARM when available and fixes a bug in the
division code for ARMs with hardware integer division.
 1.1.1.2 16-May-2014  joerg branches: 1.1.1.2.2; 1.1.1.2.4;
Import compiler-rt r208593. Fix a build bug in __clear_cache by not
explicitly forcing the ABI. Add first part of IEEE 754 quad support.
 1.1.1.1 26-Feb-2014  joerg branches: 1.1.1.1.2;
Import compiler-rt r202303. Extend 128bit support to all LP64 platforms.
 1.1.1.3.6.1 19-Mar-2016  skrll Sync with HEAD
 1.1.1.3.4.3 03-Dec-2017  jdolecek update from HEAD
 1.1.1.3.4.2 20-Aug-2014  tls Rebase to HEAD as of a few days ago.
 1.1.1.3.4.1 10-Aug-2014  tls file floatundixf.S was added on branch tls-maxphys on 2014-08-20 00:03:58 +0000
 1.1.1.2.4.2 22-May-2014  yamt sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs. ("Protocol error: too many arguments")
 1.1.1.2.4.1 16-May-2014  yamt file floatundixf.S was added on branch yamt-pagecache on 2014-05-22 11:40:44 +0000
 1.1.1.2.2.2 18-May-2014  rmind sync with head
 1.1.1.2.2.1 16-May-2014  rmind file floatundixf.S was added on branch rmind-smpnet on 2014-05-18 17:45:55 +0000
 1.1.1.1.2.1 10-Aug-2014  tls Rebase.

RSS XML Feed