forked from WebAssembly/binaryen
/
pr40057.c.s
73 lines (69 loc) · 2.13 KB
/
pr40057.c.s
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
.text
.file "/usr/local/google/home/dschuff/s/wasm-waterfall/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr40057.c"
.section .text.foo,"ax",@progbits
.hidden foo
.globl foo
.type foo,@function
foo: # @foo
.param i64
.result i32
# BB#0: # %entry
i32.wrap/i64 $push0=, $0
i32.const $push1=, 31
i32.shr_s $push2=, $pop0, $pop1
# fallthrough-return: $pop2
.endfunc
.Lfunc_end0:
.size foo, .Lfunc_end0-foo
.section .text.bar,"ax",@progbits
.hidden bar
.globl bar
.type bar,@function
bar: # @bar
.param i64
.result i32
# BB#0: # %entry
i32.wrap/i64 $push0=, $0
i32.const $push1=, 31
i32.shr_s $push2=, $pop0, $pop1
# fallthrough-return: $pop2
.endfunc
.Lfunc_end1:
.size bar, .Lfunc_end1-bar
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
# BB#0: # %entry
block
i64.const $push0=, 6042589866
i32.call $push1=, foo@FUNCTION, $pop0
br_if 0, $pop1 # 0: down to label0
# BB#1: # %if.end
i64.const $push2=, 6579460778
i32.call $push3=, foo@FUNCTION, $pop2
i32.eqz $push9=, $pop3
br_if 0, $pop9 # 0: down to label0
# BB#2: # %if.end4
i64.const $push4=, 6042589866
i32.call $push5=, bar@FUNCTION, $pop4
br_if 0, $pop5 # 0: down to label0
# BB#3: # %if.end8
i64.const $push6=, 6579460778
i32.call $push7=, bar@FUNCTION, $pop6
i32.eqz $push10=, $pop7
br_if 0, $pop10 # 0: down to label0
# BB#4: # %if.end12
i32.const $push8=, 0
return $pop8
.LBB2_5: # %if.then11
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end2:
.size main, .Lfunc_end2-main
.ident "clang version 4.0.0 (trunk 283460) (llvm/trunk 283507)"
.functype abort, void