summaryrefslogtreecommitdiff
path: root/lib/arm
Commit message (Collapse)AuthorAgeFilesLines
* Add clang_darwin_embedded platform for embedded projectsTim Northover2013-11-151-1/+1
| | | | | | | | | | | | | | This should build a separate set of embedded runtime libraries, supporting the option product: {PIC, static} x { Hard-float, soft-float } The emphasis is on ARM platforms (Cortex-M4F, Cortex-M3, Cortex-M0) but X86 variants are also built where possible. rdar://problem/10817205 git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@194873 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM: make assembly files compile Thumb2 with nop IT block.Tim Northover2013-11-118-7/+33
| | | | | | | | ARM's UAL syntax allows the same assembly file to be compiled in both ARM and Thumb mode. Conditional execution is handled by requiring the Thumb IT blocks, but essentially ignoring them when compiling for ARM. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@194429 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch __ARM_ARCH_7S__ to __ARM_ARCH_EXT_IDIV__ for use of sdiv/udiv assembly.Stephen Hines2013-10-256-6/+6
| | | | | | | | | __ARM_ARCH_EXT_IDIV__ is the define that ARM is using to indicate the presence of hardware integer divide (sdiv/udiv). Previously, this code was only being invoked for processors marked 7S. We now can correctly generate hardware divides on cortex-a15 devices. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@193392 91177308-0d34-0410-b5e6-96231b3b80d8
* <rdar://problem/12512722> Use arm divide instruction if availableNick Kledzik2013-05-244-0/+48
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@182665 91177308-0d34-0410-b5e6-96231b3b80d8
* Implement aeabi_{f,d}cmp*.Zonr Chang2013-02-072-0/+78
| | | | | | | | Special thanks to Anton for the review. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@174596 91177308-0d34-0410-b5e6-96231b3b80d8
* Add compiler-rt support for Swift.Bob Wilson2012-09-293-2/+22
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@164903 91177308-0d34-0410-b5e6-96231b3b80d8
* Remove the old, and non-functional CMake build system from CompilerRT.Chandler Carruth2012-04-041-0/+0
| | | | | | | | | I cannot build any part of this successfully on either Linux or Darwin, and the replacement is worlds simpler by requiring that this be built as a subproject of LLVM. If this breaks you for any reason, please let me know, and let me know what your use case is. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@154059 91177308-0d34-0410-b5e6-96231b3b80d8
* Back out some changes that accidentally committed.Bob Wilson2012-02-109-9/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@150254 91177308-0d34-0410-b5e6-96231b3b80d8
* Revert r150232 since it breaks the build when there's no ARM assembler.Bob Wilson2012-02-109-0/+9
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@150253 91177308-0d34-0410-b5e6-96231b3b80d8
* Proper divmod implementationAnton Korobeynikov2012-01-304-0/+115
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@149242 91177308-0d34-0410-b5e6-96231b3b80d8
* Provide aeabi_mem* functions.Anton Korobeynikov2012-01-304-0/+89
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@149241 91177308-0d34-0410-b5e6-96231b3b80d8
* build: Add ModuleName per-subdir variable as a way to organize the differentDaniel Dunbar2011-12-021-0/+1
| | | | | | | | | sets of functions/objects into high level groups. Currently we have "builtins" (the main compiler-rt code), "profile", and "asan". - Use this to define CommonFunctions and ArchFunctions to only reference the builtins functions. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@145674 91177308-0d34-0410-b5e6-96231b3b80d8
* Change ARM vfp assembly functions to use unified syntax.Bob Wilson2011-08-2334-118/+152
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@138332 91177308-0d34-0410-b5e6-96231b3b80d8
* Add ARM EABI function aliases to routinesAnton Korobeynikov2011-04-192-0/+4
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@129768 91177308-0d34-0410-b5e6-96231b3b80d8
* Make use of LOCAL_LABEL macroAnton Korobeynikov2011-04-193-12/+12
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@129767 91177308-0d34-0410-b5e6-96231b3b80d8
* Get rid of darwin'isms. Provide convenient macro for assembler local lables.Anton Korobeynikov2011-04-193-3/+3
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@129766 91177308-0d34-0410-b5e6-96231b3b80d8
* slight re-arrangement to maybe pick up one cycle on dual-issue ARM coresStephen Canon2011-03-211-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@128003 91177308-0d34-0410-b5e6-96231b3b80d8
* Carefully written implementations of the 32-bit integer divide and modulus ↵Stephen Canon2011-03-186-32/+337
| | | | | | functions for ARM. These are still using a naive digit-by-digit algorithm, but the core loop has been carefully written. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@127882 91177308-0d34-0410-b5e6-96231b3b80d8
* <rdar://problem/9091300> update Apple packaging of compiler-rtNick Kledzik2011-03-051-0/+21
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@127057 91177308-0d34-0410-b5e6-96231b3b80d8
* license changeHoward Hinnant2010-11-1645-90/+90
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@119397 91177308-0d34-0410-b5e6-96231b3b80d8
* add assembly implementation of modsi3 so compiler does not have to special ↵Nick Kledzik2010-07-271-0/+36
| | | | | | case a - (a / b) * b optimization git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@109492 91177308-0d34-0410-b5e6-96231b3b80d8
* Hand-tuning of single-precision soft-float comparison routines for ARMStephen Canon2010-07-081-0/+130
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@107891 91177308-0d34-0410-b5e6-96231b3b80d8
* fix arvm5 buildsNick Kledzik2010-07-041-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@107588 91177308-0d34-0410-b5e6-96231b3b80d8
* Further cleanup of ARM bswap implementations, thanks to John TytgatStephen Canon2010-07-032-27/+23
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@107576 91177308-0d34-0410-b5e6-96231b3b80d8
* Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the ↵Stephen Canon2010-07-032-32/+26
| | | | | | need to establish a frame git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@107555 91177308-0d34-0410-b5e6-96231b3b80d8
* ARM before armv6 did not supprt 'rev' instructionNick Kledzik2010-07-032-0/+31
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@107548 91177308-0d34-0410-b5e6-96231b3b80d8
* add explicit alignment directives to assure arm code is 4-byte alignedNick Kledzik2010-04-2143-0/+43
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@102030 91177308-0d34-0410-b5e6-96231b3b80d8
* add __sync_synchronize. Needed by compiler when emitting thumb1 with ↵Nick Kledzik2010-02-021-0/+33
| | | | | | -fno-builtin git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@95132 91177308-0d34-0410-b5e6-96231b3b80d8
* Split up switch.S and save_restore_d8_d15.S to follow one function per file ↵Daniel Dunbar2010-01-197-101/+211
| | | | | | convention. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@93815 91177308-0d34-0410-b5e6-96231b3b80d8
* Rename subdir 'Target' variable to 'Implementation' to be less overloaded.Daniel Dunbar2010-01-181-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@93718 91177308-0d34-0410-b5e6-96231b3b80d8
* Simplify subdirectory makefiles, and be more robust by checking that they ↵Daniel Dunbar2010-01-181-3/+0
| | | | | | define the appropriate variables. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@93714 91177308-0d34-0410-b5e6-96231b3b80d8
* add __save_vfp_d8_d15_regs and __restore_vfp_d8_d15_regs for ARMNick Kledzik2009-10-291-0/+45
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@85531 91177308-0d34-0410-b5e6-96231b3b80d8
* Switch to using DEFINE_COMPILERRT_[PRIVATE_]FUNCTION to define function ↵Daniel Dunbar2009-10-2737-84/+40
| | | | | | symbols inside .S files. git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@85264 91177308-0d34-0410-b5e6-96231b3b80d8
* Add assembly.h for use in .S files.Daniel Dunbar2009-10-2738-1/+39
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@85263 91177308-0d34-0410-b5e6-96231b3b80d8
* add support for __switch* needed for switch statements in thumb codegenNick Kledzik2009-09-181-0/+93
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@82184 91177308-0d34-0410-b5e6-96231b3b80d8
* add conversion functions and test cases for ARMNick Kledzik2009-09-1410-0/+232
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81809 91177308-0d34-0410-b5e6-96231b3b80d8
* Update cmake files for arm support hooks.Edward O'Callaghan2009-09-141-0/+0
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81760 91177308-0d34-0410-b5e6-96231b3b80d8
* fix typo in commentNick Kledzik2009-09-131-1/+1
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81686 91177308-0d34-0410-b5e6-96231b3b80d8
* add comparison functions for ARMNick Kledzik2009-09-1218-0/+452
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81597 91177308-0d34-0410-b5e6-96231b3b80d8
* start adding implementation of arm *vfp routines with test casesNick Kledzik2009-09-118-0/+185
| | | | git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81558 91177308-0d34-0410-b5e6-96231b3b80d8
* Stub out structure for building armv{6,7} libs.Daniel Dunbar2009-09-101-0/+22
git-svn-id: https://llvm.org/svn/llvm-project/compiler-rt/trunk@81482 91177308-0d34-0410-b5e6-96231b3b80d8