| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
only AVX1 is supported. AVX_SET0 just expands to 256-bit VXORPS which is legal in AVX1.
llvm-svn: 268871
|
| |
|
|
|
|
| |
volatiles are not combined
llvm-svn: 264225
|
| |
|
|
|
|
|
|
| |
We were being too aggressive in trying to combine a shuffle into a blend-with-zero pattern, often resulting in a endless loop of contrasting combines
This patch stops the combine if we already have a blend in place (means we miss some domain corrections)
llvm-svn: 263717
|
| |
|
|
|
|
|
|
|
| |
Part 2 of 2
This patch add support for combining target shuffles into blends-with-zero.
Differential Revision: http://reviews.llvm.org/D17483
llvm-svn: 261745
|
| |
|
|
|
|
|
|
| |
Add support for the case where we have a consecutive load (which must include the first + last elements) with a mixture of undef/zero elements. We load the vector and then apply a shuffle to clear the zero'd elements.
Differential Revision: http://reviews.llvm.org/D17297
llvm-svn: 261490
|
| |
|
|
| |
llvm-svn: 260034
|
| |
|
|
|
|
|
|
|
|
| |
EltsFromConsecutiveLoads
Choose between MOVD/MOVSS and MOVQ/MOVSD depending on the target vector type.
This has a lot fewer test changes than trying to add this to X86InstrInfo::setExecutionDomain.....
llvm-svn: 259816
|
| |
|
|
|
|
|
|
|
|
| |
EltsFromConsecutiveLoads
This patch adds support for consecutive (load/undef elements) 32-bit loads, followed by trailing undef/zero elements to be combined to a single MOVD load.
Differential Revision: http://reviews.llvm.org/D16729
llvm-svn: 259796
|
| |
|
|
|
|
| |
consecutive entries as 64-bit integers
llvm-svn: 259794
|
| |
|
|
|
|
|
|
|
|
|
|
| |
EltsFromConsecutiveLoads
Follow up to D16217 and D16729
This change uncovered an odd pattern where VZEXT_LOAD v4i64 was being lowered to a load of the lower v2i64 (so the 2nd i64 destination element wasn't being zeroed), I can't find any use/reason for this and have removed the pattern and replaced it so only the 1st i64 element is loaded and the upper bits all zeroed. This matches the description for X86ISD::VZEXT_LOAD
Differential Revision: http://reviews.llvm.org/D16768
llvm-svn: 259635
|
| |
|
|
| |
llvm-svn: 259496
|
| |
|
|
| |
llvm-svn: 259430
|
| |
|
|
| |
llvm-svn: 259427
|
| |
|
|
| |
llvm-svn: 259420
|
| |
|
|
|
|
|
|
| |
Add AVX512F/AVX512BW 512-bit tests.
Add AVX512F tests to existing 128/256-bit tests.
llvm-svn: 259410
|
| |
|
|
| |
llvm-svn: 259100
|
|
|
llvm-svn: 257876
|