blob: a65473dc1eeac74c7fc3f1e7e5f5eabaeae04ea8 [file] [edit]
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/980223.c"
.section .text.bar,"ax",@progbits
.hidden bar
.globl bar
.type bar,@function
bar: # @bar
.param i32, i32
# BB#0: # %entry
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size bar, .Lfunc_end0-bar
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i32, i32, i32
.local i64, 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=, $4=, $pop18
i32.store __stack_pointer($pop8), $pop17
block
block
block
i32.load $push16=, 0($1)
tee_local $push15=, $1=, $pop16
i32.load8_u $push0=, 4($pop15)
i32.const $push14=, 64
i32.and $push1=, $pop0, $pop14
br_if 0, $pop1 # 0: down to label2
# BB#1: # %entry.if.end7_crit_edge
i64.load $3=, 0($2):p2align=2
br 1 # 1: down to label1
.LBB1_2: # %if.then
end_block # label2:
i32.load $push23=, 0($1)
tee_local $push22=, $1=, $pop23
i64.load $push21=, 8($pop22):p2align=2
tee_local $push20=, $3=, $pop21
i64.store 0($2):p2align=2, $pop20
i32.load8_u $push2=, 4($1)
i32.const $push19=, 64
i32.and $push3=, $pop2, $pop19
br_if 1, $pop3 # 1: down to label0
.LBB1_3: # %if.end7
end_block # label1:
i64.store 0($0):p2align=2, $3
i32.const $push11=, 0
i32.const $push9=, 16
i32.add $push10=, $4, $pop9
i32.store __stack_pointer($pop11), $pop10
return
.LBB1_4: # %if.then6
end_block # label0:
i64.load $push4=, 0($2):p2align=2
i64.store 8($4):p2align=2, $pop4
i32.const $push12=, 8
i32.add $push13=, $4, $pop12
call bar@FUNCTION, $2, $pop13
unreachable
.endfunc
.Lfunc_end1:
.size foo, .Lfunc_end1-foo
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local i32, i32
# BB#0: # %entry
i32.const $push10=, 0
i32.const $push7=, 0
i32.load $push8=, __stack_pointer($pop7)
i32.const $push9=, 16
i32.sub $push18=, $pop8, $pop9
tee_local $push17=, $1=, $pop18
i32.store __stack_pointer($pop10), $pop17
i32.const $push16=, 0
i64.load $push0=, .Lmain.y($pop16)
i64.store 8($1), $pop0
block
block
i32.const $push15=, 0
i32.load8_u $push1=, cons2+4($pop15)
i32.const $push14=, 64
i32.and $push2=, $pop1, $pop14
i32.eqz $push24=, $pop2
br_if 0, $pop24 # 0: down to label4
# BB#1: # %if.then.i
i32.const $push22=, 0
i32.load $push21=, cons2($pop22)
tee_local $push20=, $0=, $pop21
i64.load $push3=, 8($pop20):p2align=2
i64.store 8($1), $pop3
i32.load8_u $push4=, 4($0)
i32.const $push19=, 64
i32.and $push5=, $pop4, $pop19
br_if 1, $pop5 # 1: down to label3
.LBB2_2: # %foo.exit
end_block # label4:
i32.const $push13=, 0
i32.const $push11=, 16
i32.add $push12=, $1, $pop11
i32.store __stack_pointer($pop13), $pop12
i32.const $push23=, 0
return $pop23
.LBB2_3: # %if.then6.i
end_block # label3:
i64.load $push6=, 8($1)
i64.store 0($1):p2align=2, $pop6
call bar@FUNCTION, $1, $1
unreachable
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.hidden nil # @nil
.type nil,@object
.section .bss.nil,"aw",@nobits
.globl nil
.p2align 2
nil:
.int32 0 # 0x0
.size nil, 4
.hidden cons1 # @cons1
.type cons1,@object
.section .data.cons1,"aw",@progbits
.globl cons1
.p2align 4
cons1:
.int32 nil
.int32 0 # 0x0
.int32 nil
.int32 0 # 0x0
.size cons1, 16
.hidden cons2 # @cons2
.type cons2,@object
.section .data.cons2,"aw",@progbits
.globl cons2
.p2align 4
cons2:
.int32 cons1
.int32 64 # 0x40
.int32 nil
.int32 0 # 0x0
.size cons2, 16
.type .Lmain.y,@object # @main.y
.section .rodata..Lmain.y,"a",@progbits
.p2align 3
.Lmain.y:
.int32 nil
.int32 0 # 0x0
.size .Lmain.y, 8
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void