diff options
Diffstat (limited to 'test/torture-s/pr28403.c.s')
-rw-r--r-- | test/torture-s/pr28403.c.s | 73 |
1 files changed, 73 insertions, 0 deletions
diff --git a/test/torture-s/pr28403.c.s b/test/torture-s/pr28403.c.s new file mode 100644 index 000000000..95309b049 --- /dev/null +++ b/test/torture-s/pr28403.c.s @@ -0,0 +1,73 @@ + .text + .file "/b/build/slave/linux/build/src/buildbot/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr28403.c" + .globl foo + .type foo,@function +foo: # @foo + .param i32, i32, i32, i32, i32, i32, i32, i32 + .result i32 +# BB#0: # %entry + i32.const $push7=, 0 + i32.add $push0=, $1, $0 + i32.add $push1=, $pop0, $2 + i32.add $push2=, $pop1, $3 + i32.add $push3=, $pop2, $4 + i32.add $push4=, $pop3, $5 + i32.add $push5=, $pop4, $6 + i32.add $push6=, $pop5, $7 + i32.store $discard=, global($pop7), $pop6 + return $7 +func_end0: + .size foo, func_end0-foo + + .globl bar + .type bar,@function +bar: # @bar + .param i64 + .result i64 + .local i32 +# BB#0: # %entry + i32.const $1=, 1 + i32.const $push3=, 2 + i32.const $push2=, 3 + i32.const $push1=, 4 + i32.const $push0=, 5 + i32.call $discard=, foo, $1, $pop3, $1, $pop2, $1, $pop1, $1, $pop0 + i32.const $push4=, 0 + i64.load32_u $push5=, global($pop4) + i64.shr_u $push6=, $0, $pop5 + return $pop6 +func_end1: + .size bar, func_end1-bar + + .globl main + .type main,@function +main: # @main + .result i32 +# BB#0: # %entry + block BB2_2 + i64.const $push0=, 81985529216486895 + i64.call $push1=, bar, $pop0 + i64.const $push2=, 312749974122 + i64.ne $push3=, $pop1, $pop2 + br_if $pop3, BB2_2 +# BB#1: # %if.end + i32.const $push4=, 0 + call exit, $pop4 + unreachable +BB2_2: # %if.then + call abort + unreachable +func_end2: + .size main, func_end2-main + + .type global,@object # @global + .bss + .globl global + .align 2 +global: + .int32 0 # 0x0 + .size global, 4 + + + .ident "clang version 3.8.0 " + .section ".note.GNU-stack","",@progbits |