blob: 0b11d909bff1ee4f8260139abe7303092c98742f [file] [log] [blame] [edit]
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/loop-15.c"
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32
.local i32
# BB#0: # %entry
block
i32.le_u $push0=, $1, $0
br_if 0, $pop0 # 0: down to label0
# BB#1: # %while.body.preheader
.LBB0_2: # %while.body
# =>This Inner Loop Header: Depth=1
loop # label1:
i32.const $push5=, -4
i32.add $push4=, $1, $pop5
tee_local $push3=, $2=, $pop4
i32.load $push1=, 0($pop3)
i32.store 0($1), $pop1
copy_local $1=, $2
i32.gt_u $push2=, $2, $0
br_if 0, $pop2 # 0: up to label1
.LBB0_3: # %while.end
end_loop
end_block # label0:
# fallthrough-return
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $push20=, 0
i32.const $push17=, 0
i32.load $push18=, __stack_pointer($pop17)
i32.const $push19=, 32
i32.sub $push28=, $pop18, $pop19
tee_local $push27=, $11=, $pop28
i32.store __stack_pointer($pop20), $pop27
i32.const $3=, 0
i32.const $2=, -1
i32.const $push2=, 16
i32.add $7=, $11, $pop2
i32.const $push26=, 4
i32.or $push25=, $11, $pop26
tee_local $push24=, $0=, $pop25
copy_local $1=, $pop24
.LBB1_1: # %for.cond1.preheader
# =>This Loop Header: Depth=1
# Child Loop BB1_2 Depth 2
# Child Loop BB1_4 Depth 3
# Child Loop BB1_6 Depth 3
# Child Loop BB1_9 Depth 3
# Child Loop BB1_12 Depth 3
block
block
block
loop # label5:
i32.const $push29=, 2
i32.shl $push1=, $3, $pop29
i32.add $4=, $11, $pop1
copy_local $5=, $0
i32.const $6=, 0
.LBB1_2: # %for.cond4.preheader
# Parent Loop BB1_1 Depth=1
# => This Loop Header: Depth=2
# Child Loop BB1_4 Depth 3
# Child Loop BB1_6 Depth 3
# Child Loop BB1_9 Depth 3
# Child Loop BB1_12 Depth 3
loop # label6:
i32.const $push32=, 4
i32.store 0($7), $pop32
i64.const $push31=, 4294967296
i64.store 0($11), $pop31
i64.const $push30=, 12884901890
i64.store 8($11), $pop30
block
i32.le_s $push3=, $6, $3
br_if 0, $pop3 # 0: down to label7
# BB#3: # %while.body.i.preheader
# in Loop: Header=BB1_2 Depth=2
i32.const $push33=, 2
i32.shl $push4=, $6, $pop33
i32.add $10=, $11, $pop4
.LBB1_4: # %while.body.i
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
# => This Inner Loop Header: Depth=3
loop # label8:
i32.const $push36=, -4
i32.add $push35=, $10, $pop36
tee_local $push34=, $9=, $pop35
i32.load $push5=, 0($pop34)
i32.store 0($10), $pop5
copy_local $10=, $9
i32.gt_u $push6=, $9, $4
br_if 0, $pop6 # 0: up to label8
.LBB1_5: # %for.body11.preheader
# in Loop: Header=BB1_2 Depth=2
end_loop
end_block # label7:
i32.const $10=, -1
copy_local $9=, $11
.LBB1_6: # %for.body11
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
# => This Inner Loop Header: Depth=3
loop # label9:
i32.const $push39=, 1
i32.add $push38=, $10, $pop39
tee_local $push37=, $10=, $pop38
i32.load $push7=, 0($9)
i32.ne $push8=, $pop37, $pop7
br_if 3, $pop8 # 3: down to label4
# BB#7: # %for.cond9
# in Loop: Header=BB1_6 Depth=3
i32.const $push40=, 4
i32.add $9=, $9, $pop40
i32.lt_s $push9=, $10, $3
br_if 0, $pop9 # 0: up to label9
# BB#8: # in Loop: Header=BB1_2 Depth=2
end_loop
copy_local $9=, $1
copy_local $10=, $2
.LBB1_9: # %for.cond17
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
# => This Inner Loop Header: Depth=3
block
loop # label11:
i32.const $push43=, 1
i32.add $push42=, $10, $pop43
tee_local $push41=, $10=, $pop42
i32.ge_s $push10=, $pop41, $6
br_if 1, $pop10 # 1: down to label10
# BB#10: # %for.body19
# in Loop: Header=BB1_9 Depth=3
i32.load $8=, 0($9)
i32.const $push44=, 4
i32.add $push0=, $9, $pop44
copy_local $9=, $pop0
i32.eq $push16=, $10, $8
br_if 0, $pop16 # 0: up to label11
br 5 # 5: down to label3
.LBB1_11: # %for.end26
# in Loop: Header=BB1_2 Depth=2
end_loop
end_block # label10:
block
copy_local $10=, $5
i32.const $push50=, 1
i32.add $push49=, $6, $pop50
tee_local $push48=, $6=, $pop49
copy_local $9=, $pop48
i32.const $push47=, 4
i32.gt_s $push46=, $6, $pop47
tee_local $push45=, $8=, $pop46
br_if 0, $pop45 # 0: down to label12
.LBB1_12: # %for.body30
# Parent Loop BB1_1 Depth=1
# Parent Loop BB1_2 Depth=2
# => This Inner Loop Header: Depth=3
loop # label13:
i32.load $push11=, 0($10)
i32.ne $push12=, $9, $pop11
br_if 6, $pop12 # 6: down to label2
# BB#13: # %for.cond28
# in Loop: Header=BB1_12 Depth=3
i32.const $push55=, 4
i32.add $10=, $10, $pop55
i32.const $push54=, 1
i32.add $push53=, $9, $pop54
tee_local $push52=, $9=, $pop53
i32.const $push51=, 4
i32.le_s $push13=, $pop52, $pop51
br_if 0, $pop13 # 0: up to label13
# BB#14: # %for.cond1.loopexit
# in Loop: Header=BB1_2 Depth=2
end_loop
i32.const $push56=, 4
i32.add $5=, $5, $pop56
i32.eqz $push63=, $8
br_if 1, $pop63 # 1: up to label6
.LBB1_15: # %for.inc41
# in Loop: Header=BB1_1 Depth=1
end_block # label12:
end_loop
i32.const $push62=, 4
i32.add $1=, $1, $pop62
i32.const $push61=, 1
i32.add $2=, $2, $pop61
i32.const $push60=, 1
i32.add $push59=, $3, $pop60
tee_local $push58=, $3=, $pop59
i32.const $push57=, 5
i32.lt_s $push14=, $pop58, $pop57
br_if 0, $pop14 # 0: up to label5
# BB#16: # %for.end43
end_loop
i32.const $push23=, 0
i32.const $push21=, 32
i32.add $push22=, $11, $pop21
i32.store __stack_pointer($pop23), $pop22
i32.const $push15=, 0
return $pop15
.LBB1_17: # %if.then
end_block # label4:
call abort@FUNCTION
unreachable
.LBB1_18: # %if.then22
end_block # label3:
call abort@FUNCTION
unreachable
.LBB1_19: # %if.then33
end_block # label2:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void