blob: 23933d6a982f2db2a70ee02f4d5cd0fa2f960411 [file] [log] [blame] [edit]
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/stdarg-1.c"
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32
# BB#0: # %entry
block
i32.const $push0=, 5
i32.ne $push1=, $0, $pop0
br_if 0, $pop1 # 0: down to label0
# BB#1: # %sw.bb
i32.const $push3=, 0
i32.load $push2=, 0($1)
i32.store foo_arg($pop3), $pop2
return
.LBB0_2: # %sw.default
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.bar,"ax",@progbits
.hidden bar
.globl bar
.type bar,@function
bar: # @bar
.param i32
.local i32, i32
# BB#0: # %entry
block
block
block
i32.const $push0=, 16392
i32.eq $push1=, $0, $pop0
br_if 0, $pop1 # 0: down to label3
# BB#1: # %entry
i32.const $push2=, 16390
i32.ne $push3=, $0, $pop2
br_if 1, $pop3 # 1: down to label2
# BB#2: # %if.then
i32.const $push49=, 0
i32.const $push48=, 0
i32.load $push30=, gap($pop48)
i32.const $push31=, 7
i32.add $push32=, $pop30, $pop31
i32.const $push33=, -8
i32.and $push47=, $pop32, $pop33
tee_local $push46=, $1=, $pop47
i32.const $push34=, 8
i32.add $push45=, $pop46, $pop34
tee_local $push44=, $2=, $pop45
i32.store gap($pop49), $pop44
block
f64.load $push35=, 0($1)
f64.const $push36=, 0x1.1p4
f64.ne $push37=, $pop35, $pop36
br_if 0, $pop37 # 0: down to label4
# BB#3: # %lor.lhs.false
i32.const $push50=, 0
i32.const $push38=, 12
i32.add $push39=, $1, $pop38
i32.store gap($pop50), $pop39
i32.load $push40=, 0($2)
i32.const $push41=, 129
i32.eq $push42=, $pop40, $pop41
br_if 2, $pop42 # 2: down to label2
.LBB1_4: # %if.then5
end_block # label4:
call abort@FUNCTION
unreachable
.LBB1_5: # %if.then7
end_block # label3:
i32.const $push55=, 0
i32.load $push54=, pap($pop55)
tee_local $push53=, $1=, $pop54
i32.load $push4=, 0($1)
i32.const $push5=, 7
i32.add $push6=, $pop4, $pop5
i32.const $push7=, -8
i32.and $push52=, $pop6, $pop7
tee_local $push51=, $1=, $pop52
i32.const $push8=, 8
i32.add $push9=, $pop51, $pop8
i32.store 0($pop53), $pop9
i64.load $push10=, 0($1)
i64.const $push11=, 14
i64.ne $push12=, $pop10, $pop11
br_if 1, $pop12 # 1: down to label1
# BB#6: # %lor.lhs.false11
i32.const $push60=, 0
i32.load $push59=, pap($pop60)
tee_local $push58=, $1=, $pop59
i32.load $push13=, 0($1)
i32.const $push14=, 15
i32.add $push15=, $pop13, $pop14
i32.const $push16=, -16
i32.and $push57=, $pop15, $pop16
tee_local $push56=, $1=, $pop57
i32.const $push17=, 16
i32.add $push18=, $pop56, $pop17
i32.store 0($pop58), $pop18
i64.load $push20=, 0($1)
i64.load $push19=, 8($1)
i64.const $push22=, 0
i64.const $push21=, 4613381465357418496
i32.call $push23=, __netf2@FUNCTION, $pop20, $pop19, $pop22, $pop21
br_if 1, $pop23 # 1: down to label1
# BB#7: # %lor.lhs.false15
i32.const $push24=, 0
i32.load $push64=, pap($pop24)
tee_local $push63=, $1=, $pop64
i32.load $push62=, 0($1)
tee_local $push61=, $1=, $pop62
i32.const $push25=, 4
i32.add $push26=, $pop61, $pop25
i32.store 0($pop63), $pop26
i32.load $push27=, 0($1)
i32.const $push28=, 17
i32.ne $push29=, $pop27, $pop28
br_if 1, $pop29 # 1: down to label1
.LBB1_8: # %if.end22
end_block # label2:
i32.const $push43=, 0
i32.store bar_arg($pop43), $0
return
.LBB1_9: # %if.then19
end_block # label1:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
.section .text.f0,"ax",@progbits
.hidden f0
.globl f0
.type f0,@function
f0: # @f0
.param i32, i32
# BB#0: # %entry
# fallthrough-return
.endfunc
.Lfunc_end2:
.size f0, .Lfunc_end2-f0
.section .text.f1,"ax",@progbits
.hidden f1
.globl f1
.type f1,@function
f1: # @f1
.param i32, i32
# BB#0: # %entry
# fallthrough-return
.endfunc
.Lfunc_end3:
.size f1, .Lfunc_end3-f1
.section .text.f2,"ax",@progbits
.hidden f2
.globl f2
.type f2,@function
f2: # @f2
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push8=, 0
i32.const $push5=, 0
i32.load $push6=, __stack_pointer($pop5)
i32.const $push7=, 16
i32.sub $push18=, $pop6, $pop7
tee_local $push17=, $2=, $pop18
i32.store __stack_pointer($pop8), $pop17
i32.store 12($2), $1
i32.const $push0=, 0
f64.load $push1=, d($pop0)
i32.trunc_s/f64 $push2=, $pop1
call bar@FUNCTION, $pop2
i32.load $push16=, 12($2)
tee_local $push15=, $1=, $pop16
i32.const $push3=, 4
i32.add $push4=, $pop15, $pop3
i32.store 12($2), $pop4
i32.const $push14=, 0
i32.load $push13=, 0($1)
tee_local $push12=, $1=, $pop13
i32.store x($pop14), $pop12
call bar@FUNCTION, $1
i32.const $push11=, 0
i32.const $push9=, 16
i32.add $push10=, $2, $pop9
i32.store __stack_pointer($pop11), $pop10
# fallthrough-return
.endfunc
.Lfunc_end4:
.size f2, .Lfunc_end4-f2
.section .text.f3,"ax",@progbits
.hidden f3
.globl f3
.type f3,@function
f3: # @f3
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push7=, 0
i32.load $push8=, __stack_pointer($pop7)
i32.const $push9=, 16
i32.sub $push13=, $pop8, $pop9
tee_local $push12=, $2=, $pop13
i32.store 12($pop12), $1
i32.const $push4=, 0
i32.const $push0=, 7
i32.add $push1=, $1, $pop0
i32.const $push2=, -8
i32.and $push11=, $pop1, $pop2
tee_local $push10=, $1=, $pop11
i64.load $push3=, 0($pop10)
i64.store d($pop4), $pop3
i32.const $push5=, 8
i32.add $push6=, $1, $pop5
i32.store 12($2), $pop6
# fallthrough-return
.endfunc
.Lfunc_end5:
.size f3, .Lfunc_end5-f3
.section .text.f4,"ax",@progbits
.hidden f4
.globl f4
.type f4,@function
f4: # @f4
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push12=, 0
i32.const $push9=, 0
i32.load $push10=, __stack_pointer($pop9)
i32.const $push11=, 16
i32.sub $push22=, $pop10, $pop11
tee_local $push21=, $2=, $pop22
i32.store __stack_pointer($pop12), $pop21
i32.store 12($2), $1
i32.const $push20=, 0
i32.const $push0=, 7
i32.add $push1=, $1, $pop0
i32.const $push2=, -8
i32.and $push19=, $pop1, $pop2
tee_local $push18=, $1=, $pop19
f64.load $push3=, 0($pop18)
i32.trunc_s/f64 $push4=, $pop3
i32.store x($pop20), $pop4
i32.const $push5=, 8
i32.add $push17=, $1, $pop5
tee_local $push16=, $1=, $pop17
i32.store 12($2), $pop16
block
i32.const $push6=, 5
i32.ne $push7=, $0, $pop6
br_if 0, $pop7 # 0: down to label5
# BB#1: # %foo.exit
i32.const $push23=, 0
i32.load $push8=, 0($1)
i32.store foo_arg($pop23), $pop8
i32.const $push15=, 0
i32.const $push13=, 16
i32.add $push14=, $2, $pop13
i32.store __stack_pointer($pop15), $pop14
return
.LBB6_2: # %sw.default.i
end_block # label5:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end6:
.size f4, .Lfunc_end6-f4
.section .text.f5,"ax",@progbits
.hidden f5
.globl f5
.type f5,@function
f5: # @f5
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push4=, 0
i32.const $push1=, 0
i32.load $push2=, __stack_pointer($pop1)
i32.const $push3=, 16
i32.sub $push9=, $pop2, $pop3
tee_local $push8=, $2=, $pop9
i32.store __stack_pointer($pop4), $pop8
i32.const $push0=, 0
i32.store gap($pop0), $1
i32.store 12($2), $1
call bar@FUNCTION, $0
i32.const $push7=, 0
i32.const $push5=, 16
i32.add $push6=, $2, $pop5
i32.store __stack_pointer($pop7), $pop6
# fallthrough-return
.endfunc
.Lfunc_end7:
.size f5, .Lfunc_end7-f5
.section .text.f6,"ax",@progbits
.hidden f6
.globl f6
.type f6,@function
f6: # @f6
.param i32, i32
.local i32, i32
# BB#0: # %entry
i32.const $push8=, 0
i32.const $push5=, 0
i32.load $push6=, __stack_pointer($pop5)
i32.const $push7=, 16
i32.sub $push18=, $pop6, $pop7
tee_local $push17=, $3=, $pop18
i32.store __stack_pointer($pop8), $pop17
i32.store 12($3), $1
i32.const $push0=, 0
f64.load $push1=, d($pop0)
i32.trunc_s/f64 $push2=, $pop1
call bar@FUNCTION, $pop2
i32.const $push16=, 0
i32.load $push15=, 12($3)
tee_local $push14=, $1=, $pop15
i32.load $push13=, 8($pop14)
tee_local $push12=, $2=, $pop13
i32.store x($pop16), $pop12
i32.const $push3=, 12
i32.add $push4=, $1, $pop3
i32.store 12($3), $pop4
call bar@FUNCTION, $2
i32.const $push11=, 0
i32.const $push9=, 16
i32.add $push10=, $3, $pop9
i32.store __stack_pointer($pop11), $pop10
# fallthrough-return
.endfunc
.Lfunc_end8:
.size f6, .Lfunc_end8-f6
.section .text.f7,"ax",@progbits
.hidden f7
.globl f7
.type f7,@function
f7: # @f7
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push4=, 0
i32.const $push1=, 0
i32.load $push2=, __stack_pointer($pop1)
i32.const $push3=, 16
i32.sub $push11=, $pop2, $pop3
tee_local $push10=, $2=, $pop11
i32.store __stack_pointer($pop4), $pop10
i32.const $push0=, 0
i32.const $push8=, 12
i32.add $push9=, $2, $pop8
i32.store pap($pop0), $pop9
i32.store 12($2), $1
call bar@FUNCTION, $0
i32.const $push7=, 0
i32.const $push5=, 16
i32.add $push6=, $2, $pop5
i32.store __stack_pointer($pop7), $pop6
# fallthrough-return
.endfunc
.Lfunc_end9:
.size f7, .Lfunc_end9-f7
.section .text.f8,"ax",@progbits
.hidden f8
.globl f8
.type f8,@function
f8: # @f8
.param i32, i32
.local i32
# BB#0: # %entry
i32.const $push11=, 0
i32.const $push8=, 0
i32.load $push9=, __stack_pointer($pop8)
i32.const $push10=, 16
i32.sub $push21=, $pop9, $pop10
tee_local $push20=, $2=, $pop21
i32.store __stack_pointer($pop11), $pop20
i32.const $push0=, 0
i32.const $push15=, 12
i32.add $push16=, $2, $pop15
i32.store pap($pop0), $pop16
i32.store 12($2), $1
call bar@FUNCTION, $0
i32.const $push19=, 0
i32.load $push2=, 12($2)
i32.const $push1=, 7
i32.add $push3=, $pop2, $pop1
i32.const $push4=, -8
i32.and $push18=, $pop3, $pop4
tee_local $push17=, $0=, $pop18
i64.load $push5=, 0($pop17)
i64.store d($pop19), $pop5
i32.const $push6=, 8
i32.add $push7=, $0, $pop6
i32.store 12($2), $pop7
i32.const $push14=, 0
i32.const $push12=, 16
i32.add $push13=, $2, $pop12
i32.store __stack_pointer($pop14), $pop13
# fallthrough-return
.endfunc
.Lfunc_end10:
.size f8, .Lfunc_end10-f8
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local i32
# BB#0: # %entry
i32.const $push44=, 0
i32.const $push41=, 0
i32.load $push42=, __stack_pointer($pop41)
i32.const $push43=, 176
i32.sub $push71=, $pop42, $pop43
tee_local $push70=, $0=, $pop71
i32.store __stack_pointer($pop44), $pop70
i32.const $push69=, 0
i64.const $push1=, 4629418941960159232
i64.store d($pop69), $pop1
i32.const $push68=, 28
i32.store 160($0), $pop68
i32.const $push48=, 160
i32.add $push49=, $0, $pop48
call f2@FUNCTION, $0, $pop49
block
i32.const $push67=, 0
i32.load $push2=, bar_arg($pop67)
i32.const $push66=, 28
i32.ne $push3=, $pop2, $pop66
br_if 0, $pop3 # 0: down to label6
# BB#1: # %entry
i32.const $push73=, 0
i32.load $push0=, x($pop73)
i32.const $push72=, 28
i32.ne $push4=, $pop0, $pop72
br_if 0, $pop4 # 0: down to label6
# BB#2: # %if.end
i64.const $push5=, 4638813169307877376
i64.store 144($0), $pop5
i32.const $push50=, 144
i32.add $push51=, $0, $pop50
call f3@FUNCTION, $0, $pop51
i32.const $push74=, 0
f64.load $push6=, d($pop74)
f64.const $push7=, 0x1.06p7
f64.ne $push8=, $pop6, $pop7
br_if 0, $pop8 # 0: down to label6
# BB#3: # %if.end4
i32.const $push76=, 128
i32.store 136($0), $pop76
i64.const $push10=, 4625196817309499392
i64.store 128($0), $pop10
i32.const $push11=, 5
i32.const $push52=, 128
i32.add $push53=, $0, $pop52
call f4@FUNCTION, $pop11, $pop53
i32.const $push75=, 0
i32.load $push12=, x($pop75)
i32.const $push13=, 16
i32.ne $push14=, $pop12, $pop13
br_if 0, $pop14 # 0: down to label6
# BB#4: # %if.end4
i32.const $push78=, 0
i32.load $push9=, foo_arg($pop78)
i32.const $push77=, 128
i32.ne $push15=, $pop9, $pop77
br_if 0, $pop15 # 0: down to label6
# BB#5: # %if.end9
i32.const $push16=, 129
i32.store 120($0), $pop16
i64.const $push17=, 4625478292286210048
i64.store 112($0), $pop17
i32.const $push18=, 16390
i32.const $push54=, 112
i32.add $push55=, $0, $pop54
call f5@FUNCTION, $pop18, $pop55
i32.const $push80=, 0
i32.load $push19=, bar_arg($pop80)
i32.const $push79=, 16390
i32.ne $push20=, $pop19, $pop79
br_if 0, $pop20 # 0: down to label6
# BB#6: # %if.end12
i64.const $push21=, 60129542156
i64.store 96($0), $pop21
i32.const $push22=, -31
i32.store 104($0), $pop22
i32.const $push56=, 96
i32.add $push57=, $0, $pop56
call f6@FUNCTION, $0, $pop57
i32.const $push82=, 0
i32.load $push23=, bar_arg($pop82)
i32.const $push81=, -31
i32.ne $push24=, $pop23, $pop81
br_if 0, $pop24 # 0: down to label6
# BB#7: # %if.end15
i32.const $push58=, 48
i32.add $push59=, $0, $pop58
i32.const $push92=, 32
i32.add $push25=, $pop59, $pop92
i64.const $push26=, 4628011567076605952
i64.store 0($pop25), $pop26
i32.const $push60=, 48
i32.add $push61=, $0, $pop60
i32.const $push91=, 24
i32.add $push27=, $pop61, $pop91
i32.const $push90=, 17
i32.store 0($pop27), $pop90
i32.const $push62=, 48
i32.add $push63=, $0, $pop62
i32.const $push89=, 16
i32.add $push28=, $pop63, $pop89
i64.const $push88=, 4613381465357418496
i64.store 0($pop28), $pop88
i64.const $push87=, 0
i64.store 56($0), $pop87
i64.const $push86=, 14
i64.store 48($0), $pop86
i32.const $push85=, 16392
i32.const $push64=, 48
i32.add $push65=, $0, $pop64
call f7@FUNCTION, $pop85, $pop65
i32.const $push84=, 0
i32.load $push29=, bar_arg($pop84)
i32.const $push83=, 16392
i32.ne $push30=, $pop29, $pop83
br_if 0, $pop30 # 0: down to label6
# BB#8: # %if.end18
i32.const $push102=, 32
i32.add $push32=, $0, $pop102
i64.const $push33=, 4628293042053316608
i64.store 0($pop32), $pop33
i32.const $push101=, 24
i32.add $push34=, $0, $pop101
i32.const $push100=, 17
i32.store 0($pop34), $pop100
i32.const $push99=, 16
i32.add $push35=, $0, $pop99
i64.const $push98=, 4613381465357418496
i64.store 0($pop35), $pop98
i64.const $push97=, 0
i64.store 8($0), $pop97
i64.const $push96=, 14
i64.store 0($0), $pop96
i32.const $push95=, 16392
call f8@FUNCTION, $pop95, $0
i32.const $push94=, 0
i32.load $push36=, bar_arg($pop94)
i32.const $push93=, 16392
i32.ne $push37=, $pop36, $pop93
br_if 0, $pop37 # 0: down to label6
# BB#9: # %if.end18
i32.const $push103=, 0
f64.load $push31=, d($pop103)
f64.const $push38=, 0x1.bp4
f64.ne $push39=, $pop31, $pop38
br_if 0, $pop39 # 0: down to label6
# BB#10: # %if.end23
i32.const $push47=, 0
i32.const $push45=, 176
i32.add $push46=, $0, $pop45
i32.store __stack_pointer($pop47), $pop46
i32.const $push40=, 0
return $pop40
.LBB11_11: # %if.then22
end_block # label6:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end11:
.size main, .Lfunc_end11-main
.hidden foo_arg # @foo_arg
.type foo_arg,@object
.section .bss.foo_arg,"aw",@nobits
.globl foo_arg
.p2align 2
foo_arg:
.int32 0 # 0x0
.size foo_arg, 4
.hidden gap # @gap
.type gap,@object
.section .bss.gap,"aw",@nobits
.globl gap
.p2align 2
gap:
.int32 0
.size gap, 4
.hidden pap # @pap
.type pap,@object
.section .bss.pap,"aw",@nobits
.globl pap
.p2align 2
pap:
.int32 0
.size pap, 4
.hidden bar_arg # @bar_arg
.type bar_arg,@object
.section .bss.bar_arg,"aw",@nobits
.globl bar_arg
.p2align 2
bar_arg:
.int32 0 # 0x0
.size bar_arg, 4
.hidden d # @d
.type d,@object
.section .bss.d,"aw",@nobits
.globl d
.p2align 3
d:
.int64 0 # double 0
.size d, 8
.hidden x # @x
.type x,@object
.section .bss.x,"aw",@nobits
.globl x
.p2align 2
x:
.int32 0 # 0x0
.size x, 4
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void