Go to file
Craig Topper dfc79c7c33 [X86] Fix InsertBitToMaskVector to only issue KSHIFTS of native size so that upper bits are properly zeroed.
There's no v2i1 or v4i1 kshift, and v8i1 is only supported with AVXDQ. Isel has fake patterns to extend these types to native shifts, but makes no guarantees about the value of any bits shifted in when shifting right.

This patch promotes the vector to a type that supports a native shift first and only allows inserting into the msb of a native sized shift.

I've constructed this in a way that doesn't do the promotion if we're going to fallback to using a xmm/ymm/zmm shuffle. I think I have a plan to remove the shuffle fall back entirely. In which case we this can be simplified, but I wanted to fix the correctness issue first.

llvm-svn: 320081
2017-12-07 20:10:04 +00:00
clang [OPENMP] Do not capture private variables in the target regions. 2017-12-07 19:49:28 +00:00
clang-tools-extra [clangd-fuzzer] Update contruction of LSPServer. 2017-12-07 19:04:27 +00:00
compiler-rt [sanitizer] Simplify android_run.py. 2017-12-07 01:28:44 +00:00
debuginfo-tests Revert "Temporarily pin tests to DWARF v2 until a more recent version of LLDB" 2017-12-07 19:40:31 +00:00
libclc configure.py: Add gfx900 (Vega, Raven) 2017-11-27 11:14:06 +00:00
libcxx [libcxx] [test] Strip trailing whitespace. NFC. 2017-12-07 00:50:23 +00:00
libcxxabi [libcxxabi] Set up .arcconfig to point to new Diffusion CXXA repository 2017-12-04 23:14:03 +00:00
libunwind [libunwind][CMake] Set TARGET_TRIPLE if LIBUNWND_TARGET_TRIPLE is set 2017-12-05 20:48:05 +00:00
lld Further simplify .gnu.hash writing. NFC. 2017-12-07 18:59:29 +00:00
lldb These tests don't depend on debug info format. 2017-12-07 19:44:09 +00:00
llgo irgen: Create functions instead of global variables for builtin hash and equal algorithms. 2017-06-04 22:11:28 +00:00
llvm [X86] Fix InsertBitToMaskVector to only issue KSHIFTS of native size so that upper bits are properly zeroed. 2017-12-07 20:10:04 +00:00
openmp [libomptarget] Split implementation of interface functions 2017-12-06 21:59:15 +00:00
parallel-libs [Axccel] Remove -Wno-missing-braces in build 2016-12-19 21:34:07 +00:00
polly [NFC] Fix formatting 2017-12-06 22:01:08 +00:00
README.md Add an svn project to contain the files that appear at the root of the 2017-10-19 21:09:49 +00:00

README.md

Low Level Virtual Machine (LLVM)

This directory and its subdirectories contain source code for LLVM, a toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.