llvm-6502/lib
Jim Grosbach 7a37166a7a X86: Enable ISel of 16-bit MOVBE instructions.
When the MOVBE instructions are available, use them for 16-bit endian
swapping as well as for 32 and 64 bit.

The patterns were already present on the instructions, but weren't being
matched because the operation was unconditionally marked to 'Expand.'
Change that to be conditional on whether the MOVBE instructions are
available. Use 'rolw' to implement the in-register version (32 and 64
bit have the dedicated 'bswap' instruction for that).

Patch by Louis Gerbarg <lgg@apple.com>.

rdar://15479984

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@203524 91177308-0d34-0410-b5e6-96231b3b80d8
2014-03-11 00:44:14 +00:00
..
Analysis
AsmParser
Bitcode
CodeGen Fix non 2-space indentation. 2014-03-11 00:01:25 +00:00
DebugInfo
ExecutionEngine
IR Module: Don't rename in getOrInsertFunction() 2014-03-10 23:42:28 +00:00
IRReader
LineEditor
Linker
LTO
MC
Object
Option
Support [C++11] Remove 'virtual' keyword from methods marked with 'override' keyword. 2014-03-10 03:53:12 +00:00
TableGen
Target X86: Enable ISel of 16-bit MOVBE instructions. 2014-03-11 00:44:14 +00:00
Transforms Follow up to r203488. Code clean up to eliminate a lot of copy+paste. 2014-03-11 00:24:20 +00:00
CMakeLists.txt
LLVMBuild.txt
Makefile