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
Craig Topper
6a77b62640
[X86] Use unsigned types for vector arithmetic in intrinsics to avoid undefined behavior for signed integer overflow.
...
This is really only needed for addition, subtraction, and multiplication, but I did the bitwise ops too for overall consistency. Clang currently doesn't set NSW for signed vector operations so the undefined behavior shouldn't happen today.
llvm-svn: 271778
2016-06-04 05:43:41 +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
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
Ekaterina Romanova
5a7f09c5af
Clean up: remove trailing spaces in x86 intrinsic headers.
...
Differential Revision: http://reviews.llvm.org/D20614
llvm-svn: 271077
2016-05-28 00:18:59 +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
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
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
8c18e1120d
[AVX512] Add parentheses around macro arguments in AVX512F intrinsics. Remove leading underscores from macro argument names. Add explicit typecasts to all macro arguments and return values. And finally reformat after all the adjustments.
...
This is a mostly mechanical change accomplished with a script. I tried to split out any changes to the typecasts that already existed into separate commits.
llvm-svn: 269746
2016-05-17 04:41:50 +00:00
Craig Topper
58187d33b7
[AVX512] Correct types for scalar double precision FMA intrinsics and single precision getexp intrinsics.
...
llvm-svn: 269737
2016-05-17 04:41:29 +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
91f23d900f
[X86] Remove bad cast from the 'int' return type of __builtin_ia32_kortestchi to '__mask16' before return in an 'int' intrinsic.
...
llvm-svn: 269621
2016-05-16 01:09:16 +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
Craig Topper
79d05c9b3d
[AVX512] Mark some integer builtin arguments that go to immediates in final instructions as an ICE.
...
llvm-svn: 269613
2016-05-15 20:10:06 +00:00
Craig Topper
9864c59c89
[AVX512] Move unary negations to the left side of typecasts to specific vector type. The __m128/__m256/__m512 types should be treated more opaquely and not have any operations performed on them.
...
llvm-svn: 269612
2016-05-15 20:10:03 +00:00
Craig Topper
4537ea74eb
[X86] Change most 'void' pointers in builtin type lists to more correct types. Fix some unaligned load/store intrinsics to use a less aligned type in their pointer casts.
...
llvm-svn: 269552
2016-05-14 06:03:13 +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
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
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
Michael Zuckerman
138fc5b5a8
[Clang][AVX512][Builtin] Adding intrinsics for vcvttpd2udq instruction set
...
Differential Revision: http://reviews.llvm.org/D19768
llvm-svn: 268373
2016-05-03 11:05:24 +00:00
Michael Zuckerman
708e759b86
[Clang][AVX512][BUILTIN] Adding intrinsics for compressstore{df|di|sf|si} instruction set.
...
Differential Revision: http://reviews.llvm.org/D19808
llvm-svn: 268372
2016-05-03 10:42:46 +00:00
Michael Zuckerman
5f0e96e56a
[CLANG][AVX512][BUILTIN]movap{d|s}{128|256|512}
...
Differential Revision: http://reviews.llvm.org/D17818
llvm-svn: 268230
2016-05-02 14:02:01 +00:00
Michael Zuckerman
d6e68ce75f
[Clang][AVX512][BuiltIn] Adding intrinsics for cvtps2pd instruction set
...
Differential Revision: http://reviews.llvm.org/D19774
llvm-svn: 268217
2016-05-02 09:42:31 +00:00
Michael Zuckerman
6a0e0871db
[Clang][avx512][builtin] Adding intrinsics for vexpand{d|q|ps|pd} instrctuon set
...
Differential Revision: http://reviews.llvm.org/D19467
llvm-svn: 268214
2016-05-02 08:36:41 +00:00
Michael Zuckerman
c62f27e3f4
[Clang][BuiltIn][avx512] Adding intrinsics for vpshufd instruction set
...
Differential Revision: http://reviews.llvm.org/D19580
llvm-svn: 268213
2016-05-02 07:35:27 +00:00
Michael Zuckerman
ac1e519944
[clang][Builtin][AVX512] Adding intrinsics for vmovshdup and vmovsldup instruction set
...
Differential Revision: http://reviews.llvm.org/D19595
llvm-svn: 268196
2016-05-01 14:43:43 +00:00
Michael Zuckerman
0b9d105a16
[clang][BuiltIn][AVX512]Adding intrinsics for cmp{ss|sd} instruction set.
...
Differential Revision: http://reviews.llvm.org/D19601
llvm-svn: 268028
2016-04-29 11:01:16 +00:00
Michael Zuckerman
41f5a37707
[Clang][AVX512][Builtin] Adding intrinsics for compress instruction set
...
Differential Revision: http://reviews.llvm.org/D19599
llvm-svn: 268013
2016-04-29 08:52:02 +00:00
Michael Zuckerman
533e065bdc
[Clang][BuiltIn][AVX512] Adding intrinsics fot align{d|q} and palignr instruction set
...
Differential Revision: http://reviews.llvm.org/D19588
llvm-svn: 267876
2016-04-28 12:47:30 +00:00
Michael Zuckerman
8c2900f44d
[Clang][BuiltIn][AVX512] Adding intrinsics without mask for VBROADCAST and VPBROADCAST instruction set .
...
Differential Revision: http://reviews.llvm.org/D19196
llvm-svn: 267696
2016-04-27 11:43:14 +00:00
Michael Zuckerman
7c85a8cb46
[Clang][BuiltIn][AVX512]Adding intrinsics for vmovntdqa vmovntpd vmovntps instruction set
...
Differential Revision: http://reviews.llvm.org/D19529
llvm-svn: 267690
2016-04-27 10:44:15 +00:00
Michael Zuckerman
fa508e8b6d
[Clang][Builtin][AVX512]Adding k-register logic intrinsics KAND, KANDN, KOR, KORTEST, KXNOR, KXOR, KUNPACK instruction set.
...
Differential Revision: http://reviews.llvm.org/D19466
llvm-svn: 267425
2016-04-25 16:42:29 +00:00
Michael Zuckerman
fcf32c2f00
[Clang][AVX512][BUILTIN] Adding intrinsics for VSCATTERPF{1|0}{DPS|QPS|DPD|QPD} instruction set
...
Differential Revision: http://reviews.llvm.org/D19313
llvm-svn: 267398
2016-04-25 13:01:40 +00:00
Michael Zuckerman
8938e836c4
[Clang][AVX512][BuiltIn] Adding support to intrinsics of VPERMD and VPERMW instruction set
...
Differential Revision: http://reviews.llvm.org/D19195
llvm-svn: 267380
2016-04-25 05:32:35 +00:00