blob: 30d90a7c1cdf55ddd6efcb339c7b5607545a6193 [file] [log] [blame]
.text
.section .text.f883b,"ax",@progbits
.hidden f883b
.globl f883b
.type f883b,@function
f883b: # @f883b
.param i32, i32, i32, i32, i32
.local i32, i32
# BB#0: # %entry
i32.const $6=, 0
.LBB0_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label0:
i32.add $push12=, $0, $6
i32.load16_s $push29=, 0($1)
tee_local $push28=, $5=, $pop29
i32.const $push27=, 1
i32.const $push26=, 1
i32.lt_s $push0=, $5, $pop26
i32.select $push1=, $pop28, $pop27, $pop0
i32.load $push2=, 0($2)
i32.const $push25=, 31
i32.and $push3=, $pop2, $pop25
i32.shr_s $push4=, $pop1, $pop3
i32.const $push24=, 1
i32.xor $push5=, $pop4, $pop24
i32.const $push23=, 32
i32.add $push6=, $pop5, $pop23
i32.const $push22=, 7
i32.shr_u $push7=, $pop6, $pop22
i32.const $push21=, 251
i32.or $push8=, $pop7, $pop21
i64.extend_u/i32 $push9=, $pop8
i64.load $push10=, 0($3)
i64.and $push11=, $pop9, $pop10
i64.store8 0($pop12), $pop11
i32.const $push20=, 8
i32.add $3=, $3, $pop20
i32.const $push19=, 4
i32.add $2=, $2, $pop19
i32.const $push18=, 2
i32.add $1=, $1, $pop18
i32.const $push17=, 1
i32.add $push16=, $6, $pop17
tee_local $push15=, $6=, $pop16
i32.const $push14=, 96
i32.ne $push13=, $pop15, $pop14
br_if 0, $pop13 # 0: up to label0
# BB#2: # %for.end
end_loop
# fallthrough-return
.endfunc
.Lfunc_end0:
.size f883b, .Lfunc_end0-f883b
.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 $4=, 0
i32.const $3=, arg1
i32.const $2=, arg2
i32.const $1=, arg3
.LBB1_1: # %for.body
# =>This Inner Loop Header: Depth=1
loop # label1:
i32.const $push34=, arg4
i32.add $push0=, $4, $pop34
i32.store8 0($pop0), $4
i32.const $push33=, 255
i32.and $push32=, $4, $pop33
tee_local $push31=, $0=, $pop32
i32.store 0($2), $pop31
i32.store16 0($3), $0
i64.extend_u/i32 $push1=, $4
i64.const $push30=, 255
i64.and $push2=, $pop1, $pop30
i64.store 0($1), $pop2
i32.const $push29=, 8
i32.add $1=, $1, $pop29
i32.const $push28=, 4
i32.add $2=, $2, $pop28
i32.const $push27=, 2
i32.add $3=, $3, $pop27
i32.const $push26=, 1
i32.add $push25=, $4, $pop26
tee_local $push24=, $4=, $pop25
i32.const $push23=, 96
i32.ne $push3=, $pop24, $pop23
br_if 0, $pop3 # 0: up to label1
# BB#2: # %for.body.i.preheader
end_loop
i32.const $4=, result
i32.const $3=, arg3
i32.const $2=, arg2
i32.const $1=, -192
.LBB1_3: # %for.body.i
# =>This Inner Loop Header: Depth=1
loop # label2:
i32.const $push50=, arg1+192
i32.add $push4=, $1, $pop50
i32.load16_s $push49=, 0($pop4)
tee_local $push48=, $0=, $pop49
i32.const $push47=, 1
i32.const $push46=, 1
i32.lt_s $push5=, $0, $pop46
i32.select $push6=, $pop48, $pop47, $pop5
i32.load $push7=, 0($2)
i32.const $push45=, 31
i32.and $push8=, $pop7, $pop45
i32.shr_s $push9=, $pop6, $pop8
i32.const $push44=, 1
i32.xor $push10=, $pop9, $pop44
i32.const $push43=, 32
i32.add $push11=, $pop10, $pop43
i32.const $push42=, 7
i32.shr_u $push12=, $pop11, $pop42
i32.const $push41=, 251
i32.or $push13=, $pop12, $pop41
i64.extend_u/i32 $push14=, $pop13
i64.load $push15=, 0($3)
i64.and $push16=, $pop14, $pop15
i64.store8 0($4), $pop16
i32.const $push40=, 4
i32.add $2=, $2, $pop40
i32.const $push39=, 8
i32.add $3=, $3, $pop39
i32.const $push38=, 1
i32.add $4=, $4, $pop38
i32.const $push37=, 2
i32.add $push36=, $1, $pop37
tee_local $push35=, $1=, $pop36
br_if 0, $pop35 # 0: up to label2
# BB#4: # %for.body10.preheader
end_loop
i32.const $4=, 0
i32.const $3=, .Lmain.correct
.LBB1_5: # %for.body10
# =>This Inner Loop Header: Depth=1
block
loop # label4:
i32.const $push51=, result
i32.add $push17=, $4, $pop51
i32.load8_s $push18=, 0($pop17)
i32.load $push19=, 0($3)
i32.ne $push20=, $pop18, $pop19
br_if 1, $pop20 # 1: down to label3
# BB#6: # %for.cond7
# in Loop: Header=BB1_5 Depth=1
i32.const $push56=, 4
i32.add $3=, $3, $pop56
i32.const $push55=, 1
i32.add $push54=, $4, $pop55
tee_local $push53=, $4=, $pop54
i32.const $push52=, 95
i32.le_s $push21=, $pop53, $pop52
br_if 0, $pop21 # 0: up to label4
# BB#7: # %for.end18
end_loop
i32.const $push22=, 0
return $pop22
.LBB1_8: # %if.then
end_block # label3:
call abort@FUNCTION
unreachable
.endfunc
.Lfunc_end1:
.size main, .Lfunc_end1-main
.type .Lmain.correct,@object # @main.correct
.section .rodata..Lmain.correct,"a",@progbits
.p2align 4
.Lmain.correct:
.int32 0 # 0x0
.int32 1 # 0x1
.int32 2 # 0x2
.int32 3 # 0x3
.int32 0 # 0x0
.int32 1 # 0x1
.int32 2 # 0x2
.int32 3 # 0x3
.int32 8 # 0x8
.int32 9 # 0x9
.int32 10 # 0xa
.int32 11 # 0xb
.int32 8 # 0x8
.int32 9 # 0x9
.int32 10 # 0xa
.int32 11 # 0xb
.int32 16 # 0x10
.int32 17 # 0x11
.int32 18 # 0x12
.int32 19 # 0x13
.int32 16 # 0x10
.int32 17 # 0x11
.int32 18 # 0x12
.int32 19 # 0x13
.int32 24 # 0x18
.int32 25 # 0x19
.int32 26 # 0x1a
.int32 27 # 0x1b
.int32 24 # 0x18
.int32 25 # 0x19
.int32 26 # 0x1a
.int32 27 # 0x1b
.int32 32 # 0x20
.int32 33 # 0x21
.int32 34 # 0x22
.int32 35 # 0x23
.int32 32 # 0x20
.int32 33 # 0x21
.int32 34 # 0x22
.int32 35 # 0x23
.int32 40 # 0x28
.int32 41 # 0x29
.int32 42 # 0x2a
.int32 43 # 0x2b
.int32 40 # 0x28
.int32 41 # 0x29
.int32 42 # 0x2a
.int32 43 # 0x2b
.int32 48 # 0x30
.int32 49 # 0x31
.int32 50 # 0x32
.int32 51 # 0x33
.int32 48 # 0x30
.int32 49 # 0x31
.int32 50 # 0x32
.int32 51 # 0x33
.int32 56 # 0x38
.int32 57 # 0x39
.int32 58 # 0x3a
.int32 59 # 0x3b
.int32 56 # 0x38
.int32 57 # 0x39
.int32 58 # 0x3a
.int32 59 # 0x3b
.int32 64 # 0x40
.int32 65 # 0x41
.int32 66 # 0x42
.int32 67 # 0x43
.int32 64 # 0x40
.int32 65 # 0x41
.int32 66 # 0x42
.int32 67 # 0x43
.int32 72 # 0x48
.int32 73 # 0x49
.int32 74 # 0x4a
.int32 75 # 0x4b
.int32 72 # 0x48
.int32 73 # 0x49
.int32 74 # 0x4a
.int32 75 # 0x4b
.int32 80 # 0x50
.int32 81 # 0x51
.int32 82 # 0x52
.int32 83 # 0x53
.int32 80 # 0x50
.int32 81 # 0x51
.int32 82 # 0x52
.int32 83 # 0x53
.int32 88 # 0x58
.int32 89 # 0x59
.int32 90 # 0x5a
.int32 91 # 0x5b
.int32 88 # 0x58
.int32 89 # 0x59
.int32 90 # 0x5a
.int32 91 # 0x5b
.size .Lmain.correct, 384
.hidden arg4 # @arg4
.type arg4,@object
.section .bss.arg4,"aw",@nobits
.globl arg4
.p2align 4
arg4:
.skip 96
.size arg4, 96
.hidden arg1 # @arg1
.type arg1,@object
.section .bss.arg1,"aw",@nobits
.globl arg1
.p2align 4
arg1:
.skip 192
.size arg1, 192
.hidden arg2 # @arg2
.type arg2,@object
.section .bss.arg2,"aw",@nobits
.globl arg2
.p2align 4
arg2:
.skip 384
.size arg2, 384
.hidden arg3 # @arg3
.type arg3,@object
.section .bss.arg3,"aw",@nobits
.globl arg3
.p2align 4
arg3:
.skip 768
.size arg3, 768
.hidden result # @result
.type result,@object
.section .bss.result,"aw",@nobits
.globl result
.p2align 4
result:
.skip 96
.size result, 96
.functype abort, void