forked from OSchip/llvm-project
105 lines
1.8 KiB
ArmAsm
105 lines
1.8 KiB
ArmAsm
# RUN: llvm-mc -triple=x86_64 %s | FileCheck %s
|
|
|
|
.macro empty, cond
|
|
.endm
|
|
empty ne
|
|
|
|
# CHECK: .ascii "3 \003"
|
|
.macro escape a
|
|
.ascii "\a \\a"
|
|
.endm
|
|
escape 3
|
|
|
|
.macro double first = -1, second = -1
|
|
.long \first
|
|
.long \second
|
|
.endm
|
|
|
|
# CHECK: .long -1
|
|
# CHECK-NEXT: .long -1
|
|
# CHECK-EMPTY:
|
|
double
|
|
# CHECK: .long -1
|
|
# CHECK-NEXT: .long -1
|
|
# CHECK-EMPTY:
|
|
double ,
|
|
# CHECK: .long 1
|
|
# CHECK-NEXT: .long -1
|
|
double 1
|
|
# CHECK: .long 2
|
|
# CHECK-NEXT: .long 3
|
|
double 2, 3
|
|
# CHECK: .long -1
|
|
# CHECK-NEXT: .long 4
|
|
double , 4
|
|
# CHECK: .long 5
|
|
# CHECK-NEXT: .long 6
|
|
double 5, second = 6
|
|
# CHECK: .long 7
|
|
# CHECK-NEXT: .long -1
|
|
double first = 7
|
|
# CHECK: .long -1
|
|
# CHECK-NEXT: .long 8
|
|
double second = 8
|
|
# CHECK: .long 10
|
|
# CHECK-NEXT: .long 9
|
|
double second = 9, first = 10
|
|
# CHECK: .long second+11
|
|
# CHECK-NEXT: .long -1
|
|
double second + 11
|
|
# CHECK: .long -1
|
|
# CHECK-NEXT: .long second+12
|
|
double , second + 12
|
|
# CHECK: .long second
|
|
# CHECK-NEXT: .long -1
|
|
double second
|
|
|
|
.macro mixed arg0 = 0, arg1 = 1 arg2 = 2, arg3 = 3
|
|
.long \arg0
|
|
.long \arg1
|
|
.long \arg2
|
|
.long \arg3
|
|
.endm
|
|
|
|
# CHECK: .long 1
|
|
# CHECK-NEXT: .long 2
|
|
# CHECK-NEXT: .long 3
|
|
# CHECK-NEXT: .long 3
|
|
mixed 1, 2 3
|
|
|
|
# CHECK: .long 1
|
|
# CHECK-NEXT: .long 2
|
|
# CHECK-NEXT: .long 3
|
|
# CHECK-NEXT: .long 3
|
|
mixed 1 2, 3
|
|
|
|
# CHECK: .long 1
|
|
# CHECK-NEXT: .long 2
|
|
# CHECK-NEXT: .long 3
|
|
# CHECK-NEXT: .long 4
|
|
mixed 1 2, 3 4
|
|
|
|
.macro ascii3 _a _b _c
|
|
.ascii "\_a|\_b|\_c"
|
|
.endm
|
|
|
|
## 3 arguments.
|
|
# CHECK: .ascii "a|b|c"
|
|
ascii3 a, b, c
|
|
# CHECK: .ascii "%1|%2|%3"
|
|
ascii3 %1 %2 %3
|
|
# CHECK: .ascii "1|2|3"
|
|
ascii3 1, 2,3
|
|
# CHECK: .ascii "1|2|3"
|
|
ascii3 1,2 3
|
|
# CHECK: .ascii "1|2|3"
|
|
ascii3 1 2, 3
|
|
# CHECK: .ascii "x-y|z|1"
|
|
ascii3 x - y z 1
|
|
|
|
## 2 arguments.
|
|
# CHECK: .ascii "1|(2 3)|"
|
|
ascii3 1, (2 3)
|
|
# CHECK: .ascii "1|(2 3)|"
|
|
ascii3 1 (2 3)
|