summaryrefslogtreecommitdiff
path: root/test/torture-s/pr38969.c.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/torture-s/pr38969.c.s')
-rw-r--r--test/torture-s/pr38969.c.s114
1 files changed, 114 insertions, 0 deletions
diff --git a/test/torture-s/pr38969.c.s b/test/torture-s/pr38969.c.s
new file mode 100644
index 000000000..34d164c22
--- /dev/null
+++ b/test/torture-s/pr38969.c.s
@@ -0,0 +1,114 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr38969.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+# BB#0: # %entry
+ i64.load $push0=, 0($1):p2align=2
+ i64.store $discard=, 0($0):p2align=2, $pop0
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.bar,"ax",@progbits
+ .hidden bar
+ .globl bar
+ .type bar,@function
+bar: # @bar
+ .param i32, i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $3=, __stack_pointer
+ i32.load $3=, 0($3)
+ i32.const $4=, 32
+ i32.sub $10=, $3, $4
+ i32.const $4=, __stack_pointer
+ i32.store $10=, 0($4), $10
+ i32.load $2=, 4($1)
+ i32.load $push0=, 0($1)
+ i32.store $discard=, 16($10):p2align=3, $pop0
+ i32.const $push1=, 4
+ i32.const $6=, 8
+ i32.add $6=, $10, $6
+ i32.add $push4=, $6, $pop1
+ i32.const $push7=, 4
+ i32.const $7=, 16
+ i32.add $7=, $10, $7
+ i32.or $push2=, $7, $pop7
+ i32.store $push3=, 0($pop2), $2
+ i32.store $discard=, 0($pop4), $pop3
+ i32.load $push5=, 16($10):p2align=3
+ i32.store $discard=, 8($10), $pop5
+ i32.const $8=, 24
+ i32.add $8=, $10, $8
+ i32.const $9=, 8
+ i32.add $9=, $10, $9
+ call foo@FUNCTION, $8, $9
+ i64.load $push6=, 24($10)
+ i64.store $discard=, 0($0):p2align=2, $pop6
+ i32.const $5=, 32
+ i32.add $10=, $10, $5
+ i32.const $5=, __stack_pointer
+ i32.store $10=, 0($5), $10
+ return
+ .endfunc
+.Lfunc_end1:
+ .size bar, .Lfunc_end1-bar
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 32
+ i32.sub $6=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $6=, 0($1), $6
+ i64.const $push1=, 4767060206663237632
+ i64.store $push2=, 16($6), $pop1
+ i64.store $discard=, 8($6):p2align=2, $pop2
+ i32.const $3=, 24
+ i32.add $3=, $6, $3
+ i32.const $4=, 8
+ i32.add $4=, $6, $4
+ call bar@FUNCTION, $3, $4
+ block
+ f32.load $push3=, 24($6):p2align=3
+ f32.const $push6=, 0x1.2p3
+ f32.ne $push7=, $pop3, $pop6
+ br_if $pop7, 0 # 0: down to label0
+# BB#1: # %entry
+ i32.const $push4=, 4
+ i32.const $5=, 24
+ i32.add $5=, $6, $5
+ i32.or $push5=, $5, $pop4
+ f32.load $push0=, 0($pop5)
+ f32.const $push8=, 0x1.5p5
+ f32.ne $push9=, $pop0, $pop8
+ br_if $pop9, 0 # 0: down to label0
+# BB#2: # %if.end
+ i32.const $push10=, 0
+ i32.const $2=, 32
+ i32.add $6=, $6, $2
+ i32.const $2=, __stack_pointer
+ i32.store $6=, 0($2), $6
+ return $pop10
+.LBB2_3: # %if.then
+ end_block # label0:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end2:
+ .size main, .Lfunc_end2-main
+
+
+ .ident "clang version 3.9.0 "