llvm/test/MC/AsmParser/labels.s
Daniel Dunbar b834f5d13d MC/X86 AsmParser: Handle absolute memory operands correctly. We were doing
something totally broken and parsing them as immediates, but the .td file also
had the wrong match class so things sortof worked. Except, that is, that we
would parse
  movl $0, %eax
as
  movl 0, %eax
Feel free to guess how well that worked.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@94869 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-30 01:02:48 +00:00

60 lines
992 B
ArmAsm

// RUN: llvm-mc -triple i686-apple-darwin10 %s | FileCheck %s
.data
// CHECK: a:
a:
.long 0
// CHECK: b:
"b":
.long 0
// CHECK: a$b:
"a$b":
.long 0
.text
foo:
// CHECK: addl $24, a$b(%eax)
addl $24, "a$b"(%eax)
// CHECK: addl $24, a$b+10(%eax)
addl $24, ("a$b" + 10)(%eax)
// CHECK: b$c = 10
"b$c" = 10
// CHECK: addl $10, %eax
addl $"b$c", %eax
// CHECK: "a 0" = 11
.set "a 0", 11
// CHECK: .long 11
.long "a 0"
// XXCHCK: .section "a 1,a 2"
//.section "a 1", "a 2"
// CHECK: .globl "a 3"
.globl "a 3"
// CHECK: .weak "a 4"
.weak "a 4"
// CHECK: .desc "a 5",1
.desc "a 5", 1
// CHECK: .comm "a 6",1
.comm "a 6", 1
// CHECK: .zerofill __DATA,__bss,"a 7",1,0
.lcomm "a 7", 1
// FIXME: We don't bother to support .lsym.
// CHECX: .lsym "a 8",1
// .lsym "a 8", 1
// CHECK: "a 9" = a-b
.set "a 9", a - b
// CHECK: .long "a 9"
.long "a 9"