Anders Carlsson
5bc94e625b
Fix some mistakes I made when I tried to decipher the Intel documentation of the MXCSR register
...
llvm-svn: 64290
2009-02-11 06:29:32 +00:00
Anders Carlsson
7325b61e74
Fix an #ifndef that should be an #ifdef instead.
...
llvm-svn: 64206
2009-02-10 06:18:19 +00:00
Chris Lattner
4293c8935a
C++ really shouldn't check these #defines, thanks to Howard
...
for pointing this out!
llvm-svn: 64037
2009-02-07 22:21:31 +00:00
Chris Lattner
6726d42059
remove two eroneous suffixes, these promote to int. Thanks to Neil
...
for pointing this out.
llvm-svn: 64011
2009-02-07 08:49:37 +00:00
Chris Lattner
04441a10a5
add note, weirdness.
...
llvm-svn: 64010
2009-02-07 07:13:51 +00:00
Chris Lattner
a7cc1267cf
fix some missing parens, thanks for Eli's review!
...
Obviously I make a miserable header developer :)
llvm-svn: 64009
2009-02-07 06:42:04 +00:00
Chris Lattner
14bc3528f5
fix a typo that Sebastian noticed!
...
llvm-svn: 64008
2009-02-07 06:38:41 +00:00
Chris Lattner
5455db4273
make sure that UINTMAX_MAX has an unsigned type. This assumes that
...
uintmax_t is unsigned long long, which is not optimal, but is assumed
elsewhere already.
llvm-svn: 64007
2009-02-07 06:38:06 +00:00
Chris Lattner
6bda45cec0
make various MAX/MIN constants be preprocessor constants, not C constants.
...
Thanks to Eli for pointing this out.
llvm-svn: 64006
2009-02-07 06:33:44 +00:00
Chris Lattner
19179ad680
start of tgmath, yuck.
...
llvm-svn: 63990
2009-02-07 00:47:29 +00:00
Chris Lattner
01af63beb4
Apparently it is important to define intptr_t and uintptr_t to
...
long instead of int. This is because system heaers like to redefine
typedefs and that is an error if they don't exactly match. Use long
for intptr_t on all systems where long is the right size.
llvm-svn: 63984
2009-02-07 00:23:17 +00:00
Sebastian Redl
ad41b83816
Fix some errors in the new stdint.h.
...
llvm-svn: 63982
2009-02-06 23:57:52 +00:00
Chris Lattner
6fbf3a07bc
only define MB_LEN_MAX if the system <limits.h> doesn't.
...
don't typecast CHAR_MIN to char, this makes it not a PP constant
and gives it the wrong unpromoted type. Thanks to Sebastian for
pointing this out!
llvm-svn: 63980
2009-02-06 23:29:39 +00:00
Chris Lattner
404c2fb9cc
add a stdint.h header.
...
llvm-svn: 63977
2009-02-06 22:59:47 +00:00
Chris Lattner
0b0cfbcb62
correct description
...
llvm-svn: 63947
2009-02-06 18:45:59 +00:00
Chris Lattner
1cee17aa5f
first hack at limits.h
...
llvm-svn: 63945
2009-02-06 18:34:27 +00:00
Mike Stump
f7444aa8df
Avoid creating .dir files in the installation area.
...
llvm-svn: 62744
2009-01-22 02:53:03 +00:00
Anders Carlsson
43c2bab6d3
Fix more bugs I discovered
...
llvm-svn: 62656
2009-01-21 01:49:39 +00:00
Anders Carlsson
7322ea25a5
Fix some errors I noticed
...
llvm-svn: 62620
2009-01-20 21:51:44 +00:00
Anders Carlsson
bfd47a3c00
Add mm_malloc.h, patch by Sam Weinig.
...
llvm-svn: 61954
2009-01-08 23:30:09 +00:00
Anders Carlsson
f562b39e80
Add a MS specific intrinsic.
...
llvm-svn: 61446
2008-12-27 04:26:15 +00:00
Anders Carlsson
a7e0e61b9d
Eli noticed that I had forgotten some #defines. Add them.
...
llvm-svn: 61445
2008-12-26 22:49:10 +00:00
Anders Carlsson
70f8da06d3
Add float.h header. Eli, please review :)
...
llvm-svn: 61444
2008-12-26 17:10:18 +00:00
Anders Carlsson
88b53663fb
Fix implementation of _mm_pause.
...
llvm-svn: 61441
2008-12-26 02:22:10 +00:00
Anders Carlsson
19ef5d49d4
OK, all tests pass. Let's start using the SSE2 header
...
llvm-svn: 61440
2008-12-26 00:57:11 +00:00
Anders Carlsson
37ba1a5927
Fix formatting
...
llvm-svn: 61435
2008-12-26 00:50:47 +00:00
Anders Carlsson
37c2371a88
Add _mm_pause and _MM_SHUFFLE
...
llvm-svn: 61434
2008-12-26 00:49:43 +00:00
Anders Carlsson
85eb1247a3
More SSE2 intrinsics
...
llvm-svn: 61433
2008-12-26 00:45:50 +00:00
Anders Carlsson
a0d5ca2773
More SSE2 intrinsics
...
llvm-svn: 61432
2008-12-25 23:48:58 +00:00
Anders Carlsson
51beccbd0b
Make _mm_add_si64 inlined
...
llvm-svn: 61428
2008-12-25 07:07:08 +00:00
Anders Carlsson
a283f91a67
Add integer arithmetic intrinsics
...
llvm-svn: 61412
2008-12-24 02:41:00 +00:00
Anders Carlsson
b08ac0b2b0
Add store/set/load intrisics
...
llvm-svn: 61411
2008-12-24 02:11:54 +00:00
Anders Carlsson
f15e71d170
Start implementing some SSE2 instructions
...
llvm-svn: 61410
2008-12-24 01:45:22 +00:00
Anders Carlsson
c72502308d
Fix test failures noticed by Fariborz.
...
llvm-svn: 61334
2008-12-22 17:42:23 +00:00
Anders Carlsson
e5f993da3d
Flip the switch and start using the new xmmintrin.h
...
llvm-svn: 61332
2008-12-22 07:36:02 +00:00
Anders Carlsson
27046fc4e6
Comment out _mm_insert_pi16 for now
...
llvm-svn: 61331
2008-12-22 07:34:23 +00:00
Anders Carlsson
5aa0c50e29
Implement the last intrinsics, _mm_insert_pi16 is the last remaining one now.
...
llvm-svn: 61330
2008-12-22 07:08:03 +00:00
Anders Carlsson
25b16dbcd8
Add macros
...
llvm-svn: 61328
2008-12-22 05:42:03 +00:00
Anders Carlsson
8b79fc8aab
Add misc intrinsics
...
llvm-svn: 61327
2008-12-22 05:20:34 +00:00
Anders Carlsson
53b3d4a32a
Add control register intrinsics
...
llvm-svn: 61326
2008-12-22 05:00:07 +00:00
Anders Carlsson
4cf8ac8bb8
Add integer intrinsics
...
llvm-svn: 61325
2008-12-22 04:55:36 +00:00
Anders Carlsson
70d5f46646
Add cacheability intrinsics
...
llvm-svn: 61323
2008-12-22 03:50:21 +00:00
Anders Carlsson
1e71996bd1
Add store intrinsics
...
llvm-svn: 61322
2008-12-22 03:16:40 +00:00
Anders Carlsson
c7d0d8b60d
Add set intrinsics
...
llvm-svn: 61321
2008-12-22 02:51:35 +00:00
Anders Carlsson
13fd3a1411
Add load intrinsics
...
llvm-svn: 61320
2008-12-22 02:43:30 +00:00
Anders Carlsson
1e4a9b7c0d
_mm_cvtsi64_ss is 64-bit only, so wrap it in #ifdef __x86_64__
...
Add composite conversion intrinsics - will implement them shortly.
llvm-svn: 61318
2008-12-22 01:26:50 +00:00
Anders Carlsson
157643c8d7
Add a couple of conversion intrinsics
...
llvm-svn: 61317
2008-12-22 00:48:30 +00:00
Anders Carlsson
60053dd2a5
Add comparison intrinsics.
...
llvm-svn: 61316
2008-12-22 00:28:39 +00:00
Anders Carlsson
2df1ce496e
Check in an in-progress version of xmmintrin.h that I had lying around.
...
llvm-svn: 61315
2008-12-22 00:01:20 +00:00
Douglas Gregor
f7ab50df29
Define NULL to __null in C++, so that it's guaranteed to have the same size as a pointer
...
llvm-svn: 60355
2008-12-01 17:20:57 +00:00
Anders Carlsson
6b0dc85119
#define NULL as 0 when compiling as C++. This fixes the carbon.cpp and cocoa.mm test failures.
...
llvm-svn: 58685
2008-11-04 06:53:14 +00:00
Daniel Dunbar
dc4030454d
Fix mmintrin.h to use proper definition of functions taking no
...
arguments.
- More important than it looks, this inhibits trivial inlining
otherwise.
llvm-svn: 58360
2008-10-29 03:37:55 +00:00
Daniel Dunbar
42c68f26cf
Mark mmintrin functions static inline, this ensures they don't end up
...
being emitted unless needed and doesn't inhibit inlining.
- Can be fixed once we implement C99 inline semantics.
llvm-svn: 58303
2008-10-28 00:06:25 +00:00
Oscar Fuentes
07d9f9a6ec
CMake: Builds and installs clang binary and libs (no docs yet). It
...
must be under the `tools' subdirectory of the LLVM *source* tree.
llvm-svn: 58180
2008-10-26 00:56:18 +00:00
Anders Carlsson
1e18220dc4
Actually use the mmintrin.h header, it's good enough now.
...
llvm-svn: 57150
2008-10-06 04:49:00 +00:00
Anders Carlsson
f407150c06
Apparently gcc uses pi64 for the shift intrinsics.
...
llvm-svn: 57145
2008-10-06 02:07:50 +00:00
Anders Carlsson
c442c92b6f
Remove copyright notice, we decided not to have them.
...
llvm-svn: 57118
2008-10-05 17:21:08 +00:00
Eli Friedman
bb936ce207
Implementation of stdarg.h.
...
llvm-svn: 51672
2008-05-29 10:40:55 +00:00
Eli Friedman
bcfa2d75d7
Protect iso646.h from C++ (although I can't imagine why someone would
...
need it...). Patch by Mike Stump.
llvm-svn: 51360
2008-05-21 03:11:31 +00:00
Eli Friedman
9e9b046ac9
Add a couple more headers. stddef was discussed on cfe-dev, and
...
consensus was that it was fine; iso646 is trivial.
We actually don't need that many headers overall... on Ubuntu, at least,
all we need are stdint.h, stdarg.h, limits.h, and float.h to stop
depending on having gcc's headers around for normal code.
On a side note, the path searching needs some improvement; I had to
hardcode the path to my header directory into clang.cpp to get the
driver to use it consistently.
llvm-svn: 51317
2008-05-20 13:34:26 +00:00
Eli Friedman
f0d0e9e174
Use double-underscores in front of all non-keywords to protect against
...
#define pollution.
llvm-svn: 51128
2008-05-14 20:32:22 +00:00
Eli Friedman
e94e0f66cd
Make header use the new __builtin_shufflevector builtin.
...
llvm-svn: 51117
2008-05-14 20:11:29 +00:00
Chris Lattner
7a51313d8a
Make a major restructuring of the clang tree: introduce a top-level
...
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
2008-03-15 23:59:48 +00:00