mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-21 00:32:23 +00:00
a027d222e1
- This is "experimental" code, I am feeling my way around and working out the best way to do things (and learning tblgen in the process). Comments welcome, but keep in mind this stuff will change radically. - This is enough to match "subb" and friends, but not much else. The next step is to automatically generate the matchers for individual operands. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@77657 91177308-0d34-0410-b5e6-96231b3b80d8
37 lines
737 B
ArmAsm
37 lines
737 B
ArmAsm
// FIXME: Actually test that we get the expected results.
|
|
|
|
// RUN: llvm-mc -triple i386-unknown-unknown %s > %t 2> %t2
|
|
|
|
# Immediates
|
|
push $1
|
|
push $(1+2)
|
|
push $a
|
|
push $1 + 2
|
|
|
|
# Disambiguation
|
|
push 4+4
|
|
push (4+4)
|
|
push (4+4)(%eax)
|
|
push 8(%eax)
|
|
push (%eax)
|
|
push (4+4)(,%eax)
|
|
|
|
# Indirect Memory Operands
|
|
push 1(%eax)
|
|
push 1(%eax,%ebx)
|
|
push 1(%eax,%ebx,)
|
|
push 1(%eax,%ebx,4)
|
|
push 1(,%ebx)
|
|
push 1(,%ebx,)
|
|
push 1(,%ebx,4)
|
|
push 1(,%ebx,(2+2))
|
|
|
|
# '*'
|
|
call a
|
|
call *a
|
|
call *%eax
|
|
call 4(%eax) # FIXME: Warn or reject.
|
|
call *4(%eax)
|
|
|
|
|