blob: b7852ecedeb15b273448d524aafff9afa874731c [file] [log] [blame] [edit]
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr59643.c"
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32, i32, f64, f64, i32
.local i32, i32, f64, f64
# BB#0: # %entry
block
i32.const $push13=, -1
i32.add $push0=, $5, $pop13
i32.const $push1=, 2
i32.lt_s $push2=, $pop0, $pop1
br_if 0, $pop2 # 0: down to label0
# BB#1: # %for.body.preheader
i32.const $push3=, 16
i32.add $6=, $0, $pop3
i32.const $push4=, -2
i32.add $7=, $5, $pop4
i32.const $push15=, 8
i32.add $5=, $2, $pop15
i32.const $push14=, 8
i32.add $1=, $1, $pop14
f64.load $8=, 8($0)
f64.load $9=, 0($0)
.LBB0_2: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
i32.const $push26=, -8
i32.add $push12=, $6, $pop26
f64.mul $push5=, $8, $4
f64.load $push7=, 0($1)
f64.load $push6=, 0($5)
f64.add $push8=, $pop7, $pop6
f64.add $push9=, $pop8, $9
f64.load $push25=, 0($6)
tee_local $push24=, $8=, $pop25
f64.add $push10=, $pop9, $pop24
f64.mul $push11=, $pop10, $3
f64.add $push23=, $pop5, $pop11
tee_local $push22=, $9=, $pop23
f64.store 0($pop12), $pop22
i32.const $push21=, 8
i32.add $6=, $6, $pop21
i32.const $push20=, 8
i32.add $5=, $5, $pop20
i32.const $push19=, 8
i32.add $1=, $1, $pop19
i32.const $push18=, -1
i32.add $push17=, $7, $pop18
tee_local $push16=, $7=, $pop17
br_if 0, $pop16 # 0: up to label1
.LBB0_3: # %for.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, f64, i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $push19=, 0
i32.const $push16=, 0
i32.load $push17=, __stack_pointer($pop16)
i32.const $push18=, 768
i32.sub $push34=, $pop17, $pop18
tee_local $push33=, $6=, $pop34
i32.store __stack_pointer($pop19), $pop33
i32.const $5=, 0
i32.const $push23=, 512
i32.add $push24=, $6, $pop23
copy_local $4=, $pop24
i32.const $push25=, 256
i32.add $push26=, $6, $pop25
copy_local $3=, $pop26
copy_local $2=, $6
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label2:
i32.const $push48=, 7
i32.and $push47=, $5, $pop48
tee_local $push46=, $0=, $pop47
f64.convert_s/i32 $push0=, $pop46
f64.store 0($2), $pop0
i32.const $push45=, -4
i32.add $push1=, $0, $pop45
f64.convert_s/i32 $push2=, $pop1
f64.store 0($3), $pop2
i32.const $push44=, 3
i32.and $push3=, $5, $pop44
f64.convert_s/i32 $push43=, $pop3
tee_local $push42=, $1=, $pop43
f64.add $push4=, $pop42, $1
f64.store 0($4), $pop4
i32.const $push41=, 8
i32.add $2=, $2, $pop41
i32.const $push40=, 8
i32.add $3=, $3, $pop40
i32.const $push39=, 8
i32.add $4=, $4, $pop39
i32.const $push38=, 1
i32.add $push37=, $5, $pop38
tee_local $push36=, $5=, $pop37
i32.const $push35=, 32
i32.ne $push5=, $pop36, $pop35
br_if 0, $pop5 # 0: up to label2
# BB#2: # %for.end
end_loop
i32.const $push27=, 512
i32.add $push28=, $6, $pop27
i32.const $push29=, 256
i32.add $push30=, $6, $pop29
f64.const $push8=, 0x1p1
f64.const $push7=, 0x1.8p1
i32.const $push6=, 32
call foo@FUNCTION, $pop28, $pop30, $6, $pop8, $pop7, $pop6
i32.const $5=, 0
i32.const $4=, 0
.LBB1_3: # %for.body12
# =>This Inner Loop Header: Depth=1
block
loop # label4:
i32.const $push31=, 512
i32.add $push32=, $6, $pop31
i32.add $push11=, $pop32, $5
f64.load $push12=, 0($pop11)
i32.const $push49=, expected
i32.add $push9=, $5, $pop49
f64.load $push10=, 0($pop9)
f64.ne $push13=, $pop12, $pop10
br_if 1, $pop13 # 1: down to label3
# BB#4: # %for.cond9
# in Loop: Header=BB1_3 Depth=1
i32.const $push54=, 8
i32.add $5=, $5, $pop54
i32.const $push53=, 1
i32.add $push52=, $4, $pop53
tee_local $push51=, $4=, $pop52
i32.const $push50=, 31
i32.le_s $push14=, $pop51, $pop50
br_if 0, $pop14 # 0: up to label4
# BB#5: # %for.end19
end_loop
i32.const $push22=, 0
i32.const $push20=, 768
i32.add $push21=, $6, $pop20
i32.store __stack_pointer($pop22), $pop21
i32.const $push15=, 0
return $pop15
.LBB1_6: # %if.then
end_block # label3:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.hidden expected # @expected
.type expected,@object
.section .data.expected,"aw",@progbits
.globl expected
.p2align 4
expected:
.int64 0 # double 0
.int64 4621819117588971520 # double 10
.int64 4631389266797133824 # double 44
.int64 4637440978796412928 # double 110
.int64 4642366790888849408 # double 232
.int64 4647327787353374720 # double 490
.int64 4652183230701633536 # double 1020
.int64 4656787985398759424 # double 2078
.int64 4661287186979618816 # double 4152
.int64 4665796284165128192 # double 8314
.int64 4670306480862265344 # double 16652
.int64 4674813104146612224 # double 33326
.int64 4679317528407703552 # double 66664
.int64 4683822021388271616 # double 133354
.int64 4688326308210409472 # double 266748
.int64 4692830234255294464 # double 533534
.int64 4697333816702795776 # double 1067064
.int64 4701837437805002752 # double 2134138
.int64 4706341063202177024 # double 4268300
.int64 4710844674640707584 # double 8536622
.int64 4715348277489303552 # double 17073256
.int64 4719851880606334976 # double 34146538
.int64 4724355482918060032 # double 68293116
.int64 4728859083820498944 # double 136586270
.int64 4733362683380760576 # double 273172536
.int64 4737866283092017152 # double 546345082
.int64 4742369882820050944 # double 1092690188
.int64 4746873482493558784 # double 2185380398
.int64 4751377082133512192 # double 4370760808
.int64 4755880681774514176 # double 8741521642
.int64 4760384281412370432 # double 17483043324
.int64 4618441417868443648 # double 6
.size expected, 256
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void