Commit Graph

291 Commits

Author SHA1 Message Date
Nate Begeman d90aa43bdf Implement codegen for hadd, hsub, max, min, mlal, movl, movn, padal, mov_n
Make note about how to handle the dozen or so multiply by scalar ops.

llvm-svn: 105734
2010-06-09 18:04:15 +00:00
Nate Begeman 5548309fa7 Implement transpose/zip/unzip & table lookup.
Test out some basic constant-checking.

llvm-svn: 105667
2010-06-09 01:10:23 +00:00
Daniel Dunbar e6c1daa8fd Makefile: Switch Clang Makefiles to always include the top-level Clang Makefile.
- This eliminates most dependencies on how Clang is installed relative to LLVM.

llvm-svn: 105637
2010-06-08 20:34:18 +00:00
Nate Begeman 16372afeab Implement ARM NEON up through vcvt, alphabetically.
llvm-svn: 105590
2010-06-08 00:17:19 +00:00
Nate Begeman 6736cc89d0 Initial support for ARM NEON builtins, codegen up next
llvm-svn: 105489
2010-06-04 21:36:27 +00:00
Nate Begeman 821079d42d Classify NEON intrinsics by overloading-type for codegen
Add a few missing instructions

llvm-svn: 105417
2010-06-03 21:36:23 +00:00
Daniel Dunbar f5e075d392 Headers: Fix quoting of macro arguments in a couple more places.
llvm-svn: 105331
2010-06-02 16:35:01 +00:00
Nate Begeman 661ba6d847 Fix vget_lane/vset_lane
llvm-svn: 105317
2010-06-02 07:15:01 +00:00
Nate Begeman 464d280b3c Checkpoint arm_neon.h generation with tablegen
llvm-svn: 105306
2010-06-02 00:34:41 +00:00
Nick Lewycky 71eac6e114 Make macro safe in the face of users who pass "addr+64". Addition of void* is
invalid.

llvm-svn: 105172
2010-05-30 18:26:21 +00:00
Nate Begeman b9ed185e33 Implement remaining items in neon td file. Still need to modify emitter to generate a proper header.
llvm-svn: 105058
2010-05-28 23:15:59 +00:00
Douglas Gregor 1f1be08645 Add CMake goop to get arm_neon.h generated
llvm-svn: 104934
2010-05-28 04:22:06 +00:00
Nate Begeman 07f9b0c784 Convert arm_neon.h into arm_neon.td, from which arm_neon.h will be built
Add Makefile support for building arm_neon.h from arm_neon.td
Need to figure out an appropriate cmake rule for this.

llvm-svn: 104928
2010-05-28 02:20:47 +00:00
Chris Lattner 8b3b145342 fix _mm_shuffle_pd too, thanks to Joel Falcou for pointing this out.
llvm-svn: 103873
2010-05-15 16:54:46 +00:00
Chris Lattner 6625c7028e add type casts to _mm_shuffle_ps so the front-end applies
implicit conversions where needed.  This fixes an error reported
on cfe-dev, not really worth a testcase though.

llvm-svn: 103864
2010-05-15 05:53:53 +00:00
Nate Begeman 4a623eed26 logical ops, unary ops, pairwise ops
llvm-svn: 102681
2010-04-30 00:46:57 +00:00
Nate Begeman 723169d8ec Comparisons.
llvm-svn: 102669
2010-04-29 23:36:09 +00:00
Nate Begeman 23a2f2ff79 Start stamping out the __builtin_neon stuff.
llvm-svn: 102638
2010-04-29 17:37:19 +00:00
Nate Begeman a8a9d6a1f0 A bit more neon work, adds work (but the ABI is wrong), types mostly stamped out.
llvm-svn: 102549
2010-04-28 22:37:01 +00:00
Nate Begeman cb2563f0c3 Stub out NEON support, more to come.
llvm-svn: 102512
2010-04-28 18:37:32 +00:00
Daniel Dunbar cfc12ddb0a Headers: Hide intptr_t and uintptr_t definitions behind _INTPTR_T and _UINTPTR_T
defines, for increased compatibility with Darwin gcc.
 - This is a bit of a hack, since platform compatibility issues don't belong
   here, but I don't think this hurts anyone either.

llvm-svn: 102264
2010-04-24 20:32:12 +00:00
Eric Christopher 1bbc7086ff Rewrite handling of 64-bit palignr intrinsics to be vector shuffles.
Stop multiplying constant by 8 accordingly in the header and change
intrinsic definition for what types we expect.

Add to existing palignr test to check that we're emitting the correct things.

llvm-svn: 101332
2010-04-15 01:43:08 +00:00
Chris Lattner dd6697b4fa improve altivec c++ support by adding casts, patch by
Anton Yartsev!

llvm-svn: 101281
2010-04-14 20:35:39 +00:00
Chris Lattner dad4062b4d implement altivec.h and a bunch of support code, patch by Anton Yartsev!
llvm-svn: 101215
2010-04-14 03:54:58 +00:00
Chris Lattner 4b73cfabac rename llvm::llvm_report_error -> llvm::report_fatal_error
llvm-svn: 100708
2010-04-07 22:58:06 +00:00
Eric Christopher 2fbd4050e9 Fix typo.
llvm-svn: 100079
2010-04-01 03:07:20 +00:00
Eric Christopher 5464e5ae00 First start at wmmintrin.h file with Intel AES-NI instructions.
llvm-svn: 100077
2010-04-01 03:03:35 +00:00
Daniel Dunbar 6a6199de67 Fix 80 col violations.
llvm-svn: 99648
2010-03-26 20:17:17 +00:00
Eric Christopher bd9a3aecd6 This is just a simple v4si * v4si, make it so.
llvm-svn: 99587
2010-03-26 00:51:28 +00:00
Anders Carlsson 91e18c93c4 Make the license header in smmintrin.h match the other SSE headers.
llvm-svn: 99384
2010-03-24 05:31:31 +00:00
Chris Lattner 7eac805bb0 fix PR6658: inline isn't a keyword in C89 mode, use __inline__ instead.
llvm-svn: 99190
2010-03-22 18:14:12 +00:00
Eric Christopher 08f135274d Add sse4.2 header and builtin support.
llvm-svn: 99051
2010-03-20 07:43:28 +00:00
Eric Christopher 86af0bae8a Add a newline at the end of the file.
llvm-svn: 99026
2010-03-20 01:19:04 +00:00
Eric Christopher 6ed351ab2d For legacy compatibility add a varargs.h header.
llvm-svn: 99025
2010-03-20 01:18:30 +00:00
Eric Christopher 33124e20c7 Migrate typedefs to the top level of xmmintrin.h and remove the same
one from emmintrin.h.

llvm-svn: 99020
2010-03-20 01:08:47 +00:00
Eric Christopher 8c6f61394f Add remaining sse4.1 intrinsics and builtins.
llvm-svn: 98587
2010-03-15 23:22:58 +00:00
Eric Christopher 6932b2e8b7 Add SSE4 packed integer comparisons and corresponding intrinsics.
llvm-svn: 98323
2010-03-12 01:22:33 +00:00
Eric Christopher e486f68b59 Integer array extraction for sse4.1.
llvm-svn: 98305
2010-03-11 23:50:18 +00:00
Eric Christopher e7594305bc Add packed integer array insertion.
llvm-svn: 98299
2010-03-11 23:36:29 +00:00
Eric Christopher 1dca62055a Add insert/extract_ps and related random macros.
llvm-svn: 98114
2010-03-10 00:50:58 +00:00
Ted Kremenek 0a4a8326c1 Add preprocessor guards to the definitions of size_t and wchar_t, and #undef NULL before defining it.
This addresses potential issues with system headers reported in <rdar://problem/7727159>.

llvm-svn: 98006
2010-03-08 23:23:45 +00:00
Ted Kremenek 4c9862ca1d Place the definition of 'va_list' within a preprocessor guard. This matches the behavior of GCC, and avoids potential conflicts with system headers (e.g., stdio.h). Fixes <rdar://problem/7727145>.
llvm-svn: 98003
2010-03-08 23:13:05 +00:00
Eric Christopher 4c70358296 Add sse4.1 packed min and max intrinsics.
llvm-svn: 97907
2010-03-07 07:00:42 +00:00
Eric Christopher 7288890b51 Add load hint instruction intrinsic.
llvm-svn: 97904
2010-03-07 06:29:09 +00:00
Eric Christopher 87990fe5df Add in support for dword multiply and fp dot product intrinsics.
llvm-svn: 97902
2010-03-07 06:17:19 +00:00
Eric Christopher b0759be4d0 Fix _MM_FROUND_NEARBYINT and move rounding intrinsics to macros.
llvm-svn: 97874
2010-03-06 10:31:44 +00:00
Eric Christopher 94567c04bb First start on smmintrin.h, rounding and blending.
llvm-svn: 97717
2010-03-04 02:56:19 +00:00
Chris Lattner e983eae273 add two aliases for SSE functions we already have, fixing PR6316.
llvm-svn: 96363
2010-02-16 18:21:25 +00:00
Chris Lattner b18093e467 fix PR6187: various load functions in xmmintrin.h were missing 'const'.
emmintrin looks ok.

llvm-svn: 94998
2010-02-01 20:14:14 +00:00
Chris Lattner 0afd3a23cd fix a bug in the _MM_TRANSPOSE4_PS definition, patch by Brian Sumner from
PR6138

llvm-svn: 94669
2010-01-27 07:54:50 +00:00
Chris Lattner 4debb32fdd _mm_xor_ps does a xor not a nxor. The other 'xor' builtins look fine,
but this one is wrong.  Thanks to Tanya for noticing this.

llvm-svn: 92881
2010-01-07 00:36:41 +00:00
Nate Begeman 67dfd4236a Revert mmx palignr to use an intrinsic, since mmx shuffle patterns are missing.
llvm-svn: 91269
2009-12-14 05:15:02 +00:00
Nate Begeman 72ec6bc6f4 Support x86's PALIGNR instruction without the use of a palignr intrinsic.
llvm-svn: 91264
2009-12-14 04:57:03 +00:00
Chris Lattner 399df12fb1 minimal fix for PR5743
llvm-svn: 91032
2009-12-10 01:38:15 +00:00
Douglas Gregor df72af5935 Pick up MB_LEN_MAX as defined by the system <limits.h>, when it's provided there
llvm-svn: 90879
2009-12-08 21:35:00 +00:00
Ken Dyck f540ae5ab3 Define SIG_ATOMIC_MIN and SIG_ATOMIC_MAX in terms of __SIG_ATOMIC_WIDTH__.
llvm-svn: 89598
2009-11-22 15:47:12 +00:00
Ken Dyck 33211d9658 Avoid unwanted expansion in macros that paste together INT<n>_C(v) and
UINT<n>_C(v) macros. 

llvm-svn: 89461
2009-11-20 16:49:10 +00:00
Ken Dyck 8dcc21420b Avoid unwanted expansion in macros that paste together INT<n>_MIN, INT<n>_MAX,
and UINT<n>_MAX defintions.

llvm-svn: 89460
2009-11-20 16:44:38 +00:00
Ken Dyck 764a5f3881 Avoid unwanted macro expansion in macros that paste together int<n>_t and
uint<n>_t definitions.

llvm-svn: 89459
2009-11-20 16:37:35 +00:00
Ken Dyck aff01ceb95 Define WCHAR_MIN and WCHAR_MAX in terms of __WCHAR_WIDTH__ for consistency with
other limit macros.

llvm-svn: 89355
2009-11-19 15:53:08 +00:00
Ken Dyck f0b343f5b7 Parameterize WINT_MIN and WINT_MAX with __WINT_WIDTH__ to support arbitrary
widths. This corrects the values of these definitions for MSP430 and PIC16.

llvm-svn: 89350
2009-11-19 14:35:19 +00:00
Ken Dyck 279ed5189c Construct definition of SIZE_MAX from __SIZE_WIDTH__ to support targets of
arbitrary widths.

llvm-svn: 89347
2009-11-19 14:03:24 +00:00
Ken Dyck 8af6035ac9 Construct the macro body of PTRDIFF_MAX and PTRDIFF_MIN from __PTRDIFF_WIDTH__.
llvm-svn: 89343
2009-11-19 12:33:01 +00:00
Ken Dyck 68fa5afada Construct INTPTR_MIN, INTPTR_MAX, and UINTPTR_MAX from the exact-width limit
macros corresponding to __INTPTR_WIDTH__.

llvm-svn: 89239
2009-11-18 20:36:29 +00:00
Ken Dyck 2d4371d666 Define intptr_t and uintptr_t in terms of their equivalent exact-width types.
llvm-svn: 89237
2009-11-18 20:24:13 +00:00
Ken Dyck ac11b7b625 Define INTMAX_C and UINTMAX_C in terms of the corresponding exact-width
INTn_C and UINTn_C macros.

llvm-svn: 89226
2009-11-18 19:42:57 +00:00
Ken Dyck 63c8ef8256 Define INTMAX_MIN, INTMAX_MAX, and UINTMAX_MAX in terms of the limit macros for
their corresponding exact-width type. 

llvm-svn: 89224
2009-11-18 19:22:15 +00:00
Ken Dyck 47181584f1 Define intmax_t and uintmax_t as the [u]intN_t type corresponding to
__INTMAX_WIDTH__.

llvm-svn: 89221
2009-11-18 18:57:04 +00:00
Ken Dyck 19ac306c2c Replace (-INT8_C(128)), which uses an illegally out-of-range argument for
INT8_C, with (-INT8_C(127)-1) in the definition of INT8_MIN. Apply similar
changes to the definitions of INT16_MIN and INT24_MIN.

llvm-svn: 89120
2009-11-17 18:29:12 +00:00
Ken Dyck f78dc738a5 Use the INTn_C integer constant macros to generate limit constants with correct
suffixes. This corrects the suffixes for the limit constants of the 32-bit
types on MSP430 and PIC16, and the 64-bit types on PPC64, SystemZ, X86_64.

llvm-svn: 89101
2009-11-17 16:26:27 +00:00
Ken Dyck e115235705 Remove unnecessary parens around the bodies of integer constant macros. C99
requires that their arguments be decimal, hex, octal constants---no signs
allowed---making the parens unnecessary.

llvm-svn: 89095
2009-11-17 13:54:02 +00:00
Ken Dyck 2dc8d5fa3e Parameterize the constant-generating macros in stdint.h with new built-in
__INTn_C_SUFFIX__ macros that are defined for types with corresponding
constant suffixes (i.e. long and long long).

llvm-svn: 88914
2009-11-16 16:36:33 +00:00
Chris Lattner 55c9877b66 Generalize stdint.h for non-8-bit-multiple types, patch by
Ken Dyck!

"This adds definitions for types of 8-bit multiples
from 8 to 64 to stdint.h and rationalizes the selection of types 
for the exact-width definitions in InitPreprocessor.cpp."

llvm-svn: 86977
2009-11-12 08:08:27 +00:00
Chris Lattner b0966de585 A simple reordering of the definitions in stdint.h and
introduces no new function changes.   Patch by Ken Dyck!

llvm-svn: 86062
2009-11-04 23:03:18 +00:00
John Thompson ac0b098d4d Added __has_include and __has_include_next.
llvm-svn: 85834
2009-11-02 22:28:12 +00:00
Oscar Fuentes 843c828ed5 CMake: Respect LLVM_LIBDIR_SUFFIX for clang-specific headers under
${libdir}/clang

Patch by Ingmar Vanhassel!

llvm-svn: 85308
2009-10-27 21:15:21 +00:00
Anders Carlsson 327c8df90c Make our char vector types not be explicitly signed to match GCC and to fix compilation with C++ and -fno-lax-vector-conversions
llvm-svn: 82254
2009-09-18 19:18:19 +00:00
Anders Carlsson dfa3117085 Fix PR4923.
Fix error in _mm_set_pd/_mm_setr_pd and add _mm_set_epi64x/_mm_set1_epi64x. Patch by Laurent Morichetti!

llvm-svn: 82228
2009-09-18 17:03:55 +00:00
Mike Stump b4bed3a497 Collapse more clang version numbers down into fewer places.
llvm-svn: 81983
2009-09-16 01:26:05 +00:00
Mike Stump e18856dad1 Back to 1.1 we go.
llvm-svn: 81944
2009-09-15 23:04:22 +00:00
Mike Stump 11289f4280 Remove tabs, and whitespace cleanups.
llvm-svn: 81346
2009-09-09 15:08:12 +00:00
Douglas Gregor 33870d908f CMake: Improve installation of Clang
- Install clang-cc into libexec
  - Install headers into lib/clang/<version>/include
  - Don't install other clang-based tools (clang-wpa, clang-index, etc.)

llvm-svn: 79827
2009-08-23 05:28:29 +00:00
Eli Friedman 5173349565 Switch some functions from using x86 builtins to using vector
operations.

llvm-svn: 76753
2009-07-22 17:08:01 +00:00
Douglas Gregor 9b5f9cd2f7 Make sure install Clang headers when building clang-cc
llvm-svn: 74163
2009-06-25 05:07:31 +00:00
Douglas Gregor 274a6b4f2d Update Clang to include the InitializeAllTargets and
InitializeAllAsmPrinters LLVM headers. Also includes some minor fixes
for the CMake-based build with Xcode.

llvm-svn: 73544
2009-06-16 20:13:51 +00:00
Eli Friedman 9d79bdaaad Following gcc, hide the hack to include the SSE2 intrinsics from
xmmintrin.h in an ifdef.

llvm-svn: 73200
2009-06-11 18:50:02 +00:00
Eli Friedman e9ff191459 Remove a few more vector builtins.
llvm-svn: 73022
2009-06-07 09:32:56 +00:00
Daniel Dunbar fcec758f4e xmmintrin needs to include emmintrin, Darwin system headers seem to depend on it
defining m128[id], at least.

llvm-svn: 73021
2009-06-07 08:33:23 +00:00
Eli Friedman 5a996fc0fc Now that LLVM CodeGen can handle the generic variations a bit better,
get rid of a few more clang vector builtins.

llvm-svn: 73015
2009-06-07 07:12:56 +00:00
Douglas Gregor e183993ffa CMake: Install Clang's headers into the right place in the build tree, for regression testing
llvm-svn: 73014
2009-06-07 07:09:23 +00:00
Eli Friedman 4d8d7d3263 Replace more calls to builtins with generic code.
llvm-svn: 72995
2009-06-06 08:08:06 +00:00
Eli Friedman f5f303f92f Fix obvious typo.
llvm-svn: 72994
2009-06-06 07:42:17 +00:00
Eli Friedman d00fd2885e Fix some casts to work without -flax-vector-conversions.
llvm-svn: 72981
2009-06-06 03:45:06 +00:00
Eli Friedman ebd9314f32 Misc fixes to MMX/SSE intrinsics: a few small bug fixes, and getting rid
of calls to builtins for constructs which can be expressed directly.

llvm-svn: 72979
2009-06-06 02:13:04 +00:00
Eli Friedman f83c258eae Add aliases for a couple of SSE intrinsics. Patch by Ed Schouten.
llvm-svn: 72717
2009-06-02 05:55:48 +00:00
Anders Carlsson 2081200b8c Add 'cmp' SSE builtins and get rid of a bunch of other builtins.
llvm-svn: 72032
2009-05-18 19:16:46 +00:00
Eli Friedman 7df3447c10 Fix for PR3841: follow gcc's example and fall back to the system
stdint.h unless we are freestanding.

Any suggestions here are welcome.

llvm-svn: 70806
2009-05-03 23:00:48 +00:00
Anders Carlsson 9603143c5d Fix tyop in SSSE3 header (6808876).
llvm-svn: 69623
2009-04-20 20:31:10 +00:00
Chris Lattner 61639745b6 glibc plays some weird games with multiple different definitions of
int8_t and games it with strange *_defined macros.  Emulate its weirdness
for better compatibility with linux etc.  Problem pointed out by anders 
johnson.

llvm-svn: 69458
2009-04-18 19:11:11 +00:00
Chris Lattner ff8a9e6ee4 fix misspelt attribute.
llvm-svn: 69362
2009-04-17 17:55:23 +00:00
Chris Lattner 33d840cc8f define __va_copy unconditionally, but va_copy only in c99 or non-ansi mode.
Fixes rdar://6759546, some code that actually used __va_copy because they
thought it was "more portable".

llvm-svn: 68503
2009-04-07 05:12:42 +00:00
Anders Carlsson 57640939c2 Fix typo.
llvm-svn: 68466
2009-04-06 21:55:22 +00:00
Chris Lattner f16f90b4fd add support for the LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX limits.h GNU extensions.
rdar://6740292

llvm-svn: 68169
2009-04-01 00:44:37 +00:00
Daniel Dunbar 2e8536cfaa Only intptr_t is protected by __intptr_t_defined.
llvm-svn: 67018
2009-03-15 03:16:47 +00:00
Chris Lattner 5a5194fec3 fix inverted conditional, rdar://6633188
llvm-svn: 65704
2009-02-28 18:53:33 +00:00
Daniel Dunbar 3283ff5088 Put compiler headers in <prefix>/lib/clang/1.0/include (vs
<prefix>/Headers, gross).

llvm-svn: 65247
2009-02-21 20:52:41 +00:00
Howard Hinnant 9c788c081c testing (reverted)
llvm-svn: 64991
2009-02-19 00:27:58 +00:00
Howard Hinnant 2d12fbdc2e testing
llvm-svn: 64990
2009-02-19 00:25:33 +00:00
Douglas Gregor ac3865c387 Remove pointless backslash
llvm-svn: 64965
2009-02-18 22:24:55 +00:00
Douglas Gregor c5c0488338 Add an unavailable __tg_promote function to attract incorrect uses of type-generic macros, rom Howard Hinnant.
llvm-svn: 64919
2009-02-18 17:23:05 +00:00
Chris Lattner abbd427cd0 initial reimplement tgmath.h, written by Howard Hinnant!
llvm-svn: 64826
2009-02-17 22:14:32 +00:00
Daniel Dunbar c9feeb54a5 Spell __always_inline__ correctly.
llvm-svn: 64757
2009-02-17 07:57:58 +00:00
Anders Carlsson b317efdf81 Add SSSE3 header
llvm-svn: 64735
2009-02-17 03:05:04 +00:00
Chris Lattner 325dec7343 remove dead macros
llvm-svn: 64725
2009-02-17 02:42:31 +00:00
Chris Lattner 2ca19c7ee7 explicitly cast integers to double. This a) silences any
possible future "data loss" warnings, and b) makes it intensely
obvious to the user what the impl of these functions do in a
ambiguity error.

llvm-svn: 64724
2009-02-17 02:41:36 +00:00
Chris Lattner 0021110773 asin support. No we don't care about complex int :)
llvm-svn: 64723
2009-02-17 02:37:35 +00:00
Chris Lattner dd0c64b102 hand macro expand this to make "candidate" set printing more useful. However,
Now no candidates are printed because the 'notes' are in a system header. :(

#include <tgmath-sofar.h>
 double foo2(short *x) {
  return acos(x);
}

t.c:10:10: error: no matching function for call to '__tg_acos'; candidates are:
  return acos(x);
         ^~~~
1 diagnostic generated.

llvm-svn: 64722
2009-02-17 02:30:54 +00:00
Chris Lattner bde5bd46b3 add support for integers to tgmath functions. I apparently need to provide
all the integer types other than char/short to avoid overload ambiguities.

llvm-svn: 64721
2009-02-17 02:22:33 +00:00
Chris Lattner 4e843feddc start converting over to attr(overloadable). Unfortunately, this
produces really horrible diagnostics when overload ambiguities
happen:

t.c:10:10: error: call to '__tg_acos' is ambiguous; candidates are:
  return acos(x);
         ^~~~
In file included from t.c:1:
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^
/Users/sabre/llvm/Debug/Headers/tgmath-sofar.h:49:1: note: candidate function
__TG_RC_1(x, acos, cacos)
^

A possible fix is to just not use macros for this, which I'll probably go for,
but it would be nice to emit the type at the call, so we know what we asked for!

llvm-svn: 64720
2009-02-17 02:14:31 +00:00
Mike Stump eff0cc98cf Fix 80col violations.
llvm-svn: 64559
2009-02-14 18:02:21 +00:00
Anders Carlsson 11352f9d63 Fix more xmmintrin.h typos
llvm-svn: 64537
2009-02-14 04:01:38 +00:00
Anders Carlsson 30c22d86e8 Fix an error in _mm_loaddup_pd that Eli noticed.
llvm-svn: 64522
2009-02-14 01:06:58 +00:00
Anders Carlsson 823c02eaab Add the nodebug attribute to intrinsics
llvm-svn: 64519
2009-02-14 01:00:11 +00:00
Chris Lattner 39bb0182bd anders johnson points out that some software depends on the
definition of __intptr_t_defined when stdint.h defines intptr_t.

llvm-svn: 64497
2009-02-13 22:43:13 +00:00
Chris Lattner 7e4c81c8c6 Give TargetInfo a new IntPtrType to hold the intptr_t type for
a target.

Make Preprocessor.cpp define a new __INTPTR_TYPE__ macro based on this.

On linux/32, set intptr_t to int, instead of long.  This fixes PR3563.

llvm-svn: 64495
2009-02-13 22:28:55 +00:00
Mike Stump 5b31ed3ff0 80col.
llvm-svn: 64450
2009-02-13 14:24:50 +00:00
Mike Stump 6b63074de9 Fix limits.h for linux, as glibc does a #include_next unless
_GCC_LIMITS_H_ is defined, when __GNUC__ is defined.

Also, we need to stay away from possible conflicts with header guards.
We should use CLANG_ to prefix all header guards.

llvm-svn: 64408
2009-02-12 23:06:31 +00:00
Anders Carlsson d0d8c540ca Add pmmintrin.h header.
llvm-svn: 64291
2009-02-11 06:39:50 +00:00
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