1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 12:02:58 +02:00
Go to file
Simon Pilgrim 4d4989655e [X86][SSE1] Add MOVLHPS/MOVHLPS lowering and memory folding support
As discussed on PR26491, this patch adds support for lowering v4f32 shuffles to the MOVLHPS/MOVHLPS instructions. It also adds support for memory folding with their MOVLPS/MOVHPS load equivalents.

This first patch only really helps SSE1 targets as SSE2+ targets will widen the shuffle mask and use v2f64 equivalents (although they still combine to MOVLHPS/MOVHLPS for v2f64 splats). This will have to be addressed in a future patch, most likely when we add support for binary target shuffle combines.

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

llvm-svn: 260168
2016-02-08 23:03:46 +00:00
bindings Remove autoconf support 2016-01-26 21:29:08 +00:00
cmake cmake: Use "set" instead of "option" for LLVM_ENABLE_LTO 2016-02-08 21:55:19 +00:00
docs cmake: Accept "thin" or "full" as arguments to -DLLVM_ENABLE_LTO 2016-02-08 21:01:24 +00:00
examples Remove autoconf support 2016-01-26 21:29:08 +00:00
include [regalloc][WinEH] Do not mark intervals as not spillable if they contain a regmask 2016-02-08 22:52:51 +00:00
lib [X86][SSE1] Add MOVLHPS/MOVHLPS lowering and memory folding support 2016-02-08 23:03:46 +00:00
projects Remove autoconf support 2016-01-26 21:29:08 +00:00
resources
test [X86][SSE1] Add MOVLHPS/MOVHLPS lowering and memory folding support 2016-02-08 23:03:46 +00:00
tools [llvm-nm] Yet another attempt of simplifying code. 2016-02-08 22:58:26 +00:00
unittests Simplify this unittest. 2016-02-08 19:13:15 +00:00
utils TableGen: Add IsOptional field to AsmOperandClass 2016-02-05 19:59:33 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT [docs] Remove references to autotools build. 2016-01-30 01:10:15 +00:00
configure Remove autoconf support 2016-01-26 21:29:08 +00:00
CREDITS.TXT
LICENSE.TXT
llvm.spec.in
LLVMBuild.txt
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.