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