llvm-project/llvm
Igor Breger fda32d266a [X86] Fix EXTRACT_VECTOR_ELT with variable index from v32i16 and v64i8 vector.
Its more profitable to go through memory (1 cycles throughput)
than using VMOVD + VPERMV/PSHUFB sequence ( 2/3 cycles throughput) to implement EXTRACT_VECTOR_ELT with variable index.
IACA tool was used to get performace estimation (https://software.intel.com/en-us/articles/intel-architecture-code-analyzer)
For example for var_shuffle_v16i8_v16i8_xxxxxxxxxxxxxxxx_i8 test from vector-shuffle-variable-128.ll I get 26 cycles vs 79 cycles. 
Removing the VINSERT node, we don't need it any more.

Differential Revision: https://reviews.llvm.org/D29690

llvm-svn: 295660
2017-02-20 14:16:29 +00:00
..
bindings Go binding: Add methods for missing PassManagerBuilder C APIs 2017-02-17 05:41:05 +00:00
cmake [CMake] Support externalizing debug info on non-Darwin platforms 2017-02-17 19:29:12 +00:00
docs Update Bugzilla URLs in docs 2017-02-17 08:26:11 +00:00
examples llvm/examples/Kaleidoscope/BuildingAJIT: More fixup corresponding to r295636. 2017-02-20 10:07:41 +00:00
include [Orc] Rename ObjectLinkingLayer -> RTDyldObjectLinkingLayer. 2017-02-20 05:45:14 +00:00
lib [X86] Fix EXTRACT_VECTOR_ELT with variable index from v32i16 and v64i8 vector. 2017-02-20 14:16:29 +00:00
projects
resources
runtimes [CMake] Handle common options for runtimes build 2017-01-10 19:47:05 +00:00
test [X86] Fix EXTRACT_VECTOR_ELT with variable index from v32i16 and v64i8 vector. 2017-02-20 14:16:29 +00:00
tools [Orc] Rename ObjectLinkingLayer -> RTDyldObjectLinkingLayer. 2017-02-20 05:45:14 +00:00
unittests [Orc] Rename ObjectLinkingLayer -> RTDyldObjectLinkingLayer. 2017-02-20 05:45:14 +00:00
utils [X86][AVX] Extend hasVEX_WPrefix bit to accept WIG value (W Ignore) + update all AVX instructions with the new value. 2017-02-20 08:27:54 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt [Tablegen] Instrumenting table gen DAGGenISelDAG 2017-02-14 18:32:41 +00:00
CODE_OWNERS.TXT Collapse my two entries in CODE_OWNERS.txt 2017-02-15 23:45:21 +00:00
CREDITS.TXT Revert r294228 2017-02-06 19:40:56 +00:00
LICENSE.TXT Bump year to 2017 in LICENSE.txt 2017-01-12 18:02:42 +00:00
LLVMBuild.txt
README.txt Test commit: remove a blank line. 2017-02-03 10:56:57 +00:00
RELEASE_TESTERS.TXT Update the release tester for MIPS. NFC. 2017-01-17 11:00:28 +00:00
configure
llvm.spec.in

README.txt

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.

LLVM is open source software. You may freely distribute it under the terms of
the license agreement found in LICENSE.txt.

Please see the documentation provided in docs/ for further
assistance with LLVM, and in particular docs/GettingStarted.rst for getting
started with LLVM and docs/README.txt for an overview of LLVM's
documentation setup.

If you are writing a package for LLVM, see docs/Packaging.rst for our
suggestions.