|  | # RUN: rm -rf %t && split-file %s %t && cd %t | 
|  | # RUN: llvm-mc -triple=x86_64 a.s | FileCheck %s | 
|  |  | 
|  | #--- a.s | 
|  | # CHECK:      pushq %rax | 
|  | # CHECK-NEXT: pushq %rbx | 
|  | # CHECK-NEXT: pushq %rcx | 
|  | .irp reg,%rax,%rbx | 
|  | pushq \reg | 
|  | .endr | 
|  | pushq %rcx | 
|  |  | 
|  | # CHECK:      addl %eax, 4 | 
|  | # CHECK-NEXT: addl %eax, 3 | 
|  | # CHECK-NEXT: addl %eax, 5 | 
|  | # CHECK-NEXT: addl %ebx, 4 | 
|  | # CHECK-NEXT: addl %ebx, 3 | 
|  | # CHECK-NEXT: addl %ebx, 5 | 
|  | # CHECK-EMPTY: | 
|  | # CHECK-NEXT: nop | 
|  | .irp reg,%eax,%ebx | 
|  | .irp imm,4,3,5 | 
|  | addl \reg, \imm | 
|  | .endr # comment after .endr | 
|  | .endr ; | 
|  | nop | 
|  |  | 
|  | # CHECK:      xorl %eax, %eax | 
|  | # CHECK-EMPTY: | 
|  | # CHECK-NEXT: nop | 
|  | .irp reg,%eax | 
|  | xor \reg,\reg | 
|  | .endr | 
|  | # 99 "a.s" | 
|  | nop | 
|  |  | 
|  | # RUN: not llvm-mc -triple=x86_64 err1.s 2>&1 | FileCheck %s --check-prefix=ERR1 | 
|  | # ERR1: .s:1:1: error: no matching '.endr' in definition | 
|  | #--- err1.s | 
|  | .irp reg,%eax |