LLVM backend for 6502
Go to file
Andrea Di Biagio 35f6e97777 [X86] Add a check for 'isMOVHLPSMask' within method 'isShuffleMaskLegal'.
Before this change, method 'isShuffleMaskLegal' didn't know that shuffles
implementing a 'movhlps' operation were perfectly legal for SSE targets.

This patch adds the missing check for 'isMOVHLPSMask' inside method
'isShuffleMaskLegal' to fix the problem.

The reason why it is important to do this is because the DAGCombiner
conservatively avoids combining a pair of shuffles if the resulting shuffle
node has an illegal mask. Before this patch, shuffles with a MOVHLPS mask were
wrongly considered not to be legal. This was the root cause of some poor-code
generation bugs.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@213137 91177308-0d34-0410-b5e6-96231b3b80d8
2014-07-16 11:29:39 +00:00
autoconf
bindings
cmake CMake: avoid a reconfigure loop from r213091 2014-07-15 22:11:54 +00:00
docs
examples
include Roundtrip the inalloca bit on allocas through bitcode 2014-07-16 01:34:27 +00:00
lib [X86] Add a check for 'isMOVHLPSMask' within method 'isShuffleMaskLegal'. 2014-07-16 11:29:39 +00:00
projects
test [X86] Add a check for 'isMOVHLPSMask' within method 'isShuffleMaskLegal'. 2014-07-16 11:29:39 +00:00
tools
unittests unittests: Actually test reverse iterators in Path tests 2014-07-16 08:18:58 +00:00
utils Move Post RA Scheduling flag bit into SchedMachineModel 2014-07-15 22:39:58 +00:00
.arcconfig
.clang-format
.gitignore
CMakeLists.txt
CODE_OWNERS.TXT
configure
CREDITS.TXT
LICENSE.TXT Remove projects/sample. 2014-03-12 22:40:22 +00:00
llvm.spec.in
LLVMBuild.txt
Makefile
Makefile.common
Makefile.config.in
Makefile.rules
README.txt

Low Level Virtual Machine (LLVM)
================================

This directory and its subdirectories contain source code for the Low Level
Virtual Machine, 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.