1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-22 10:42:39 +01:00
llvm-mirror/lib/Target/X86/AsmParser
Fangrui Song 4b618b1f5f [X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix
PR47632

This allows MC to match `data32 ...` as one instruction instead of two (data32 without insn + insn).

The compatibility with GNU as improves: `data32 ljmp` will be matched as ljmpl.
`data32 lgdt 4(%eax)` will be matched as `lgdtl` (prefixes: 0x67 0x66, instead
of 0x66 0x67).

GNU as supports many other `data32 *w` as `*l`. We currently just hard code
`data32 callw` and `data32 ljmpw`.  Generalizing the suffix replacement is
tricky and requires a think about the "bwlq" appending suffix rules in MatchAndEmitATTInstruction.

Reviewed By: craig.topper

Differential Revision: https://reviews.llvm.org/D88772
2020-10-06 08:32:03 -07:00
..
CMakeLists.txt
LLVMBuild.txt
X86AsmParser.cpp [X86] .code16: temporarily set Mode32Bit when matching an instruction with the data32 prefix 2020-10-06 08:32:03 -07:00
X86AsmParserCommon.h
X86Operand.h [X86] Allow lsl/lar to be parsed with a GR16, GR32, or GR64 as source register. 2020-07-15 23:51:37 -07:00