Source-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[src/trunk]: src/sys/external/bsd/compiler_rt/dist Import compiler-rt r259194...



details:   https://anonhg.NetBSD.org/src/rev/9d2d5df76314
branches:  trunk
changeset: 343813:9d2d5df76314
user:      joerg <joerg%NetBSD.org@localhost>
date:      Sat Feb 27 18:59:29 2016 +0000

description:
Import compiler-rt r259194. Primary changes are better support for
128bit long double and a number of refinements in the profiling backend.

diffstat:

 sys/external/bsd/compiler_rt/dist/LICENSE.TXT                                                   |    4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/README.txt                                       |    4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/addvdi3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/addvsi3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/addvti3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmp.S                                |   96 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c                    |   16 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S                                |   91 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c                    |   16 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_div0.c                                 |   43 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_drsub.c                                |   19 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_frsub.c                                |   19 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/bswapdi2.S                                   |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/bswapsi2.S                                   |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/clzdi2.S                                     |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/clzsi2.S                                     |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divmodsi4.S                                  |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/divsi3.S                                     |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/modsi3.S                                     |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync-ops.h                                   |    4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_add_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_and_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_max_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_min_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_nand_8.S                      |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_or_8.S                        |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_sub_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_umax_8.S                      |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_umin_8.S                      |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/sync_fetch_and_xor_8.S                       |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/udivmodsi4.S                                 |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/udivsi3.S                                    |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/umodsi3.S                                    |    4 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/assembly.h                                       |   58 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic.c                                         |   32 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_flag_clear.c                              |   27 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_flag_clear_explicit.c                     |   28 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_flag_test_and_set.c                       |   27 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_flag_test_and_set_explicit.c              |   28 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_signal_fence.c                            |   27 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/atomic_thread_fence.c                            |   27 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/clear_cache.c                                    |   85 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparedf2.c                                     |    5 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparesf2.c                                     |    5 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/comparetf2.c                                     |    5 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/divdc3.c                                         |   22 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divsc3.c                                         |   22 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/divtc3.c                                         |   60 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/divxc3.c                                         |   22 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/emutls.c                                         |  183 ++
 sys/external/bsd/compiler_rt/dist/lib/builtins/enable_execute_stack.c                           |   14 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/extendhfsf2.c                                    |   25 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfdi.c                                        |   57 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfsi.c                                        |   56 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixdfti.c                                        |   33 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfdi.c                                        |   56 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfsi.c                                        |   53 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixsfti.c                                        |   33 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixtfdi.c                                        |   23 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixtfsi.c                                        |   23 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixtfti.c                                        |   23 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfdi.c                                     |   57 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfsi.c                                     |   35 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsdfti.c                                     |   36 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfdi.c                                     |   55 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfsi.c                                     |   32 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunssfti.c                                     |   37 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunstfdi.c                                     |   22 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunstfsi.c                                     |   22 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunstfti.c                                     |   22 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsxfdi.c                                     |    2 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsxfsi.c                                     |    3 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixunsxfti.c                                     |    5 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixxfdi.c                                        |    6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fixxfti.c                                        |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatdidf.c                                      |    4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatditf.c                                      |   50 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatsitf.c                                      |   50 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatundidf.c                                    |    6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatunditf.c                                    |   40 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/floatunsitf.c                                    |   40 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_add_impl.inc                                  |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_extend.h                                      |   25 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_extend_impl.inc                               |    6 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_fixint_impl.inc                               |   41 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_fixuint_impl.inc                              |   39 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_lib.h                                         |   22 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_mul_impl.inc                                  |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_trunc.h                                       |   18 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/fp_trunc_impl.inc                                |    4 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/chkstk.S                                    |   34 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/chkstk2.S                                   |   40 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/floatdidf.S                                 |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/floatundidf.S                               |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/floatundisf.S                               |   10 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/i386/floatundixf.S                               |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_endianness.h                                 |   35 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_lib.h                                        |   73 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_math.h                                       |   57 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_types.h                                      |   29 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_util.c                                       |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/int_util.h                                       |   12 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/muldc3.c                                         |   14 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/mulsc3.c                                         |   14 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/multc3.c                                         |   68 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/mulxc3.c                                         |   14 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/ppc/DD.h                                         |   45 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/ppc/divtc3.c                                     |    5 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/ppc/multc3.c                                     |    4 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/subdf3.c                                         |    1 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/subsf3.c                                         |    1 -
 sys/external/bsd/compiler_rt/dist/lib/builtins/subvdi3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/subvsi3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/subvti3.c                                        |    2 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/truncdfhf2.c                                     |   18 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/truncsfhf2.c                                     |   24 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/x86_64/chkstk.S                                  |   39 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/x86_64/chkstk2.S                                 |   42 +
 sys/external/bsd/compiler_rt/dist/lib/builtins/x86_64/floatundidf.S                             |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/x86_64/floatundisf.S                             |    8 +-
 sys/external/bsd/compiler_rt/dist/lib/builtins/x86_64/floatundixf.S                             |   17 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/GCDAProfiling.c                                   |   59 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfData.inc                                 |  764 ++++++++++
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfiling.c                                  |   83 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfiling.h                                  |  105 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingBuffer.c                            |   85 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingFile.c                              |  201 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingInternal.h                          |  118 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPlatformDarwin.c                    |   55 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPlatformLinux.c                     |   59 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPlatformOther.c                     |   56 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingPort.h                              |   63 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingRuntime.cc                          |    3 +-
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingUtil.c                              |   36 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingUtil.h                              |   16 +
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingValue.c                             |  180 ++
 sys/external/bsd/compiler_rt/dist/lib/profile/InstrProfilingWriter.c                            |  175 ++
 sys/external/bsd/compiler_rt/dist/lib/profile/WindowsMMap.c                                     |  128 +
 sys/external/bsd/compiler_rt/dist/lib/profile/WindowsMMap.h                                     |   65 +
 sys/external/bsd/compiler_rt/dist/lib/stats/stats.cc                                            |  136 +
 sys/external/bsd/compiler_rt/dist/lib/stats/stats.h                                             |   43 +
 sys/external/bsd/compiler_rt/dist/lib/stats/stats_client.cc                                     |   83 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/absvdi2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/absvsi2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/absvti2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/adddf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/addsf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/addtf3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/addvdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/addvsi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/addvti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_cdcmpeq_test.c                   |   70 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_cdcmple_test.c                   |   92 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_cfcmpeq_test.c                   |   70 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_cfcmple_test.c                   |   92 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_drsub_test.c                     |   47 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/aeabi_frsub_test.c                     |   47 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/call_apsr.S                            |   43 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/arm/call_apsr.h                            |   39 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ashldi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ashlti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ashrdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ashrti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/clear_cache_test.c                         |   19 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/clzdi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/clzsi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/clzti2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/cmpdi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/cmpti2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ctzdi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ctzsi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ctzti2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divdc3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divdf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divdi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divmodsi4_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divsc3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divsf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divsi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divtc3_test.c                              |   16 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divtf3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divti3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/divxc3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/enable_execute_stack_test.c                |   20 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/extebdsfdf2vfp_test.c                      |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/extenddftf2_test.c                         |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/extendhfsf2_test.c                         |  113 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/extendsftf2_test.c                         |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ffsdi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ffsti2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixdfdi_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixdfti_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixsfdi_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixsfti_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixtfdi_test.c                             |   71 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixtfsi_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixtfti_test.c                             |   83 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsdfdi_test.c                          |    5 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsdfsi_test.c                          |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsdfsivfp_test.c                       |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsdfti_test.c                          |    5 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunssfdi_test.c                          |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunssfsi_test.c                          |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunssfti_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunstfdi_test.c                          |   13 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunstfsi_test.c                          |    3 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunstfti_test.c                          |  103 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsxfdi_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsxfsi_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixunsxfti_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixxfdi_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fixxfti_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatdidf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatdisf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatditf_test.c                           |   69 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatdixf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatsidfvfp_test.c                        |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatsisfvfp_test.c                        |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatsitf_test.c                           |   61 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floattidf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floattisf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floattixf_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatundidf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatundisf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatunditf_test.c                         |   67 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatundixf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatunsitf_test.c                         |   56 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatunssidfvfp_test.c                     |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatunssisfvfp_test.c                     |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatuntidf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatuntisf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/floatuntixf_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/fp_test.h                                  |   56 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/lshrdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/lshrti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/moddi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/modsi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/modti3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/muldc3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/muldf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/muldi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulodi4_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulosi4_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/muloti4_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulsc3_test.c                              |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulsf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/multc3_test.c                              |    9 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/multf3_test.c                              |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/multi3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulvdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulvsi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulvti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/mulxc3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negdf2vfp_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negdi2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negsf2vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negti2_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negvdi2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negvsi2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/negvti2_test.c                             |    4 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/paritydi2_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/paritysi2_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/parityti2_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/popcountdi2_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/popcountsi2_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/popcountti2_test.c                         |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/powidf2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/powisf2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/powitf2_test.c                             |    5 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/powixf2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ppc/floatditf_test.c                       |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ppc/floatunditf_test.c                     |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subdf3vfp_test.c                           |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subsf3vfp_test.c                           |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subtf3_test.c                              |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subvdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subvsi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/subvti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/truncdfhf2_test.c                          |  114 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/truncdfsf2_test.c                          |   38 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/truncdfsf2vfp_test.c                       |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/truncsfhf2_test.c                          |  114 +
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/trunctfdf2_test.c                          |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/trunctfsf2_test.c                          |    3 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ucmpdi2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/ucmpti2_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivdi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivmoddi4_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivmodsi4_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivmodti4_test.c                          |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivsi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/udivti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/umoddi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/umodsi3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/builtins/Unit/umodti3_test.c                             |    2 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/gcc-flag-compatibility.c                  |    8 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-comdat-1.cpp                    |   17 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-comdat-2.cpp                    |   12 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-comdat.h                        |   23 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-a.cpp                   |   10 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-b.cpp                   |    4 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-header.h                |    6 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-dynamic-main.cpp                |    2 +-
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-shared-lib.c                    |    9 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-shared-main.c                   |   13 +
 sys/external/bsd/compiler_rt/dist/test/profile/Inputs/instrprof-value-prof-real.c               |  557 +++++++
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/coverage_shared.test                       |   16 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/coverage_test.cpp                          |   28 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/instrprof-basic.c                          |   31 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/instrprof-comdat.test                      |    6 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/instrprof-dlopen.test                      |   34 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/instrprof-dynamic-one-shared.test          |   23 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/instrprof-dynamic-two-shared.test          |   24 +
 sys/external/bsd/compiler_rt/dist/test/profile/Linux/lit.local.cfg                              |   37 +
 sys/external/bsd/compiler_rt/dist/test/profile/gcc-flag-compatibility.test                      |   17 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-basic.c                                |   23 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-bufferio.c                             |  128 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-dlopen.test                            |    4 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-error.c                                |   12 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-override-filename-then-reset-default.c |   19 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-override-filename-with-env.c           |   14 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-override-filename.c                    |   14 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-reset-counters.c                       |    2 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-set-filename-then-reset-default.c      |   18 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-set-filename.c                         |    4 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-shared.test                            |   75 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-value-prof-2.c                         |  135 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-value-prof.c                           |  225 ++
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-value-prof.test                        |   11 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-version-mismatch.c                     |   11 +
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-without-libc.c                         |   12 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-write-file-atexit-explicitly.c         |    4 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-write-file-only.c                      |    8 +-
 sys/external/bsd/compiler_rt/dist/test/profile/instrprof-write-file.c                           |   12 +-
 sys/external/bsd/compiler_rt/dist/test/profile/lit.cfg                                          |   15 +-
 335 files changed, 7610 insertions(+), 1128 deletions(-)

diffs (truncated from 12750 to 300 lines):

diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/LICENSE.TXT
--- a/sys/external/bsd/compiler_rt/dist/LICENSE.TXT     Sat Feb 27 18:56:33 2016 +0000
+++ b/sys/external/bsd/compiler_rt/dist/LICENSE.TXT     Sat Feb 27 18:59:29 2016 +0000
@@ -14,7 +14,7 @@
 University of Illinois/NCSA
 Open Source License
 
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
 
 All rights reserved.
 
@@ -55,7 +55,7 @@
 
 ==============================================================================
 
-Copyright (c) 2009-2014 by the contributors listed in CREDITS.TXT
+Copyright (c) 2009-2015 by the contributors listed in CREDITS.TXT
 
 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/README.txt
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/README.txt Sat Feb 27 18:56:33 2016 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/README.txt Sat Feb 27 18:59:29 2016 +0000
@@ -220,7 +220,9 @@
 // for use with some implementations of assert() in <assert.h>
 void __eprintf(const char* format, const char* assertion_expression,
                                const char* line, const char* file);
-                               
+
+// for systems with emulated thread local storage
+void* __emutls_get_address(struct __emutls_control*);
 
 
 //   Power PC specific functions
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/addvdi3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/addvdi3.c  Sat Feb 27 18:56:33 2016 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/addvdi3.c  Sat Feb 27 18:59:29 2016 +0000
@@ -21,7 +21,7 @@
 COMPILER_RT_ABI di_int
 __addvdi3(di_int a, di_int b)
 {
-    di_int s = a + b;
+    di_int s = (du_int) a + (du_int) b;
     if (b >= 0)
     {
         if (s < a)
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/addvsi3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/addvsi3.c  Sat Feb 27 18:56:33 2016 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/addvsi3.c  Sat Feb 27 18:59:29 2016 +0000
@@ -21,7 +21,7 @@
 COMPILER_RT_ABI si_int
 __addvsi3(si_int a, si_int b)
 {
-    si_int s = a + b;
+    si_int s = (su_int) a + (su_int) b;
     if (b >= 0)
     {
         if (s < a)
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/addvti3.c
--- a/sys/external/bsd/compiler_rt/dist/lib/builtins/addvti3.c  Sat Feb 27 18:56:33 2016 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/addvti3.c  Sat Feb 27 18:59:29 2016 +0000
@@ -23,7 +23,7 @@
 COMPILER_RT_ABI ti_int
 __addvti3(ti_int a, ti_int b)
 {
-    ti_int s = a + b;
+    ti_int s = (tu_int) a + (tu_int) b;
     if (b >= 0)
     {
         if (s < a)
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmp.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmp.S  Sat Feb 27 18:59:29 2016 +0000
@@ -0,0 +1,96 @@
+//===-- aeabi_cdcmp.S - EABI cdcmp* implementation ------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__
+#error big endian support not implemented
+#endif
+
+#define APSR_Z (1 << 30)
+#define APSR_C (1 << 29)
+
+// void __aeabi_cdcmpeq(double a, double b) {
+//   if (isnan(a) || isnan(b)) {
+//     Z = 0; C = 1;
+//   } else {
+//     __aeabi_cdcmple(a, b);
+//   }
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cdcmpeq)
+        push {r0-r3, lr}
+        bl __aeabi_cdcmpeq_check_nan
+        cmp r0, #1
+        pop {r0-r3, lr}
+
+        // NaN has been ruled out, so __aeabi_cdcmple can't trap
+        bne __aeabi_cdcmple
+
+        msr CPSR_f, #APSR_C
+        JMP(lr)
+END_COMPILERRT_FUNCTION(__aeabi_cdcmpeq)
+
+
+// void __aeabi_cdcmple(double a, double b) {
+//   if (__aeabi_dcmplt(a, b)) {
+//     Z = 0; C = 0;
+//   } else if (__aeabi_dcmpeq(a, b)) {
+//     Z = 1; C = 1;
+//   } else {
+//     Z = 0; C = 1;
+//   }
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cdcmple)
+        // Per the RTABI, this function must preserve r0-r11.
+        // Save lr in the same instruction for compactness
+        push {r0-r3, lr}
+
+        bl __aeabi_dcmplt
+        cmp r0, #1
+        moveq ip, #0
+        beq 1f
+
+        ldm sp, {r0-r3}
+        bl __aeabi_dcmpeq
+        cmp r0, #1
+        moveq ip, #(APSR_C | APSR_Z)
+        movne ip, #(APSR_C)
+
+1:
+        msr CPSR_f, ip
+        pop {r0-r3}
+        POP_PC()
+END_COMPILERRT_FUNCTION(__aeabi_cdcmple)
+
+// int __aeabi_cdrcmple(double a, double b) {
+//   return __aeabi_cdcmple(b, a);
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cdrcmple)
+        // Swap r0 and r2
+        mov ip, r0
+        mov r0, r2
+        mov r2, ip
+
+        // Swap r1 and r3
+        mov ip, r1
+        mov r1, r3
+        mov r3, ip
+
+        b __aeabi_cdcmple
+END_COMPILERRT_FUNCTION(__aeabi_cdrcmple)
+
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cdcmpeq_check_nan.c      Sat Feb 27 18:59:29 2016 +0000
@@ -0,0 +1,16 @@
+//===-- lib/arm/aeabi_cdcmpeq_helper.c - Helper for cdcmpeq ---------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include <stdint.h>
+
+__attribute__((pcs("aapcs")))
+__attribute__((visibility("hidden")))
+int __aeabi_cdcmpeq_check_nan(double a, double b) {
+    return __builtin_isnan(a) || __builtin_isnan(b);
+}
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmp.S  Sat Feb 27 18:59:29 2016 +0000
@@ -0,0 +1,91 @@
+//===-- aeabi_cfcmp.S - EABI cfcmp* implementation ------------------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "../assembly.h"
+
+#if __BYTE_ORDER__ != __ORDER_LITTLE_ENDIAN__
+#error big endian support not implemented
+#endif
+
+#define APSR_Z (1 << 30)
+#define APSR_C (1 << 29)
+
+// void __aeabi_cfcmpeq(float a, float b) {
+//   if (isnan(a) || isnan(b)) {
+//     Z = 0; C = 1;
+//   } else {
+//     __aeabi_cfcmple(a, b);
+//   }
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cfcmpeq)
+        push {r0-r3, lr}
+        bl __aeabi_cfcmpeq_check_nan
+        cmp r0, #1
+        pop {r0-r3, lr}
+
+        // NaN has been ruled out, so __aeabi_cfcmple can't trap
+        bne __aeabi_cfcmple
+
+        msr CPSR_f, #APSR_C
+        JMP(lr)
+END_COMPILERRT_FUNCTION(__aeabi_cfcmpeq)
+
+
+// void __aeabi_cfcmple(float a, float b) {
+//   if (__aeabi_fcmplt(a, b)) {
+//     Z = 0; C = 0;
+//   } else if (__aeabi_fcmpeq(a, b)) {
+//     Z = 1; C = 1;
+//   } else {
+//     Z = 0; C = 1;
+//   }
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cfcmple)
+        // Per the RTABI, this function must preserve r0-r11.
+        // Save lr in the same instruction for compactness
+        push {r0-r3, lr}
+
+        bl __aeabi_fcmplt
+        cmp r0, #1
+        moveq ip, #0
+        beq 1f
+
+        ldm sp, {r0-r3}
+        bl __aeabi_fcmpeq
+        cmp r0, #1
+        moveq ip, #(APSR_C | APSR_Z)
+        movne ip, #(APSR_C)
+
+1:
+        msr CPSR_f, ip
+        pop {r0-r3}
+        POP_PC()
+END_COMPILERRT_FUNCTION(__aeabi_cfcmple)
+
+// int __aeabi_cfrcmple(float a, float b) {
+//   return __aeabi_cfcmple(b, a);
+// }
+
+        .syntax unified
+        .p2align 2
+DEFINE_COMPILERRT_FUNCTION(__aeabi_cfrcmple)
+        // Swap r0 and r1
+        mov ip, r0
+        mov r0, r1
+        mov r1, ip
+
+        b __aeabi_cfcmple
+END_COMPILERRT_FUNCTION(__aeabi_cfrcmple)
+
diff -r 7bcf4c2eb977 -r 9d2d5df76314 sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/sys/external/bsd/compiler_rt/dist/lib/builtins/arm/aeabi_cfcmpeq_check_nan.c      Sat Feb 27 18:59:29 2016 +0000
@@ -0,0 +1,16 @@
+//===-- lib/arm/aeabi_cfcmpeq_helper.c - Helper for cdcmpeq ---------------===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is dual licensed under the MIT and the University of Illinois Open
+// Source Licenses. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include <stdint.h>




Home | Main Index | Thread Index | Old Index