llvm-6502/lib
Andrea Di Biagio f27500040b [InstCombine][X86] Improved folding of calls to Intrinsic::x86_sse4a_insertqi.
This patch teaches the instruction combiner how to fold a call to 'insertqi' if
the 'length field' (3rd operand) is set to zero, and if the sum between
field 'length' and 'bit index' (4th operand) is bigger than 64.

From the AMD64 Architecture Programmer's Manual:
1. If the sum of the bit index + length field is greater than 64, then the
   results are undefined;
2. A value of zero in the field length is defined as a length of 64.

This patch improves the existing combining logic for intrinsic 'insertqi'
adding extra checks to address both point 1. and point 2.

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@224054 91177308-0d34-0410-b5e6-96231b3b80d8
2014-12-11 20:44:59 +00:00
..
Analysis Fix PR21694. r219517 added a use of SCEV divide in HowFarToZero computation. This divide can produce incorrect results as we are using an unsigned divide for what should be a modular divide. This change reverts back to a more conservative computation using trailing zeros. 2014-12-10 22:53:52 +00:00
AsmParser AsmParser: Don't crash on an ill-formed MDNodeVector 2014-12-11 20:44:09 +00:00
Bitcode IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
CodeGen This reverts commit r224043 and r224042. 2014-12-11 20:03:57 +00:00
DebugInfo Make DWARFAcceleratorTable::dump() const. 2014-11-20 16:21:11 +00:00
ExecutionEngine Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
IR Fix LLVMContext to match what MDKind names that the LL parser permits. Fixes PR21799! 2014-12-11 02:10:28 +00:00
IRReader Remove unused variable. NFC. 2014-11-06 23:16:57 +00:00
LineEditor
Linker IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
LTO IR: Split Metadata from Value 2014-12-09 18:38:53 +00:00
MC clang-formatted ranged loops and assignment, NFC. 2014-12-04 08:30:39 +00:00
Object Move three methods only used by MCJIT to MCJIT. 2014-12-10 20:46:55 +00:00
Option Add an overload of getLastArgNoClaim taking two OptSpecifiers. 2014-09-12 19:42:53 +00:00
ProfileData llvm-cov: Sink some reporting logic into CoverageMapping 2014-11-14 01:50:32 +00:00
Support Remove a convoluted way of calling close by moving the call to the only caller. 2014-12-11 20:12:55 +00:00
TableGen Use range-based for loops. NFC 2014-12-11 07:04:54 +00:00
Target This reverts commit r224043 and r224042. 2014-12-11 20:03:57 +00:00
Transforms [InstCombine][X86] Improved folding of calls to Intrinsic::x86_sse4a_insertqi. 2014-12-11 20:44:59 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile