llvm-project/llvm/lib
Simon Pilgrim 4171a91e92 [X86] combineVectorTruncationWithPACKUS - remove split/concatenation of mask
combineVectorTruncationWithPACKUS is currently splitting the upper bit bit masking into 128-bit subregs and then concatenating them back together.

This was originally done to avoid regressions that caused existing subregs to be concatenated to the larger type just for the AND masking before being extracted again. This was fixed by @spatel (notably rL303997 and rL347356).

This also lets SimplifyDemandedBits do some further improvements before it hits the recursive depth limit.

My only annoyance with this is that we were broadcasting some xmm masks but we seem to have lost them by moving to ymm - but that's a known issue as the logic in lowerBuildVectorAsBroadcast isn't great.

Differential Revision: https://reviews.llvm.org/D60375#inline-539623

llvm-svn: 358692
2019-04-18 17:23:09 +00:00
..
Analysis [SDA] Bug fix: Use IPD outside the loop as divergence bound 2019-04-18 16:17:35 +00:00
AsmParser Add LLVM IR debug info support for Fortran COMMON blocks 2019-04-08 19:13:55 +00:00
BinaryFormat [XCOFF] Add functionality for parsing AIX XCOFF object file headers 2019-04-04 00:53:21 +00:00
Bitcode Use llvm::lower_bound. NFC 2019-04-12 02:02:06 +00:00
CodeGen Fix a typo in comments. [NFC] 2019-04-18 02:39:37 +00:00
DebugInfo [DWARF] llvm::Error -> Error. NFC 2019-04-17 09:11:08 +00:00
Demangle llvm-undname: Consistently use "return nullptr" in functions returning pointers 2019-04-16 14:24:42 +00:00
ExecutionEngine Simplify decoupling between RuntimeDyld/RuntimeDyldChecker, add 'got_addr' util. 2019-04-12 18:07:28 +00:00
FuzzMutate [opaque pointer types] Pass value type to LoadInst creation. 2019-02-01 20:44:24 +00:00
Fuzzer
IR [LLVM-C] Add DIFile Field Accesssors 2019-04-17 13:29:14 +00:00
IRReader [IRReader] Expose getLazyIRModule 2019-02-11 22:01:13 +00:00
LTO [ThinLTO] Fix ThinLTOCodegenerator to export llvm.used symbols 2019-04-17 17:38:09 +00:00
LineEditor Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Linker [Linker] Fix crash handling appending linkage 2019-03-20 19:20:07 +00:00
MC [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
MCA [MCA] Add an experimental MicroOpQueue stage. 2019-03-29 12:15:37 +00:00
Object [WebAssembly] Add DataCount section to object files 2019-04-12 22:27:48 +00:00
ObjectYAML MinidumpYAML: Fix ambiguity between std::make_unique and llvm::make_unique 2019-04-18 15:06:03 +00:00
Option Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
Passes [NewPM] Add Option handling for LoopVectorize 2019-04-18 08:46:11 +00:00
ProfileData Change some StringRef::data() reinterpret_cast to bytes_begin() or arrayRefFromStringRef() 2019-04-07 03:58:42 +00:00
Remarks [Remarks] Fix mismatched delete due to missing virtual destructor 2019-03-20 17:44:24 +00:00
Support Revert Implement sys::fs::copy_file using the macOS copyfile(3) API to support APFS clones. 2019-04-18 01:21:10 +00:00
TableGen [TableGen] Introduce !listsplat 'binary' operator 2019-04-10 18:26:36 +00:00
Target [X86] combineVectorTruncationWithPACKUS - remove split/concatenation of mask 2019-04-18 17:23:09 +00:00
Testing Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
TextAPI [TextAPI] Prefix all architecture enums to fix the build on i386. 2019-04-04 22:56:50 +00:00
ToolDrivers [llvm-ar][libObject] Fix relative paths when nesting thin archives. 2019-02-13 23:39:41 +00:00
Transforms [LoopPred] Fix a blatantly obvious bug in r358684 2019-04-18 17:01:19 +00:00
WindowsManifest Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
XRay Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
CMakeLists.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00
LLVMBuild.txt [OptRemarks] Make OptRemarks more generic: rename OptRemarks to Remarks 2019-03-05 20:45:17 +00:00