summaryrefslogtreecommitdiff
path: root/test/torture-s/pr52760.c.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/torture-s/pr52760.c.s')
-rw-r--r--test/torture-s/pr52760.c.s90
1 files changed, 90 insertions, 0 deletions
diff --git a/test/torture-s/pr52760.c.s b/test/torture-s/pr52760.c.s
new file mode 100644
index 000000000..0baf5935f
--- /dev/null
+++ b/test/torture-s/pr52760.c.s
@@ -0,0 +1,90 @@
+ .text
+ .file "/b/build/slave/linux/build/src/buildbot/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr52760.c"
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i32, i32, i32
+# BB#0: # %entry
+ block BB0_2
+ i32.const $push0=, 1
+ i32.lt_s $push1=, $0, $pop0
+ br_if $pop1, BB0_2
+BB0_1: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop BB0_2
+ i32.load16_u $2=, 0($1)
+ i32.const $3=, 8
+ i32.shr_u $push2=, $2, $3
+ i32.shl $push3=, $2, $3
+ i32.or $push4=, $pop2, $pop3
+ i32.store16 $discard=, 0($1), $pop4
+ i32.const $push5=, 2
+ i32.add $2=, $1, $pop5
+ i32.load16_u $4=, 0($2)
+ i32.shr_u $push6=, $4, $3
+ i32.shl $push7=, $4, $3
+ i32.or $push8=, $pop6, $pop7
+ i32.store16 $discard=, 0($2), $pop8
+ i32.const $push9=, 4
+ i32.add $2=, $1, $pop9
+ i32.load16_u $4=, 0($2)
+ i32.shr_u $push10=, $4, $3
+ i32.shl $push11=, $4, $3
+ i32.or $push12=, $pop10, $pop11
+ i32.store16 $discard=, 0($2), $pop12
+ i32.const $push13=, 6
+ i32.add $2=, $1, $pop13
+ i32.load16_u $4=, 0($2)
+ i32.shr_u $push14=, $4, $3
+ i32.shl $push15=, $4, $3
+ i32.or $push16=, $pop14, $pop15
+ i32.store16 $discard=, 0($2), $pop16
+ i32.const $push17=, -1
+ i32.add $0=, $0, $pop17
+ i32.add $1=, $1, $3
+ br_if $0, BB0_1
+BB0_2: # %for.end
+ return
+func_end0:
+ .size foo, func_end0-foo
+
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $0=, __stack_pointer
+ i32.load $0=, 0($0)
+ i32.const $1=, 16
+ i32.sub $4=, $0, $1
+ i32.const $1=, __stack_pointer
+ i32.store $4=, 0($1), $4
+ i64.const $push0=, 434320308619640833
+ i64.store $discard=, 8($4), $pop0
+ i32.const $push1=, 1
+ i32.const $3=, 8
+ i32.add $3=, $4, $3
+ block BB1_2
+ call foo, $pop1, $3
+ i64.load $push2=, 8($4)
+ i64.const $push3=, 506097522914230528
+ i64.ne $push4=, $pop2, $pop3
+ br_if $pop4, BB1_2
+# BB#1: # %if.end
+ i32.const $push5=, 0
+ i32.const $2=, 16
+ i32.add $4=, $4, $2
+ i32.const $2=, __stack_pointer
+ i32.store $4=, 0($2), $4
+ return $pop5
+BB1_2: # %if.then
+ call abort
+ unreachable
+func_end1:
+ .size main, func_end1-main
+
+
+ .ident "clang version 3.8.0 "
+ .section ".note.GNU-stack","",@progbits