llvm-6502/test/MC
Chad Rosier e112453fc3 [ms-inline asm] Add support for numeric displacement expressions in bracketed
memory operands.

Essentially, this layers an infix calculator on top of the parsing state
machine.  The scale on the index register is still expected to be an immediate

 __asm mov eax, [eax + ebx*4]

and will not work with more complex expressions.  For example,

 __asm mov eax, [eax + ebx*(2*2)]

The plus and minus binary operators assume the numeric value of a register is
zero so as to not change the displacement.  Register operands should never
be an operand for a multiply or divide operation; the scale*indexreg
expression is always replaced with a zero on the operand stack to prevent
such a case.
rdar://13521380


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@178881 91177308-0d34-0410-b5e6-96231b3b80d8
2013-04-05 16:28:55 +00:00
..
AArch64 AArch64: implement ETMv4 trace system registers. 2013-04-03 12:31:29 +00:00
ARM Fix pr13145 - Naming a function like a register name confuses the asm parser. 2013-03-19 23:44:03 +00:00
AsmParser AsmParser: More generic support for integer type suffices. 2013-02-26 20:17:10 +00:00
COFF [MC][COFF] Delay handling symbol aliases when writing 2013-01-29 22:10:07 +00:00
Disassembler [XCore] Add bru instruction. 2013-04-04 20:05:35 +00:00
ELF Implements low-level object file format specific output for COFF and 2013-04-03 18:31:38 +00:00
MachO Revert r15266. This fixes llvm.org/pr15266. 2013-02-14 16:23:08 +00:00
Markup MC: Simple example parser for MC assembly markup. 2012-10-31 23:24:13 +00:00
MBlaze Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
Mips Implement the "mips endian" for r_info. 2013-04-03 21:02:51 +00:00
PowerPC PowerPC: EH adjustments 2013-01-09 17:08:15 +00:00
X86 [ms-inline asm] Add support for numeric displacement expressions in bracketed 2013-04-05 16:28:55 +00:00