| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
llvm-svn: 273533
|
|
|
|
| |
llvm-svn: 273378
|
|
|
|
| |
llvm-svn: 272787
|
|
|
|
|
|
| |
directly with __builtin_shufflevector and __builtin_ia32_select. Also improve the formatting of the AVX2 version.
llvm-svn: 272452
|
|
|
|
| |
llvm-svn: 272451
|
|
|
|
|
|
|
|
| |
This will allow us to remove the x86 instrinics from the backend.
Differential Revision: http://reviews.llvm.org/D21060
llvm-svn: 272141
|
|
|
|
|
|
| |
the other palignr builtins, but with a select to handle masking.
llvm-svn: 271873
|
|
|
|
|
|
|
|
| |
instead of the x86 specific ones.
This will allow the x86 intrinsics to be removed from the backend.
llvm-svn: 271253
|
|
|
|
|
|
|
|
| |
intrinsics.
This will allow us to remove the x86 instrinics from the backend.
llvm-svn: 271246
|
|
|
|
|
|
|
|
| |
instruction set
Differential Revision: http://reviews.llvm.org/D19766
llvm-svn: 268385
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D19591
llvm-svn: 267942
|
|
|
|
|
|
|
|
| |
instruction set
Differential Revision: http://reviews.llvm.org/D19588
llvm-svn: 267876
|
|
|
|
|
|
|
|
| |
instruction set
Differential Revision: http://reviews.llvm.org/D19195
llvm-svn: 267380
|
|
|
|
|
|
|
|
|
| |
VPBROADCASTB/W/D/Q instruction set
Differential Revision: http://reviews.llvm.org/D19012
llvm-svn: 266195
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
builtin to clang
Differential Revision: http://reviews.llvm.org/D18924
llvm-svn: 265928
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D18925
llvm-svn: 265895
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17914
llvm-svn: 262817
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17814
llvm-svn: 262609
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17754
llvm-svn: 262593
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17706
llvm-svn: 262481
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17699
llvm-svn: 262471
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17718
llvm-svn: 262326
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17685
llvm-svn: 262177
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D17539
llvm-svn: 261755
|
|
|
|
|
|
|
|
| |
to clang
Differential Revision: http://reviews.llvm.org/D16961
llvm-svn: 261471
|
|
|
|
|
|
|
|
| |
to clang
Differential Revision: http://reviews.llvm.org/D16955
llvm-svn: 261196
|
|
|
|
|
|
| |
about optimization options.
llvm-svn: 250271
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11564
llvm-svn: 243514
|
|
|
|
|
|
| |
Differential Revision: http://reviews.llvm.org/D11420
llvm-svn: 242986
|
|
|
|
|
|
|
|
| |
also made minor fix in "test_mm512_maskz_permutex2var_epi16"
Differential Revision: http://reviews.llvm.org/D11336
llvm-svn: 242635
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
from i8 to i32 according to the Intel Spec
llvm-svn: 236980
|
|
|
|
|
|
| |
by Asaf Badouh (asaf.badouh@intel.com)
llvm-svn: 235986
|
|
|
|
| |
llvm-svn: 227079
|
|
Added tests.
Patch by Maxim Blumenthal <maxim.blumenthal@intel.com>
llvm-svn: 219319
|