1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-24 03:33:20 +01:00
llvm-mirror/test
Simon Pilgrim 3b8db9c327 [InstCombine][AVX2] Add support for simplifying AVX2 per-element shifts to native shifts
Unlike native shifts, the AVX2 per-element shift instructions VPSRAV/VPSRLV/VPSLLV handle out of range shift values (logical shifts set the result to zero, arithmetic shifts splat the sign bit).

If the shift amount is constant we can sometimes convert these instructions to native shifts:

1 - if all shift amounts are in range then the conversion is trivial.
2 - out of range arithmetic shifts can be clamped to the (bitwidth - 1) (a legal shift amount) before conversion.
3 - logical shifts just return zero if all elements have out of range shift amounts.

In addition, UNDEF shift amounts are handled - either as an UNDEF shift amount in a native shift or as an UNDEF in the logical 'all out of range' zero constant special case for logical shifts.

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

llvm-svn: 271996
2016-06-07 10:27:15 +00:00
..
Analysis Reapply r271728 after adding move cobstructor for ProfileSummaryInfo 2016-06-03 22:54:26 +00:00
Assembler IR: Allow multiple global metadata attachments with the same type. 2016-06-01 01:17:57 +00:00
Bindings [OCaml] Update core test and re-enable testing 2016-05-10 11:19:20 +00:00
Bitcode [BitCode] Make sure atomicrmw's argument is an actual PointerType 2016-06-05 18:43:40 +00:00
BugPoint [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
CodeGen ARM: correct TLS access on WoA 2016-06-07 03:15:07 +00:00
DebugInfo Re-land "[codeview] Emit information about global variables" 2016-06-07 00:02:03 +00:00
Examples Disable llvm/test/Examples/ for now while investigating. 2015-08-28 03:32:43 +00:00
ExecutionEngine [MIPS][LLVM-MC] Fix Disassemble of Negative Offset 2016-05-24 09:57:10 +00:00
Feature Update the stack coloring pass to remove lifetime intrinsics in the optnone/opt-bisect skip case. 2016-05-27 22:56:49 +00:00
FileCheck Fix windows build bot failure 2016-05-28 00:03:35 +00:00
Instrumentation [esan|wset] Optionally assume intra-cache-line accesses 2016-06-03 22:29:52 +00:00
Integer
JitListener [PR27284] Reverse the ownership between DICompileUnit and DISubprogram. 2016-04-15 15:57:41 +00:00
LibDriver
Linker ValueMapper: fix assertion when null-mapping a constant for linking metadata 2016-05-28 17:26:03 +00:00
LTO
MC [AMDGPU][llvm-mc] v_cndmask_b32: src2 is mandatory; do not enforce VOP2 when src2 == VCC. 2016-06-06 15:23:43 +00:00
Object [mips] Remove CPU-only triples from llvm-objdump commands. 2016-06-03 10:22:22 +00:00
ObjectYAML [yaml2obj] Sort MachO LinkEdit write operations based on offset 2016-06-03 16:58:05 +00:00
Other [PM] Schedule InstSimplify after late LICM run, to clean up LCSSA nodes. 2016-06-02 22:14:26 +00:00
SymbolRewriter [opaque pointer type] Add textual IR support for explicit type parameter for global aliases 2015-09-11 03:22:04 +00:00
TableGen Introduce a "patchable-function" function attribute 2016-04-19 05:24:47 +00:00
ThinLTO/X86 [ThinLTO] Resolve LinkOnceAny 2016-05-26 14:16:52 +00:00
tools Revert "Retry^2 "[llvm-profdata] Add option to ingest filepaths from a file"" 2016-06-06 23:43:56 +00:00
Transforms [InstCombine][AVX2] Add support for simplifying AVX2 per-element shifts to native shifts 2016-06-07 10:27:15 +00:00
Unit
Verifier [IR] Disallow loading and storing unsized types 2016-06-01 16:13:10 +00:00
YAMLParser
.clang-format Add .clang-format without column limit to subdirectory tests/. 2013-11-19 04:26:05 +00:00
CMakeLists.txt [cmake] Fix builds with LLVM_ENABLE_PIC=0 2016-06-02 16:29:07 +00:00
lit.cfg test: Be consistent with clang's sanitizer lit config 2016-05-23 23:02:11 +00:00
lit.site.cfg.in Add the printing the Mach-O (__LLVM,__bundle) xar archive file section "verbosely" 2016-05-23 21:34:12 +00:00
TestRunner.sh