llvm-project/llvm
Sanjay Patel c88f724fed [X86] Prefer blendps over insertps codegen for one special case
With this patch, for this one exact case, we'll generate:

  blendps %xmm0, %xmm1, $1

instead of:

  insertps %xmm0, %xmm1, $0

If there's a memory operand available for load folding and we're
optimizing for size, we'll still generate the insertps.

The detailed performance data motivation for this may be found in D7866; 
in summary, blendps has 2-3x throughput vs. insertps on widely used chips.

Differential Revision: http://reviews.llvm.org/D8332

llvm-svn: 232850
2015-03-20 21:19:52 +00:00
..
autoconf [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
bindings Go bindings: use MDNode::replaceAllUsesWith instead of MDTuple::replaceAllUsesWith. 2015-03-05 22:55:38 +00:00
cmake test: Make a start on a test suite for libLTO. 2015-03-19 23:55:38 +00:00
docs docs: Update llvm-cov docs for the -use-color flag 2015-03-19 18:22:46 +00:00
examples CMake: Disable ENABLE_EXPORTS for executables with MSVC 2015-03-18 20:09:13 +00:00
include Remove dead calls and function arguments dealing with TRI in StackMaps. 2015-03-20 21:05:18 +00:00
lib [X86] Prefer blendps over insertps codegen for one special case 2015-03-20 21:19:52 +00:00
projects Reverse the order libc++ and libc++abi are added in CMake. 2015-03-04 01:16:43 +00:00
test [X86] Prefer blendps over insertps codegen for one special case 2015-03-20 21:19:52 +00:00
tools Don't declare all text sections at the start of the .s 2015-03-20 20:00:01 +00:00
unittests [ConstantRange] Split makeICmpRegion in two. 2015-03-18 00:41:24 +00:00
utils [Tablegen] Attempt to add support for patterns containing nodes with multiple results. 2015-03-20 05:09:06 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Add one more vim swap file pattern 2015-01-30 21:59:28 +00:00
CMakeLists.txt Revert "Generate targets for each lit suite." 2015-03-18 21:53:29 +00:00
CODE_OWNERS.TXT Tom is also responsible for the 3.6 branch. 2015-03-16 18:15:27 +00:00
CREDITS.TXT
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
README.txt Revert test commit 2015-02-04 18:46:00 +00:00
configure [autoconf] Fix the build failure by quoting the strings. 2015-03-12 19:56:25 +00:00
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're writing a package for LLVM, see docs/Packaging.rst for our
suggestions.