Bob Wilson
7184d9fc33
Change ARM vfp assembly functions to use unified syntax.
...
llvm-svn: 138332
2011-08-23 16:40:18 +00:00
Bob Wilson
66cdd22ff4
Refactor DEFINE_COMPILERRT_FUNCTION.
...
llvm-svn: 138277
2011-08-22 21:49:47 +00:00
Joerg Sonnenberger
8b068943a4
Don't redeclare sr.
...
llvm-svn: 136424
2011-07-28 23:15:41 +00:00
Joerg Sonnenberger
cf2996dc22
Don't redeclare sr.
...
llvm-svn: 136377
2011-07-28 19:47:33 +00:00
Eric Christopher
1d1809437e
Implement mulo<mode>4 for use in signed overflow checking.
...
Fixes rdar://9219742 and rdar://9218244
llvm-svn: 133284
2011-06-17 20:17:05 +00:00
Anton Korobeynikov
3c5199042a
Add some macro magic: user __USER_LABEL_PREFIX__ instead of hardcoding it for each platform
...
llvm-svn: 129818
2011-04-19 21:22:14 +00:00
Anton Korobeynikov
4322a7d2c6
More fixes for missed includes
...
llvm-svn: 129807
2011-04-19 20:50:32 +00:00
Anton Korobeynikov
147ecfad82
Add missed include
...
llvm-svn: 129804
2011-04-19 20:45:29 +00:00
Anton Korobeynikov
0529d4da93
Add missed files from my last commit.
...
llvm-svn: 129777
2011-04-19 18:14:19 +00:00
Anton Korobeynikov
e63da933eb
Move abi bits to separate header. Force AAPCS for EABI in accordance with ARM RTABI.
...
llvm-svn: 129769
2011-04-19 17:52:09 +00:00
Anton Korobeynikov
75e3c1993c
Add ARM EABI function aliases to routines
...
llvm-svn: 129768
2011-04-19 17:51:24 +00:00
Anton Korobeynikov
bdadd87c4d
Make use of LOCAL_LABEL macro
...
llvm-svn: 129767
2011-04-19 17:50:42 +00:00
Anton Korobeynikov
1653610449
Get rid of darwin'isms. Provide convenient macro for assembler local lables.
...
llvm-svn: 129766
2011-04-19 17:50:09 +00:00
Nick Kledzik
e7e288c805
don't add version info for static library
...
llvm-svn: 129489
2011-04-14 00:40:20 +00:00
Nick Kledzik
aa60d6ac01
fix typo
...
llvm-svn: 129389
2011-04-12 21:22:48 +00:00
Nick Kledzik
191c2804e7
<rdar://problem/9185449> update version info for arm
...
llvm-svn: 129386
2011-04-12 21:11:47 +00:00
Daniel Dunbar
4c70f3e6ac
Revert "Split single & double comparison routines into separate implementation
...
files," for now, I missed some necesary updates.
llvm-svn: 128296
2011-03-25 18:45:39 +00:00
Daniel Dunbar
1102c9ae58
Split single & double comparison routines into separate implementation files,
...
for consistency.
llvm-svn: 128282
2011-03-25 15:52:51 +00:00
Daniel Dunbar
f3798a397d
compiler-rt: Split subdf3 and subsf3 out of add implementations, for
...
consistency.
llvm-svn: 128038
2011-03-21 23:30:19 +00:00
Stephen Canon
32acbef33f
slight re-arrangement to maybe pick up one cycle on dual-issue ARM cores
...
llvm-svn: 128003
2011-03-21 17:35:26 +00:00
Stephen Canon
5abb5c14c4
Carefully written implementations of the 32-bit integer divide and modulus functions for ARM. These are still using a naive digit-by-digit algorithm, but the core loop has been carefully written.
...
llvm-svn: 127882
2011-03-18 16:35:02 +00:00
Nick Kledzik
47a823b281
<rdar://problem/8914924> implement udivmodsi4 and divmodsi4 for ARM
...
llvm-svn: 127778
2011-03-17 00:09:13 +00:00
Chris Lattner
15bc34c7c2
don't compile modsi3 into an infinite loop, patch by Matt Johnson!
...
llvm-svn: 127429
2011-03-10 22:11:46 +00:00
Nick Kledzik
fc1586cf9f
<rdar://problem/9091300> update Apple packaging of compiler-rt
...
llvm-svn: 127057
2011-03-05 02:15:16 +00:00
Nick Kledzik
9f1bd06ae9
Add missing <stdint.h> to build properly on Solaris. Patch by Joakim Johansson
...
llvm-svn: 123006
2011-01-07 19:09:06 +00:00
Howard Hinnant
5b791f6e64
license change
...
llvm-svn: 119397
2010-11-16 22:13:33 +00:00
Stephen Canon
5f0e6e7b92
Adds an extra explicit cast to fix Bug 7931 and removes codepaths that were never used
...
llvm-svn: 111269
2010-08-17 19:13:45 +00:00
Nick Kledzik
cceb1f2e67
add assembly implementation of modsi3 so compiler does not have to special case a - (a / b) * b optimization
...
llvm-svn: 109492
2010-07-27 06:24:32 +00:00
Stephen Canon
8770d3d367
Fix error in rep_clz on non-LP64 targets. Patch by Christoph Gerum
...
llvm-svn: 109416
2010-07-26 18:17:00 +00:00
Stephen Canon
df69264765
Hand-tuning of single-precision soft-float comparison routines for ARM
...
llvm-svn: 107891
2010-07-08 17:45:05 +00:00
Nick Kledzik
9445ef8f4a
fix arvm5 builds
...
llvm-svn: 107588
2010-07-04 18:29:01 +00:00
Stephen Canon
644ab08dec
Initial implementation of double-precision soft-float division, moved a couple utility functions from the multiplications into the utility header
...
llvm-svn: 107586
2010-07-04 16:53:39 +00:00
Stephen Canon
9ae6fd58c4
Single-precision soft-float division
...
llvm-svn: 107579
2010-07-04 06:15:44 +00:00
Stephen Canon
909f6c7bc4
Further cleanup of ARM bswap implementations, thanks to John Tytgat
...
llvm-svn: 107576
2010-07-03 21:47:50 +00:00
Stephen Canon
b84e7dc80e
Marginally smaller implementations of bswap for ARMv4, ARMv5 that avoid the need to establish a frame
...
llvm-svn: 107555
2010-07-03 01:00:49 +00:00
Stephen Canon
7973295a19
Renamed unsigned->float routines to match GCC convention
...
llvm-svn: 107554
2010-07-03 00:56:03 +00:00
Nick Kledzik
209ac43b76
ARM before armv6 did not supprt 'rev' instruction
...
llvm-svn: 107548
2010-07-03 00:12:47 +00:00
Stephen Canon
04b97967dd
[unsigned] int -> float soft-float conversions for single- and double-precision
...
llvm-svn: 107535
2010-07-02 23:05:46 +00:00
Stephen Canon
4be0d7ead9
float- and double-to-integer soft-float conversions for compiler-rt
...
llvm-svn: 107524
2010-07-02 22:10:58 +00:00
Stephen Canon
e9946d0d3f
... and one more fix to remove some warnings in the new double -> float conversion
...
llvm-svn: 107409
2010-07-01 18:02:15 +00:00
Stephen Canon
74eaf1f66c
Correction to previous commit which mistakenly included older versions of some files; now includes the correct LLVM license header
...
llvm-svn: 107408
2010-07-01 17:58:24 +00:00
Stephen Canon
b1fdde1d01
Adding soft-float comparisons, addition, subtraction, multiplication and negation
...
llvm-svn: 107400
2010-07-01 15:52:42 +00:00
Nick Kledzik
c6cacf9858
sjlj based personality requires a different name
...
llvm-svn: 103330
2010-05-07 23:44:20 +00:00
Nick Kledzik
8e7ebea0b9
add explicit alignment directives to assure arm code is 4-byte aligned
...
llvm-svn: 102030
2010-04-21 22:36:23 +00:00
Nick Kledzik
5b0a0629a3
add include of int_lib.h to match change to use compilerrt_abort()
...
llvm-svn: 101396
2010-04-15 20:37:56 +00:00
Nick Kledzik
b3d3ec7091
<rdar://problem/7813254> check enable_execute_stack implementation
...
llvm-svn: 100036
2010-03-31 19:52:01 +00:00
Daniel Dunbar
587b1d419d
Add new build option KERNEL_USE, which compiles with -mkernel and gets propogated to CFLAGS. Use this to call panic() instead of abort() when enabled.
...
llvm-svn: 100015
2010-03-31 17:00:48 +00:00
Daniel Dunbar
f287008791
Use a private compilerrt_abort() define instead of calling abort directly.
...
- Fiddling with abort directly is annoying given the way we use system includes, although it would be nice to fix this so we could make sure calling abort directly is verboten.
llvm-svn: 100014
2010-03-31 17:00:45 +00:00
Nick Kledzik
debb901045
add __sync_synchronize. Needed by compiler when emitting thumb1 with -fno-builtin
...
llvm-svn: 95132
2010-02-02 21:34:04 +00:00
Nick Kledzik
ac02b5a09c
fix return type of _Unwind_Exception.exception_cleanup
...
llvm-svn: 93983
2010-01-20 06:13:20 +00:00