brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.5 KiB · e1bb229 Raw
96 lines · plain
1# RUN: rm -rf %t && split-file %s %t && cd %t2# RUN: llvm-mc -triple i386 a.s | FileCheck %s3# RUN: llvm-mc -triple i386 b.s | FileCheck %s --check-prefix=CHECK24 5#--- a.s6.macro A7  add  $1\@, %eax8  add  $2\+, %eax9.endm10 11.macro B12  sub  $1\@, %eax13  sub  $2\+, %eax14.endm15 16  A17# CHECK:      addl  $10, %eax18# CHECK-NEXT: addl  $20, %eax19  A20# CHECK:      addl  $11, %eax21# CHECK-NEXT: addl  $21, %eax22  B23# CHECK:      subl  $12, %eax24# CHECK-NEXT: subl  $20, %eax25  B26# CHECK:      subl  $13, %eax27# CHECK-NEXT: subl  $21, %eax28 29# The following uses of \@ are undocumented, but valid:30.irpc foo,23431  add  $\foo\@, %eax32.endr33# CHECK:      addl  $24, %eax34# CHECK-NEXT: addl  $34, %eax35# CHECK-NEXT: addl  $44, %eax36 37.irp reg,%eax,%ebx38  sub  $2\@, \reg39.endr40# CHECK:      subl  $24, %eax41# CHECK-NEXT: subl  $24, %ebx42 43# Test that .irp(c) and .rep(t) do not increase \@.44# Only the use of A should increase \@, so we can test that it increases by 145# each time.46 47.irpc foo,12348  sub  $\foo, %eax49.endr50 51  A52# CHECK: addl  $14, %eax53 54.irp reg,%eax,%ebx55  sub  $4, \reg56.endr57 58  A59# CHECK: addl  $15, %eax60 61.rept 262  sub  $5, %eax63.endr64 65  A66# CHECK: addl  $16, %eax67 68.rep 369  sub  $6, %eax70.endr71 72  A73# CHECK: addl  $17, %eax74 75#--- b.s76.rept 277  .print "r\+ \+"78.endr79.irpc foo,1280  .print "\+\+i"81.endr82# CHECK2:      r0 083# CHECK2-NEXT: r1 184# CHECK2-NEXT: 00i85# CHECK2-NEXT: 11i86 87.rept 288  .rept 289    .print "n\+"90  .endr91.endr92# CHECK2:      n093# CHECK2-NEXT: n094# CHECK2-NEXT: n195# CHECK2-NEXT: n196