diff options
author | Nico Weber <nicolasweber@gmx.de> | 2014-07-24 17:08:39 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2014-07-24 17:08:39 +0000 |
commit | 155dccd1eba26965a8c13c65838f653ea7f55de3 (patch) | |
tree | 02288da86bd25822e015141b800998015a6e6084 /llvm/test | |
parent | a9b498955caf537c8c08b29d258ee44cecaf723b (diff) | |
download | bcm5719-llvm-155dccd1eba26965a8c13c65838f653ea7f55de3.tar.gz bcm5719-llvm-155dccd1eba26965a8c13c65838f653ea7f55de3.zip |
Let the integrated assembler understand .exitm, PR20426.
llvm-svn: 213876
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/MC/AsmParser/macro-exitm.s | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/llvm/test/MC/AsmParser/macro-exitm.s b/llvm/test/MC/AsmParser/macro-exitm.s new file mode 100644 index 00000000000..66a0597288a --- /dev/null +++ b/llvm/test/MC/AsmParser/macro-exitm.s @@ -0,0 +1,64 @@ +// RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s + +// .exitm is encountered in a normal macro expansion +.macro REP +.rept 3 +.long 0 +.exitm +.endr +.endm +REP +// Only the output from the first rept expansion should make it through: +// CHECK: .long 0 +// CHECK-NOT: .long 0 + +// .exitm is in a true branch +.macro A +.if 1 +.long 1 +.exitm +.endif +.long 1 +.endm +A +// CHECK: .long 1 +// CHECK-NOT: .long 1 + +// .exitm is in a false branch +.macro B +.if 1 +.long 2 +.else +.exitm +.endif +.long 2 +.endm +B +// CHECK: .long 2 +// CHECK: .long 2 + + +// .exitm is in a false branch that is encountered prior to the true branch +.macro C +.if 0 +.exitm +.else +.long 3 +.endif +.long 3 +.endm +C +// CHECK: .long 3 +// CHECK: .long 3 + +// .exitm is in a macro that's expanded in a conditional block. +.macro D +.long 4 +.exitm +.long 4 +.endm +.if 1 +D +.endif +// CHECK: .long 4 +// CHECK-NOT: .long 4 |