Home | History | Annotate | Download | only in ARM
      1 ; RUN: llc < %s  -mtriple=armv6-linux-gnueabi  | FileCheck %s
      2 ; This test checks that the address of the varg arguments is correctly
      3 ; computed when there are 5 or more regular arguments.
      4 
      5 define void @f(i32 %a1, i32 %a2, i32 %a3, i32 %a4, i32 %a5, ...) {
      6 entry:
      7 ;CHECK: sub	sp, sp, #4
      8 ;CHECK: add	r{{[0-9]+}}, sp, #8
      9 ;CHECK: str	r{{[0-9]+}}, [sp], #4
     10 ;CHECK: bx	lr
     11 	%ap = alloca i8*, align 4
     12 	%ap1 = bitcast i8** %ap to i8*
     13 	call void @llvm.va_start(i8* %ap1)
     14 	ret void
     15 }
     16 
     17 declare void @llvm.va_start(i8*) nounwind
     18