[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[f-cpu] next gcc tests: vsprintf.s
- To: <f-cpu@seul.org>
- Subject: [f-cpu] next gcc tests: vsprintf.s
- From: devik <devik@cdi.cz>
- Date: Thu, 19 Dec 2002 02:54:59 +0100 (CET)
- Delivered-to: archiver@seul.org
- Delivered-to: f-cpu-outgoing@seul.org
- Delivered-to: f-cpu@seul.org
- Delivery-date: Thu, 19 Dec 2002 03:55:55 -0500
- Reply-to: f-cpu@seul.org
- Sender: owner-f-cpu@seul.org
Hi,
I added output of latest gcc compilation
of vsprintf.c. I repaired most of things
reported by MR.
devik
; F-CPU ASM by devik@cdi.cz
.text
.extern simple_strtoul
simple_strtoul:
dmove r2,r5,r3,r10
move.64 r0,r6
jmp_direct_nz r4,@L2
loadcons.32 $10,r4
load.8 [r2],r1
xor.ori.8 $48,r1,r1
jmp_direct_nz r1,@L2
bseti.32 $3,r0,r4
inc.64 r2,r5
load.8 [r5],r1
xor.ori.8 $120,r1,r1
jmp_direct_nz r1,@L2
inc.64 r5,r3
load.8 [r3],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $68,r1,r1
jmp_direct_z r1,@L2
move.64 r3,r5
bseti.32 $4,r0,r4
@L2:
loadcons.64 $_ctype,r8
move.64 r8,r9
move.32 r4,r7 // zero_extend
move.64 r7,r4
jmp_direct @L5
@L13:
mul.64 r4,r6,r1
add.64 r2,r1,r6
inc.64 r5,r5
@L5:
load.8 [r5],r3
move.8 r3,r1 // zero_extend
add.64 r8,r1,r1
load.8 [r1],r2
andi.8 $68,r2,r1
jmp_direct_z r1,@L6
andi.8 $4,r2,r1
jmp_direct_z r1,@L9
widen.8 r3,r1
subi.32 48,r1,r1
widen.32 r1,r2
jmp_direct @L10
@L9:
load.8 [r5],r2
move.8 r2,r1 // zero_extend
add.64 r9,r1,r1
load.8 [r1],r1
andi.8 $2,r1,r1
subi.8 32,r2,r3
cmove.8 r1,r3,r2
move.8 r2,r2 // zero_extend
subi.32 55,r2,r2
widen.32 r2,r2
@L10:
cmpl.64 r7,r2,r1
jmp_direct_nz r1,@L13
@L6:
jmp_direct_z r10,@L14
store.64 [r10],r5
@L14:
move.64 r6,r1
jmp ra
.extern simple_strtol
simple_strtol:
store $-8,sp,r63
load.8 [r2],r1
xor.ori.8 $45,r1,r1
jmp_direct_nz r1,@L16
inc.64 r2,r2
loadcons.64 $simple_strtoul,r1
jmp r1,ra
neg.64 r1,r1
jmp_direct @L15
@L16:
loadcons.64 $simple_strtoul,r1
jmp r1,ra
@L15:
load 8,sp,r63
jmp ra
.extern simple_strtoull
simple_strtoull:
move.64 r2,r6
move.64 r0,r7
jmp_direct_nz r4,@L18
loadcons.32 $10,r4
load.8 [r2],r1
xor.ori.8 $48,r1,r1
jmp_direct_nz r1,@L18
bseti.32 $3,r0,r4
inc.64 r2,r6
load.8 [r6],r1
xor.ori.8 $120,r1,r1
jmp_direct_nz r1,@L18
inc.64 r6,r5
load.8 [r5],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $68,r1,r1
jmp_direct_z r1,@L18
move.64 r5,r6
bseti.32 $4,r0,r4
@L18:
loadcons.64 $_ctype,r9
move.64 r9,r10
move.32 r4,r8 // zero_extend
move.64 r8,r4
jmp_direct @L21
@L31:
mul.64 r4,r7,r1
add.64 r2,r1,r7
inc.64 r6,r6
@L21:
load.8 [r6],r5
move.8 r5,r1 // zero_extend
add.64 r9,r1,r1
load.8 [r1],r2
andi.8 $68,r2,r1
jmp_direct_z r1,@L22
andi.8 $4,r2,r1
jmp_direct_z r1,@L25
widen.8 r5,r1
subi.32 48,r1,r1
widen.32 r1,r2
jmp_direct @L26
@L25:
load.8 [r6],r2
move.8 r2,r1 // zero_extend
add.64 r10,r1,r1
load.8 [r1],r1
andi.8 $2,r1,r1
jmp_direct_z r1,@L27
subi.8 32,r2,r1
move.8 r1,r1 // zero_extend
subi.32 55,r1,r1
widen.32 r1,r2
jmp_direct @L26
@L27:
load.8 [r6],r1
widen.8 r1,r1
subi.32 55,r1,r1
widen.32 r1,r2
@L26:
cmpl.64 r8,r2,r1
jmp_direct_nz r1,@L31
@L22:
jmp_direct_z r3,@L32
store.64 [r3],r6
@L32:
move.64 r7,r1
jmp ra
.extern simple_strtoll
simple_strtoll:
store $-8,sp,r63
load.8 [r2],r1
xor.ori.8 $45,r1,r1
jmp_direct_nz r1,@L34
inc.64 r2,r2
loadcons.64 $simple_strtoull,r1
jmp r1,ra
neg.64 r1,r1
jmp_direct @L33
@L34:
loadcons.64 $simple_strtoull,r1
jmp r1,ra
@L33:
load 8,sp,r63
jmp ra
skip_atoi:
move.64 r2,r7
move.32 r0,r4
load.64 [r2],r1
move.64 r1,r5
load.8 [r1],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r6
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_z r1,@L41
@L39:
shiftli.32 $3,r4,r2
add.32 r4,r2,r2
add.32 r4,r2,r2
load.8 [r5],r1
widen.8 r1,r1
add.32 r1,r2,r2
subi.32 48,r2,r4
inc.64 r5,r3
store.64 [r7],r3
move.64 r3,r5
load.8 [r3],r1
move.8 r1,r1 // zero_extend
add.64 r6,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_nz r1,@L39
@L41:
move.32 r4,r1
jmp ra
@LC0:
.ascii "0123456789abcdefghijklmnopqrstuvwxyz\0"
@LC1:
.ascii "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ\0"
number:
store $-8,sp,r32
store $-8,sp,r33
store $-8,sp,r34
store $-8,sp,r35
store $-8,sp,r36
store $-8,sp,r37
store $-8,sp,r38
store $-8,sp,r39
store $-8,sp,r40
store $-8,sp,r41
store $-8,sp,r42
store $-8,sp,r43
store $-8,sp,r63
dmove r2,r32,r3,r35
dmove r4,r38,r5,r40
dmove r6,r33,r7,r36
move.32 r8,r37
subi.64 116,r62,r3
loadcons.64 $@LC0,r2
load.64 [r2],r2
store.64 [r3],r2
addi.64 $8,r3,r1
loadcons.64 $@LC0+8,r2
load.64 [r2],r2
store.64 [r1],r2
addi.64 $8,r1,r1
loadcons.64 $@LC0+16,r2
load.64 [r2],r2
store.64 [r1],r2
addi.64 $8,r1,r1
loadcons.64 $@LC0+24,r2
load.64 [r2],r2
store.64 [r1],r2
addi.64 $8,r1,r1
loadcons.64 $@LC0+32,r2
load.32 [r2],r2
store.32 [r1],r2
addi.64 $4,r1,r1
loadcons.64 $@LC0+36,r2
load.8 [r2],r2
store.8 [r1],r2
subi.64 156,r62,r2
loadcons.64 $@LC1,r4
load.64 [r4],r4
store.64 [r2],r4
addi.64 $8,r2,r1
loadcons.64 $@LC1+8,r4
load.64 [r4],r4
store.64 [r1],r4
addi.64 $8,r1,r1
loadcons.64 $@LC1+16,r4
load.64 [r4],r4
store.64 [r1],r4
addi.64 $8,r1,r1
loadcons.64 $@LC1+24,r4
load.64 [r4],r4
store.64 [r1],r4
addi.64 $8,r1,r1
loadcons.64 $@LC1+32,r4
load.32 [r4],r4
store.32 [r1],r4
addi.64 $4,r1,r1
loadcons.64 $@LC1+36,r4
load.8 [r4],r4
store.8 [r1],r4
andi.32 $64,r8,r1
nxor.andi.32 $0,r1,r1
move.64 r2,r43
cmove.64 r1,r3,r43
andi.32 $16,r8,r2
andi.32 $-2,r8,r1
cmove.32 r2,r1,r37
subi.32 2,r5,r1
cmplei.32 $34,r1,r1
move.64 r0,r2
jmp_direct_z r1,@L42
jmp_direct @L46
@L46:
andi.32 $1,r37,r1
nxor.andi.32 $0,r1,r1
loadcons.0 32,r3
loadcons.0 48,r2
move.8 r2,r42
cmove.8 r1,r3,r42
loadcons.0 0,r41
andi.32 $2,r37,r1
jmp_direct_z r1,@L49
cmplsi.64 $0,r38,r1
jmp_direct_z r1,@L50
loadcons.0 45,r41
neg.64 r38,r38
dec.32 r6,r33
jmp_direct @L49
@L50:
andi.32 $4,r37,r1
jmp_direct_z r1,@L52
loadcons.0 43,r41
dec.32 r6,r33
jmp_direct @L49
@L52:
andi.32 $8,r37,r1
jmp_direct_z r1,@L49
loadcons.0 32,r41
dec.32 r6,r33
@L49:
andi.32 $32,r37,r1
jmp_direct_z r1,@L55
xor.ori.32 $16,r40,r1
jmp_direct_nz r1,@L56
subi.32 2,r33,r33
jmp_direct @L55
@L56:
nxor.andi.32 $8,r40,r1
add.32 r1,r33,r33
@L55:
move.32 r0,r34
jmp_direct_nz r38,@L102
subi.64 76,r62,r1
loadcons.0 48,r2
store.8 [r1],r2
bseti.32 $0,r0,r34
jmp_direct @L60
@L102:
subi.64 76,r62,r39
widen.32 r40,r3
move.64 r38,r2
loadcons.64 $__divdi3,r1
jmp r1,ra
add.64 r1,r43,r2
@L64:
widen.32 r34,r1
add.64 r1,r39,r1
load.8 [r2],r3
store.8 [r1],r3
inc.32 r34,r34
jmp_direct_nz r38,@L64
@L60:
cmples.32 r36,r34,r1
move.32 r34,r2
cmove.32 r1,r36,r2
move.32 r2,r36
sub.32 r2,r33,r33
andi.32 $17,r37,r1
jmp_direct_nz r1,@L66
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_nz r1,@L66
loadcons.0 32,r2
@L71:
cmple.64 r35,r32,r1
jmp_direct_z r1,@L70
store.8 [r32],r2
@L70:
inc.64 r32,r32
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_z r1,@L71
@L66:
jmp_direct_z r41,@L72
cmple.64 r35,r32,r1
jmp_direct_z r1,@L73
store.8 [r32],r41
@L73:
inc.64 r32,r32
@L72:
andi.32 $32,r37,r1
jmp_direct_z r1,@L74
xor.ori.32 $8,r40,r1
jmp_direct_nz r1,@L75
cmple.64 r35,r32,r1
jmp_direct_z r1,@L76
loadcons.0 48,r3
store.8 [r32],r3
@L76:
inc.64 r32,r32
jmp_direct @L74
@L75:
xor.ori.32 $16,r40,r1
jmp_direct_nz r1,@L74
cmple.64 r35,r32,r1
jmp_direct_z r1,@L79
loadcons.0 48,r1
store.8 [r32],r1
@L79:
inc.64 r32,r32
cmple.64 r35,r32,r1
jmp_direct_z r1,@L80
addi.64 $33,r43,r1
load.8 [r1],r1
store.8 [r32],r1
@L80:
inc.64 r32,r32
@L74:
andi.32 $16,r37,r1
jmp_direct_nz r1,@L81
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_nz r1,@L81
@L86:
cmple.64 r35,r32,r1
jmp_direct_z r1,@L85
store.8 [r32],r42
@L85:
inc.64 r32,r32
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_z r1,@L86
@L81:
move.32 r36,r1
dec.32 r36,r36
cmples.32 r34,r1,r1
jmp_direct_nz r1,@L106
loadcons.0 48,r2
@L91:
cmple.64 r35,r32,r1
jmp_direct_z r1,@L90
store.8 [r32],r2
@L90:
inc.64 r32,r32
move.32 r36,r1
dec.32 r36,r36
cmples.32 r34,r1,r1
jmp_direct_z r1,@L91
@L106:
move.32 r34,r1
dec.32 r34,r34
cmplesi.32 $0,r1,r1
jmp_direct_nz r1,@L108
subi.64 76,r62,r2
@L96:
cmple.64 r35,r32,r1
jmp_direct_z r1,@L95
widen.32 r34,r1
add.64 r1,r2,r1
load.8 [r1],r1
store.8 [r32],r1
@L95:
inc.64 r32,r32
move.32 r34,r1
dec.32 r34,r34
cmplesi.32 $0,r1,r1
jmp_direct_z r1,@L96
@L108:
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_nz r1,@L110
loadcons.0 32,r2
@L101:
cmple.64 r35,r32,r1
jmp_direct_z r1,@L100
store.8 [r32],r2
@L100:
inc.64 r32,r32
move.32 r33,r1
dec.32 r33,r33
cmplesi.32 $0,r1,r1
jmp_direct_z r1,@L101
@L110:
move.64 r32,r2
@L42:
move.64 r2,r1
load 8,sp,r32
load 8,sp,r33
load 8,sp,r34
load 8,sp,r35
load 8,sp,r36
load 8,sp,r37
load 8,sp,r38
load 8,sp,r39
load 8,sp,r40
load 8,sp,r41
load 8,sp,r42
load 8,sp,r43
load 8,sp,r63
jmp ra
@LC2:
.ascii "<NULL>\0"
.extern vsnprintf
vsnprintf:
store $-8,sp,r32
store $-8,sp,r33
store $-8,sp,r34
store $-8,sp,r35
store $-8,sp,r36
store $-8,sp,r37
store $-8,sp,r38
store $-8,sp,r39
store $-8,sp,r63
dmove r2,r38,r3,r39
subi.64 12,r62,r1
store.64 [r1],r4
dmove r5,r37,r2,r32
move.32 r3,r1 // zero_extend
add.64 r1,r2,r34
dec.64 r34,r34
dec.64 r2,r1
cmpl.64 r1,r34,r1
jmp_direct_z r1,@L112
loadcons.64 $-1,r34
neg.32 r2,r39
@L112:
subi.64 12,r62,r1
move.64 r1,r3
load.64 [r1],r1
load.8 [r1],r1
jmp_direct_z r1,@L210
@L205:
load.64 [r3],r1
load.8 [r1],r2
xor.ori.8 $37,r2,r1
jmp_direct_z r1,@L117
cmple.64 r34,r32,r1
jmp_direct_z r1,@L118
store.8 [r32],r2
@L118:
inc.64 r32,r32
jmp_direct @L115
@L117:
move.32 r0,r33
@L119:
subi.64 12,r62,r2
load.64 [r2],r1
inc.64 r1,r1
store.64 [r2],r1
load.8 [r1],r1
widen.8 r1,r1
subi.32 32,r1,r2
cmplei.32 $16,r2,r1
jmp_direct_z r1,@L120
move.32 r2,r1 // zero_extend
shiftli.64 $2,r1,r1
loadaddrdi $@L126-.,r2
add.64 r2,r1,r1
load.32 [r1],r1
widen.32 r1,r1
@SW126: loadaddr r1,r1; jmp r1
.align 2
.align 2
@L126:
.long @L123-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L124-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L122-@SW126
.long @L120-@SW126
.long @L121-@SW126
.long @L120-@SW126
.long @L120-@SW126
.long @L125-@SW126
@L121:
ori.32 $16,r33,r33
jmp_direct @L119
@L122:
ori.32 $4,r33,r33
jmp_direct @L119
@L123:
ori.32 $8,r33,r33
jmp_direct @L119
@L124:
ori.32 $32,r33,r33
jmp_direct @L119
@L125:
ori.32 $1,r33,r33
jmp_direct @L119
@L120:
loadcons.32 $-1,r36
subi.64 12,r62,r3
load.64 [r3],r1
load.8 [r1],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_z r1,@L128
move.64 r3,r2
loadcons.64 $skip_atoi,r1
jmp r1,ra
move.32 r1,r36
jmp_direct @L129
@L128:
subi.64 12,r62,r3
load.64 [r3],r2
load.8 [r2],r1
xor.ori.8 $42,r1,r1
jmp_direct_nz r1,@L129
inc.64 r2,r1
store.64 [r3],r1
move.64 r37,r1
addi.64 $8,r37,r37
load.32 [r1],r36
cmplsi.32 $0,r36,r1
jmp_direct_z r1,@L129
neg.32 r36,r36
ori.32 $16,r33,r33
@L129:
loadcons.32 $-1,r7
subi.64 12,r62,r3
load.64 [r3],r2
load.8 [r2],r1
xor.ori.8 $46,r1,r1
jmp_direct_nz r1,@L132
inc.64 r2,r1
store.64 [r3],r1
load.8 [r1],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_z r1,@L133
move.64 r3,r2
loadcons.64 $skip_atoi,r1
jmp r1,ra
move.32 r1,r7
jmp_direct @L134
@L133:
subi.64 12,r62,r3
load.64 [r3],r2
load.8 [r2],r1
xor.ori.8 $42,r1,r1
jmp_direct_nz r1,@L134
inc.64 r2,r1
store.64 [r3],r1
move.64 r37,r1
addi.64 $8,r37,r37
load.32 [r1],r7
@L134:
cmplsi.32 $0,r7,r1
nxor.andi.32 $0,r1,r1
cmove.32 r1,r0,r7
@L132:
loadcons.32 $-1,r4
subi.64 12,r62,r1
load.64 [r1],r1
load.8 [r1],r2
xor.ori.8 $104,r2,r1
jmp_direct_z r1,@L138
xor.ori.8 $108,r2,r1
jmp_direct_z r1,@L138
xor.ori.8 $76,r2,r1
jmp_direct_z r1,@L138
xor.ori.8 $90,r2,r1
jmp_direct_nz r1,@L137
@L138:
subi.64 12,r62,r3
load.64 [r3],r1
load.8 [r1],r2
widen.8 r2,r4
inc.64 r1,r2
store.64 [r3],r2
xor.ori.32 $108,r4,r1
jmp_direct_nz r1,@L137
load.8 [r2],r1
xor.or.8 r4,r1,r1
jmp_direct_nz r1,@L137
loadcons.32 $76,r4
inc.64 r2,r1
store.64 [r3],r1
@L137:
loadcons.32 $10,r5
subi.64 12,r62,r1
load.64 [r1],r1
load.8 [r1],r1
widen.8 r1,r1
subi.32 37,r1,r2
cmplei.32 $83,r2,r1
jmp_direct_z r1,@L188
move.32 r2,r1 // zero_extend
shiftli.64 $2,r1,r1
loadaddrdi $@L193-.,r2
add.64 r2,r1,r1
load.32 [r1],r1
widen.32 r1,r1
@SW193: loadaddr r1,r1; jmp r1
.align 2
.align 2
@L193:
.long @L180-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L183-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L141-@SW193
.long @L186-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L186-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L175-@SW193
.long @L182-@SW193
.long @L173-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L154-@SW193
.long @L188-@SW193
.long @L140-@SW193
.long @L188-@SW193
.long @L188-@SW193
.long @L184-@SW193
@L141:
andi.32 $16,r33,r1
jmp_direct_nz r1,@L142
dec.32 r36,r36
cmplesi.32 $0,r36,r1
jmp_direct_nz r1,@L142
loadcons.0 32,r2
@L147:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L146
store.8 [r32],r2
@L146:
inc.64 r32,r32
dec.32 r36,r36
cmplesi.32 $0,r36,r1
jmp_direct_z r1,@L147
@L142:
move.64 r37,r1
addi.64 $8,r37,r37
load.8 [r1],r2
cmple.64 r34,r32,r1
jmp_direct_z r1,@L148
store.8 [r32],r2
@L148:
inc.64 r32,r32
dec.32 r36,r36
cmplesi.32 $0,r36,r1
jmp_direct_nz r1,@L115
loadcons.0 32,r2
@L153:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L152
store.8 [r32],r2
@L152:
inc.64 r32,r32
dec.32 r36,r36
cmplesi.32 $0,r36,r1
jmp_direct_nz r1,@L115
jmp_direct @L153
@L154:
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r35
loadcons.64 $@LC2,r1
cmove.64 r35,r35,r1
dmove r1,r35,r1,r2
move.32 r7,r3
loadcons.64 $strnlen,r1
jmp r1,ra
move.32 r1,r3
andi.32 $16,r33,r1
jmp_direct_nz r1,@L156
move.32 r36,r1
dec.32 r36,r36
cmples.32 r3,r1,r1
jmp_direct_nz r1,@L156
loadcons.0 32,r2
@L161:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L160
store.8 [r32],r2
@L160:
inc.64 r32,r32
move.32 r36,r1
dec.32 r36,r36
cmples.32 r3,r1,r1
jmp_direct_z r1,@L161
@L156:
move.32 r0,r2
cmpls.32 r3,r2,r1
jmp_direct_z r1,@L215
@L167:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L166
load.8 [r35],r1
store.8 [r32],r1
@L166:
inc.64 r32,r32
inc.64 r35,r35
inc.32 r2,r2
cmpls.32 r3,r2,r1
jmp_direct_nz r1,@L167
@L215:
move.32 r36,r1
dec.32 r36,r36
cmples.32 r3,r1,r1
jmp_direct_nz r1,@L115
loadcons.0 32,r2
@L172:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L171
store.8 [r32],r2
@L171:
inc.64 r32,r32
move.32 r36,r1
dec.32 r36,r36
cmples.32 r3,r1,r1
jmp_direct_nz r1,@L115
jmp_direct @L172
@L173:
xor.ori.32 $-1,r36,r1
jmp_direct_nz r1,@L174
bseti.32 $4,r0,r36
ori.32 $1,r33,r33
@L174:
move.64 r37,r1
addi.64 $8,r37,r37
dmove r32,r2,r34,r3
load.64 [r1],r4
bseti.32 $4,r0,r5
dmove r36,r6,r33,r8
loadcons.64 $number,r1
jmp r1,ra
move.64 r1,r32
jmp_direct @L115
@L175:
xor.ori.32 $108,r4,r1
jmp_direct_nz r1,@L176
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r2
sub.64 r38,r32,r1
store.64 [r2],r1
jmp_direct @L115
@L176:
xor.ori.32 $90,r4,r1
jmp_direct_nz r1,@L178
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r2
sub.32 r38,r32,r1
store.32 [r2],r1
jmp_direct @L115
@L178:
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r2
sub.32 r38,r32,r1
store.32 [r2],r1
jmp_direct @L115
@L180:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L181
loadcons.0 37,r1
store.8 [r32],r1
@L181:
inc.64 r32,r32
jmp_direct @L115
@L182:
bseti.32 $3,r0,r5
jmp_direct @L140
@L183:
ori.32 $64,r33,r33
@L184:
bseti.32 $4,r0,r5
jmp_direct @L140
@L186:
ori.32 $2,r33,r33
jmp_direct @L140
@L188:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L189
loadcons.0 37,r1
store.8 [r32],r1
@L189:
inc.64 r32,r32
subi.64 12,r62,r1
load.64 [r1],r1
load.8 [r1],r2
jmp_direct_z r2,@L190
cmple.64 r34,r32,r1
jmp_direct_z r1,@L191
store.8 [r32],r2
@L191:
inc.64 r32,r32
jmp_direct @L115
@L190:
subi.64 12,r62,r2
load.64 [r2],r1
dec.64 r1,r1
store.64 [r2],r1
jmp_direct @L115
@L140:
xor.ori.32 $76,r4,r1
jmp_direct_nz r1,@L194
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r4
jmp_direct @L195
@L194:
xor.ori.32 $108,r4,r1
jmp_direct_nz r1,@L196
move.64 r37,r1
addi.64 $8,r37,r37
load.64 [r1],r4
jmp_direct @L195
@L196:
xor.ori.32 $90,r4,r1
jmp_direct_nz r1,@L199
move.64 r37,r1
addi.64 $8,r37,r37
load.32 [r1],r1
move.32 r1,r4 // zero_extend
jmp_direct @L195
@L199:
xor.ori.32 $104,r4,r1
jmp_direct_nz r1,@L201
move.64 r37,r1
addi.64 $8,r37,r37
load.16 [r1],r1
move.16 r1,r4 // zero_extend
andi.32 $2,r33,r1
jmp_direct_z r1,@L195
widen.16 r4,r4
jmp_direct @L195
@L201:
move.64 r37,r1
addi.64 $8,r37,r37
load.32 [r1],r1
move.32 r1,r4 // zero_extend
andi.32 $2,r33,r2
widen.32 r4,r1
cmove.64 r2,r1,r4
@L195:
dmove r32,r2,r34,r3
dmove r36,r6,r33,r8
loadcons.64 $number,r1
jmp r1,ra
move.64 r1,r32
@L115:
subi.64 12,r62,r1
load.64 [r1],r2
inc.64 r2,r2
store.64 [r1],r2
move.64 r1,r3
load.8 [r2],r1
jmp_direct_nz r1,@L205
@L210:
cmple.64 r34,r32,r1
jmp_direct_z r1,@L206
loadcons.0 0,r1
store.8 [r32],r1
jmp_direct @L207
@L206:
jmp_direct_z r39,@L207
loadcons.0 0,r1
store.8 [r34],r1
@L207:
sub.32 r38,r32,r1
load 8,sp,r32
load 8,sp,r33
load 8,sp,r34
load 8,sp,r35
load 8,sp,r36
load 8,sp,r37
load 8,sp,r38
load 8,sp,r39
load 8,sp,r63
jmp ra
.extern snprintf
snprintf:
store $-8,sp,r63
addi.64 $4,r62,r1
load.64 [r1],r4
addi.64 $12,r62,r5
subi.64 12,r62,r1
store.64 [r1],r5
loadcons.64 $vsnprintf,r1
jmp r1,ra
load 8,sp,r63
jmp ra
.extern vsprintf
vsprintf:
store $-8,sp,r63
dmove r3,r1,r4,r5
loadcons.32 $-1,r3
move.64 r1,r4
loadcons.64 $vsnprintf,r1
jmp r1,ra
load 8,sp,r63
jmp ra
.extern sprintf
sprintf:
store $-8,sp,r63
addi.64 $4,r62,r1
load.64 [r1],r3
addi.64 $12,r62,r4
subi.64 12,r62,r1
store.64 [r1],r4
loadcons.64 $vsprintf,r1
jmp r1,ra
load 8,sp,r63
jmp ra
.extern vsscanf
vsscanf:
store $-8,sp,r32
store $-8,sp,r33
store $-8,sp,r34
store $-8,sp,r35
store $-8,sp,r36
store $-8,sp,r37
store $-8,sp,r63
move.64 r2,r37
subi.64 12,r62,r1
move.64 r1,r2
store.64 [r1],r3
dmove r4,r34,r37,r33
move.32 r0,r36
loadcons.32 $-1,r35
load.8 [r3],r1
jmp_direct_z r1,@L222
load.8 [r37],r1
jmp_direct_z r1,@L222
@L306:
move.64 r2,r3
load.64 [r2],r1
load.8 [r1],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r4
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_z r1,@L225
@L229:
load.64 [r3],r1
inc.64 r1,r1
store.64 [r3],r1
load.8 [r1],r1
move.8 r1,r1 // zero_extend
add.64 r4,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L229
load.8 [r33],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r3
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_z r1,@L225
@L233:
inc.64 r33,r33
load.8 [r33],r1
move.8 r1,r1 // zero_extend
add.64 r3,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L233
@L225:
subi.64 12,r62,r5
load.64 [r5],r4
load.8 [r4],r3
xor.ori.8 $37,r3,r1
jmp_direct_z r1,@L234
jmp_direct_z r3,@L234
load.8 [r33],r2
inc.64 r33,r33
inc.64 r4,r1
store.64 [r5],r1
xor.or.8 r2,r3,r2
jmp_direct_nz r2,@L222
jmp_direct @L221
@L234:
subi.64 12,r62,r3
move.64 r3,r4
load.64 [r3],r2
load.8 [r2],r1
jmp_direct_z r1,@L222
inc.64 r2,r1
store.64 [r3],r1
load.8 [r1],r2
xor.ori.8 $42,r2,r1
jmp_direct_nz r1,@L237
move.8 r2,r2 // zero_extend
loadcons.64 $_ctype,r5
loadcons.64 $_ctype+42,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L239
jmp_direct_z r2,@L239
@L242:
load.64 [r4],r1
inc.64 r1,r1
store.64 [r4],r1
load.8 [r1],r3
move.8 r3,r1 // zero_extend
add.64 r5,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L239
jmp_direct_nz r3,@L242
@L239:
load.8 [r33],r3
move.8 r3,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L221
jmp_direct_z r3,@L221
move.64 r2,r3
@L247:
inc.64 r33,r33
load.8 [r33],r2
move.8 r2,r1 // zero_extend
add.64 r3,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L221
jmp_direct_nz r2,@L247
jmp_direct @L221
@L237:
subi.64 12,r62,r3
load.64 [r3],r1
load.8 [r1],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_z r1,@L248
move.64 r3,r2
loadcons.64 $skip_atoi,r1
jmp r1,ra
move.32 r1,r35
@L248:
loadcons.32 $-1,r3
subi.64 12,r62,r1
load.64 [r1],r1
load.8 [r1],r2
xor.ori.8 $104,r2,r1
jmp_direct_z r1,@L250
xor.ori.8 $108,r2,r1
jmp_direct_z r1,@L250
xor.ori.8 $76,r2,r1
jmp_direct_z r1,@L250
xor.ori.8 $90,r2,r1
jmp_direct_nz r1,@L249
@L250:
subi.64 12,r62,r1
load.64 [r1],r2
load.8 [r2],r3
widen.8 r3,r3
inc.64 r2,r2
store.64 [r1],r2
@L249:
loadcons.32 $10,r4
move.32 r0,r7
subi.64 12,r62,r6
load.64 [r6],r5
load.8 [r5],r2
jmp_direct_z r2,@L222
load.8 [r33],r1
jmp_direct_z r1,@L222
widen.8 r2,r1
subi.32 37,r1,r2
inc.64 r5,r1
store.64 [r6],r1
cmplei.32 $83,r2,r1
jmp_direct_z r1,@L281
move.32 r2,r1 // zero_extend
shiftli.64 $2,r1,r1
loadaddrdi $@L282-.,r2
add.64 r2,r1,r1
load.32 [r1],r1
widen.32 r1,r1
@SW282: loadaddr r1,r1; jmp r1
.align 2
.align 2
@L282:
.long @L279-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L275-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L254-@SW282
.long @L277-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L277-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L272-@SW282
.long @L273-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L261-@SW282
.long @L281-@SW282
.long @L253-@SW282
.long @L281-@SW282
.long @L281-@SW282
.long @L275-@SW282
@L254:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r3
xor.ori.32 $-1,r35,r2
bseti.32 $0,r0,r1
cmove.32 r2,r35,r1
move.32 r1,r35
@L256:
load.8 [r33],r1
store.8 [r3],r1
inc.64 r33,r33
inc.64 r3,r3
move.32 r35,r1
dec.32 r35,r35
cmplesi.32 $0,r1,r1
jmp_direct_nz r1,@L257
load.8 [r33],r1
jmp_direct_nz r1,@L256
@L257:
inc.32 r36,r36
jmp_direct @L221
@L261:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r4
xor.ori.32 $-1,r35,r2
bclrni.32 $31,r0,r1
cmove.32 r2,r35,r1
move.32 r1,r35
load.8 [r33],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r3
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_z r1,@L314
@L266:
inc.64 r33,r33
load.8 [r33],r1
move.8 r1,r1 // zero_extend
add.64 r3,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L266
@L314:
load.8 [r33],r1
move.8 r1,r3
jmp_direct_z r1,@L268
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r5
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L268
dec.32 r35,r35
xor.ori.32 $-1,r35,r1
jmp_direct_z r1,@L268
loadcons.32 $-1,r2
@L271:
store.8 [r4],r3
inc.64 r33,r33
inc.64 r4,r4
load.8 [r33],r3
jmp_direct_z r3,@L268
move.8 r3,r1 // zero_extend
add.64 r5,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L268
dec.32 r35,r35
xor.or.32 r2,r35,r1
jmp_direct_nz r1,@L271
@L268:
loadcons.0 0,r1
store.8 [r4],r1
inc.32 r36,r36
jmp_direct @L221
@L272:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r2
sub.32 r37,r33,r1
store.32 [r2],r1
jmp_direct @L221
@L273:
bseti.32 $3,r0,r4
jmp_direct @L253
@L275:
bseti.32 $4,r0,r4
jmp_direct @L253
@L277:
bseti.32 $0,r0,r7
jmp_direct @L253
@L279:
load.8 [r33],r1
inc.64 r33,r33
xor.ori.8 $37,r1,r1
move.32 r36,r2
jmp_direct_nz r1,@L220
jmp_direct @L221
@L281:
move.32 r36,r2
jmp_direct @L220
@L253:
load.8 [r33],r1
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
move.64 r2,r5
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_z r1,@L317
@L286:
inc.64 r33,r33
load.8 [r33],r1
move.8 r1,r1 // zero_extend
add.64 r5,r1,r1
load.8 [r1],r1
andi.8 $32,r1,r1
jmp_direct_nz r1,@L286
@L317:
load.8 [r33],r1
jmp_direct_z r1,@L222
move.8 r1,r1 // zero_extend
loadcons.64 $_ctype,r2
add.64 r2,r1,r1
load.8 [r1],r1
andi.8 $4,r1,r1
jmp_direct_z r1,@L222
loadcons.32 $90,r2
xor.or.32 r2,r3,r1
jmp_direct_z r1,@L299
cmples.32 r2,r3,r1
jmp_direct_z r1,@L304
xor.ori.32 $76,r3,r1
jmp_direct_z r1,@L296
jmp_direct @L300
@L304:
xor.ori.32 $104,r3,r1
jmp_direct_z r1,@L290
xor.ori.32 $108,r3,r1
jmp_direct_z r1,@L293
jmp_direct @L300
@L290:
jmp_direct_z r7,@L291
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtol,r1
jmp r1,ra
store.16 [r32],r1
jmp_direct @L289
@L291:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoul,r1
jmp r1,ra
store.16 [r32],r1
jmp_direct @L289
@L293:
jmp_direct_z r7,@L294
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtol,r1
jmp r1,ra
store.64 [r32],r1
jmp_direct @L289
@L294:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoul,r1
jmp r1,ra
store.64 [r32],r1
jmp_direct @L289
@L296:
jmp_direct_z r7,@L297
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoll,r1
jmp r1,ra
store.64 [r32],r1
jmp_direct @L289
@L297:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoull,r1
jmp r1,ra
store.64 [r32],r1
jmp_direct @L289
@L299:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoul,r1
jmp r1,ra
store.32 [r32],r1
jmp_direct @L289
@L300:
jmp_direct_z r7,@L301
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtol,r1
jmp r1,ra
store.32 [r32],r1
jmp_direct @L289
@L301:
move.64 r34,r1
addi.64 $8,r34,r34
load.64 [r1],r32
move.64 r33,r2
subi.64 20,r62,r3
loadcons.64 $simple_strtoul,r1
jmp r1,ra
store.32 [r32],r1
@L289:
inc.32 r36,r36
subi.64 20,r62,r1
load.64 [r1],r2
jmp_direct_z r2,@L222
move.64 r2,r33
@L221:
subi.64 12,r62,r2
load.64 [r2],r1
load.8 [r1],r1
jmp_direct_z r1,@L222
load.8 [r33],r1
jmp_direct_nz r1,@L306
@L222:
move.32 r36,r2
@L220:
move.32 r2,r1
load 8,sp,r32
load 8,sp,r33
load 8,sp,r34
load 8,sp,r35
load 8,sp,r36
load 8,sp,r37
load 8,sp,r63
jmp ra
.extern sscanf
sscanf:
store $-8,sp,r63
addi.64 $4,r62,r1
load.64 [r1],r3
addi.64 $12,r62,r4
subi.64 12,r62,r1
store.64 [r1],r4
loadcons.64 $vsscanf,r1
jmp r1,ra
load 8,sp,r63
jmp ra