1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 19:23:23 +01:00
Go to file
Simon Pilgrim 88d91ba7dc [X86][SSE] Vectorized v4i32 non-uniform shifts.
While the v4i32 shl operation is already vectorized using a cvttps2dq/pmulld pattern, the lshr/ashr opeations are still scalarized.

This patch adds vectorization support for non-uniform v4i32 shift operations - it splats constant shift amounts to allow them to use the immediate sse shift instructions, or extracts/zero-extends non-constant shift amounts. The individual results are then blended together.

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

llvm-svn: 241989
2015-07-12 11:15:19 +00:00
autoconf [Support] Lazy load of dbghlp.dll on Windows 2015-07-02 14:34:57 +00:00
bindings Remove getRelocationAddress. 2015-07-06 14:55:37 +00:00
cmake Revert r241621, "[CMake] Cleanup tools/CMakeLists.txt to take advantage of the auto-registration that was already partially working." 2015-07-08 02:35:43 +00:00
docs Add argmemonly attribute. 2015-07-11 10:30:36 +00:00
examples Simplify the Mangler interface now that DataLayout is mandatory. 2015-06-23 13:59:29 +00:00
include Revert "[ExecutionEngine] Use std::function rather than a function pointer for the LazyFunctionCreator." 2015-07-11 13:42:48 +00:00
lib [X86][SSE] Vectorized v4i32 non-uniform shifts. 2015-07-12 11:15:19 +00:00
projects build: make libunwind a proper project 2015-04-25 01:47:39 +00:00
resources In MSVC builds embed a VERSIONINFO resource in our exe and DLL files. 2015-06-12 15:58:29 +00:00
test [X86][SSE] Vectorized v4i32 non-uniform shifts. 2015-07-12 11:15:19 +00:00
tools Fix llvm-config to emit the linker flag for the combined shared object built by autoconfig/make instead of the individual components. 2015-07-10 20:24:17 +00:00
unittests Revert "[ExecutionEngine] Use std::function rather than a function pointer for the LazyFunctionCreator." 2015-07-11 13:42:48 +00:00
utils MC: Remove MCSubtargetInfo() default constructor 2015-07-10 22:43:42 +00:00
.arcconfig
.clang-format
.clang-tidy
.gitignore Minor updates to gitignore so that symlinks are ignored in the projects dir. 2015-07-07 20:24:58 +00:00
CMakeLists.txt Do not pass -allow-shlib-undefined to the Solaris linker. 2015-06-22 18:24:01 +00:00
CODE_OWNERS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
configure Disallow in-source builds (as we already do for the cmake build). 2015-07-01 18:09:21 +00:00
CREDITS.TXT [WebAssembly] Initial WebAssembly backend 2015-06-29 23:51:55 +00:00
LICENSE.TXT Update for a new year. 2015-03-12 01:25:29 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in Disallow in-source builds (as we already do for the cmake build). 2015-07-01 18:09:21 +00:00
Makefile.rules Add support for SunOS function/data sections and associated 2015-03-03 20:54:29 +00:00
README.txt Revert test commit at revision 233535. 2015-03-30 12:39:03 +00:00

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.