llvm/lib
Craig Topper 30be10a06e Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode
The 0x66 prefix toggles between 16-bit and 32-bit addressing mode.
So in 32-bit mode it is used to switch to 16-bit addressing mode for the
following instruction, while in 16-bit mode it's the other way round — it's
used to switch to 32-bit mode instead.

Thus, emit the 0x66 prefix byte for OpSize only in 32-bit (and 64-bit) mode,
and introduce a new OpSize16 bit which is used in 16-bit mode instead.

This is just the basic infrastructure for that change; a subsequent patch
will add the new OpSize16 bit to the 32-bit instructions that need it.

Patch from David Woodhouse.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@198586 91177308-0d34-0410-b5e6-96231b3b80d8
2014-01-06 06:02:58 +00:00
..
Analysis [PM] Add a definition for the static PassID in the CallGraphAnalysis. 2014-01-05 10:38:52 +00:00
AsmParser Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
Bitcode Begin adding docs and IR-level support for the inalloca attribute 2013-12-19 02:14:12 +00:00
CodeGen [AArch64 NEON] Fix invalid constant used in vselect condition. 2014-01-06 02:26:10 +00:00
DebugInfo DebugInfo: Move type units into the debug_types section with appropriate comdat grouping and type unit headers 2013-12-13 21:33:40 +00:00
ExecutionEngine Make the llvm mangler depend only on DataLayout. 2014-01-03 19:21:54 +00:00
IR Make the llvm mangler depend only on DataLayout. 2014-01-03 19:21:54 +00:00
IRReader [llvm-c] Expose IRReader interface 2013-11-06 09:21:15 +00:00
Linker Revert "Move copying of global initializers below the cloning of functions." 2013-11-09 00:43:18 +00:00
LTO Make the llvm mangler depend only on DataLayout. 2014-01-03 19:21:54 +00:00
MC Revert "For disassembly when adding a symbolic operand that is a C++ symbol name, also put the human readable name in a comment." 2014-01-03 19:56:20 +00:00
Object Support for microMIPS TLS relocations. 2013-12-19 16:02:32 +00:00
Option Avoid buffer copies when a Twine already is a StringRef. 2013-12-03 18:18:28 +00:00
Support Make llvm::Regex non-copyable but movable. 2014-01-02 19:04:59 +00:00
TableGen [TableGen] Correctly generate implicit anonymous prototype defs in multiclasses 2014-01-02 20:47:09 +00:00
Target Add OpSize16 bit, for instructions which need 0x66 prefix in 16-bit mode 2014-01-06 06:02:58 +00:00
Transforms Add missed cleanup from r198456 2014-01-04 22:47:48 +00:00
CMakeLists.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
LLVMBuild.txt Move LTO support library to a component, allowing it to be tested 2013-09-24 23:52:22 +00:00
Makefile Reformat Makefile. No other changes. 2013-10-30 04:03:03 +00:00