Go to file
Craig Topper 93f38e1f1a [X86] Explcitly disable VEXTRACT instruction matching for an immediate of 0. Remove a bunch of isel patterns that become unnecessary.
We effectively had a second set of isel patterns that tried to use a
regular store instruction and an extract_subreg instruction. Or a masked move
and an extract_subreg. These patterns were intended to override the
matching of VEXTRACT instructions by taking advantage of the priority
of the explicit immediate 0 for the index.

This patch instaed just disables the immediate 0 matchin the VEXTRACT
patterns. This each of the component pieces of the larger patterns will
match by themselves.

This found a bug of sorts were we didn't use 128-bit store for 512->128
extract on KNL. Its unclear what the right thing here should be.
Using the vextract avoids constraining the register allocator to use
xmm0-15. But it always results in a longer encoding if the register
allocator ends up choosing xmm0-15 anyway.

llvm-svn: 361431
2019-05-22 21:00:18 +00:00
clang Add back --sysroot support for darwin header search. 2019-05-22 20:39:51 +00:00
clang-tools-extra [clang-tidy] Add support for writing a check as a Transformer rewrite rule. 2019-05-22 18:56:18 +00:00
compiler-rt [asan] Fix debug asan build link error 2019-05-22 20:29:12 +00:00
debuginfo-tests Set config.lit_tools_dir, which is needed by lit.llvm.initialize. 2018-11-06 21:54:27 +00:00
libclc travis: Add LLVM-8 build 2019-03-27 21:28:31 +00:00
libcxx [libcxx][test] Fix order checking in some more unordered_multimap tests 2019-05-22 18:10:32 +00:00
libcxxabi [libcxxabi] Add a test for invalid assumptions on the alignment of exceptions 2019-05-17 14:53:29 +00:00
libunwind [PPC] Fix 32-bit build of libunwind 2019-05-16 06:49:20 +00:00
lld Re-land r361206 "[COFF] Store alignment in log2 form, NFC" 2019-05-22 20:21:52 +00:00
lldb Add DWARFTypeUnit to the Xcode project. 2019-05-22 19:05:59 +00:00
llgo IR: Support parsing numeric block ids, and emit them in textual output. 2019-03-22 18:27:13 +00:00
llvm [X86] Explcitly disable VEXTRACT instruction matching for an immediate of 0. Remove a bunch of isel patterns that become unnecessary. 2019-05-22 21:00:18 +00:00
openmp [OPENMP][NVPTX]Fix barriers and parallel level counters, NFC. 2019-05-22 19:50:32 +00:00
parallel-libs Fix typos throughout the license files that somehow I and my reviewers 2019-01-21 09:52:34 +00:00
polly [DeLICM] Use polly::singleton to allow empty result. 2019-05-21 19:18:26 +00:00
pstl [pstl] Make the default backend be the serial backend and always provide parallel policies 2019-04-24 20:12:36 +00:00
.arcconfig Update monorepo .arcconfig with new project callsign. 2019-01-31 14:34:59 +00:00
.clang-format Add .clang-tidy and .clang-format files to the toplevel of the 2019-01-29 16:43:16 +00:00
.clang-tidy Disable tidy checks with too many hits 2019-02-01 11:20:13 +00:00
.gitignore Add a reduced copy of the llvm .gitignore 2019-04-09 00:52:49 +00:00
README.md

README.md

The LLVM Compiler Infrastructure

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