blob: 1252b95bea96537a4522f5203b8c748e7176514a [file] [edit]
.text
.file "/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/string-opt-5.c"
.section .text.main,"ax",@progbits
.hidden main
.globl main
.type main,@function
main: # @main
.result i32
.local i32, i32, i32, i32, i32
# BB#0: # %entry
i32.const $push123=, 0
i32.const $push120=, 0
i32.load $push121=, __stack_pointer($pop120)
i32.const $push122=, 64
i32.sub $push127=, $pop121, $pop122
i32.store $2=, __stack_pointer($pop123), $pop127
block
i32.const $push130=, 0
i32.load $push129=, bar($pop130)
tee_local $push128=, $3=, $pop129
i32.call $push5=, strlen@FUNCTION, $pop128
i32.const $push6=, 8
i32.ne $push7=, $pop5, $pop6
br_if 0, $pop7 # 0: down to label0
# BB#1: # %if.end
i32.const $push136=, 0
i32.const $push135=, 0
i32.load $push134=, x($pop135)
tee_local $push133=, $4=, $pop134
i32.const $push8=, 1
i32.add $push0=, $pop133, $pop8
i32.store $push132=, x($pop136), $pop0
tee_local $push131=, $0=, $pop132
i32.const $push9=, 2
i32.and $push10=, $pop131, $pop9
i32.add $push11=, $3, $pop10
i32.call $push12=, strlen@FUNCTION, $pop11
i32.const $push13=, 6
i32.ne $push14=, $pop12, $pop13
br_if 0, $pop14 # 0: down to label0
# BB#2: # %if.end4
i32.const $push15=, 7
i32.ne $push16=, $0, $pop15
br_if 0, $pop16 # 0: down to label0
# BB#3: # %if.end26
i32.const $push137=, 0
i32.const $push17=, -3
i32.add $push1=, $4, $pop17
i32.store $0=, x($pop137), $pop1
i32.const $push18=, .L.str.1-3
i32.add $push19=, $4, $pop18
i32.const $push20=, .L.str.2
i32.call $push21=, strcmp@FUNCTION, $pop19, $pop20
br_if 0, $pop21 # 0: down to label0
# BB#4: # %if.end33
i32.const $push139=, .L.str.1
i32.call $push22=, strcmp@FUNCTION, $pop139, $3
i32.const $push138=, 0
i32.ge_s $push23=, $pop22, $pop138
br_if 0, $pop23 # 0: down to label0
# BB#5: # %if.end37
i32.const $push142=, 0
i32.const $push24=, -2
i32.add $push2=, $4, $pop24
i32.store $1=, x($pop142), $pop2
i32.const $push141=, .L.str.1
i32.const $push25=, 1
i32.and $push26=, $0, $pop25
i32.add $push27=, $3, $pop26
i32.call $push28=, strcmp@FUNCTION, $pop141, $pop27
i32.const $push140=, 0
i32.ge_s $push29=, $pop28, $pop140
br_if 0, $pop29 # 0: down to label0
# BB#6: # %if.end47
i32.const $push143=, 0
i32.const $push30=, -1
i32.add $push3=, $4, $pop30
i32.store $0=, x($pop143), $pop3
i32.const $push31=, 7
i32.and $push32=, $1, $pop31
i32.const $push33=, .L.str.1
i32.add $push34=, $pop32, $pop33
i32.const $push35=, 108
i32.call $push36=, strchr@FUNCTION, $pop34, $pop35
i32.const $push37=, .L.str.1+9
i32.ne $push38=, $pop36, $pop37
br_if 0, $pop38 # 0: down to label0
# BB#7: # %if.end58
i32.const $push41=, 111
i32.call $push145=, strchr@FUNCTION, $3, $pop41
tee_local $push144=, $1=, $pop145
i32.const $push39=, 4
i32.add $push40=, $3, $pop39
i32.ne $push42=, $pop144, $pop40
br_if 0, $pop42 # 0: down to label0
# BB#8: # %if.end63
i32.call $push43=, strlen@FUNCTION, $3
i32.const $push44=, 8
i32.ne $push45=, $pop43, $pop44
br_if 0, $pop45 # 0: down to label0
# BB#9: # %if.end68
i32.const $push46=, 120
i32.call $push47=, strrchr@FUNCTION, $3, $pop46
br_if 0, $pop47 # 0: down to label0
# BB#10: # %if.end72
i32.const $push48=, 111
i32.call $push49=, strrchr@FUNCTION, $3, $pop48
i32.ne $push50=, $pop49, $1
br_if 0, $pop50 # 0: down to label0
# BB#11: # %if.end77
i32.const $push51=, 0
i32.store $3=, x($pop51), $4
i32.const $push54=, 1
i32.and $push55=, $0, $pop54
i32.const $push56=, .L.str.1
i32.add $push57=, $pop55, $pop56
i32.const $push150=, 0
i32.const $push149=, 0
i32.load $push52=, y($pop149)
i32.const $push53=, -1
i32.add $push4=, $pop52, $pop53
i32.store $push148=, y($pop150), $pop4
tee_local $push147=, $4=, $pop148
i32.const $push146=, 1
i32.and $push58=, $pop147, $pop146
i32.const $push59=, .L.str.3
i32.add $push60=, $pop58, $pop59
i32.call $push61=, strcmp@FUNCTION, $pop57, $pop60
br_if 0, $pop61 # 0: down to label0
# BB#12: # %if.end86
br_if 0, $4 # 0: down to label0
# BB#13: # %if.end86
i32.const $push151=, 6
i32.ne $push62=, $3, $pop151
br_if 0, $pop62 # 0: down to label0
# BB#14: # %if.end90
i32.const $push156=, 0
i32.const $push63=, 1
i32.store $3=, y($pop156), $pop63
i32.const $push155=, 0
i32.const $push154=, 6
i32.store $drop=, x($pop155), $pop154
i32.const $push64=, 32
i32.store16 $4=, 5($2):p2align=0, $pop64
i32.const $push65=, 1869376613
i32.store $drop=, 1($2):p2align=0, $pop65
i32.or $push153=, $2, $3
tee_local $push152=, $3=, $pop153
i32.const $push66=, .L.str.4
i32.call $push67=, strcmp@FUNCTION, $pop152, $pop66
br_if 0, $pop67 # 0: down to label0
# BB#15: # %if.end108
i32.const $push70=, 64
i32.call $4=, memset@FUNCTION, $2, $4, $pop70
i32.const $push158=, 0
i32.const $push71=, 2
i32.store $drop=, y($pop158), $pop71
i32.const $push157=, 0
i32.const $push72=, 7
i32.store $2=, x($pop157), $pop72
i32.const $push74=, .L.str.5+1
i32.const $push73=, 10
i32.call $push75=, strncpy@FUNCTION, $3, $pop74, $pop73
i32.ne $push76=, $pop75, $3
br_if 0, $pop76 # 0: down to label0
# BB#16: # %if.end108
i32.const $push159=, 0
i32.load $push68=, x($pop159)
i32.ne $push77=, $pop68, $2
br_if 0, $pop77 # 0: down to label0
# BB#17: # %if.end108
i32.const $push160=, 0
i32.load $push69=, y($pop160)
i32.const $push78=, 2
i32.ne $push79=, $pop69, $pop78
br_if 0, $pop79 # 0: down to label0
# BB#18: # %lor.lhs.false125
i32.const $push81=, .L.str.6
i32.const $push80=, 12
i32.call $push82=, memcmp@FUNCTION, $4, $pop81, $pop80
br_if 0, $pop82 # 0: down to label0
# BB#19: # %if.end130
i32.const $push84=, 32
i32.const $push83=, 64
i32.call $push162=, memset@FUNCTION, $4, $pop84, $pop83
tee_local $push161=, $3=, $pop162
i32.const $push86=, .L.str.7
i32.const $push85=, 8
i32.call $push87=, strncpy@FUNCTION, $3, $pop86, $pop85
i32.ne $push88=, $pop161, $pop87
br_if 0, $pop88 # 0: down to label0
# BB#20: # %lor.lhs.false136
i32.const $push90=, .L.str.8
i32.const $push89=, 9
i32.call $push91=, memcmp@FUNCTION, $3, $pop90, $pop89
br_if 0, $pop91 # 0: down to label0
# BB#21: # %if.end141
i32.const $push94=, buf
i32.const $push93=, 32
i32.const $push92=, 64
i32.call $4=, memset@FUNCTION, $pop94, $pop93, $pop92
i32.const $push96=, 0
i32.const $push95=, 34
i32.store $drop=, x($pop96), $pop95
i32.const $push100=, 33
i32.const $push167=, 0
i32.const $push166=, 0
i32.load $push97=, y($pop166)
i32.const $push98=, 1
i32.add $push99=, $pop97, $pop98
i32.store $push165=, y($pop167), $pop99
tee_local $push164=, $2=, $pop165
i32.call $drop=, memset@FUNCTION, $4, $pop100, $pop164
i32.const $push163=, 3
i32.ne $push101=, $2, $pop163
br_if 0, $pop101 # 0: down to label0
# BB#22: # %lor.lhs.false148
i32.const $push102=, .L.str.9
i32.const $push168=, 3
i32.call $push103=, memcmp@FUNCTION, $4, $pop102, $pop168
br_if 0, $pop103 # 0: down to label0
# BB#23: # %lor.lhs.false158
i32.const $push171=, 0
i64.const $push104=, 3255307777713450285
i64.store $drop=, buf+3($pop171):p2align=0, $pop104
i32.const $push170=, 0
i32.const $push105=, 4
i32.store $drop=, y($pop170), $pop105
i32.const $push107=, buf
i32.const $push106=, .L.str.10
i32.const $push169=, 11
i32.call $push108=, memcmp@FUNCTION, $pop107, $pop106, $pop169
br_if 0, $pop108 # 0: down to label0
# BB#24: # %lor.lhs.false171
i32.const $push176=, 0
i32.const $push109=, 5
i32.store $drop=, y($pop176), $pop109
i32.const $push175=, 0
i32.const $push174=, 11
i32.store $drop=, x($pop175), $pop174
i32.const $push173=, 0
i32.const $push172=, 0
i32.store $drop=, buf+11($pop173):p2align=0, $pop172
i32.const $push112=, buf+8
i32.const $push111=, .L.str.11
i32.const $push110=, 7
i32.call $push113=, memcmp@FUNCTION, $pop112, $pop111, $pop110
br_if 0, $pop113 # 0: down to label0
# BB#25: # %lor.lhs.false180
i32.const $push115=, 0
i32.const $push114=, 15
i32.store $drop=, x($pop115), $pop114
i32.const $push180=, 0
i32.const $push179=, 0
i32.store16 $push178=, buf+19($pop180):p2align=0, $pop179
tee_local $push177=, $4=, $pop178
i32.store $drop=, buf+15($pop177):p2align=0, $4
i32.const $push118=, buf+10
i32.const $push117=, .L.str.12
i32.const $push116=, 11
i32.call $push119=, memcmp@FUNCTION, $pop118, $pop117, $pop116
br_if 0, $pop119 # 0: down to label0
# BB#26: # %if.end184
i32.const $push126=, 0
i32.const $push124=, 64
i32.add $push125=, $3, $pop124
i32.store $drop=, __stack_pointer($pop126), $pop125
return $4
.LBB0_27: # %if.then183
end_block # label0:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end0:
.size main, .Lfunc_end0-main
.hidden x # @x
.type x,@object
.section .data.x,"aw",@progbits
.globl x
.p2align 2
x:
.int32 6 # 0x6
.size x, 4
.hidden y # @y
.type y,@object
.section .data.y,"aw",@progbits
.globl y
.p2align 2
y:
.int32 1 # 0x1
.size y, 4
.type .L.str,@object # @.str
.section .rodata.str1.1,"aMS",@progbits,1
.L.str:
.asciz "hi world"
.size .L.str, 9
.hidden bar # @bar
.type bar,@object
.section .data.bar,"aw",@progbits
.globl bar
.p2align 2
bar:
.int32 .L.str
.size bar, 4
.type .L.str.1,@object # @.str.1
.section .rodata.str1.1,"aMS",@progbits,1
.L.str.1:
.asciz "hello world"
.size .L.str.1, 12
.type .L.str.2,@object # @.str.2
.L.str.2:
.asciz "lo world"
.size .L.str.2, 9
.type .L.str.3,@object # @.str.3
.L.str.3:
.asciz "ello world"
.size .L.str.3, 11
.type .L.str.4,@object # @.str.4
.L.str.4:
.asciz "ello "
.size .L.str.4, 6
.type .L.str.5,@object # @.str.5
.L.str.5:
.asciz "foo"
.size .L.str.5, 4
.type .L.str.6,@object # @.str.6
.section .rodata..L.str.6,"a",@progbits
.L.str.6:
.asciz " oo\000\000\000\000\000\000\000\000 "
.size .L.str.6, 13
.type .L.str.7,@object # @.str.7
.section .rodata.str1.1,"aMS",@progbits,1
.L.str.7:
.asciz "hello"
.size .L.str.7, 6
.type .L.str.8,@object # @.str.8
.section .rodata..L.str.8,"a",@progbits
.L.str.8:
.asciz "hello\000\000\000 "
.size .L.str.8, 10
.hidden buf # @buf
.type buf,@object
.section .bss.buf,"aw",@nobits
.globl buf
.p2align 4
buf:
.skip 64
.size buf, 64
.type .L.str.9,@object # @.str.9
.section .rodata.str1.1,"aMS",@progbits,1
.L.str.9:
.asciz "!!!"
.size .L.str.9, 4
.type .L.str.10,@object # @.str.10
.L.str.10:
.asciz "!!!--------"
.size .L.str.10, 12
.type .L.str.11,@object # @.str.11
.section .rodata..L.str.11,"a",@progbits
.L.str.11:
.asciz "---\000\000\000"
.size .L.str.11, 7
.type .L.str.12,@object # @.str.12
.section .rodata..L.str.12,"a",@progbits
.L.str.12:
.asciz "-\000\000\000\000\000\000\000\000\000"
.size .L.str.12, 11
.ident "clang version 3.9.0 "
.functype strlen, i32, i32
.functype abort, void
.functype strcmp, i32, i32, i32
.functype strchr, i32, i32, i32
.functype strrchr, i32, i32, i32
.functype strncpy, i32, i32, i32, i32
.functype memcmp, i32, i32, i32, i32