	.text
	.file	"/b/build/slave/linux/build/src/src/work/gcc/gcc/testsuite/gcc.c-torture/execute/bcp-1.c"
	.section	.text.bad0,"ax",@progbits
	.hidden	bad0
	.globl	bad0
	.type	bad0,@function
bad0:                                   # @bad0
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end0:
	.size	bad0, .Lfunc_end0-bad0

	.section	.text.bad1,"ax",@progbits
	.hidden	bad1
	.globl	bad1
	.type	bad1,@function
bad1:                                   # @bad1
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end1:
	.size	bad1, .Lfunc_end1-bad1

	.section	.text.bad2,"ax",@progbits
	.hidden	bad2
	.globl	bad2
	.type	bad2,@function
bad2:                                   # @bad2
	.param  	i32
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end2:
	.size	bad2, .Lfunc_end2-bad2

	.section	.text.bad3,"ax",@progbits
	.hidden	bad3
	.globl	bad3
	.type	bad3,@function
bad3:                                   # @bad3
	.param  	i32
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end3:
	.size	bad3, .Lfunc_end3-bad3

	.section	.text.bad4,"ax",@progbits
	.hidden	bad4
	.globl	bad4
	.type	bad4,@function
bad4:                                   # @bad4
	.param  	i32
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end4:
	.size	bad4, .Lfunc_end4-bad4

	.section	.text.bad5,"ax",@progbits
	.hidden	bad5
	.globl	bad5
	.type	bad5,@function
bad5:                                   # @bad5
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end5:
	.size	bad5, .Lfunc_end5-bad5

	.section	.text.bad6,"ax",@progbits
	.hidden	bad6
	.globl	bad6
	.type	bad6,@function
bad6:                                   # @bad6
	.param  	i32
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end6:
	.size	bad6, .Lfunc_end6-bad6

	.section	.text.bad7,"ax",@progbits
	.hidden	bad7
	.globl	bad7
	.type	bad7,@function
bad7:                                   # @bad7
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end7:
	.size	bad7, .Lfunc_end7-bad7

	.section	.text.bad8,"ax",@progbits
	.hidden	bad8
	.globl	bad8
	.type	bad8,@function
bad8:                                   # @bad8
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end8:
	.size	bad8, .Lfunc_end8-bad8

	.section	.text.bad9,"ax",@progbits
	.hidden	bad9
	.globl	bad9
	.type	bad9,@function
bad9:                                   # @bad9
	.param  	i32
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end9:
	.size	bad9, .Lfunc_end9-bad9

	.section	.text.bad10,"ax",@progbits
	.hidden	bad10
	.globl	bad10
	.type	bad10,@function
bad10:                                  # @bad10
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end10:
	.size	bad10, .Lfunc_end10-bad10

	.section	.text.good0,"ax",@progbits
	.hidden	good0
	.globl	good0
	.type	good0,@function
good0:                                  # @good0
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 1
	return  	$pop0
	.endfunc
.Lfunc_end11:
	.size	good0, .Lfunc_end11-good0

	.section	.text.good1,"ax",@progbits
	.hidden	good1
	.globl	good1
	.type	good1,@function
good1:                                  # @good1
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 1
	return  	$pop0
	.endfunc
.Lfunc_end12:
	.size	good1, .Lfunc_end12-good1

	.section	.text.good2,"ax",@progbits
	.hidden	good2
	.globl	good2
	.type	good2,@function
good2:                                  # @good2
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 1
	return  	$pop0
	.endfunc
.Lfunc_end13:
	.size	good2, .Lfunc_end13-good2

	.section	.text.opt0,"ax",@progbits
	.hidden	opt0
	.globl	opt0
	.type	opt0,@function
opt0:                                   # @opt0
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end14:
	.size	opt0, .Lfunc_end14-opt0

	.section	.text.opt1,"ax",@progbits
	.hidden	opt1
	.globl	opt1
	.type	opt1,@function
opt1:                                   # @opt1
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 0
	return  	$pop0
	.endfunc
.Lfunc_end15:
	.size	opt1, .Lfunc_end15-opt1

	.section	.text.opt2,"ax",@progbits
	.hidden	opt2
	.globl	opt2
	.type	opt2,@function
opt2:                                   # @opt2
	.result 	i32
# BB#0:                                 # %entry
	i32.const	$push0=, 1
	return  	$pop0
	.endfunc
.Lfunc_end16:
	.size	opt2, .Lfunc_end16-opt2

	.section	.text.main,"ax",@progbits
	.hidden	main
	.globl	main
	.type	main,@function
main:                                   # @main
	.result 	i32
	.local  	i32, i32, i32
# BB#0:                                 # %entry
	i32.const	$0=, 0
	block
	i32.load	$push0=, bad_t0($0)
	i32.call_indirect	$push1=, $pop0
	br_if   	0, $pop1        # 0: down to label0
# BB#1:                                 # %for.cond
	i32.load	$push2=, bad_t0+4($0)
	i32.call_indirect	$push3=, $pop2
	br_if   	0, $pop3        # 0: down to label0
# BB#2:                                 # %for.cond.1
	i32.load	$push4=, bad_t0+8($0)
	i32.call_indirect	$push5=, $pop4
	br_if   	0, $pop5        # 0: down to label0
# BB#3:                                 # %for.cond.2
	i32.load	$push6=, bad_t0+12($0)
	i32.call_indirect	$push7=, $pop6
	br_if   	0, $pop7        # 0: down to label0
# BB#4:                                 # %for.cond.3
	i32.load	$push8=, bad_t0+16($0)
	i32.call_indirect	$push9=, $pop8
	br_if   	0, $pop9        # 0: down to label0
# BB#5:                                 # %for.cond.4
	i32.load	$push10=, bad_t0+20($0)
	i32.call_indirect	$push11=, $pop10
	br_if   	0, $pop11       # 0: down to label0
# BB#6:                                 # %for.cond.5
	i32.load	$1=, bad_t1($0)
	i32.const	$2=, 1
	block
	i32.call_indirect	$push12=, $1, $2
	br_if   	0, $pop12       # 0: down to label1
# BB#7:                                 # %for.cond1
	i32.load	$push13=, bad_t1+4($0)
	i32.call_indirect	$push14=, $pop13, $2
	br_if   	0, $pop14       # 0: down to label1
# BB#8:                                 # %for.cond1.1
	i32.load	$push15=, bad_t1+8($0)
	i32.call_indirect	$push16=, $pop15, $2
	br_if   	0, $pop16       # 0: down to label1
# BB#9:                                 # %for.cond1.2
	i32.load	$1=, bad_t2($0)
	i32.const	$2=, .L.str
	block
	i32.call_indirect	$push17=, $1, $2
	br_if   	0, $pop17       # 0: down to label2
# BB#10:                                # %for.cond12
	i32.load	$push18=, bad_t2+4($0)
	i32.call_indirect	$push19=, $pop18, $2
	br_if   	0, $pop19       # 0: down to label2
# BB#11:                                # %for.cond12.1
	block
	i32.load	$push20=, good_t0($0)
	i32.call_indirect	$push21=, $pop20
	i32.const	$push32=, 0
	i32.eq  	$push33=, $pop21, $pop32
	br_if   	0, $pop33       # 0: down to label3
# BB#12:                                # %for.cond23
	i32.load	$push22=, good_t0+4($0)
	i32.call_indirect	$push23=, $pop22
	i32.const	$push34=, 0
	i32.eq  	$push35=, $pop23, $pop34
	br_if   	0, $pop35       # 0: down to label3
# BB#13:                                # %for.cond23.1
	i32.load	$push24=, good_t0+8($0)
	i32.call_indirect	$push25=, $pop24
	i32.const	$push36=, 0
	i32.eq  	$push37=, $pop25, $pop36
	br_if   	0, $pop37       # 0: down to label3
# BB#14:                                # %for.cond23.2
	block
	i32.load	$push26=, opt_t0($0)
	i32.call_indirect	$push27=, $pop26
	i32.const	$push38=, 0
	i32.eq  	$push39=, $pop27, $pop38
	br_if   	0, $pop39       # 0: down to label4
# BB#15:                                # %for.cond34
	i32.load	$push28=, opt_t0+4($0)
	i32.call_indirect	$push29=, $pop28
	i32.const	$push40=, 0
	i32.eq  	$push41=, $pop29, $pop40
	br_if   	0, $pop41       # 0: down to label4
# BB#16:                                # %for.cond34.1
	i32.load	$push30=, opt_t0+8($0)
	i32.call_indirect	$push31=, $pop30
	i32.const	$push42=, 0
	i32.eq  	$push43=, $pop31, $pop42
	br_if   	0, $pop43       # 0: down to label4
# BB#17:                                # %for.cond34.2
	call    	exit@FUNCTION, $0
	unreachable
.LBB17_18:                              # %if.then40
	end_block                       # label4:
	call    	abort@FUNCTION
	unreachable
.LBB17_19:                              # %if.then29
	end_block                       # label3:
	call    	abort@FUNCTION
	unreachable
.LBB17_20:                              # %if.then18
	end_block                       # label2:
	call    	abort@FUNCTION
	unreachable
.LBB17_21:                              # %if.then7
	end_block                       # label1:
	call    	abort@FUNCTION
	unreachable
.LBB17_22:                              # %if.then
	end_block                       # label0:
	call    	abort@FUNCTION
	unreachable
	.endfunc
.Lfunc_end17:
	.size	main, .Lfunc_end17-main

	.hidden	bad_t0                  # @bad_t0
	.type	bad_t0,@object
	.section	.data.bad_t0,"aw",@progbits
	.globl	bad_t0
	.align	4
bad_t0:
	.int32	bad0@FUNCTION
	.int32	bad1@FUNCTION
	.int32	bad5@FUNCTION
	.int32	bad7@FUNCTION
	.int32	bad8@FUNCTION
	.int32	bad10@FUNCTION
	.size	bad_t0, 24

	.hidden	bad_t1                  # @bad_t1
	.type	bad_t1,@object
	.section	.data.bad_t1,"aw",@progbits
	.globl	bad_t1
	.align	2
bad_t1:
	.int32	bad2@FUNCTION
	.int32	bad3@FUNCTION
	.int32	bad6@FUNCTION
	.size	bad_t1, 12

	.hidden	bad_t2                  # @bad_t2
	.type	bad_t2,@object
	.section	.data.bad_t2,"aw",@progbits
	.globl	bad_t2
	.align	2
bad_t2:
	.int32	bad4@FUNCTION
	.int32	bad9@FUNCTION
	.size	bad_t2, 8

	.hidden	good_t0                 # @good_t0
	.type	good_t0,@object
	.section	.data.good_t0,"aw",@progbits
	.globl	good_t0
	.align	2
good_t0:
	.int32	good0@FUNCTION
	.int32	good1@FUNCTION
	.int32	good2@FUNCTION
	.size	good_t0, 12

	.hidden	opt_t0                  # @opt_t0
	.type	opt_t0,@object
	.section	.data.opt_t0,"aw",@progbits
	.globl	opt_t0
	.align	2
opt_t0:
	.int32	opt0@FUNCTION
	.int32	opt1@FUNCTION
	.int32	opt2@FUNCTION
	.size	opt_t0, 12

	.type	.L.str,@object          # @.str
	.section	.rodata.str1.1,"aMS",@progbits,1
.L.str:
	.asciz	"hi"
	.size	.L.str, 3

	.hidden	global                  # @global
	.type	global,@object
	.section	.bss.global,"aw",@nobits
	.globl	global
	.align	2
global:
	.int32	0                       # 0x0
	.size	global, 4


	.ident	"clang version 3.9.0 "
