; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
; RUN: llc < %s -mtriple=x86_64-unknown | FileCheck %s -check-prefix=X64
; RUN: llc < %s -mtriple=i686-unknown   | FileCheck %s -check-prefix=X86

%struct.SA = type { i32 , i32 , i32 , i32 , i32};

define void @foo(ptr nocapture %ctx, i32 %n) local_unnamed_addr #0 {
; X64-LABEL: foo:
; X64:       # %bb.0: # %entry
; X64-NEXT:    movl 16(%rdi), %eax
; X64-NEXT:    movl (%rdi), %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    leal (%rcx,%rax), %edx
; X64-NEXT:    leal 1(%rax,%rcx), %ecx
; X64-NEXT:    movl %ecx, 12(%rdi)
; X64-NEXT:    leal 1(%rax,%rdx), %eax
; X64-NEXT:    movl %eax, 16(%rdi)
; X64-NEXT:    retq
;
; X86-LABEL: foo:
; X86:       # %bb.0: # %entry
; X86-NEXT:    pushl %esi
; X86-NEXT:    .cfi_def_cfa_offset 8
; X86-NEXT:    .cfi_offset %esi, -8
; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    movl 16(%eax), %ecx
; X86-NEXT:    movl (%eax), %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    leal 1(%ecx,%edx), %esi
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    movl %esi, 12(%eax)
; X86-NEXT:    leal 1(%ecx,%edx), %ecx
; X86-NEXT:    movl %ecx, 16(%eax)
; X86-NEXT:    popl %esi
; X86-NEXT:    .cfi_def_cfa_offset 4
; X86-NEXT:    retl
 entry:
   %0 = load i32, ptr %ctx, align 8
   %h3 = getelementptr inbounds %struct.SA, ptr %ctx, i64 0, i32 3
   %h4 = getelementptr inbounds %struct.SA, ptr %ctx, i64 0, i32 4
   %1 = load i32, ptr %h4, align 8
   %add  = add i32 %0  , 1
   %add1 = add i32 %add, %1
   %add2 = add i32 %add1, %1
   %add3 = add i32 %add2, %1
   %add4 = add i32 %add3, %1
   store i32 %add4, ptr %h3, align 4
   %add29 = add i32 %add4, %1
   store i32 %add29, ptr %h4, align 8
   ret void
}



define void @foo_loop(ptr nocapture %ctx, i32 %n) local_unnamed_addr #0 {
; X64-LABEL: foo_loop:
; X64:       # %bb.0: # %entry
; X64-NEXT:    .p2align 4, 0x90
; X64-NEXT:  .LBB1_1: # %loop
; X64-NEXT:    # =>This Inner Loop Header: Depth=1
; X64-NEXT:    movl (%rdi), %ecx
; X64-NEXT:    movl 16(%rdi), %eax
; X64-NEXT:    leal 1(%rcx,%rax), %edx
; X64-NEXT:    movl %edx, 12(%rdi)
; X64-NEXT:    decl %esi
; X64-NEXT:    jne .LBB1_1
; X64-NEXT:  # %bb.2: # %exit
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    leal 1(%rax,%rcx), %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    addl %eax, %ecx
; X64-NEXT:    movl %ecx, 16(%rdi)
; X64-NEXT:    retq
;
; X86-LABEL: foo_loop:
; X86:       # %bb.0: # %entry
; X86-NEXT:    pushl %edi
; X86-NEXT:    .cfi_def_cfa_offset 8
; X86-NEXT:    pushl %esi
; X86-NEXT:    .cfi_def_cfa_offset 12
; X86-NEXT:    .cfi_offset %esi, -12
; X86-NEXT:    .cfi_offset %edi, -8
; X86-NEXT:    movl {{[0-9]+}}(%esp), %edx
; X86-NEXT:    movl {{[0-9]+}}(%esp), %eax
; X86-NEXT:    .p2align 4, 0x90
; X86-NEXT:  .LBB1_1: # %loop
; X86-NEXT:    # =>This Inner Loop Header: Depth=1
; X86-NEXT:    movl (%eax), %esi
; X86-NEXT:    movl 16(%eax), %ecx
; X86-NEXT:    leal 1(%esi,%ecx), %edi
; X86-NEXT:    movl %edi, 12(%eax)
; X86-NEXT:    decl %edx
; X86-NEXT:    jne .LBB1_1
; X86-NEXT:  # %bb.2: # %exit
; X86-NEXT:    addl %ecx, %esi
; X86-NEXT:    leal 1(%ecx,%esi), %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    addl %ecx, %edx
; X86-NEXT:    movl %edx, 16(%eax)
; X86-NEXT:    popl %esi
; X86-NEXT:    .cfi_def_cfa_offset 8
; X86-NEXT:    popl %edi
; X86-NEXT:    .cfi_def_cfa_offset 4
; X86-NEXT:    retl
 entry:
   br label %loop

 loop:
   %iter = phi i32 [%n ,%entry ] ,[ %iter.ctr ,%loop]
   %0 = load i32, ptr %ctx, align 8
   %h3 = getelementptr inbounds %struct.SA, ptr %ctx, i64 0, i32 3
   %h4 = getelementptr inbounds %struct.SA, ptr %ctx, i64 0, i32 4
   %1 = load i32, ptr %h4, align 8
   %add = add i32 %0, 1
   %add4 = add i32 %add, %1
   store i32 %add4, ptr %h3, align 4
   %add291 = add i32 %add4, %1
   %add292 = add i32 %add291, %1
   %add293 = add i32 %add292, %1
   %add294 = add i32 %add293, %1
   %add295 = add i32 %add294, %1
   %add296 = add i32 %add295, %1
   %add29 = add i32 %add296, %1
   %iter.ctr = sub i32 %iter , 1
   %res = icmp ne i32 %iter.ctr , 0
   br i1 %res , label %loop , label %exit

 exit:
   store i32 %add29, ptr %h4, align 8
   ret void
}
