- Sep 09, 2016
-
-
Albert Gutowski authored
Reviewers: thakis, Prazek, compnerd, rnk Subscribers: majnemer, cfe-commits Differential Revision: https://reviews.llvm.org/D24311 llvm-svn: 280997
-
- Aug 19, 2016
-
-
Changpeng Fang authored
Summary: int __builtin_amdgcn_ds_swizzle (int a, int imm); while imm is a constant. Differential Revision: http://reviews.llvm.org/D23682 llvm-svn: 279165
-
- Aug 16, 2016
-
-
Reid Kleckner authored
This reverts commit r278783. It breaks usage of _xgetbv on Windows. llvm-svn: 278814
-
Marina Yatsina authored
commit on behalf of guyblank Differential Revision: https://reviews.llvm.org/D21959 llvm-svn: 278783
-
- Aug 10, 2016
-
-
Chandler Carruth authored
constraints were added to _mm256_broadcast_{pd,ps} intel intrinsics. The spec for these intrinics is ... pretty much silent on alignment. This is especially frustrating considering the amount of discussion of alignment in the load and store instrinsics. So I was forced to rely on the specification for the VBROADCASTF128 instruction. That instruction's spec is *also* completely silent on alignment. Fortunately, when it comes to the instruction's spec, silence is enough. There is no #GP fault option for an underaligned address so this instruction, and by inference the intrinsic, can read any alignment. As it happens, the old code worked exactly this way and in fact we have plenty of code that hands pointers with less than 16-byte alignment to these intrinsics. This code broke pretty spectacularly with this commit. Fortunately, the fix is super simple! Change a 16 to a 1, and ta da! Anyways, a lot of debugging for a really boring fix. =] llvm-svn: 278202
-
- Aug 05, 2016
-
-
Wei Ding authored
wavefront result. Differential Revision: http://reviews.llvm.org/D22934 llvm-svn: 277824
-
- Aug 04, 2016
-
-
Alexey Bader authored
Summary: In order to re-define OpenCL built-in functions 'to_{private,local,global}' in OpenCL run-time library LLVM names must be different from the clang built-in function names. Reviewers: yaxunl, Anastasia Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D23120 llvm-svn: 277743
-
- Jul 22, 2016
-
-
Simon Pilgrim authored
As discussed on D22460, I've updated the vbroadcastf128 pd256/ps256 builtins to map directly to generic IR - load+splat a 128-bit vector to both lanes of a 256-bit vector. Fix for PR28657. llvm-svn: 276417
-
- Jul 15, 2016
-
-
Matt Arsenault authored
llvm-svn: 275623
-
Matt Arsenault authored
llvm-svn: 275622
-
Wei Ding authored
Differential Revision: http://reviews.llvm.org/D22380 llvm-svn: 275577
-
- Jul 11, 2016
-
-
Jan Vesely authored
Reviewers: tstellardAMD Differential Revision: http://reviews.llvm.org/D20299 llvm-svn: 275030
-
- Jul 08, 2016
-
-
Craig Topper authored
[CodeGen] Use llvm::Type::getVectorNumElements instead of casting to llvm::VectorType and calling getNumElements. This is equivalent and shorter. llvm-svn: 274823
-
Craig Topper authored
llvm-svn: 274821
-
Craig Topper authored
[X86] Remove a couple calls to create V2F64 and V4F32 types for builtin handling. Just get the type from the operand of the builtin instead. NFC llvm-svn: 274820
-
- Jul 06, 2016
-
-
Craig Topper authored
[X86] Use native IR for immediate values 0-7 of packed fp cmp builtins. This makes them the same as what is done when using the SSE builtins for these same encodings. llvm-svn: 274608
-
Craig Topper authored
llvm-svn: 274603
-
- Jul 05, 2016
-
-
Anastasia Stulova authored
- Added new Builtins: enqueue_kernel, get_kernel_work_group_size and get_kernel_preferred_work_group_size_multiple. These Builtins use custom check to diagnose parameters of the passed Blocks i. e. variable number of 'local void*' type params, and check different overloads specified in Table 6.31 of OpenCL v2.0. - IR is generated as an internal library call for each OpenCL Builtin, reusing ObjC Block implementation. Review: http://reviews.llvm.org/D20249 llvm-svn: 274540
-
- Jul 04, 2016
-
-
Anastasia Stulova authored
Currently we only have OpenCL 2.0 Builtins i.e. pipes or address space conversions. They have to be added only in the version 2.0 compilation mode to make the identifiers available for use in the other versions. Review: http://reviews.llvm.org/D20249 llvm-svn: 274509
-
Craig Topper authored
[AVX512] Modify what indices we emit for the zero vector we use for zero extension of the result of a v2i1 or v4i1 masked compare. This way we emit something that the backend easily interprets as a concatenation rather than a true shuffle. This delivers slightly better codegen with the current backend capabilities. llvm-svn: 274484
-
- Jul 01, 2016
-
-
Matt Arsenault authored
This is important for building libclc. Since r273039 tests are failing due to now emitting calls to these functions instead of emitting the DAG node. The libm function names are implemented for OpenCL, and should call the locally defined versions, so -fno-builtin is used. The IR Some functions use the __builtins and expect the intrinsics to be emitted. Without this we end up with nobuiltin calls to intrinsics or to unsupported library calls. llvm-svn: 274370
-
- Jun 29, 2016
-
-
Igor Breger authored
Differential Revision: http://reviews.llvm.org/D21746 llvm-svn: 274110
-
- Jun 28, 2016
-
-
Matt Arsenault authored
llvm-svn: 273965
-
- Jun 22, 2016
-
-
Craig Topper authored
llvm-svn: 273378
-
- Jun 17, 2016
-
-
Simon Pilgrim authored
Depends on llvm side commit r273002. llvm-svn: 273003
-
Ranjeet Singh authored
Reapplying patch in r272777 which was reverted because the llvm patch which added support for generating the mcrr/mcrr2 instructions from the intrinsic was causing an assertion failure. This has now been fixed in llvm. llvm-svn: 272983
-
- Jun 16, 2016
-
-
Sanjay Patel authored
Sibling patch to r272932: http://reviews.llvm.org/rL272932 llvm-svn: 272933
-
Marcin Koscielnicki authored
This is now supported for ARM, AArch64, PowerPC, SystemZ, SPARC, Mips. Differential Revision: http://reviews.llvm.org/D19589 llvm-svn: 272893
-
- Jun 15, 2016
-
-
Sanjay Patel authored
As noted in the code comment, a potential follow-on would be to remove the builtins themselves. Other than ord/unord, this already works as expected. Eg: typedef float v4sf __attribute__((__vector_size__(16))); v4sf fcmpgt(v4sf a, v4sf b) { return a > b; } Differential Revision: http://reviews.llvm.org/D21268 llvm-svn: 272840
-
Sanjay Patel authored
Sibling patch to r272806: http://reviews.llvm.org/rL272806 llvm-svn: 272807
-
Ranjeet Singh authored
added in the llvm patch is causing an assertion to fail. llvm-svn: 272790
-
Craig Topper authored
llvm-svn: 272787
-
Ranjeet Singh authored
Patch adds intrinsics for mrrc/mrrc2. The intrinsics for mrrc/mrrc2 return a single uint64_t to represent two 32 bit values. The mcrr/mcrr2 intrinsic was changed to accept a single uint64_t instead of two 32 bit values as the input for consistency. Differential Revision: http://reviews.llvm.org/D21179 llvm-svn: 272777
-
- Jun 13, 2016
-
-
Simon Pilgrim authored
llvm-svn: 272541
-
Simon Pilgrim authored
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
-
- Jun 12, 2016
-
-
Craig Topper authored
[CodeGen] Update to use an ArrayRef of uint32_t instead of int in calls to CreateShuffleVector to match llvm interface change. llvm-svn: 272492
-
- Jun 09, 2016
-
-
Craig Topper authored
[X86] Handle AVX2 pslldqi and psrldqi intrinsics shufflevector creation directly in the header file instead of in CGBuiltin.cpp. Simplify the sse2 equivalents as well. llvm-svn: 272246
-
Craig Topper authored
llvm-svn: 272245
-
- Jun 08, 2016
-
-
Igor Breger authored
This will allow us to remove the x86 instrinics from the backend. Differential Revision: http://reviews.llvm.org/D21060 llvm-svn: 272141
-
- Jun 06, 2016
-
-
Craig Topper authored
[AVX512] Convert masked palignr builtins directly to native IR similar to the other palignr builtins, but with a select to handle masking. llvm-svn: 271873
-