summaryrefslogtreecommitdiffstats
path: root/compiler-rt/lib/arm
Commit message (Collapse)AuthorAgeFilesLines
* Move original compiler-rt functions (libgcc replacement) to lib/builtins ↵Alexey Samsonov2014-02-1464-2531/+0
| | | | | | directory llvm-svn: 201393
* Copy&paste errors. Found by Thomas Klausner.Joerg Sonnenberger2014-01-302-4/+4
| | | | llvm-svn: 200477
* Support ARMv4 in the remaining non-VFP routines.Joerg Sonnenberger2014-01-293-7/+7
| | | | llvm-svn: 200397
* Move JMP/JMPc definition into assembly.h's ARM block.Joerg Sonnenberger2014-01-295-34/+0
| | | | llvm-svn: 200396
* Optimized implementation of __clzdi2 and __clzsi2 for ARM. Written inJoerg Sonnenberger2014-01-292-0/+170
| | | | | | | | collaboration with Matt Thomas. Differential Revision: http://llvm-reviews.chandlerc.com/D2630 llvm-svn: 200394
* ARM: also remove useless .arm directive from other filesTim Northover2014-01-242-6/+0
| | | | llvm-svn: 200044
* ARM: remove unnecessary .arm directiveTim Northover2014-01-241-3/+0
| | | | | | | | It was redundant (since ARM mode is the default) and misleading since (e.g.) Cortex-A15 would not satisfy the #ifdef but would be in ARM mode regardless. llvm-svn: 200043
* Fix a typo "endi" -> "endif" in r200035.Bob Wilson2014-01-241-1/+1
| | | | llvm-svn: 200039
* Don't use .arm for ARMv7M, which will use the hwdiv path. Non-hwdivJoerg Sonnenberger2014-01-243-0/+6
| | | | | | | | remains ARM mode only, supporting thumb requires explicit it prefixes for the predicted adds/subs and adjusting the offset computation for the different block sizes. llvm-svn: 200035
* Mechanically add end-of-function markers.Joerg Sonnenberger2014-01-2457-30/+78
| | | | llvm-svn: 200005
* Provide support for ARMv4, lacking bx and clz. Unroll theJoerg Sonnenberger2014-01-243-198/+412
| | | | | | | | | | test-and-subtract loop and compute the initial block as address, shaving off between 5% and 10% on Cortex A9 and 30%+ a Raspberry Pi. Code written by Matt Thomas and Joerg Sonnenberger. Differential Revision: http://llvm-reviews.chandlerc.com/D2595 llvm-svn: 200001
* Add missing __aeabi_fcmpun alias to match C version.Joerg Sonnenberger2014-01-161-0/+2
| | | | llvm-svn: 199386
* Remove support for armv7f slice. <rdar://problem/12478440>Bob Wilson2014-01-151-1/+1
| | | | | | This was never used for anything so we should just get rid of it. llvm-svn: 199333
* 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 llvm-svn: 194873
* 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. llvm-svn: 194429
* 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. llvm-svn: 193392
* <rdar://problem/12512722> Use arm divide instruction if availableNick Kledzik2013-05-244-0/+48
| | | | llvm-svn: 182665
* Implement aeabi_{f,d}cmp*.Zonr Chang2013-02-072-0/+78
| | | | | | Special thanks to Anton for the review. llvm-svn: 174596
* Add compiler-rt support for Swift.Bob Wilson2012-09-293-2/+22
| | | | llvm-svn: 164903
* 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. llvm-svn: 154059
* Back out some changes that accidentally committed.Bob Wilson2012-02-109-9/+0
| | | | llvm-svn: 150254
* Revert r150232 since it breaks the build when there's no ARM assembler.Bob Wilson2012-02-109-0/+9
| | | | llvm-svn: 150253
* Proper divmod implementationAnton Korobeynikov2012-01-304-0/+115
| | | | llvm-svn: 149242
* Provide aeabi_mem* functions.Anton Korobeynikov2012-01-304-0/+89
| | | | llvm-svn: 149241
* 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. llvm-svn: 145674
* Change ARM vfp assembly functions to use unified syntax.Bob Wilson2011-08-2334-118/+152
| | | | llvm-svn: 138332
* Add ARM EABI function aliases to routinesAnton Korobeynikov2011-04-192-0/+4
| | | | llvm-svn: 129768
* Make use of LOCAL_LABEL macroAnton Korobeynikov2011-04-193-12/+12
| | | | llvm-svn: 129767
* Get rid of darwin'isms. Provide convenient macro for assembler local lables.Anton Korobeynikov2011-04-193-3/+3
| | | | llvm-svn: 129766
* slight re-arrangement to maybe pick up one cycle on dual-issue ARM coresStephen Canon2011-03-211-1/+1
| | | | llvm-svn: 128003
* 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. llvm-svn: 127882
* <rdar://problem/9091300> update Apple packaging of compiler-rtNick Kledzik2011-03-051-0/+21
| | | | llvm-svn: 127057
* license changeHoward Hinnant2010-11-1645-90/+90
| | | | llvm-svn: 119397
* add assembly implementation of modsi3 so compiler does not have to special ↵Nick Kledzik2010-07-271-0/+36
| | | | | | case a - (a / b) * b optimization llvm-svn: 109492
* Hand-tuning of single-precision soft-float comparison routines for ARMStephen Canon2010-07-081-0/+130
| | | | llvm-svn: 107891
* fix arvm5 buildsNick Kledzik2010-07-041-1/+1
| | | | llvm-svn: 107588
* Further cleanup of ARM bswap implementations, thanks to John TytgatStephen Canon2010-07-032-27/+23
| | | | llvm-svn: 107576
* Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the ↵Stephen Canon2010-07-032-32/+26
| | | | | | need to establish a frame llvm-svn: 107555
* ARM before armv6 did not supprt 'rev' instructionNick Kledzik2010-07-032-0/+31
| | | | llvm-svn: 107548
* add explicit alignment directives to assure arm code is 4-byte alignedNick Kledzik2010-04-2143-0/+43
| | | | llvm-svn: 102030
* add __sync_synchronize. Needed by compiler when emitting thumb1 with ↵Nick Kledzik2010-02-021-0/+33
| | | | | | -fno-builtin llvm-svn: 95132
* Split up switch.S and save_restore_d8_d15.S to follow one function per file ↵Daniel Dunbar2010-01-197-101/+211
| | | | | | convention. llvm-svn: 93815
* Rename subdir 'Target' variable to 'Implementation' to be less overloaded.Daniel Dunbar2010-01-181-1/+1
| | | | llvm-svn: 93718
* Simplify subdirectory makefiles, and be more robust by checking that they ↵Daniel Dunbar2010-01-181-3/+0
| | | | | | define the appropriate variables. llvm-svn: 93714
* add __save_vfp_d8_d15_regs and __restore_vfp_d8_d15_regs for ARMNick Kledzik2009-10-291-0/+45
| | | | llvm-svn: 85531
* Switch to using DEFINE_COMPILERRT_[PRIVATE_]FUNCTION to define function ↵Daniel Dunbar2009-10-2737-84/+40
| | | | | | symbols inside .S files. llvm-svn: 85264
* Add assembly.h for use in .S files.Daniel Dunbar2009-10-2738-1/+39
| | | | llvm-svn: 85263
* add support for __switch* needed for switch statements in thumb codegenNick Kledzik2009-09-181-0/+93
| | | | llvm-svn: 82184
* add conversion functions and test cases for ARMNick Kledzik2009-09-1410-0/+232
| | | | llvm-svn: 81809
* Update cmake files for arm support hooks.Edward O'Callaghan2009-09-141-0/+0
| | | | llvm-svn: 81760
OpenPOWER on IntegriCloud