1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
2; RUN: llc  -O0 -mtriple=mipsel-linux-gnu -global-isel  -verify-machineinstrs %s -o -| FileCheck %s -check-prefixes=MIPS32
3
4%struct.S = type { i32, i32 }
5
6define void @ZeroInit(%struct.S* noalias sret(%struct.S) %agg.result) {
7; MIPS32-LABEL: ZeroInit:
8; MIPS32:       # %bb.0: # %entry
9; MIPS32-NEXT:    ori $1, $zero, 0
10; MIPS32-NEXT:    sw $1, 0($4)
11; MIPS32-NEXT:    sw $1, 4($4)
12; MIPS32-NEXT:    jr $ra
13; MIPS32-NEXT:    nop
14entry:
15  %x = getelementptr inbounds %struct.S, %struct.S* %agg.result, i32 0, i32 0
16  store i32 0, i32* %x, align 4
17  %y = getelementptr inbounds %struct.S, %struct.S* %agg.result, i32 0, i32 1
18  store i32 0, i32* %y, align 4
19  ret void
20}
21
22define void @CallZeroInit(%struct.S* noalias sret(%struct.S) %agg.result) {
23; MIPS32-LABEL: CallZeroInit:
24; MIPS32:       # %bb.0: # %entry
25; MIPS32-NEXT:    addiu $sp, $sp, -24
26; MIPS32-NEXT:    .cfi_def_cfa_offset 24
27; MIPS32-NEXT:    sw $ra, 20($sp) # 4-byte Folded Spill
28; MIPS32-NEXT:    .cfi_offset 31, -4
29; MIPS32-NEXT:    jal ZeroInit
30; MIPS32-NEXT:    nop
31; MIPS32-NEXT:    lw $ra, 20($sp) # 4-byte Folded Reload
32; MIPS32-NEXT:    addiu $sp, $sp, 24
33; MIPS32-NEXT:    jr $ra
34; MIPS32-NEXT:    nop
35entry:
36  call void @ZeroInit(%struct.S* sret(%struct.S) %agg.result)
37  ret void
38}
39