Michael Zuckerman
13bcf4944a
Fix problem with test.
...
llvm-svn: 299442
2017-04-04 15:44:06 +00:00
Michael Zuckerman
755a13db3d
[X86][Clang] Converting __mm{|256|512}_movm_epi{8|16|32|64} LLVMIR call into generic intrinsics.
...
This patch is a part two of two reviews, one for the clang and the other for LLVM.
In this patch, I covered the clang side, by introducing the intrinsic to the front end.
This is done by creating a generic replacement.
Differential Revision: https://reviews.llvm.org/D31394a
llvm-svn: 299431
2017-04-04 13:29:53 +00:00
Sanjay Patel
e795daa55e
[x86] these aren't the undefs you're looking for (PR32176)
...
x86 has undef SSE/AVX intrinsics that should represent a bogus register operand.
This is not the same as LLVM's undef value which can take on multiple bit patterns.
There are better solutions / follow-ups to this discussed here:
https://bugs.llvm.org/show_bug.cgi?id=32176
...but this should prevent miscompiles with a one-line code change.
Differential Revision: https://reviews.llvm.org/D30834
llvm-svn: 297588
2017-03-12 19:15:10 +00:00
Craig Topper
367c86ddbe
[AVX-512] Replace subvector broadcast builtins with shufflevectors and selects.
...
Verified that the backend codegens this equally well.
llvm-svn: 292329
2017-01-18 02:17:10 +00:00
Craig Topper
08bf53ffda
[AVX-512] Remove masked vector insert builtins and replace with native shufflevectors and selects.
...
Unfortunately, the backend currently doesn't fold masks into the instructions correctly when they come from these shufflevectors. I'll work on that in a future commit.
llvm-svn: 285667
2016-11-01 05:47:56 +00:00
Craig Topper
cc012b3a37
[AVX-512] Add a regular expression to a test that was missed in r285540.
...
llvm-svn: 285547
2016-10-31 06:24:00 +00:00
Craig Topper
93ffabd28d
[AVX-512] Remove masked vector extract builtins and replace with native shufflevectors and selects.
...
Unfortunately, the backend currently doesn't fold masks into the instructions correctly when they come from these shufflevectors. I'll work on that in a future commit.
llvm-svn: 285540
2016-10-31 04:30:56 +00:00
Craig Topper
4910755107
[AVX-512] Add _MM_FROUND_NO_EXC to test cases that pass a rounding mode intrinsics. This is preparation for a follow up commit that will check validity of rounding mode argument.
...
llvm-svn: 283053
2016-10-01 21:03:46 +00:00
Elad Cohen
b107a22afb
[X86] Remove the mm_malloc.h include guard hack from the X86 builtins tests
...
The X86 clang/test/CodeGen/*builtins.c tests define the mm_malloc.h include
guard as a hack for avoiding its inclusion (mm_malloc.h requires a hosted
environment since it expects stdlib.h to be available - which is not the case
in these internal clang codegen tests).
This patch removes this hack and instead passes -ffreestanding to clang cc1.
Differential Revision: https://reviews.llvm.org/D24825
llvm-svn: 282581
2016-09-28 11:59:09 +00:00
Craig Topper
5fbabd77c7
[X86] Fix some illegal rounding modes in some builtin test cases to ones that would properly compile to valid assembly.
...
llvm-svn: 282137
2016-09-22 06:13:33 +00:00
Craig Topper
f43e4a1728
[AVX-512] Remove masked integer mullo builtins and replace with native IR.
...
llvm-svn: 280597
2016-09-03 19:19:49 +00:00
Craig Topper
a815f488d5
[AVX-512] Implement masked floating point logical operations with native IR and remove the builtins.
...
llvm-svn: 280197
2016-08-31 05:38:58 +00:00
Lama Saba
5d01f224cf
[X86][AVX512] lower __mm512_andnot_ps/__mm512_andnot_pd to IR
...
Differential revision: https://reviews.llvm.org/D23262
llvm-svn: 278209
2016-08-10 10:34:45 +00:00
Eric Christopher
abb2b54ad3
After PR28761 use -Wall with -Werror in builtins tests to identify
...
possible problems in headers.
llvm-svn: 277696
2016-08-04 06:02:50 +00:00
Michael Zuckerman
3f316abdce
[Clang][Intrinsics][AVX512][BuiltIn] adding intrinsics for vrangesd instruction set
...
Differential Revision: http://reviews.llvm.org/D21734
llvm-svn: 274218
2016-06-30 08:05:46 +00:00
Craig Topper
08181f795f
[AVX512] Fix _mm_setzero_di to not require avx512vl since its used by the avx512dqintrin.h. Also update the avx512dq test to not enable avx512vl feature so we can ensure correct dependencies.
...
llvm-svn: 273388
2016-06-22 06:36:21 +00:00
Michael Zuckerman
c4ae8537cf
[Clang][AVX512][BUILTIN]Adding intrinsics for range_round_{sd|ss}
...
Differential Revision: http://reviews.llvm.org/D21002
llvm-svn: 272123
2016-06-08 08:19:27 +00:00
Michael Zuckerman
96d0399658
[clang][AVX512][Intrinsics] Adding intrinsics reduce_[round]_{ss|sd} to clang
...
Differential Revision: http://reviews.llvm.org/D21014
llvm-svn: 272012
2016-06-07 14:00:20 +00:00
Craig Topper
dca1f230ae
[AVX512] Add intrinsics for 512-bit insertf32x8/insertf32x4/inserti32x4.
...
llvm-svn: 269617
2016-05-15 21:26:20 +00:00
Michael Zuckerman
edc82fe3ef
[Clang][Builtin][AVX512]Adding intrinsics for vfpclass{sd|ss} vfpclass{pd|ps} instruction set
...
Differential Revision: http://reviews.llvm.org/D19476
llvm-svn: 267414
2016-04-25 14:48:23 +00:00
Michael Zuckerman
ef2979af50
[Clang][AVX512][BUILTIN] Adding intrinsics support to VEXTRACT{I|F} and VINSERT{I|F} instruction set
...
Differential Revision: http://reviews.llvm.org/D19097
llvm-svn: 266745
2016-04-19 15:18:23 +00:00
Michael Zuckerman
c2b6128a8f
[Clang][AVX512][Builtin] Adding support for VBROADCAST and VPBROADCASTB/W/D/Q instruction set
...
Differential Revision: http://reviews.llvm.org/D19012
llvm-svn: 266195
2016-04-13 12:58:01 +00:00
Michael Zuckerman
074edd7c1e
[Clang][AVX512][Builtin] Adding supporting to intrinsics of cvt{b|d|q}2mask{128|256|512} and cvtmask2{b|d|q}{128|256|512} instruction set.
...
Differential Revision: http://reviews.llvm.org/D19009
llvm-svn: 266188
2016-04-13 10:49:37 +00:00
Eric Christopher
cd875efa78
Canonicalize some of the x86 builtin tests and either remove or comment
...
about optimization options.
llvm-svn: 250271
2015-10-14 05:40:21 +00:00
Asaf Badouh
2718051dd7
re-apply r.247881
...
fixed the tests.
llvm-svn: 247892
2015-09-17 14:53:37 +00:00
Asaf Badouh
8a61250709
revert r.247881 due to tests failures
...
llvm-svn: 247883
2015-09-17 13:09:33 +00:00
NAKAMURA Takumi
007f75dab7
Appease clang/test/CodeGen/avx512dq-builtins.c for -Asserts, for now.
...
llvm-svn: 247882
2015-09-17 12:33:34 +00:00
Asaf Badouh
a0e5e71ef1
[X86][AVX512DQ] add new intrinsics
...
convert i64 to FP and vice versa
reduceps & reducepd
rangeps & rangepd
all in their 512bit versions
Differential Revision: http://reviews.llvm.org/D11716
llvm-svn: 247881
2015-09-17 11:56:04 +00:00
Elena Demikhovsky
e7d4c2e229
AVX-512: Added AVX-512 intrinsics and tests
...
by Asaf Badouh (asaf.badouh@intel.com )
llvm-svn: 236218
2015-04-30 09:24:29 +00:00