summaryrefslogtreecommitdiff
path: root/test/torture-s/pr47538.c.s
diff options
context:
space:
mode:
Diffstat (limited to 'test/torture-s/pr47538.c.s')
-rw-r--r--test/torture-s/pr47538.c.s435
1 files changed, 435 insertions, 0 deletions
diff --git a/test/torture-s/pr47538.c.s b/test/torture-s/pr47538.c.s
new file mode 100644
index 000000000..7f7f416dd
--- /dev/null
+++ b/test/torture-s/pr47538.c.s
@@ -0,0 +1,435 @@
+ .text
+ .file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/pr47538.c"
+ .section .text.foo,"ax",@progbits
+ .hidden foo
+ .globl foo
+ .type foo,@function
+foo: # @foo
+ .param i32, i32
+ .local i32, f64, i32, i32, i32, i32, f64, f64, i32, i32
+# BB#0: # %entry
+ f64.load $8=, 8($1)
+ i32.load $2=, 20($1)
+ f64.load $push3=, 0($1)
+ f64.store $9=, 0($0), $pop3
+ f64.store $discard=, 8($0), $8
+ block
+ block
+ i32.const $push51=, 0
+ i32.eq $push52=, $2, $pop51
+ br_if $pop52, 0 # 0: down to label1
+# BB#1: # %if.else
+ f64.sub $push4=, $8, $9
+ f64.const $push5=, 0x1p-2
+ f64.mul $3=, $pop4, $pop5
+ block
+ i32.const $push2=, 1
+ i32.add $push0=, $2, $pop2
+ tee_local $push41=, $10=, $pop0
+ i32.const $push6=, 2
+ i32.ne $push7=, $pop41, $pop6
+ br_if $pop7, 0 # 0: down to label2
+# BB#2: # %if.then6
+ i32.load $0=, 16($0):p2align=3
+ i32.load $push34=, 16($1):p2align=3
+ f64.load $push35=, 0($pop34)
+ f64.mul $push36=, $3, $pop35
+ f64.store $push37=, 8($0), $pop36
+ tee_local $push44=, $8=, $pop37
+ f64.add $push38=, $pop44, $8
+ f64.store $discard=, 0($0), $pop38
+ br 2 # 2: down to label0
+.LBB0_3: # %for.cond.preheader
+ end_block # label2:
+ i32.load $4=, 16($1):p2align=3
+ i32.load $5=, 16($0):p2align=3
+ f64.const $9=, 0x0p0
+ f64.const $8=, 0x1p0
+ block
+ i32.const $push8=, -1
+ i32.add $push1=, $2, $pop8
+ tee_local $push42=, $11=, $pop1
+ i32.const $push53=, 0
+ i32.eq $push54=, $pop42, $pop53
+ br_if $pop54, 0 # 0: down to label3
+# BB#4: # %for.body.preheader
+ f64.const $9=, 0x0p0
+ i32.const $push43=, 8
+ i32.add $0=, $5, $pop43
+ copy_local $1=, $4
+ i32.const $7=, 1
+ f64.const $8=, 0x1p0
+.LBB0_5: # %for.body
+ # =>This Inner Loop Header: Depth=1
+ loop # label4:
+ f64.load $push9=, 0($1)
+ i32.const $push48=, 16
+ i32.add $push10=, $1, $pop48
+ f64.load $push11=, 0($pop10)
+ f64.sub $push12=, $pop9, $pop11
+ f64.mul $push13=, $3, $pop12
+ f64.convert_u/i32 $push14=, $7
+ f64.div $push15=, $pop13, $pop14
+ f64.store $push16=, 0($0), $pop15
+ f64.mul $push17=, $8, $pop16
+ f64.add $9=, $9, $pop17
+ i32.const $push47=, 1
+ i32.add $6=, $7, $pop47
+ f64.neg $8=, $8
+ i32.const $push46=, 8
+ i32.add $1=, $1, $pop46
+ i32.const $push45=, 8
+ i32.add $0=, $0, $pop45
+ copy_local $7=, $6
+ i32.le_u $push18=, $6, $11
+ br_if $pop18, 0 # 0: up to label4
+.LBB0_6: # %for.end
+ end_loop # label5:
+ end_block # label3:
+ i32.const $push19=, 3
+ i32.shl $push28=, $2, $pop19
+ i32.add $push29=, $5, $pop28
+ i32.const $push50=, 3
+ i32.shl $push20=, $11, $pop50
+ i32.add $push21=, $4, $pop20
+ f64.load $push22=, 0($pop21)
+ f64.mul $push23=, $3, $pop22
+ f64.convert_u/i32 $push24=, $10
+ f64.const $push25=, -0x1p0
+ f64.add $push26=, $pop24, $pop25
+ f64.div $push27=, $pop23, $pop26
+ f64.store $push30=, 0($pop29), $pop27
+ f64.mul $push31=, $8, $pop30
+ f64.add $push32=, $9, $pop31
+ tee_local $push49=, $8=, $pop32
+ f64.add $push33=, $pop49, $8
+ f64.store $discard=, 0($5), $pop33
+ br 1 # 1: down to label0
+.LBB0_7: # %if.then
+ end_block # label1:
+ i32.load $push39=, 16($0):p2align=3
+ i64.const $push40=, 0
+ i64.store $discard=, 0($pop39), $pop40
+.LBB0_8: # %if.end53
+ end_block # label0:
+ return
+ .endfunc
+.Lfunc_end0:
+ .size foo, .Lfunc_end0-foo
+
+ .section .text.main,"ax",@progbits
+ .hidden main
+ .globl main
+ .type main,@function
+main: # @main
+ .result i32
+ .local i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32
+# BB#0: # %entry
+ i32.const $4=, __stack_pointer
+ i32.load $4=, 0($4)
+ i32.const $5=, 112
+ i32.sub $22=, $4, $5
+ i32.const $5=, __stack_pointer
+ i32.store $22=, 0($5), $22
+ i32.const $push14=, 28
+ i32.add $push15=, $22, $pop14
+ i32.const $push2=, 0
+ i32.load $push16=, .Lmain.e+28($pop2)
+ i32.store $discard=, 0($pop15), $pop16
+ i32.const $push0=, 24
+ i32.add $push17=, $22, $pop0
+ i32.const $push131=, 0
+ i32.load $push18=, .Lmain.e+24($pop131):p2align=3
+ i32.store $discard=, 0($pop17):p2align=3, $pop18
+ i32.const $push130=, 24
+ i32.const $7=, 32
+ i32.add $7=, $22, $7
+ i32.add $push1=, $7, $pop130
+ i32.const $push129=, 0
+ i64.load $push3=, .Lmain.c+24($pop129)
+ i64.store $discard=, 0($pop1), $pop3
+ i32.const $push4=, 16
+ i32.const $8=, 32
+ i32.add $8=, $22, $8
+ i32.add $push5=, $8, $pop4
+ i32.const $push128=, 0
+ i64.load $push6=, .Lmain.c+16($pop128):p2align=4
+ i64.store $discard=, 0($pop5):p2align=4, $pop6
+ i32.const $push7=, 8
+ i32.const $9=, 32
+ i32.add $9=, $22, $9
+ i32.or $push8=, $9, $pop7
+ i32.const $push127=, 0
+ i64.load $push9=, .Lmain.c+8($pop127)
+ i64.store $discard=, 0($pop8), $pop9
+ i32.const $push13=, 3
+ i32.store $discard=, 84($22), $pop13
+ i32.const $push126=, 16
+ i32.add $push19=, $22, $pop126
+ i32.const $push125=, 0
+ i64.load $push20=, .Lmain.e+16($pop125):p2align=4
+ i64.store $discard=, 0($pop19):p2align=4, $pop20
+ i32.const $push124=, 0
+ i64.load $push10=, .Lmain.c($pop124):p2align=4
+ i64.store $discard=, 32($22):p2align=4, $pop10
+ i64.const $push11=, 4621819117588971520
+ i64.store $discard=, 64($22), $pop11
+ i64.const $push12=, 4618441417868443648
+ i64.store $discard=, 72($22), $pop12
+ i32.const $push123=, 8
+ i32.or $push21=, $22, $pop123
+ tee_local $push122=, $3=, $pop21
+ i32.const $push121=, 0
+ i64.load $push22=, .Lmain.e+8($pop121)
+ i64.store $discard=, 0($pop122), $pop22
+ i32.const $push120=, 0
+ i64.load $push23=, .Lmain.e($pop120):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop23
+ i32.const $10=, 32
+ i32.add $10=, $22, $10
+ i32.store $discard=, 80($22):p2align=3, $10
+ i32.store $discard=, 104($22):p2align=3, $22
+ i32.const $11=, 88
+ i32.add $11=, $22, $11
+ i32.const $12=, 64
+ i32.add $12=, $22, $12
+ call foo@FUNCTION, $11, $12
+ block
+ f64.load $push24=, 0($22):p2align=4
+ f64.const $push25=, 0x0p0
+ f64.ne $push26=, $pop24, $pop25
+ br_if $pop26, 0 # 0: down to label6
+# BB#1: # %lor.lhs.false
+ f64.load $push27=, 0($3)
+ f64.const $push28=, 0x1.4p4
+ f64.ne $push29=, $pop27, $pop28
+ br_if $pop29, 0 # 0: down to label6
+# BB#2: # %lor.lhs.false9
+ f64.load $push30=, 16($22):p2align=4
+ f64.const $push31=, 0x1.4p3
+ f64.ne $push32=, $pop30, $pop31
+ br_if $pop32, 0 # 0: down to label6
+# BB#3: # %lor.lhs.false12
+ f64.load $push33=, 24($22)
+ f64.const $push34=, -0x1.4p3
+ f64.ne $push35=, $pop33, $pop34
+ br_if $pop35, 0 # 0: down to label6
+# BB#4: # %if.end
+ i32.const $push39=, 20
+ i32.const $13=, 64
+ i32.add $13=, $22, $13
+ i32.add $push40=, $13, $pop39
+ i32.const $push41=, 2
+ i32.store $discard=, 0($pop40), $pop41
+ i32.const $push42=, 28
+ i32.add $push43=, $22, $pop42
+ i32.const $push44=, 0
+ i32.load $push45=, .Lmain.e+28($pop44)
+ i32.store $discard=, 0($pop43), $pop45
+ i32.const $push46=, 24
+ i32.add $push47=, $22, $pop46
+ tee_local $push138=, $1=, $pop47
+ i32.const $push137=, 0
+ i32.load $push48=, .Lmain.e+24($pop137):p2align=3
+ i32.store $discard=, 0($pop138):p2align=3, $pop48
+ i32.const $push49=, 16
+ i32.add $push50=, $22, $pop49
+ tee_local $push136=, $0=, $pop50
+ i32.const $push135=, 0
+ i64.load $push51=, .Lmain.e+16($pop135):p2align=4
+ i64.store $discard=, 0($pop136):p2align=4, $pop51
+ i32.const $push52=, 8
+ i32.or $push53=, $22, $pop52
+ tee_local $push134=, $3=, $pop53
+ i32.const $push133=, 0
+ i64.load $push54=, .Lmain.e+8($pop133)
+ i64.store $discard=, 0($pop134), $pop54
+ i32.const $push132=, 0
+ i64.load $push55=, .Lmain.e($pop132):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop55
+ i32.const $14=, 88
+ i32.add $14=, $22, $14
+ i32.const $15=, 64
+ i32.add $15=, $22, $15
+ call foo@FUNCTION, $14, $15
+ block
+ f64.load $push56=, 0($22):p2align=4
+ f64.const $push57=, 0x1.ep5
+ f64.ne $push58=, $pop56, $pop57
+ br_if $pop58, 0 # 0: down to label7
+# BB#5: # %if.end
+ f64.load $push36=, 0($3)
+ f64.const $push59=, 0x1.4p4
+ f64.ne $push60=, $pop36, $pop59
+ br_if $pop60, 0 # 0: down to label7
+# BB#6: # %if.end
+ f64.load $push37=, 0($0):p2align=4
+ f64.const $push61=, -0x1.4p3
+ f64.ne $push62=, $pop37, $pop61
+ br_if $pop62, 0 # 0: down to label7
+# BB#7: # %if.end
+ f64.load $push38=, 0($1)
+ f64.const $push63=, 0x1.d8p6
+ f64.ne $push64=, $pop38, $pop63
+ br_if $pop64, 0 # 0: down to label7
+# BB#8: # %if.end30
+ i32.const $push68=, 20
+ i32.const $16=, 64
+ i32.add $16=, $22, $16
+ i32.add $push69=, $16, $pop68
+ i32.const $push70=, 1
+ i32.store $discard=, 0($pop69), $pop70
+ i32.const $push71=, 28
+ i32.add $push72=, $22, $pop71
+ i32.const $push73=, 0
+ i32.load $push74=, .Lmain.e+28($pop73)
+ i32.store $discard=, 0($pop72), $pop74
+ i32.const $push75=, 24
+ i32.add $push76=, $22, $pop75
+ tee_local $push145=, $1=, $pop76
+ i32.const $push144=, 0
+ i32.load $push77=, .Lmain.e+24($pop144):p2align=3
+ i32.store $discard=, 0($pop145):p2align=3, $pop77
+ i32.const $push78=, 16
+ i32.add $push79=, $22, $pop78
+ tee_local $push143=, $0=, $pop79
+ i32.const $push142=, 0
+ i64.load $push80=, .Lmain.e+16($pop142):p2align=4
+ i64.store $discard=, 0($pop143):p2align=4, $pop80
+ i32.const $push81=, 8
+ i32.or $push82=, $22, $pop81
+ tee_local $push141=, $3=, $pop82
+ i32.const $push140=, 0
+ i64.load $push83=, .Lmain.e+8($pop140)
+ i64.store $discard=, 0($pop141), $pop83
+ i32.const $push139=, 0
+ i64.load $push84=, .Lmain.e($pop139):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop84
+ i32.const $17=, 88
+ i32.add $17=, $22, $17
+ i32.const $18=, 64
+ i32.add $18=, $22, $18
+ call foo@FUNCTION, $17, $18
+ block
+ f64.load $push85=, 0($22):p2align=4
+ f64.const $push86=, -0x1.4p4
+ f64.ne $push87=, $pop85, $pop86
+ br_if $pop87, 0 # 0: down to label8
+# BB#9: # %if.end30
+ f64.load $push65=, 0($3)
+ f64.const $push88=, -0x1.4p3
+ f64.ne $push89=, $pop65, $pop88
+ br_if $pop89, 0 # 0: down to label8
+# BB#10: # %if.end30
+ f64.load $push66=, 0($0):p2align=4
+ f64.const $push146=, 0x1.d8p6
+ f64.ne $push90=, $pop66, $pop146
+ br_if $pop90, 0 # 0: down to label8
+# BB#11: # %if.end30
+ f64.load $push67=, 0($1)
+ f64.const $push147=, 0x1.d8p6
+ f64.ne $push91=, $pop67, $pop147
+ br_if $pop91, 0 # 0: down to label8
+# BB#12: # %if.end46
+ i32.const $push99=, 28
+ i32.add $push100=, $22, $pop99
+ i32.const $push95=, 20
+ i32.const $19=, 64
+ i32.add $19=, $22, $19
+ i32.add $push96=, $19, $pop95
+ i32.const $push97=, 0
+ i32.store $push98=, 0($pop96), $pop97
+ tee_local $push151=, $3=, $pop98
+ i32.load $push101=, .Lmain.e+28($pop151)
+ i32.store $discard=, 0($pop100), $pop101
+ i32.const $push102=, 24
+ i32.add $push103=, $22, $pop102
+ tee_local $push150=, $2=, $pop103
+ i32.load $push104=, .Lmain.e+24($3):p2align=3
+ i32.store $discard=, 0($pop150):p2align=3, $pop104
+ i32.const $push105=, 16
+ i32.add $push106=, $22, $pop105
+ tee_local $push149=, $1=, $pop106
+ i64.load $push107=, .Lmain.e+16($3):p2align=4
+ i64.store $discard=, 0($pop149):p2align=4, $pop107
+ i32.const $push108=, 8
+ i32.or $push109=, $22, $pop108
+ tee_local $push148=, $0=, $pop109
+ i64.load $push110=, .Lmain.e+8($3)
+ i64.store $discard=, 0($pop148), $pop110
+ i64.load $push111=, .Lmain.e($3):p2align=4
+ i64.store $discard=, 0($22):p2align=4, $pop111
+ i32.const $20=, 88
+ i32.add $20=, $22, $20
+ i32.const $21=, 64
+ i32.add $21=, $22, $21
+ call foo@FUNCTION, $20, $21
+ block
+ f64.load $push112=, 0($22):p2align=4
+ f64.const $push113=, 0x0p0
+ f64.ne $push114=, $pop112, $pop113
+ br_if $pop114, 0 # 0: down to label9
+# BB#13: # %if.end46
+ f64.load $push92=, 0($0)
+ f64.const $push152=, 0x1.d8p6
+ f64.ne $push115=, $pop92, $pop152
+ br_if $pop115, 0 # 0: down to label9
+# BB#14: # %if.end46
+ f64.load $push93=, 0($1):p2align=4
+ f64.const $push153=, 0x1.d8p6
+ f64.ne $push116=, $pop93, $pop153
+ br_if $pop116, 0 # 0: down to label9
+# BB#15: # %if.end46
+ f64.load $push94=, 0($2)
+ f64.const $push117=, 0x1.d8p6
+ f64.ne $push118=, $pop94, $pop117
+ br_if $pop118, 0 # 0: down to label9
+# BB#16: # %if.end62
+ i32.const $push119=, 0
+ i32.const $6=, 112
+ i32.add $22=, $22, $6
+ i32.const $6=, __stack_pointer
+ i32.store $22=, 0($6), $22
+ return $pop119
+.LBB1_17: # %if.then61
+ end_block # label9:
+ call abort@FUNCTION
+ unreachable
+.LBB1_18: # %if.then45
+ end_block # label8:
+ call abort@FUNCTION
+ unreachable
+.LBB1_19: # %if.then29
+ end_block # label7:
+ call abort@FUNCTION
+ unreachable
+.LBB1_20: # %if.then
+ end_block # label6:
+ call abort@FUNCTION
+ unreachable
+ .endfunc
+.Lfunc_end1:
+ .size main, .Lfunc_end1-main
+
+ .type .Lmain.c,@object # @main.c
+ .section .rodata..Lmain.c,"a",@progbits
+ .p2align 4
+.Lmain.c:
+ .int64 4621819117588971520 # double 10
+ .int64 4626322717216342016 # double 20
+ .int64 4629137466983448576 # double 30
+ .int64 4630826316843712512 # double 40
+ .size .Lmain.c, 32
+
+ .type .Lmain.e,@object # @main.e
+ .section .rodata..Lmain.e,"a",@progbits
+ .p2align 4
+.Lmain.e:
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .int64 4638003928749834240 # double 118
+ .size .Lmain.e, 32
+
+
+ .ident "clang version 3.9.0 "