Simon Pilgrim
427154db2a
[X86][AVX512] Converted the VSHUFPD intrinsics to generic IR
...
llvm-svn: 274523
2016-07-04 21:30:47 +00:00
Simon Pilgrim
30db811526
[X86][AVX512] Converted the VPERMPD/VPERMQ intrinsics to generic IR
...
llvm-svn: 274502
2016-07-04 13:34:44 +00:00
Simon Pilgrim
17388f2569
[X86][AVX512] Converted the VPERMILPD/VPERMILPS intrinsics to generic IR
...
llvm-svn: 274492
2016-07-04 11:06:15 +00:00
Simon Pilgrim
275d721485
[X86][AVX512] Converted the MOVDDUP/MOVSLDUP/MOVSHDUP masked intrinsics to generic IR
...
llvm companion patch imminent
llvm-svn: 274442
2016-07-02 17:16:25 +00:00
Artur Pilipenko
70d4bb566c
Update the expected masked load/store intrinsics names in tests
...
The mangling of their names was changed in order to support arbitrary addrspace pointers as arguments in rL274043.
llvm-svn: 274044
2016-06-28 18:28:45 +00:00
Craig Topper
79f53ca0b5
[AVX512] Replace masked unpack builtins with shufflevector and selects.
...
llvm-svn: 273533
2016-06-23 06:36:42 +00:00
Craig Topper
d1691c7026
[AVX512] Replace masked integer cmp and ucmp builtins with native IR.
...
llvm-svn: 273378
2016-06-22 04:47:58 +00:00
Craig Topper
a54c21e742
[AVX512] Use native IR for mask pcmpeq/pcmpgt intrinsics.
...
llvm-svn: 272787
2016-06-15 14:06:34 +00:00
Michael Zuckerman
223676d2cc
[Clang][AVX512][intrinsics] Adding missing intrinsics div_pd and div_ps
...
Differential Revision: http://reviews.llvm.org/D20626
llvm-svn: 272658
2016-06-14 12:38:58 +00:00
Asaf Badouh
880f0c252b
[X86][AVX512F] bugfix - sqrtps should get __mask16 as mask parameter
...
CR: Michael Zuckerman
llvm-svn: 272549
2016-06-13 15:15:57 +00:00
Simon Pilgrim
beca5f295c
[Clang][X86] Convert non-temporal store builtins to generic __builtin_nontemporal_store in headers
...
We can now use __builtin_nontemporal_store instead of target specific builtins for naturally aligned nontemporal stores which avoids the need for handling in CGBuiltin.cpp
The scalar integer nontemporal (unaligned) store builtins will have to wait as __builtin_nontemporal_store currently assumes natural alignment and doesn't accept the 'packed struct' trick that we use for normal unaligned load/stores.
The nontemporal loads require further backend support before we can safely convert them to __builtin_nontemporal_load
Differential Revision: http://reviews.llvm.org/D21272
llvm-svn: 272540
2016-06-13 09:57:52 +00:00
Craig Topper
7cc9263ec2
[AVX512] Implement masked and 512-bit pshufd intrinsics directly with __builtin_shufflevector and __builtin_ia32_select.
...
llvm-svn: 272467
2016-06-11 12:50:19 +00:00
Igor Breger
aadb876200
[AVX512] Emit select instruction instead of using x86 specific instrinsics.
...
This will allow us to remove the x86 instrinics from the backend.
Differential Revision: http://reviews.llvm.org/D21060
llvm-svn: 272141
2016-06-08 13:59:20 +00:00
Michael Zuckerman
95721ac863
[Clang][AVX512]Adding set4 intrinsics
...
Differential Revision: http://reviews.llvm.org/D20866
llvm-svn: 271835
2016-06-05 15:43:30 +00:00
Michael Zuckerman
f36f6eb036
[Clang][AVX512][Intrinsics] Adding two definitions _mm512_setzero and _mm512_setzero_epi32
...
Differential Revision: http://reviews.llvm.org/D20871
llvm-svn: 271832
2016-06-05 15:12:52 +00:00
Asaf Badouh
89f657611c
[X86][AVX512] add intrinsics of Scalar FP to integer
...
Differential Revision: http://reviews.llvm.org/D20861
llvm-svn: 271499
2016-06-02 08:11:35 +00:00
Michael Zuckerman
6170c15fc6
[Clang][Intrinsics][avx512] Continue Adding round cvt to clang
...
And remove trailing spaces in intrinsic f test
Differential Revision: http://reviews.llvm.org/D20810
llvm-svn: 271398
2016-06-01 14:41:41 +00:00
Michael Zuckerman
e6aa66a53d
[Clang][Intrinsics][avx512] Adding round intrinsics fot max/min/sqrt instruction set to clang
...
Differential Revision: http://reviews.llvm.org/D20812
llvm-svn: 271373
2016-06-01 08:34:03 +00:00
Michael Zuckerman
c301c194ec
[Clang][Intrinsics][avx512] Adding round roundscale to clang
...
Differential Revision: http://reviews.llvm.org/D20815
llvm-svn: 271368
2016-06-01 07:35:44 +00:00
Michael Zuckerman
186d86738d
[Clang][Intrinsics][avx512] Adding round cvt to clang
...
Differential Revision: http://reviews.llvm.org/D20790
llvm-svn: 271265
2016-05-31 11:27:34 +00:00
Craig Topper
4b060e31c9
[AVX512] Convert masked load builtins to generic masked load intrinsics instead of the x86 specific ones.
...
This will allow the x86 intrinsics to be removed from the backend.
llvm-svn: 271253
2016-05-31 06:58:07 +00:00
Craig Topper
6e891fbdd2
[AVX512] Emit generic masked store instrinsics instead of using x86 specific intrinsics.
...
This will allow us to remove the x86 instrinics from the backend.
llvm-svn: 271246
2016-05-31 01:50:10 +00:00
Michael Zuckerman
9fcf3552ad
[Clang][avx512][builtin] Adding missing intrinsics for cvt
...
Differential Revision: http://reviews.llvm.org/D20618
llvm-svn: 271205
2016-05-30 13:22:12 +00:00
Craig Topper
cbdbbac875
[AVX512] Add masked v16i32 and v8i64 unaligned store tests.
...
llvm-svn: 271134
2016-05-28 18:59:06 +00:00
Michael Zuckerman
22c47e606a
Adding missing _mm512_castsi512_si256 intrinsic.
...
llvm-svn: 270851
2016-05-26 14:32:11 +00:00
Michael Zuckerman
6f08cebf36
[Clang][AVX512][BUILTIN] Adding intrinsics for set1
...
Differential Revision: http://reviews.llvm.org/D20562
llvm-svn: 270825
2016-05-26 06:54:52 +00:00
Benjamin Kramer
1f4381f810
[AVX512] Don't rely on value names. They're different in release builds.
...
llvm-svn: 270704
2016-05-25 14:30:01 +00:00
Michael Zuckerman
d5cc6cd262
[Clang][AVX512][BUILTIN] Add missing intrinsics for cast
...
Differential Revision: http://reviews.llvm.org/D20523
llvm-svn: 270699
2016-05-25 14:04:21 +00:00
Michael Zuckerman
e6542002fc
[Clang][AVX512][BUILTIN]adding missing intrinsics for movdaq instruction set
...
Differential Revision: http://reviews.llvm.org/D20514
llvm-svn: 270401
2016-05-23 08:01:48 +00:00
Benjamin Kramer
504c01cc67
Don't rely on value numbers in test, those are fragile and change in Release (no asserts) builds.
...
llvm-svn: 270085
2016-05-19 17:57:35 +00:00
Michael Zuckerman
178113e8cc
[Clang][AVX512][intrinsics] continue completing missing set intrinsics
...
Differential Revision: http://reviews.llvm.org/D20160
llvm-svn: 270047
2016-05-19 12:07:49 +00:00
Michael Zuckerman
2cacc35343
[Clang][AVX512] completing missing intrinsics [pandnd].
...
Differential Revision: http://reviews.llvm.org/D20101
llvm-svn: 269939
2016-05-18 15:25:53 +00:00
Craig Topper
dbbe4a5542
[AVX512] Fix return types in several test cases to match the intrinsic they're testing.
...
llvm-svn: 269738
2016-05-17 04:41:32 +00:00
Michael Zuckerman
bf05a4589e
[Clang][AVX512] completing missing intrinsics for [vpabs] instruction set
...
Differential Revision: http://reviews.llvm.org/D20069
llvm-svn: 269680
2016-05-16 18:57:24 +00:00
Michael Zuckerman
cb85677471
[Clang][AVX512] completing missing intrinsics [vsqrt|vrsqrt|vrcp14 ].
...
Differential Revision: http://reviews.llvm.org/D20068
llvm-svn: 269649
2016-05-16 11:42:01 +00:00
Craig Topper
9c6c85f1ad
[AVX512] Add typecasts to some intrinsics to avoid doing operations on the __m512/__m512i/__m512d types.
...
llvm-svn: 269631
2016-05-16 06:38:36 +00:00
Craig Topper
e5cc18054a
[AVX512] Use correct types in test case.
...
llvm-svn: 269622
2016-05-16 01:09:19 +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
13d3c002df
[clang][AVX512] completing missing set intrinsics
...
Differential Revision: http://reviews.llvm.org/D20099
llvm-svn: 269172
2016-05-11 11:41:29 +00:00
Michael Zuckerman
5e2c6b6200
[clang][AVX512] completing missing intrinsics for [vpermt2d|vptestm] instruction set.
...
Differential Revision: http://reviews.llvm.org/D20096
llvm-svn: 269170
2016-05-11 11:21:18 +00:00
NAKAMURA Takumi
d4fbaef2b0
clang/test/CodeGen/avx512f-builtins.c: Fix for -Asserts.
...
llvm-svn: 269079
2016-05-10 17:16:12 +00:00
Michael Zuckerman
e9e8e573e3
[Clang][AVX512] completing missing intrinsics [load/store]
...
Differential Revision: http://reviews.llvm.org/D20063
llvm-svn: 269056
2016-05-10 13:13:54 +00:00
Michael Zuckerman
de860e5585
[Clang][AVX512] completing missing intrinsics [vmin/vmax]{sd|sq|uq|ud}.
...
Differential Revision: http://reviews.llvm.org/D20064
llvm-svn: 269042
2016-05-10 11:34:19 +00:00
Michael Zuckerman
2564d2f5fe
[Clang][AVX512] completing missing intrinsics [vextractf].
...
Differential Revision: http://reviews.llvm.org/D20061
llvm-svn: 269037
2016-05-10 10:14:50 +00:00
Michael Zuckerman
7360d8a9cc
[Clang][AVX512] completing missing intrinsics [roundscale, ceil, floor]
...
Differential Revision: http://reviews.llvm.org/D20070
llvm-svn: 269022
2016-05-10 07:30:58 +00:00
Michael Zuckerman
f9be3bb1d5
[clang][AVX512] completing missing intrinsics [vmin/vmax].
...
Differential Revision: http://reviews.llvm.org/D20062
llvm-svn: 268910
2016-05-09 12:38:49 +00:00
Michael Zuckerman
f15447537f
[Clang][AVX512] completing missing intrinsics [CVT]
...
Differential Revision: http://reviews.llvm.org/D20056
llvm-svn: 268903
2016-05-09 10:32:51 +00:00
Michael Zuckerman
e6f7389b5a
[Clang][Builtin][AVX512] Adding intrinsics fot cvt{u}si2s{d|s} cvt{sd|ss}2{ss|sd} instruction set
...
Differential Revision: http://reviews.llvm.org/D19765
llvm-svn: 268481
2016-05-04 08:55:11 +00:00
Pete Cooper
71dfcb42eb
Change test to use regex instead of explicit value numbers. NFC.
...
We were seeing an internal failure when running this test. I can't
see a good reason for the difference, but the simple fix is to use
%{{.*}} instead of %1.
llvm-svn: 268416
2016-05-03 18:32:01 +00:00
Michael Zuckerman
c66770313a
[clang][AVX512][BuiltIn] Adding intrinsics for cast{pd|ps|si}128_{pd|ps|si}512 and castsi256_si512 instruction set
...
Differential Revision: http://reviews.llvm.org/D19858
llvm-svn: 268387
2016-05-03 14:26:52 +00:00