1# RUN: llvm-mc -triple i386-unknown-unknown %s | FileCheck %s 2 3.macro A 4 add $1\@, %eax 5.endm 6 7.macro B 8 sub $1\@, %eax 9.endm 10 11 A 12# CHECK: addl $10, %eax 13 A 14# CHECK: addl $11, %eax 15 B 16# CHECK: subl $12, %eax 17 B 18# CHECK: subl $13, %eax 19 20# The following uses of \@ are undocumented, but valid: 21.irpc foo,234 22 add $\foo\@, %eax 23.endr 24# CHECK: addl $24, %eax 25# CHECK: addl $34, %eax 26# CHECK: addl $44, %eax 27 28.irp reg,%eax,%ebx 29 sub $2\@, \reg 30.endr 31# CHECK: subl $24, %eax 32# CHECK: subl $24, %ebx 33 34# Test that .irp(c) and .rep(t) do not increase \@. 35# Only the use of A should increase \@, so we can test that it increases by 1 36# each time. 37 38.irpc foo,123 39 sub $\foo, %eax 40.endr 41 42 A 43# CHECK: addl $14, %eax 44 45.irp reg,%eax,%ebx 46 sub $4, \reg 47.endr 48 49 A 50# CHECK: addl $15, %eax 51 52.rept 2 53 sub $5, %eax 54.endr 55 56 A 57# CHECK: addl $16, %eax 58 59.rep 3 60 sub $6, %eax 61.endr 62 63 A 64# CHECK: addl $17, %eax 65