summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGen/avx512bw-builtins.c
Commit message (Collapse)AuthorAgeFilesLines
...
* [AVX512] Replace masked unpack builtins with shufflevector and selects.Craig Topper2016-06-231-12/+20
| | | | llvm-svn: 273533
* [AVX512] Replace masked integer cmp and ucmp builtins with native IR.Craig Topper2016-06-221-56/+80
| | | | llvm-svn: 273378
* [AVX512] Use native IR for mask pcmpeq/pcmpgt intrinsics.Craig Topper2016-06-151-8/+12
| | | | llvm-svn: 272787
* [AVX512] Implement 512-bit and masked shufflelo and shufflehi intrinsics ↵Craig Topper2016-06-111-6/+10
| | | | | | directly with __builtin_shufflevector and __builtin_ia32_select. Also improve the formatting of the AVX2 version. llvm-svn: 272452
* [AVX512] Add _mm512_bsrli_epi128 and _mm512_bslli_epi128 intrinsics.Craig Topper2016-06-111-0/+11
| | | | llvm-svn: 272451
* [AVX512] Emit select instruction instead of using x86 specific instrinsics.Igor Breger2016-06-081-6/+6
| | | | | | | | This will allow us to remove the x86 instrinics from the backend. Differential Revision: http://reviews.llvm.org/D21060 llvm-svn: 272141
* [AVX512] Convert masked palignr builtins directly to native IR similar to ↵Craig Topper2016-06-061-3/+5
| | | | | | the other palignr builtins, but with a select to handle masking. llvm-svn: 271873
* [AVX512] Convert masked load builtins to generic masked load intrinsics ↵Craig Topper2016-05-311-4/+4
| | | | | | | | instead of the x86 specific ones. This will allow the x86 intrinsics to be removed from the backend. llvm-svn: 271253
* [AVX512] Emit generic masked store instrinsics instead of using x86 specific ↵Craig Topper2016-05-311-2/+2
| | | | | | | | intrinsics. This will allow us to remove the x86 instrinics from the backend. llvm-svn: 271246
* [Clang][avx512][Builtin] Adding intrinsics for cvtw2mask{128|256|512} ↵Michael Zuckerman2016-05-031-0/+7
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19766 llvm-svn: 268385
* [clang][AVX512][Builtin] Adding intrinsics for the SAD instruction set.Michael Zuckerman2016-04-281-0/+23
| | | | | | Differential Revision: http://reviews.llvm.org/D19591 llvm-svn: 267942
* [Clang][BuiltIn][AVX512] Adding intrinsics fot align{d|q} and palignr ↵Michael Zuckerman2016-04-281-0/+20
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19588 llvm-svn: 267876
* [Clang][AVX512][BuiltIn] Adding support to intrinsics of VPERMD and VPERMW ↵Michael Zuckerman2016-04-251-0/+17
| | | | | | | | instruction set Differential Revision: http://reviews.llvm.org/D19195 llvm-svn: 267380
* [Clang][AVX512][Builtin] Adding support for VBROADCAST and ↵Michael Zuckerman2016-04-131-0/+47
| | | | | | | | | VPBROADCASTB/W/D/Q instruction set Differential Revision: http://reviews.llvm.org/D19012 llvm-svn: 266195
* [Clang][AVX512][Builtin] Adding supporting to intrinsics of ↵Michael Zuckerman2016-04-131-0/+19
| | | | | | | | 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
* [Clang][AVX512][BuiltIn] Adding avx512 ( ptest{n}m{b|w}{128|256|512} ) ↵Michael Zuckerman2016-04-111-0/+47
| | | | | | | | builtin to clang Differential Revision: http://reviews.llvm.org/D18924 llvm-svn: 265928
* [Clang][AVX512][BuiltIn] Adding avx512 ( store ) builtin to clangMichael Zuckerman2016-04-101-1/+10
| | | | | | Differential Revision: http://reviews.llvm.org/D18925 llvm-svn: 265895
* [CLANG][avx512][BUILTIN] Adding fixupimm{pd|ps|sd|ss}Michael Zuckerman2016-03-281-0/+36
| | | | | | | | | getexp{sd|ss} getmant{sd|ss} kunpck{di|si} loada{pd|ps} loaddqu{di|hi|qi|si} max{sd|ss} min{sd|ss} kmov16 builtins to clang Differential Revision: http://reviews.llvm.org/D18215 llvm-svn: 264574
* [CLANG][AVX512][BUILTIN] Adding vpmultishiftqb{128|256|512}Michael Zuckerman2016-03-071-0/+12
| | | | | | Differential Revision: http://reviews.llvm.org/D17914 llvm-svn: 262817
* [CLANG][AVX512][BUILTIN] movdqu{qi|hi} {128|256|512}Michael Zuckerman2016-03-031-0/+22
| | | | | | Differential Revision: http://reviews.llvm.org/D17814 llvm-svn: 262609
* [Clang][AVX512][BUILTIN] Adding PSRL{W|WI}{128|256|512}Michael Zuckerman2016-03-031-0/+37
| | | | | | Differential Revision: http://reviews.llvm.org/D17754 llvm-svn: 262593
* [CLANG] [AVX512] [BUILTIN] Adding PSRA{W|WI}{128|256|512}.Michael Zuckerman2016-03-021-0/+37
| | | | | | Differential Revision: http://reviews.llvm.org/D17706 llvm-svn: 262481
* [CLANG] [AVX512] [BUILTIN] Adding PSRAVMichael Zuckerman2016-03-021-0/+18
| | | | | | Differential Revision: http://reviews.llvm.org/D17699 llvm-svn: 262471
* [CLANG][AVX512][BUILTIN] Adding PSRLV builtin Michael Zuckerman2016-03-011-0/+18
| | | | | | Differential Revision: http://reviews.llvm.org/D17718 llvm-svn: 262326
* [CLANG] [AVX512] [BUILTIN] Adding PSLL{V|W|Wi}{128|256|512} builtinMichael Zuckerman2016-02-281-0/+54
| | | | | | Differential Revision: http://reviews.llvm.org/D17685 llvm-svn: 262177
* [CLANG] [AVX512] [BUILTIN] Adding PSHUF{L|H}W{128|256|512} builtin to clang .Michael Zuckerman2016-02-241-0/+38
| | | | | | Differential Revision: http://reviews.llvm.org/D17539 llvm-svn: 261755
* [CLANG] [AVX512] [BUILTIN] Adding pmovzx{b|d|w}{w|d|q}{128|256|512} builtin ↵Michael Zuckerman2016-02-211-0/+18
| | | | | | | | to clang Differential Revision: http://reviews.llvm.org/D16961 llvm-svn: 261471
* [CLANG] [AVX512] [BUILTIN] Adding pmovsx{b|d|w}{w|d|q}{128|256|512} builtin ↵Michael Zuckerman2016-02-181-0/+17
| | | | | | | | to clang Differential Revision: http://reviews.llvm.org/D16955 llvm-svn: 261196
* Canonicalize some of the x86 builtin tests and either remove or commentEric Christopher2015-10-141-2/+5
| | | | | | about optimization options. llvm-svn: 250271
* Fix the SSE4 byte sign extension in a cleaner way, and more thoroughlyChandler Carruth2015-10-011-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test that our intrinsics behave the same under -fsigned-char and -funsigned-char. This further testing uncovered that AVX-2 has a broken cmpgt for 8-bit elements, and has for a long time. This is fixed in the same way as SSE4 handles the case. The other ISA extensions currently work correctly because they use specific instruction intrinsics. As soon as they are rewritten in terms of generic IR, they will need to add these special casts. I've added the necessary testing to catch this however, so we shouldn't have to chase it down again. I considered changing the core typedef to be signed, but that seems like a bad idea. Notably, it would be an ABI break if anyone is reaching into the innards of the intrinsic headers and passing __v16qi on an API boundary. I can't be completely confident that this wouldn't happen due to a macro expanding in a lambda, etc., so it seems much better to leave it alone. It also matches GCC's behavior exactly. A fun side note is that for both GCC and Clang, -funsigned-char really does change the semantics of __v16qi. To observe this, consider: % cat x.cc #include <smmintrin.h> #include <iostream> int main() { __v16qi a = { 1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; __v16qi b = _mm_set1_epi8(-1); std::cout << (int)(a / b)[0] << ", " << (int)(a / b)[1] << '\n'; } % clang++ -o x x.cc && ./x -1, 1 % clang++ -funsigned-char -o x x.cc && ./x 0, 1 However, while this may be surprising, both Clang and GCC agree. Differential Revision: http://reviews.llvm.org/D13324 llvm-svn: 249097
* [X86][AVX512BW] add convert i16 to i8 and unpack intrinsicsAsaf Badouh2015-07-291-0/+127
| | | | | | Differential Revision: http://reviews.llvm.org/D11564 llvm-svn: 243514
* [X86][AVX512BW] add madd and maddubs intrinsicsAsaf Badouh2015-07-231-0/+30
| | | | | | Differential Revision: http://reviews.llvm.org/D11420 llvm-svn: 242986
* [X86][AVX512BW] add clang intrinsics for pmulhrsw / pmulhuw / pmulhwAsaf Badouh2015-07-191-1/+48
| | | | | | | | also made minor fix in "test_mm512_maskz_permutex2var_epi16" Differential Revision: http://reviews.llvm.org/D11336 llvm-svn: 242635
* [X86][AVX512BW] Add more intrinsics support:Asaf Badouh2015-06-291-0/+406
| | | | | | | | | | Blend, abs, packs, adds, subs, avg, max, min, permute. all the intrinsics are covered by tests review: http://reviews.llvm.org/D10799 llvm-svn: 240937
* AVX-512: Changed CC parameter in "cmp" intrinsicElena Demikhovsky2015-05-111-48/+48
| | | | | | from i8 to i32 according to the Intel Spec llvm-svn: 236980
* AVX-512: added intrinsics for KNL and SKXElena Demikhovsky2015-04-281-0/+90
| | | | | | by Asaf Badouh (asaf.badouh@intel.com) llvm-svn: 235986
* [X86] Add AVX512 integer comparison intrinsics for word and byte vectors.Craig Topper2015-01-261-0/+312
| | | | llvm-svn: 227079
* [AVX512] Added VPCMPEQ intrinisics to headers.Robert Khasanov2014-10-081-0/+27
Added tests. Patch by Maxim Blumenthal <maxim.blumenthal@intel.com> llvm-svn: 219319
OpenPOWER on IntegriCloud