mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
ARM Linux lzma work
This commit is contained in:
parent
cd1dec9fc7
commit
2f6ce88e28
|
@ -214,7 +214,8 @@ tmp/amd64-linux.elf-main.o : $(srcdir)/src/$$T.c
|
||||||
arm-linux.elf% : tc_list = arm-linux.elf default
|
arm-linux.elf% : tc_list = arm-linux.elf default
|
||||||
arm-linux.elf% : tc_bfdname = elf32-littlearm
|
arm-linux.elf% : tc_bfdname = elf32-littlearm
|
||||||
|
|
||||||
tc.arm-linux.elf.gcc = arm-9tdmi-linux-gnu-gcc-3.4.5 -march=armv4 -nostdinc -MMD
|
#tc.arm-linux.elf.gcc = arm-9tdmi-linux-gnu-gcc-3.4.5 -march=armv4 -nostdinc -MMD
|
||||||
|
tc.arm-linux.elf.gcc = arm-unknown-linux-gnu-gcc-4.1.0 -march=armv4 -nostdinc -MMD
|
||||||
tc.arm-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
|
tc.arm-linux.elf.gcc += -fno-exceptions -fno-asynchronous-unwind-tables
|
||||||
tc.arm-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
tc.arm-linux.elf.gcc += -Wall -W -Wcast-align -Wcast-qual -Wwrite-strings -Werror
|
||||||
tc.arm-linux.elf.ld = $(call tc,m-ld)
|
tc.arm-linux.elf.ld = $(call tc,m-ld)
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -28,18 +28,18 @@ lzma_d_c%.S : tc_bfdname = elf32-littlearm
|
||||||
|
|
||||||
tc.arm-lzma.gcc = $(tc.arm-linux.elf.gcc)
|
tc.arm-lzma.gcc = $(tc.arm-linux.elf.gcc)
|
||||||
tc.arm-lzma.gcc += -march=armv4 -fPIC
|
tc.arm-lzma.gcc += -march=armv4 -fPIC
|
||||||
#tc.arm-lzma.gcc += -Os
|
tc.arm-lzma.gcc += -Os
|
||||||
tc.arm-lzma.gcc += -ffunction-sections
|
tc.arm-lzma.gcc += -ffunction-sections
|
||||||
tc.arm-lzma.gcc += -I$(UPX_LZMADIR)
|
tc.arm-lzma.gcc += -I$(UPX_LZMADIR)
|
||||||
tc.arm-lzma.gcc += -I$(top_srcdir)/src
|
tc.arm-lzma.gcc += -I$(top_srcdir)/src
|
||||||
|
|
||||||
lzma_d_c%.S : lzma_d_c.c
|
lzma_d_cf.S : lzma_d_c.c
|
||||||
$(call tc,gcc) $(PP_FLAGS) -c $< -o tmp/$T.o
|
$(call tc,gcc) $(PP_FLAGS) -S $< -o tmp/$T.s
|
||||||
$(call tc,objstrip) tmp/$T.o
|
sed -e '1,/LzmaDecode:/d' -e '/\.size/d' -e '/\.ident/d' -e 's/\.L/f.L/g' <tmp/$T.s >$@
|
||||||
$(call tc,objcopy) -O binary --only-section .text.LzmaDecode tmp/$T.o tmp/$T.bin
|
|
||||||
head -c-0 tmp/$T.bin > tmp/$T.out
|
lzma_d_cs.S : lzma_d_c.c
|
||||||
$(call tc,objdump) -b binary -m armv4 -D tmp/$T.out > tmp/$T.out.lst
|
$(call tc,gcc) $(PP_FLAGS) -S $< -o tmp/$T.s
|
||||||
$(call tc,bin2h) --mode=gas tmp/$T.out $@
|
sed -e '1,/LzmaDecode:/d' -e '/\.size/d' -e '/\.ident/d' -e 's/\.L/s.L/g' <tmp/$T.s >$@
|
||||||
|
|
||||||
lzma_d_cf.% : PP_FLAGS = -DFAST
|
lzma_d_cf.% : PP_FLAGS = -DFAST
|
||||||
lzma_d_cs.% : PP_FLAGS = -DSMALL
|
lzma_d_cs.% : PP_FLAGS = -DSMALL
|
||||||
|
|
|
@ -1,163 +1,655 @@
|
||||||
.byte 240, 75, 45,233, 64,208, 77,226, 56, 48,141,229, 0, 48,160,227 /* 0x0000 */
|
@ args = 12, pretend = 0, frame = 52
|
||||||
.byte 48, 48,141,229, 0,192,208,229, 1, 64,208,229, 2,224,208,229 /* 0x0010 */
|
@ frame_needed = 0, uses_anonymous_args = 0
|
||||||
.byte 36,192,141,229, 56,192,157,229, 0, 48,140,229,104,192,157,229 /* 0x0020 */
|
stmfd sp!, {r4, r5, r6, r7, r8, r9, fp, lr}
|
||||||
.byte 0, 48,140,229, 36, 48,157,229, 1,192,208,229, 12,192,131,224 /* 0x0030 */
|
sub sp, sp, #52
|
||||||
.byte 3, 60,160,227, 19, 60,160,225,115,206,131,226, 1, 48,160,227 /* 0x0040 */
|
str r3, [sp, #0]
|
||||||
.byte 19,238,160,225, 1,224, 78,226, 28, 48,141,229, 19, 52,160,225 /* 0x0050 */
|
ldrb r3, [r0, #0] @ zero_extendqisi2
|
||||||
.byte 44,224,141,229, 0, 64,160,227, 1,224,160,227, 1, 48, 67,226 /* 0x0060 */
|
ldrb r5, [r0, #2] @ zero_extendqisi2
|
||||||
.byte 4, 0,128,226, 6,192,140,226, 40, 48,141,229, 52, 0,141,229 /* 0x0070 */
|
ldrb lr, [r0, #1] @ zero_extendqisi2
|
||||||
.byte 32, 64,141,229, 24,224,141,229, 20,224,141,229, 16,224,141,229 /* 0x0080 */
|
ldr ip, [sp, #0]
|
||||||
.byte 60, 16,141,229, 12, 0, 84,225, 4, 16,160,225, 45, 0, 0, 42 /* 0x0090 */
|
str r3, [sp, #24]
|
||||||
.byte 129, 48,160,225, 52, 0,157,229, 1, 16,129,226, 1,235,160,227 /* 0x00a0 */
|
ldr r3, [sp, #92]
|
||||||
.byte 12, 0, 81,225,176,224,131,225, 37, 0, 0,234, 60, 0,157,229 /* 0x00b0 */
|
mov r4, #0
|
||||||
.byte 0,128,160,227, 2, 32,128,224, 12, 32,141,229, 0,112,160,225 /* 0x00c0 */
|
str r4, [ip, #0]
|
||||||
.byte 0,224,224,227, 8, 32,160,225, 12, 16,157,229, 1, 0, 87,225 /* 0x00d0 */
|
str r4, [r3, #0]
|
||||||
.byte 1, 32,130,226,125, 2, 0, 10, 1, 48,215,228, 4, 0, 82,227 /* 0x00e0 */
|
ldr ip, [sp, #24]
|
||||||
.byte 8,132,131,225, 52, 0, 0,218, 48, 32,157,229,100, 48,157,229 /* 0x00f0 */
|
ldrb r3, [r0, #1] @ zero_extendqisi2
|
||||||
.byte 3, 0, 82,225,119, 2, 0, 42, 44, 0,141,226, 1, 16,144,232 /* 0x0100 */
|
add r3, ip, r3
|
||||||
.byte 32, 16,157,229, 0,176, 12,224,255,148,224,227, 1, 50,139,224 /* 0x0110 */
|
mov ip, #768
|
||||||
.byte 9, 0, 94,225,131, 80,160,225, 79, 0, 0,138, 12, 32,157,229 /* 0x0120 */
|
mov ip, ip, asl r3
|
||||||
.byte 2, 0, 87,225,125, 2, 0, 10, 1, 48,215,228, 14,228,160,225 /* 0x0130 */
|
mov r3, #1
|
||||||
.byte 8,132,131,225, 52, 48,157,229,179, 16,149,225, 1, 40,160,225 /* 0x0140 */
|
mov lr, r3, asl lr
|
||||||
.byte 174, 53,160,225, 34, 8,160,225,144, 3, 12,224, 12, 0, 88,225 /* 0x0150 */
|
mov r3, r3, asl r5
|
||||||
.byte 202, 0, 0, 42, 36,224,157,229, 8, 48,110,226, 84, 51,160,225 /* 0x0160 */
|
add ip, ip, #1840
|
||||||
.byte 40,224,157,229, 48, 64,157,229, 14, 32, 4,224, 36, 64,157,229 /* 0x0170 */
|
sub r3, r3, #1
|
||||||
.byte 52,224,157,229, 18, 52,131,224,131, 48,131,224, 2, 43, 96,226 /* 0x0180 */
|
sub lr, lr, #1
|
||||||
.byte 32, 0,157,229,131, 52,142,224,194, 34,129,224,230, 78,131,226 /* 0x0190 */
|
add r0, r0, #4
|
||||||
.byte 6, 0, 80,227,190, 32,133,225, 12, 64,132,226, 12,224,160,225 /* 0x01a0 */
|
add ip, ip, #6
|
||||||
.byte 1,176,160,227,157, 0, 0,218, 48, 16,157,229, 28, 32,157,229 /* 0x01b0 */
|
str r1, [sp, #4]
|
||||||
.byte 96,192,157,229, 1, 48, 98,224, 3, 48,220,231, 8, 48,141,229 /* 0x01c0 */
|
str r3, [sp, #16]
|
||||||
.byte 8, 0,157,229,128, 0,160,225, 1,108, 0,226,139,144,160,225 /* 0x01d0 */
|
str lr, [sp, #20]
|
||||||
.byte 134, 48,132,224, 9, 48,131,224, 1, 4, 94,227, 8, 0,141,229 /* 0x01e0 */
|
str r0, [sp, #8]
|
||||||
.byte 2, 92,131,226,130, 0, 0, 42, 12, 16,157,229, 1, 0, 87,225 /* 0x01f0 */
|
b f.L14
|
||||||
.byte 14,228,160,225,125, 2, 0, 10, 1, 48,215,228, 8,132,131,225 /* 0x0200 */
|
f.L15:
|
||||||
.byte 176, 32,213,225, 2, 24,160,225, 33, 56,160,225,174, 5,160,225 /* 0x0210 */
|
ldr r0, [sp, #8]
|
||||||
.byte 147, 0, 12,224, 2, 59, 99,226, 12, 0, 88,225,195, 50,130,224 /* 0x0220 */
|
mov r1, #1024 @ movhi
|
||||||
.byte 9,176,160,225,161, 42, 66,224,146, 0, 0, 42, 0, 0, 86,227 /* 0x0230 */
|
strh r1, [r3, r0] @ movhi
|
||||||
.byte 176, 48,197,225, 12,224,160,225,152, 0, 0, 10,155, 0, 0,234 /* 0x0240 */
|
f.L14:
|
||||||
.byte 0, 0, 86,227,176, 32,197,225, 8,128,108,224, 1,176,137,226 /* 0x0250 */
|
cmp r4, ip
|
||||||
.byte 14,224,108,224,155, 0, 0, 10,255, 0, 91,227,114, 0, 0,218 /* 0x0260 */
|
mov r3, r4, asl #1
|
||||||
.byte 183, 0, 0,234,255, 0, 91,227,183, 0, 0,202,139, 80,160,225 /* 0x0270 */
|
add r4, r4, #1
|
||||||
.byte 1, 4, 94,227, 5,176,160,225,167, 0, 0, 42, 12, 32,157,229 /* 0x0280 */
|
bne f.L15
|
||||||
.byte 2, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0290 */
|
ldr r3, [sp, #4]
|
||||||
.byte 8,132,131,225,181, 32,148,225, 2, 8,160,225,174, 21,160,225 /* 0x02a0 */
|
mov r6, #0
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x02b0 */
|
add fp, r3, r2
|
||||||
.byte 195, 50,130,224, 14,224,108,224,160, 42, 66,224, 12,224,160, 49 /* 0x02c0 */
|
mov lr, r3
|
||||||
.byte 8,128,108, 32, 1,176,133, 34,181, 48,132, 49,181, 32,132, 33 /* 0x02d0 */
|
mov r2, r6
|
||||||
.byte 155, 0, 0,234, 32, 48,157,229, 48,192,157,229, 96, 0,157,229 /* 0x02e0 */
|
f.L17:
|
||||||
.byte 3, 0, 83,227,255, 64, 11,226, 0, 64,204,231, 0, 16,160,211 /* 0x02f0 */
|
ldr r5, [sp, #4]
|
||||||
.byte 1,192,140,226, 48,192,141,229, 32, 16,141,213,115, 2, 0,218 /* 0x0300 */
|
rsb r3, r5, fp
|
||||||
.byte 32, 32,157,229, 9, 0, 82,227, 32, 48,157,197, 3, 32, 66,210 /* 0x0310 */
|
cmp r2, r3
|
||||||
.byte 6, 48, 67,194, 32, 32,141,213, 32, 48,141,197,115, 2, 0,234 /* 0x0320 */
|
add lr, lr, #1
|
||||||
.byte 52, 64,157,229, 32, 0,157,229, 14,224,108,224,162, 58, 65,224 /* 0x0330 */
|
beq f.L18
|
||||||
.byte 128, 96,132,224, 9, 0, 94,225,180, 48,133,225, 8,128,108,224 /* 0x0340 */
|
ldrb r3, [r2, r5] @ zero_extendqisi2
|
||||||
.byte 6, 77,134,226,218, 0, 0,138, 12, 16,157,229, 1, 0, 87,225 /* 0x0350 */
|
add r2, r2, #1
|
||||||
.byte 125, 2, 0, 10, 1, 48,215,228, 14,228,160,225, 8,132,131,225 /* 0x0360 */
|
cmp r2, #5
|
||||||
.byte 176, 32,212,225, 2, 8,160,225,174, 53,160,225, 32, 24,160,225 /* 0x0370 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 145, 3, 12,224, 12, 0, 88,225,244, 0, 0, 42, 2, 59, 97,226 /* 0x0380 */
|
bne f.L17
|
||||||
.byte 195, 50,130,224,176, 48,196,225, 52, 32,157,229, 32, 48,157,229 /* 0x0390 */
|
mov r0, #0
|
||||||
.byte 20,224,157,229, 6, 0, 83,227, 24, 0,157,229,102, 78,130,226 /* 0x03a0 */
|
mov ip, #1
|
||||||
.byte 28, 16,157,229, 3, 48,160,195, 0, 48,160,211, 16,224,141,229 /* 0x03b0 */
|
str r0, [sp, #12]
|
||||||
.byte 4, 64,132,226, 12,224,160,225, 32, 48,141,229, 20, 0,141,229 /* 0x03c0 */
|
mov r7, r0
|
||||||
.byte 24, 16,141,229,128, 1, 0,234, 14,224,108,224,160, 58, 66,224 /* 0x03d0 */
|
str r0, [sp, #28]
|
||||||
.byte 9, 0, 94,225,176, 48,196,225, 8,128,108,224,102, 79,134,226 /* 0x03e0 */
|
mvn r0, #0
|
||||||
.byte 1, 1, 0,138, 12, 32,157,229, 2, 0, 87,225,125, 2, 0, 10 /* 0x03f0 */
|
str ip, [sp, #48]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 16,212,225 /* 0x0400 */
|
str ip, [sp, #32]
|
||||||
.byte 1, 8,160,225,174, 53,160,225, 32, 40,160,225,146, 3, 12,224 /* 0x0410 */
|
str ip, [sp, #36]
|
||||||
.byte 12, 0, 88,225, 56, 1, 0, 42, 12,224,160,225, 32, 0,157,229 /* 0x0420 */
|
str ip, [sp, #40]
|
||||||
.byte 52,192,157,229, 2, 59, 98,226,128, 34,140,224,195, 50,129,224 /* 0x0430 */
|
b f.L172
|
||||||
.byte 139, 32,130,224, 9, 0, 94,225,176, 48,196,225, 30, 78,130,226 /* 0x0440 */
|
f.L22:
|
||||||
.byte 25, 1, 0,138, 12, 16,157,229, 1, 0, 87,225,125, 2, 0, 10 /* 0x0450 */
|
mvn r8, #-16777216
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 32,212,225 /* 0x0460 */
|
cmp r0, r8
|
||||||
.byte 2, 8,160,225,174, 53,160,225, 32, 24,160,225,145, 3, 12,224 /* 0x0470 */
|
bhi f.L23
|
||||||
.byte 12, 0, 88,225,160, 58, 66, 32, 8,128,108, 32, 14,224,108, 32 /* 0x0480 */
|
cmp lr, fp
|
||||||
.byte 176, 48,196, 33,120, 1, 0, 42, 2, 59, 97,226,195, 50,130,224 /* 0x0490 */
|
beq f.L18
|
||||||
.byte 48, 32,157,229, 0, 0, 82,227,176, 48,196,225, 12,224,160,225 /* 0x04a0 */
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
.byte 125, 2, 0, 10, 28, 64,157,229, 32, 0,157,229, 96,192,157,229 /* 0x04b0 */
|
mov r0, r0, asl #8
|
||||||
.byte 2, 48,100,224, 3, 64,220,231, 6, 0, 80,227, 11, 0,160,195 /* 0x04c0 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 9, 0,160,211, 32, 0,141,229, 12, 64,194,231, 1, 32,130,226 /* 0x04d0 */
|
f.L23:
|
||||||
.byte 48, 32,141,229,115, 2, 0,234, 14,224,108,224,160, 58, 65,224 /* 0x04e0 */
|
add r1, sp, #12
|
||||||
.byte 9, 0, 94,225,176, 48,196,225, 8,128,108,224, 27, 78,134,226 /* 0x04f0 */
|
ldmia r1, {r1, r2} @ phole ldm
|
||||||
.byte 69, 1, 0,138, 12, 16,157,229, 1, 0, 87,225,125, 2, 0, 10 /* 0x0500 */
|
ldr r3, [sp, #28]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 32,212,225 /* 0x0510 */
|
and r9, r1, r2
|
||||||
.byte 2, 8,160,225,174, 53,160,225, 32, 24,160,225,145, 3, 12,224 /* 0x0520 */
|
mov r1, r3, asl #4
|
||||||
.byte 12, 0, 88,225, 82, 1, 0, 42, 2, 59, 97,226,195, 50,130,224 /* 0x0530 */
|
add r3, r9, r1
|
||||||
.byte 24, 32,157,229, 12,224,160,225,176, 48,196,225,117, 1, 0,234 /* 0x0540 */
|
ldr r2, [sp, #8]
|
||||||
.byte 14,224,108,224,160, 58, 66,224, 9, 0, 94,225,176, 48,196,225 /* 0x0550 */
|
mov r5, r3, asl #1
|
||||||
.byte 8,128,108,224,114, 79,134,226, 95, 1, 0,138, 12, 32,157,229 /* 0x0560 */
|
ldrh ip, [r2, r5]
|
||||||
.byte 2, 0, 87,225,125, 2, 0, 10, 1, 48,215,228, 14,228,160,225 /* 0x0570 */
|
mov r3, r0, lsr #11
|
||||||
.byte 8,132,131,225,176, 32,212,225, 2, 8,160,225,174, 53,160,225 /* 0x0580 */
|
mul r4, ip, r3
|
||||||
.byte 32, 24,160,225,145, 3, 12,224, 12, 0, 88,225,108, 1, 0, 42 /* 0x0590 */
|
cmp r6, r4
|
||||||
.byte 2, 59, 97,226,195, 50,130,224, 20, 32,157,229, 12,224,160,225 /* 0x05a0 */
|
bcs f.L26
|
||||||
.byte 176, 48,196,225,115, 1, 0,234,160, 58, 66,224,176, 48,196,225 /* 0x05b0 */
|
ldr r0, [sp, #24]
|
||||||
.byte 16, 32,141,226, 12, 0,146,232, 16, 48,141,229, 8,128,108,224 /* 0x05c0 */
|
rsb r3, r0, #8
|
||||||
.byte 14,224,108,224, 24, 64,157,229, 20, 64,141,229, 28,192,157,229 /* 0x05d0 */
|
mov r3, r7, asr r3
|
||||||
.byte 28, 32,141,229, 24,192,141,229, 32, 16,157,229, 52, 0,157,229 /* 0x05e0 */
|
ldr r1, [sp, #12]
|
||||||
.byte 6, 0, 81,227, 11, 16,160,195, 8, 16,160,211,166, 78,128,226 /* 0x05f0 */
|
ldr r0, [sp, #20]
|
||||||
.byte 32, 16,141,229, 8, 64,132,226,255, 84,224,227, 5, 0, 94,225 /* 0x0600 */
|
and r2, r1, r0
|
||||||
.byte 137, 1, 0,138, 12, 32,157,229, 2, 0, 87,225,125, 2, 0, 10 /* 0x0610 */
|
ldr r1, [sp, #24]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 16,212,225 /* 0x0620 */
|
add r3, r3, r2, asl r1
|
||||||
.byte 1, 40,160,225,174, 53,160,225, 34, 8,160,225,144, 3, 12,224 /* 0x0630 */
|
ldr r0, [sp, #8]
|
||||||
.byte 12, 0, 88,225,154, 1, 0, 42, 11, 34,132,224, 2, 59, 96,226 /* 0x0640 */
|
mov r2, #1536
|
||||||
.byte 195, 50,129,224, 12,224,160,225, 4, 80,130,226, 3,192,160,227 /* 0x0650 */
|
mla r2, r3, r2, r0
|
||||||
.byte 0,144,160,227, 4,192,141,229,176, 48,196,225,191, 1, 0,234 /* 0x0660 */
|
ldr r1, [sp, #28]
|
||||||
.byte 14,224,108,224,162, 58, 65,224, 5, 0, 94,225, 8,128,108,224 /* 0x0670 */
|
rsb r3, ip, #2048
|
||||||
.byte 176, 48,196,225,166, 1, 0,138, 12, 0,157,229, 0, 0, 87,225 /* 0x0680 */
|
cmp r1, #6
|
||||||
.byte 125, 2, 0, 10, 1, 48,215,228, 14,228,160,225, 8,132,131,225 /* 0x0690 */
|
add r3, ip, r3, asr #5
|
||||||
.byte 178, 16,212,225, 1, 40,160,225,174, 53,160,225, 34, 8,160,225 /* 0x06a0 */
|
add r8, r2, #3680
|
||||||
.byte 144, 3, 12,224, 12, 0, 88,225,183, 1, 0, 42, 11, 34,132,224 /* 0x06b0 */
|
strh r3, [r0, r5] @ movhi
|
||||||
.byte 2, 59, 96,226,195, 50,129,224, 12,224,160,225, 3, 16,160,227 /* 0x06c0 */
|
add r8, r8, #12
|
||||||
.byte 65, 95,130,226, 8,144,160,227, 4, 16,141,229,178, 48,196,225 /* 0x06d0 */
|
movle r0, r4
|
||||||
.byte 191, 1, 0,234,162, 58, 65,224, 8, 32,160,227,178, 48,196,225 /* 0x06e0 */
|
movle r1, #1
|
||||||
.byte 4, 32,141,229, 8,128,108,224, 14,224,108,224,129, 95,132,226 /* 0x06f0 */
|
ble f.L171
|
||||||
.byte 16,144,160,227, 4, 96,157,229, 1,176,160,227,139, 64,160,225 /* 0x0700 */
|
ldr r2, [sp, #12]
|
||||||
.byte 1, 4, 94,227, 4,176,160,225,203, 1, 0, 42, 12, 48,157,229 /* 0x0710 */
|
ldr r5, [sp, #48]
|
||||||
.byte 3, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0720 */
|
ldr ip, [sp, #84]
|
||||||
.byte 8,132,131,225,180, 32,149,225, 2, 8,160,225,174, 21,160,225 /* 0x0730 */
|
rsb r3, r5, r2
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x0740 */
|
ldrb r7, [ip, r3] @ zero_extendqisi2
|
||||||
.byte 195, 50,130,224,160, 42, 66,224, 14,224,108,224,180, 48,133, 49 /* 0x0750 */
|
mov r0, r4
|
||||||
.byte 12,224,160, 49, 8,128,108, 32, 1,176,132, 34,180, 32,133, 33 /* 0x0760 */
|
mov r1, #1
|
||||||
.byte 1, 96, 86,226,193, 1, 0, 26, 4, 64,157,229, 32,192,157,229 /* 0x0770 */
|
f.L31:
|
||||||
.byte 1, 32,160,227, 18,180, 75,224, 3, 0, 92,227, 9,176,139,224 /* 0x0780 */
|
mov r7, r7, asl #1
|
||||||
.byte 92, 2, 0,202, 52, 0,157,229, 3, 0, 91,227, 11, 48,160,177 /* 0x0790 */
|
and r5, r7, #256
|
||||||
.byte 3, 48,160,163, 7,192,140,226,131, 51,128,224, 32,192,141,229 /* 0x07a0 */
|
mov r9, r1, asl #1
|
||||||
.byte 54, 78,131,226, 2, 96,160,225, 6,144,160,227,134, 80,160,225 /* 0x07b0 */
|
add r3, r8, r5, asl #1
|
||||||
.byte 1, 4, 94,227, 5, 96,160,225,247, 1, 0, 42, 12, 16,157,229 /* 0x07c0 */
|
add r3, r3, r9
|
||||||
.byte 1, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x07d0 */
|
cmp r0, #16777216
|
||||||
.byte 8,132,131,225,181, 32,148,225, 2, 8,160,225,174, 21,160,225 /* 0x07e0 */
|
add r4, r3, #512
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x07f0 */
|
add ip, r1, #1
|
||||||
.byte 195, 50,130,224,160, 42, 66,224, 14,224,108,224,181, 48,132, 49 /* 0x0800 */
|
bcs f.L32
|
||||||
.byte 12,224,160, 49, 8,128,108, 32, 1, 96,133, 34,181, 32,132, 33 /* 0x0810 */
|
cmp lr, fp
|
||||||
.byte 1,144, 89,226,237, 1, 0, 26, 64, 96, 70,226, 3, 0, 86,227 /* 0x0820 */
|
mov r0, r0, asl #8
|
||||||
.byte 28, 96,141,213, 88, 2, 0,218, 1, 48, 6,226,198, 32,160,225 /* 0x0830 */
|
beq f.L18
|
||||||
.byte 13, 0, 86,227, 2, 48,131,227, 1, 80, 66,226, 28, 48,141,229 /* 0x0840 */
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
.byte 5, 80, 66,194, 28, 2, 0,202, 52, 32,157,229, 19, 53,160,225 /* 0x0850 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 28, 48,141,229,131, 48,130,224,134, 48, 67,224, 85, 78,131,226 /* 0x0860 */
|
f.L32:
|
||||||
.byte 14, 64,132,226, 53, 2, 0,234, 1, 4, 94,227, 36, 2, 0, 42 /* 0x0870 */
|
ldrh r3, [r4, #0]
|
||||||
.byte 12, 48,157,229, 3, 0, 87,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0880 */
|
mov r2, r0, lsr #11
|
||||||
.byte 14,228,160,225, 8,132,131,225, 28, 64,157,229,174,224,160,225 /* 0x0890 */
|
add r1, r1, ip
|
||||||
.byte 14, 0, 88,225,132, 64,160,225, 28, 64,141,229, 1, 64,132, 35 /* 0x08a0 */
|
mul ip, r3, r2
|
||||||
.byte 8,128,110, 32, 28, 64,141, 37, 1, 80, 85,226, 28, 2, 0, 26 /* 0x08b0 */
|
rsb r2, r3, #2048
|
||||||
.byte 28, 0,157,229, 52,192,157,229, 0, 2,160,225, 25, 77,140,226 /* 0x08c0 */
|
cmp r6, ip
|
||||||
.byte 28, 0,141,229, 4, 64,132,226, 4, 80,160,227, 1,144,160,227 /* 0x08d0 */
|
add r2, r3, r2, asr #5
|
||||||
.byte 0,144,141,229, 0, 16,157,229, 1, 4, 94,227,129, 96,160,225 /* 0x08e0 */
|
sub r3, r3, r3, lsr #5
|
||||||
.byte 0, 96,141,229, 66, 2, 0, 42, 12, 32,157,229, 2, 0, 87,225 /* 0x08f0 */
|
bcs f.L35
|
||||||
.byte 14,228,160,225,125, 2, 0, 10, 1, 48,215,228, 8,132,131,225 /* 0x0900 */
|
cmp r5, #0
|
||||||
.byte 182, 32,148,225, 2, 8,160,225,174, 21,160,225, 32, 56,160,225 /* 0x0910 */
|
mov r0, ip
|
||||||
.byte 147, 1, 12,224, 12, 0, 88,225, 14,224,108,224, 8,128,108, 32 /* 0x0920 */
|
strh r2, [r4, #0] @ movhi
|
||||||
.byte 28,192,157, 37, 2, 59, 99,226,195, 50,130,224, 9,192,140, 33 /* 0x0930 */
|
mov r1, r9
|
||||||
.byte 1, 48,134, 34,160, 42, 66,224, 12,224,160, 49,182, 48,132, 49 /* 0x0940 */
|
beq f.L39
|
||||||
.byte 0, 48,141, 37,182, 32,132, 33, 28,192,141, 37, 1, 80, 85,226 /* 0x0950 */
|
mov r0, ip
|
||||||
.byte 137,144,160,225, 55, 2, 0, 26, 28, 0,157,229, 1, 0,144,226 /* 0x0960 */
|
b f.L171
|
||||||
.byte 28, 0,141,229,119, 2, 0, 10, 28, 16,157,229, 48, 32,157,229 /* 0x0970 */
|
f.L35:
|
||||||
.byte 2, 0, 81,225, 2,176,139,226,125, 2, 0,138, 48, 64,157,229 /* 0x0980 */
|
cmp r5, #0
|
||||||
.byte 28,192,157,229, 96, 0,157,229, 4, 48,108,224, 3, 64,208,231 /* 0x0990 */
|
strh r3, [r4, #0] @ movhi
|
||||||
.byte 48, 16,157,229, 0, 64,193,231, 1,176, 91,226,100, 32,157,229 /* 0x09a0 */
|
rsb r6, ip, r6
|
||||||
.byte 0, 48,160, 3, 1, 48,160, 19, 1, 16,129,226, 2, 0, 81,225 /* 0x09b0 */
|
rsb r0, ip, r0
|
||||||
.byte 0, 48,160, 35, 1, 48, 3, 50, 0, 0, 83,227, 48, 16,141,229 /* 0x09c0 */
|
beq f.L171
|
||||||
.byte 97, 2, 0, 26, 48, 48,157,229,100,192,157,229, 12, 0, 83,225 /* 0x09d0 */
|
f.L39:
|
||||||
.byte 63, 0, 0,234, 1, 4, 94,227,127, 2, 0, 42, 12,224,157,229 /* 0x09e0 */
|
cmp r1, #255
|
||||||
.byte 14, 0, 87,225, 1,112,135, 18,127, 2, 0, 26, 1, 0,160,227 /* 0x09f0 */
|
bgt f.L46
|
||||||
.byte 135, 2, 0,234, 60, 0,157,229, 56, 16,157,229, 7, 48, 96,224 /* 0x0a00 */
|
b f.L31
|
||||||
.byte 0, 48,129,229,104, 32,157,229, 48, 48,157,229, 0, 48,130,229 /* 0x0a10 */
|
f.L40:
|
||||||
.byte 0, 0,160,227, 64,208,141,226,240,139,189,232 /* 0x0a20 */
|
cmp r0, #16777216
|
||||||
|
add r1, r1, r3
|
||||||
|
bcs f.L41
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L41:
|
||||||
|
ldrh r3, [r8, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
sub r5, r3, r3, lsr #5
|
||||||
|
add r3, r3, r2, asr #5
|
||||||
|
strcch r3, [r8, r4] @ movhi
|
||||||
|
strcsh r5, [r8, r4] @ movhi
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r1, r4
|
||||||
|
movcc r0, ip
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
f.L171:
|
||||||
|
cmp r1, #255
|
||||||
|
mov r4, r1, asl #1
|
||||||
|
add r3, r1, #1
|
||||||
|
ble f.L40
|
||||||
|
f.L46:
|
||||||
|
and r7, r1, #255
|
||||||
|
ldr r1, [sp, #28]
|
||||||
|
ldr r3, [sp, #12]
|
||||||
|
ldr r2, [sp, #84]
|
||||||
|
cmp r1, #3
|
||||||
|
strb r7, [r2, r3]
|
||||||
|
movle r5, #0
|
||||||
|
add r3, r3, #1
|
||||||
|
str r3, [sp, #12]
|
||||||
|
strle r5, [sp, #28]
|
||||||
|
ble f.L172
|
||||||
|
ldr ip, [sp, #28]
|
||||||
|
cmp ip, #9
|
||||||
|
ldrgt r1, [sp, #28]
|
||||||
|
suble ip, ip, #3
|
||||||
|
subgt r1, r1, #6
|
||||||
|
strle ip, [sp, #28]
|
||||||
|
strgt r1, [sp, #28]
|
||||||
|
b f.L172
|
||||||
|
f.L26:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
rsb r2, r4, r0
|
||||||
|
ldr ip, [sp, #8]
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [ip, r5] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi f.L51
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L51:
|
||||||
|
ldr r0, [sp, #8]
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
add r7, r0, r3, asl #1
|
||||||
|
add r0, r7, #384
|
||||||
|
ldrh ip, [r0, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L54
|
||||||
|
ldr r2, [sp, #28]
|
||||||
|
ldr r5, [sp, #8]
|
||||||
|
cmp r2, #6
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r1, r5, #1632
|
||||||
|
movgt r2, #3
|
||||||
|
ldr r5, [sp, #36]
|
||||||
|
movle r2, #0
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
str r2, [sp, #28]
|
||||||
|
ldr ip, [sp, #32]
|
||||||
|
ldr r2, [sp, #48]
|
||||||
|
str r5, [sp, #40]
|
||||||
|
add r1, r1, #4
|
||||||
|
mov r5, r4
|
||||||
|
str ip, [sp, #36]
|
||||||
|
str r2, [sp, #32]
|
||||||
|
strh r3, [r0, #0] @ movhi
|
||||||
|
b f.L59
|
||||||
|
f.L54:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r0, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi f.L60
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L60:
|
||||||
|
add r5, r7, #408
|
||||||
|
ldrh ip, [r5, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L63
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
cmp r4, r8
|
||||||
|
strh r3, [r5, #0] @ movhi
|
||||||
|
bhi f.L67
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r4, r4, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L67:
|
||||||
|
ldr r5, [sp, #8]
|
||||||
|
add r3, r5, r1, asl #1
|
||||||
|
add r3, r3, r9, asl #1
|
||||||
|
add r1, r3, #480
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r4, lsr #11
|
||||||
|
mul r2, ip, r3
|
||||||
|
cmp r6, r2
|
||||||
|
rsbcs r6, r2, r6
|
||||||
|
subcs r3, ip, ip, lsr #5
|
||||||
|
rsbcs r5, r2, r4
|
||||||
|
bcs f.L169
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
cmp ip, #0
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
beq f.L18
|
||||||
|
ldr r0, [sp, #48]
|
||||||
|
ldr r1, [sp, #84]
|
||||||
|
rsb r3, r0, ip
|
||||||
|
ldrb r7, [r1, r3] @ zero_extendqisi2
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
cmp r3, #6
|
||||||
|
movgt r3, #11
|
||||||
|
movle r3, #9
|
||||||
|
str r3, [sp, #28]
|
||||||
|
mov r0, r2
|
||||||
|
strb r7, [r1, ip]
|
||||||
|
add ip, ip, #1
|
||||||
|
str ip, [sp, #12]
|
||||||
|
b f.L172
|
||||||
|
f.L63:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r5, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi f.L76
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L76:
|
||||||
|
add r1, r7, #432
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L79
|
||||||
|
ldr r5, [sp, #48]
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
ldr r2, [sp, #32]
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
str r5, [sp, #32]
|
||||||
|
mov r5, r4
|
||||||
|
f.L170:
|
||||||
|
str r2, [sp, #48]
|
||||||
|
f.L169:
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
b f.L75
|
||||||
|
f.L79:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi f.L81
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L81:
|
||||||
|
add r1, r7, #456
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L84
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
ldr r2, [sp, #36]
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
ldr r0, [sp, #48]
|
||||||
|
ldr ip, [sp, #32]
|
||||||
|
mov r5, r4
|
||||||
|
str ip, [sp, #36]
|
||||||
|
str r0, [sp, #32]
|
||||||
|
b f.L170
|
||||||
|
f.L84:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
ldr ip, [sp, #48]
|
||||||
|
add r1, sp, #36
|
||||||
|
ldmia r1, {r1, r3} @ phole ldm
|
||||||
|
rsb r5, r4, r2
|
||||||
|
ldr r2, [sp, #32]
|
||||||
|
str r1, [sp, #40]
|
||||||
|
str r2, [sp, #36]
|
||||||
|
str ip, [sp, #32]
|
||||||
|
str r3, [sp, #48]
|
||||||
|
rsb r6, r4, r6
|
||||||
|
f.L75:
|
||||||
|
ldr r2, [sp, #28]
|
||||||
|
ldr r0, [sp, #8]
|
||||||
|
cmp r2, #6
|
||||||
|
movgt r2, #11
|
||||||
|
movle r2, #8
|
||||||
|
add r1, r0, #2656
|
||||||
|
str r2, [sp, #28]
|
||||||
|
add r1, r1, #8
|
||||||
|
f.L59:
|
||||||
|
mvn r7, #-16777216
|
||||||
|
cmp r5, r7
|
||||||
|
bhi f.L89
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r5, r5, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L89:
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r5, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L92
|
||||||
|
add r2, r1, r9, asl #4
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
add r5, r2, #4
|
||||||
|
mov r0, r4
|
||||||
|
mov r9, #3
|
||||||
|
mov r8, #0
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
b f.L94
|
||||||
|
f.L92:
|
||||||
|
rsb r2, r4, r5
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r7
|
||||||
|
rsb r6, r4, r6
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
bhi f.L95
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L95:
|
||||||
|
ldrh ip, [r1, #2]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs f.L98
|
||||||
|
add r2, r1, r9, asl #4
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
add r5, r2, #260
|
||||||
|
mov r0, r4
|
||||||
|
mov r9, #3
|
||||||
|
mov r8, #8
|
||||||
|
strh r3, [r1, #2] @ movhi
|
||||||
|
b f.L94
|
||||||
|
f.L98:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
strh r3, [r1, #2] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
rsb r0, r4, r2
|
||||||
|
add r5, r1, #516
|
||||||
|
mov r9, #8
|
||||||
|
mov r8, #16
|
||||||
|
f.L94:
|
||||||
|
mov r7, r9
|
||||||
|
mov r1, #1
|
||||||
|
f.L100:
|
||||||
|
add r3, r1, #1
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r4, r1, asl #1
|
||||||
|
add r1, r1, r3
|
||||||
|
bcs f.L101
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L101:
|
||||||
|
ldrh r3, [r5, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r1, r4
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r5, r4] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
strcsh r3, [r5, r4] @ movhi
|
||||||
|
subs r7, r7, #1
|
||||||
|
bne f.L100
|
||||||
|
mov r2, #1
|
||||||
|
sub r3, r1, r2, asl r9
|
||||||
|
ldr r5, [sp, #28]
|
||||||
|
add r3, r3, r8
|
||||||
|
cmp r5, #3
|
||||||
|
str r3, [sp, #44]
|
||||||
|
bgt f.L108
|
||||||
|
ldr ip, [sp, #8]
|
||||||
|
cmp r3, #3
|
||||||
|
movge r3, #3
|
||||||
|
add r3, ip, r3, asl #7
|
||||||
|
add r5, r3, #864
|
||||||
|
mov r7, r2
|
||||||
|
mov r8, #6
|
||||||
|
f.L110:
|
||||||
|
add r3, r7, #1
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r4, r7, asl #1
|
||||||
|
add r7, r7, r3
|
||||||
|
bcs f.L111
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L111:
|
||||||
|
ldrh r3, [r5, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r7, r4
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r5, r4] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
strcsh r3, [r5, r4] @ movhi
|
||||||
|
subs r8, r8, #1
|
||||||
|
bne f.L110
|
||||||
|
sub r2, r7, #64
|
||||||
|
cmp r2, #3
|
||||||
|
movle r5, r2
|
||||||
|
ble f.L137
|
||||||
|
mov r4, r2, asr #1
|
||||||
|
cmp r2, #13
|
||||||
|
and r3, r2, #1
|
||||||
|
sub r7, r4, #1
|
||||||
|
orr ip, r3, #2
|
||||||
|
subgt r4, r4, #5
|
||||||
|
movgt r2, r8
|
||||||
|
bgt f.L123
|
||||||
|
mov r5, ip, asl r7
|
||||||
|
ldr r1, [sp, #8]
|
||||||
|
add r3, r1, r5, asl #1
|
||||||
|
sub r3, r3, r2, asl #1
|
||||||
|
add r4, r3, #1360
|
||||||
|
add r4, r4, #14
|
||||||
|
b f.L122
|
||||||
|
f.L123:
|
||||||
|
cmp r0, #16777216
|
||||||
|
add r2, r2, #1
|
||||||
|
bcs f.L124
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L124:
|
||||||
|
mov r0, r0, lsr #1
|
||||||
|
cmp r6, r0
|
||||||
|
mov ip, ip, asl #1
|
||||||
|
rsbcs r6, r0, r6
|
||||||
|
orrcs ip, ip, #1
|
||||||
|
cmp r2, r4
|
||||||
|
bne f.L123
|
||||||
|
ldr r2, [sp, #8]
|
||||||
|
add r4, r2, #1600
|
||||||
|
add r4, r4, #4
|
||||||
|
mov r5, ip, asl #4
|
||||||
|
mov r7, #4
|
||||||
|
f.L122:
|
||||||
|
mov r9, #1
|
||||||
|
mov r8, r9
|
||||||
|
f.L130:
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r1, r8, asl #1
|
||||||
|
add ip, r8, #1
|
||||||
|
bcs f.L131
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq f.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
f.L131:
|
||||||
|
ldrh r3, [r4, r1]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
add r8, r8, ip
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
orrcs r5, r5, r9
|
||||||
|
movcc r8, r1
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r4, r1] @ movhi
|
||||||
|
strcsh r3, [r4, r1] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
rsbcs r0, ip, r0
|
||||||
|
subs r7, r7, #1
|
||||||
|
mov r9, r9, asl #1
|
||||||
|
bne f.L130
|
||||||
|
f.L137:
|
||||||
|
adds r5, r5, #1
|
||||||
|
str r5, [sp, #48]
|
||||||
|
beq f.L139
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
add r3, r3, #7
|
||||||
|
str r3, [sp, #28]
|
||||||
|
f.L108:
|
||||||
|
ldr r5, [sp, #48]
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
cmp r5, ip
|
||||||
|
bhi f.L18
|
||||||
|
rsb r3, r5, ip
|
||||||
|
ldr r1, [sp, #44]
|
||||||
|
ldr r5, [sp, #84]
|
||||||
|
add r2, r1, #2
|
||||||
|
add r4, r5, r3
|
||||||
|
add ip, r5, ip
|
||||||
|
f.L142:
|
||||||
|
ldr r1, [sp, #12]
|
||||||
|
add r1, r1, #1
|
||||||
|
subs r2, r2, #1
|
||||||
|
str r1, [sp, #12]
|
||||||
|
ldr r5, [sp, #88]
|
||||||
|
moveq r3, #0
|
||||||
|
movne r3, #1
|
||||||
|
cmp r1, r5
|
||||||
|
movcs r3, #0
|
||||||
|
andcc r3, r3, #1
|
||||||
|
ldrb r7, [r4], #1 @ zero_extendqisi2
|
||||||
|
cmp r3, #0
|
||||||
|
strb r7, [ip], #1
|
||||||
|
bne f.L142
|
||||||
|
f.L172:
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
ldr r1, [sp, #88]
|
||||||
|
cmp ip, r1
|
||||||
|
bcc f.L22
|
||||||
|
f.L139:
|
||||||
|
cmp r0, #16777216
|
||||||
|
bcs f.L143
|
||||||
|
cmp lr, fp
|
||||||
|
beq f.L18
|
||||||
|
add lr, lr, #1
|
||||||
|
f.L143:
|
||||||
|
ldr r2, [sp, #4]
|
||||||
|
ldr r5, [sp, #0]
|
||||||
|
ldr r1, [sp, #12]
|
||||||
|
ldr ip, [sp, #92]
|
||||||
|
rsb r3, r2, lr
|
||||||
|
mov r0, #0
|
||||||
|
str r3, [r5, #0]
|
||||||
|
str r1, [ip, #0]
|
||||||
|
b f.L146
|
||||||
|
f.L18:
|
||||||
|
mov r0, #1
|
||||||
|
f.L146:
|
||||||
|
add sp, sp, #52
|
||||||
|
ldmfd sp!, {r4, r5, r6, r7, r8, r9, fp, pc}
|
||||||
|
|
|
@ -1,163 +1,655 @@
|
||||||
.byte 240, 75, 45,233, 64,208, 77,226, 56, 48,141,229, 0, 48,160,227 /* 0x0000 */
|
@ args = 12, pretend = 0, frame = 52
|
||||||
.byte 48, 48,141,229, 0,192,208,229, 1, 64,208,229, 2,224,208,229 /* 0x0010 */
|
@ frame_needed = 0, uses_anonymous_args = 0
|
||||||
.byte 36,192,141,229, 56,192,157,229, 0, 48,140,229,104,192,157,229 /* 0x0020 */
|
stmfd sp!, {r4, r5, r6, r7, r8, r9, fp, lr}
|
||||||
.byte 0, 48,140,229, 36, 48,157,229, 1,192,208,229, 12,192,131,224 /* 0x0030 */
|
sub sp, sp, #52
|
||||||
.byte 3, 60,160,227, 19, 60,160,225,115,206,131,226, 1, 48,160,227 /* 0x0040 */
|
str r3, [sp, #0]
|
||||||
.byte 19,238,160,225, 1,224, 78,226, 28, 48,141,229, 19, 52,160,225 /* 0x0050 */
|
ldrb r3, [r0, #0] @ zero_extendqisi2
|
||||||
.byte 44,224,141,229, 0, 64,160,227, 1,224,160,227, 1, 48, 67,226 /* 0x0060 */
|
ldrb r5, [r0, #2] @ zero_extendqisi2
|
||||||
.byte 4, 0,128,226, 6,192,140,226, 40, 48,141,229, 52, 0,141,229 /* 0x0070 */
|
ldrb lr, [r0, #1] @ zero_extendqisi2
|
||||||
.byte 32, 64,141,229, 24,224,141,229, 20,224,141,229, 16,224,141,229 /* 0x0080 */
|
ldr ip, [sp, #0]
|
||||||
.byte 60, 16,141,229, 12, 0, 84,225, 4, 16,160,225, 45, 0, 0, 42 /* 0x0090 */
|
str r3, [sp, #24]
|
||||||
.byte 129, 48,160,225, 52, 0,157,229, 1, 16,129,226, 1,235,160,227 /* 0x00a0 */
|
ldr r3, [sp, #92]
|
||||||
.byte 12, 0, 81,225,176,224,131,225, 37, 0, 0,234, 60, 0,157,229 /* 0x00b0 */
|
mov r4, #0
|
||||||
.byte 0,128,160,227, 2, 32,128,224, 12, 32,141,229, 0,112,160,225 /* 0x00c0 */
|
str r4, [ip, #0]
|
||||||
.byte 0,224,224,227, 8, 32,160,225, 12, 16,157,229, 1, 0, 87,225 /* 0x00d0 */
|
str r4, [r3, #0]
|
||||||
.byte 1, 32,130,226,125, 2, 0, 10, 1, 48,215,228, 4, 0, 82,227 /* 0x00e0 */
|
ldr ip, [sp, #24]
|
||||||
.byte 8,132,131,225, 52, 0, 0,218, 48, 32,157,229,100, 48,157,229 /* 0x00f0 */
|
ldrb r3, [r0, #1] @ zero_extendqisi2
|
||||||
.byte 3, 0, 82,225,119, 2, 0, 42, 44, 0,141,226, 1, 16,144,232 /* 0x0100 */
|
add r3, ip, r3
|
||||||
.byte 32, 16,157,229, 0,176, 12,224,255,148,224,227, 1, 50,139,224 /* 0x0110 */
|
mov ip, #768
|
||||||
.byte 9, 0, 94,225,131, 80,160,225, 79, 0, 0,138, 12, 32,157,229 /* 0x0120 */
|
mov ip, ip, asl r3
|
||||||
.byte 2, 0, 87,225,125, 2, 0, 10, 1, 48,215,228, 14,228,160,225 /* 0x0130 */
|
mov r3, #1
|
||||||
.byte 8,132,131,225, 52, 48,157,229,179, 16,149,225, 1, 40,160,225 /* 0x0140 */
|
mov lr, r3, asl lr
|
||||||
.byte 174, 53,160,225, 34, 8,160,225,144, 3, 12,224, 12, 0, 88,225 /* 0x0150 */
|
mov r3, r3, asl r5
|
||||||
.byte 202, 0, 0, 42, 36,224,157,229, 8, 48,110,226, 84, 51,160,225 /* 0x0160 */
|
add ip, ip, #1840
|
||||||
.byte 40,224,157,229, 48, 64,157,229, 14, 32, 4,224, 36, 64,157,229 /* 0x0170 */
|
sub r3, r3, #1
|
||||||
.byte 52,224,157,229, 18, 52,131,224,131, 48,131,224, 2, 43, 96,226 /* 0x0180 */
|
sub lr, lr, #1
|
||||||
.byte 32, 0,157,229,131, 52,142,224,194, 34,129,224,230, 78,131,226 /* 0x0190 */
|
add r0, r0, #4
|
||||||
.byte 6, 0, 80,227,190, 32,133,225, 12, 64,132,226, 12,224,160,225 /* 0x01a0 */
|
add ip, ip, #6
|
||||||
.byte 1,176,160,227,157, 0, 0,218, 48, 16,157,229, 28, 32,157,229 /* 0x01b0 */
|
str r1, [sp, #4]
|
||||||
.byte 96,192,157,229, 1, 48, 98,224, 3, 48,220,231, 8, 48,141,229 /* 0x01c0 */
|
str r3, [sp, #16]
|
||||||
.byte 8, 0,157,229,128, 0,160,225, 1,108, 0,226,139,144,160,225 /* 0x01d0 */
|
str lr, [sp, #20]
|
||||||
.byte 134, 48,132,224, 9, 48,131,224, 1, 4, 94,227, 8, 0,141,229 /* 0x01e0 */
|
str r0, [sp, #8]
|
||||||
.byte 2, 92,131,226,130, 0, 0, 42, 12, 16,157,229, 1, 0, 87,225 /* 0x01f0 */
|
b s.L14
|
||||||
.byte 14,228,160,225,125, 2, 0, 10, 1, 48,215,228, 8,132,131,225 /* 0x0200 */
|
s.L15:
|
||||||
.byte 176, 32,213,225, 2, 24,160,225, 33, 56,160,225,174, 5,160,225 /* 0x0210 */
|
ldr r0, [sp, #8]
|
||||||
.byte 147, 0, 12,224, 2, 59, 99,226, 12, 0, 88,225,195, 50,130,224 /* 0x0220 */
|
mov r1, #1024 @ movhi
|
||||||
.byte 9,176,160,225,161, 42, 66,224,146, 0, 0, 42, 0, 0, 86,227 /* 0x0230 */
|
strh r1, [r3, r0] @ movhi
|
||||||
.byte 176, 48,197,225, 12,224,160,225,152, 0, 0, 10,155, 0, 0,234 /* 0x0240 */
|
s.L14:
|
||||||
.byte 0, 0, 86,227,176, 32,197,225, 8,128,108,224, 1,176,137,226 /* 0x0250 */
|
cmp r4, ip
|
||||||
.byte 14,224,108,224,155, 0, 0, 10,255, 0, 91,227,114, 0, 0,218 /* 0x0260 */
|
mov r3, r4, asl #1
|
||||||
.byte 183, 0, 0,234,255, 0, 91,227,183, 0, 0,202,139, 80,160,225 /* 0x0270 */
|
add r4, r4, #1
|
||||||
.byte 1, 4, 94,227, 5,176,160,225,167, 0, 0, 42, 12, 32,157,229 /* 0x0280 */
|
bne s.L15
|
||||||
.byte 2, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0290 */
|
ldr r3, [sp, #4]
|
||||||
.byte 8,132,131,225,181, 32,148,225, 2, 8,160,225,174, 21,160,225 /* 0x02a0 */
|
mov r6, #0
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x02b0 */
|
add fp, r3, r2
|
||||||
.byte 195, 50,130,224, 14,224,108,224,160, 42, 66,224, 12,224,160, 49 /* 0x02c0 */
|
mov lr, r3
|
||||||
.byte 8,128,108, 32, 1,176,133, 34,181, 48,132, 49,181, 32,132, 33 /* 0x02d0 */
|
mov r2, r6
|
||||||
.byte 155, 0, 0,234, 32, 48,157,229, 48,192,157,229, 96, 0,157,229 /* 0x02e0 */
|
s.L17:
|
||||||
.byte 3, 0, 83,227,255, 64, 11,226, 0, 64,204,231, 0, 16,160,211 /* 0x02f0 */
|
ldr r5, [sp, #4]
|
||||||
.byte 1,192,140,226, 48,192,141,229, 32, 16,141,213,115, 2, 0,218 /* 0x0300 */
|
rsb r3, r5, fp
|
||||||
.byte 32, 32,157,229, 9, 0, 82,227, 32, 48,157,197, 3, 32, 66,210 /* 0x0310 */
|
cmp r2, r3
|
||||||
.byte 6, 48, 67,194, 32, 32,141,213, 32, 48,141,197,115, 2, 0,234 /* 0x0320 */
|
add lr, lr, #1
|
||||||
.byte 52, 64,157,229, 32, 0,157,229, 14,224,108,224,162, 58, 65,224 /* 0x0330 */
|
beq s.L18
|
||||||
.byte 128, 96,132,224, 9, 0, 94,225,180, 48,133,225, 8,128,108,224 /* 0x0340 */
|
ldrb r3, [r2, r5] @ zero_extendqisi2
|
||||||
.byte 6, 77,134,226,218, 0, 0,138, 12, 16,157,229, 1, 0, 87,225 /* 0x0350 */
|
add r2, r2, #1
|
||||||
.byte 125, 2, 0, 10, 1, 48,215,228, 14,228,160,225, 8,132,131,225 /* 0x0360 */
|
cmp r2, #5
|
||||||
.byte 176, 32,212,225, 2, 8,160,225,174, 53,160,225, 32, 24,160,225 /* 0x0370 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 145, 3, 12,224, 12, 0, 88,225,244, 0, 0, 42, 2, 59, 97,226 /* 0x0380 */
|
bne s.L17
|
||||||
.byte 195, 50,130,224,176, 48,196,225, 52, 32,157,229, 32, 48,157,229 /* 0x0390 */
|
mov r0, #0
|
||||||
.byte 20,224,157,229, 6, 0, 83,227, 24, 0,157,229,102, 78,130,226 /* 0x03a0 */
|
mov ip, #1
|
||||||
.byte 28, 16,157,229, 3, 48,160,195, 0, 48,160,211, 16,224,141,229 /* 0x03b0 */
|
str r0, [sp, #12]
|
||||||
.byte 4, 64,132,226, 12,224,160,225, 32, 48,141,229, 20, 0,141,229 /* 0x03c0 */
|
mov r7, r0
|
||||||
.byte 24, 16,141,229,128, 1, 0,234, 14,224,108,224,160, 58, 66,224 /* 0x03d0 */
|
str r0, [sp, #28]
|
||||||
.byte 9, 0, 94,225,176, 48,196,225, 8,128,108,224,102, 79,134,226 /* 0x03e0 */
|
mvn r0, #0
|
||||||
.byte 1, 1, 0,138, 12, 32,157,229, 2, 0, 87,225,125, 2, 0, 10 /* 0x03f0 */
|
str ip, [sp, #48]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 16,212,225 /* 0x0400 */
|
str ip, [sp, #32]
|
||||||
.byte 1, 8,160,225,174, 53,160,225, 32, 40,160,225,146, 3, 12,224 /* 0x0410 */
|
str ip, [sp, #36]
|
||||||
.byte 12, 0, 88,225, 56, 1, 0, 42, 12,224,160,225, 32, 0,157,229 /* 0x0420 */
|
str ip, [sp, #40]
|
||||||
.byte 52,192,157,229, 2, 59, 98,226,128, 34,140,224,195, 50,129,224 /* 0x0430 */
|
b s.L172
|
||||||
.byte 139, 32,130,224, 9, 0, 94,225,176, 48,196,225, 30, 78,130,226 /* 0x0440 */
|
s.L22:
|
||||||
.byte 25, 1, 0,138, 12, 16,157,229, 1, 0, 87,225,125, 2, 0, 10 /* 0x0450 */
|
mvn r8, #-16777216
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 32,212,225 /* 0x0460 */
|
cmp r0, r8
|
||||||
.byte 2, 8,160,225,174, 53,160,225, 32, 24,160,225,145, 3, 12,224 /* 0x0470 */
|
bhi s.L23
|
||||||
.byte 12, 0, 88,225,160, 58, 66, 32, 8,128,108, 32, 14,224,108, 32 /* 0x0480 */
|
cmp lr, fp
|
||||||
.byte 176, 48,196, 33,120, 1, 0, 42, 2, 59, 97,226,195, 50,130,224 /* 0x0490 */
|
beq s.L18
|
||||||
.byte 48, 32,157,229, 0, 0, 82,227,176, 48,196,225, 12,224,160,225 /* 0x04a0 */
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
.byte 125, 2, 0, 10, 28, 64,157,229, 32, 0,157,229, 96,192,157,229 /* 0x04b0 */
|
mov r0, r0, asl #8
|
||||||
.byte 2, 48,100,224, 3, 64,220,231, 6, 0, 80,227, 11, 0,160,195 /* 0x04c0 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 9, 0,160,211, 32, 0,141,229, 12, 64,194,231, 1, 32,130,226 /* 0x04d0 */
|
s.L23:
|
||||||
.byte 48, 32,141,229,115, 2, 0,234, 14,224,108,224,160, 58, 65,224 /* 0x04e0 */
|
add r1, sp, #12
|
||||||
.byte 9, 0, 94,225,176, 48,196,225, 8,128,108,224, 27, 78,134,226 /* 0x04f0 */
|
ldmia r1, {r1, r2} @ phole ldm
|
||||||
.byte 69, 1, 0,138, 12, 16,157,229, 1, 0, 87,225,125, 2, 0, 10 /* 0x0500 */
|
ldr r3, [sp, #28]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 32,212,225 /* 0x0510 */
|
and r9, r1, r2
|
||||||
.byte 2, 8,160,225,174, 53,160,225, 32, 24,160,225,145, 3, 12,224 /* 0x0520 */
|
mov r1, r3, asl #4
|
||||||
.byte 12, 0, 88,225, 82, 1, 0, 42, 2, 59, 97,226,195, 50,130,224 /* 0x0530 */
|
add r3, r9, r1
|
||||||
.byte 24, 32,157,229, 12,224,160,225,176, 48,196,225,117, 1, 0,234 /* 0x0540 */
|
ldr r2, [sp, #8]
|
||||||
.byte 14,224,108,224,160, 58, 66,224, 9, 0, 94,225,176, 48,196,225 /* 0x0550 */
|
mov r5, r3, asl #1
|
||||||
.byte 8,128,108,224,114, 79,134,226, 95, 1, 0,138, 12, 32,157,229 /* 0x0560 */
|
ldrh ip, [r2, r5]
|
||||||
.byte 2, 0, 87,225,125, 2, 0, 10, 1, 48,215,228, 14,228,160,225 /* 0x0570 */
|
mov r3, r0, lsr #11
|
||||||
.byte 8,132,131,225,176, 32,212,225, 2, 8,160,225,174, 53,160,225 /* 0x0580 */
|
mul r4, ip, r3
|
||||||
.byte 32, 24,160,225,145, 3, 12,224, 12, 0, 88,225,108, 1, 0, 42 /* 0x0590 */
|
cmp r6, r4
|
||||||
.byte 2, 59, 97,226,195, 50,130,224, 20, 32,157,229, 12,224,160,225 /* 0x05a0 */
|
bcs s.L26
|
||||||
.byte 176, 48,196,225,115, 1, 0,234,160, 58, 66,224,176, 48,196,225 /* 0x05b0 */
|
ldr r0, [sp, #24]
|
||||||
.byte 16, 32,141,226, 12, 0,146,232, 16, 48,141,229, 8,128,108,224 /* 0x05c0 */
|
rsb r3, r0, #8
|
||||||
.byte 14,224,108,224, 24, 64,157,229, 20, 64,141,229, 28,192,157,229 /* 0x05d0 */
|
mov r3, r7, asr r3
|
||||||
.byte 28, 32,141,229, 24,192,141,229, 32, 16,157,229, 52, 0,157,229 /* 0x05e0 */
|
ldr r1, [sp, #12]
|
||||||
.byte 6, 0, 81,227, 11, 16,160,195, 8, 16,160,211,166, 78,128,226 /* 0x05f0 */
|
ldr r0, [sp, #20]
|
||||||
.byte 32, 16,141,229, 8, 64,132,226,255, 84,224,227, 5, 0, 94,225 /* 0x0600 */
|
and r2, r1, r0
|
||||||
.byte 137, 1, 0,138, 12, 32,157,229, 2, 0, 87,225,125, 2, 0, 10 /* 0x0610 */
|
ldr r1, [sp, #24]
|
||||||
.byte 1, 48,215,228, 14,228,160,225, 8,132,131,225,176, 16,212,225 /* 0x0620 */
|
add r3, r3, r2, asl r1
|
||||||
.byte 1, 40,160,225,174, 53,160,225, 34, 8,160,225,144, 3, 12,224 /* 0x0630 */
|
ldr r0, [sp, #8]
|
||||||
.byte 12, 0, 88,225,154, 1, 0, 42, 11, 34,132,224, 2, 59, 96,226 /* 0x0640 */
|
mov r2, #1536
|
||||||
.byte 195, 50,129,224, 12,224,160,225, 4, 80,130,226, 3,192,160,227 /* 0x0650 */
|
mla r2, r3, r2, r0
|
||||||
.byte 0,144,160,227, 4,192,141,229,176, 48,196,225,191, 1, 0,234 /* 0x0660 */
|
ldr r1, [sp, #28]
|
||||||
.byte 14,224,108,224,162, 58, 65,224, 5, 0, 94,225, 8,128,108,224 /* 0x0670 */
|
rsb r3, ip, #2048
|
||||||
.byte 176, 48,196,225,166, 1, 0,138, 12, 0,157,229, 0, 0, 87,225 /* 0x0680 */
|
cmp r1, #6
|
||||||
.byte 125, 2, 0, 10, 1, 48,215,228, 14,228,160,225, 8,132,131,225 /* 0x0690 */
|
add r3, ip, r3, asr #5
|
||||||
.byte 178, 16,212,225, 1, 40,160,225,174, 53,160,225, 34, 8,160,225 /* 0x06a0 */
|
add r8, r2, #3680
|
||||||
.byte 144, 3, 12,224, 12, 0, 88,225,183, 1, 0, 42, 11, 34,132,224 /* 0x06b0 */
|
strh r3, [r0, r5] @ movhi
|
||||||
.byte 2, 59, 96,226,195, 50,129,224, 12,224,160,225, 3, 16,160,227 /* 0x06c0 */
|
add r8, r8, #12
|
||||||
.byte 65, 95,130,226, 8,144,160,227, 4, 16,141,229,178, 48,196,225 /* 0x06d0 */
|
movle r0, r4
|
||||||
.byte 191, 1, 0,234,162, 58, 65,224, 8, 32,160,227,178, 48,196,225 /* 0x06e0 */
|
movle r1, #1
|
||||||
.byte 4, 32,141,229, 8,128,108,224, 14,224,108,224,129, 95,132,226 /* 0x06f0 */
|
ble s.L171
|
||||||
.byte 16,144,160,227, 4, 96,157,229, 1,176,160,227,139, 64,160,225 /* 0x0700 */
|
ldr r2, [sp, #12]
|
||||||
.byte 1, 4, 94,227, 4,176,160,225,203, 1, 0, 42, 12, 48,157,229 /* 0x0710 */
|
ldr r5, [sp, #48]
|
||||||
.byte 3, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0720 */
|
ldr ip, [sp, #84]
|
||||||
.byte 8,132,131,225,180, 32,149,225, 2, 8,160,225,174, 21,160,225 /* 0x0730 */
|
rsb r3, r5, r2
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x0740 */
|
ldrb r7, [ip, r3] @ zero_extendqisi2
|
||||||
.byte 195, 50,130,224,160, 42, 66,224, 14,224,108,224,180, 48,133, 49 /* 0x0750 */
|
mov r0, r4
|
||||||
.byte 12,224,160, 49, 8,128,108, 32, 1,176,132, 34,180, 32,133, 33 /* 0x0760 */
|
mov r1, #1
|
||||||
.byte 1, 96, 86,226,193, 1, 0, 26, 4, 64,157,229, 32,192,157,229 /* 0x0770 */
|
s.L31:
|
||||||
.byte 1, 32,160,227, 18,180, 75,224, 3, 0, 92,227, 9,176,139,224 /* 0x0780 */
|
mov r7, r7, asl #1
|
||||||
.byte 92, 2, 0,202, 52, 0,157,229, 3, 0, 91,227, 11, 48,160,177 /* 0x0790 */
|
and r5, r7, #256
|
||||||
.byte 3, 48,160,163, 7,192,140,226,131, 51,128,224, 32,192,141,229 /* 0x07a0 */
|
mov r9, r1, asl #1
|
||||||
.byte 54, 78,131,226, 2, 96,160,225, 6,144,160,227,134, 80,160,225 /* 0x07b0 */
|
add r3, r8, r5, asl #1
|
||||||
.byte 1, 4, 94,227, 5, 96,160,225,247, 1, 0, 42, 12, 16,157,229 /* 0x07c0 */
|
add r3, r3, r9
|
||||||
.byte 1, 0, 87,225, 14,228,160,225,125, 2, 0, 10, 1, 48,215,228 /* 0x07d0 */
|
cmp r0, #16777216
|
||||||
.byte 8,132,131,225,181, 32,148,225, 2, 8,160,225,174, 21,160,225 /* 0x07e0 */
|
add r4, r3, #512
|
||||||
.byte 32, 56,160,225,147, 1, 12,224, 2, 59, 99,226, 12, 0, 88,225 /* 0x07f0 */
|
add ip, r1, #1
|
||||||
.byte 195, 50,130,224,160, 42, 66,224, 14,224,108,224,181, 48,132, 49 /* 0x0800 */
|
bcs s.L32
|
||||||
.byte 12,224,160, 49, 8,128,108, 32, 1, 96,133, 34,181, 32,132, 33 /* 0x0810 */
|
cmp lr, fp
|
||||||
.byte 1,144, 89,226,237, 1, 0, 26, 64, 96, 70,226, 3, 0, 86,227 /* 0x0820 */
|
mov r0, r0, asl #8
|
||||||
.byte 28, 96,141,213, 88, 2, 0,218, 1, 48, 6,226,198, 32,160,225 /* 0x0830 */
|
beq s.L18
|
||||||
.byte 13, 0, 86,227, 2, 48,131,227, 1, 80, 66,226, 28, 48,141,229 /* 0x0840 */
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
.byte 5, 80, 66,194, 28, 2, 0,202, 52, 32,157,229, 19, 53,160,225 /* 0x0850 */
|
orr r6, r3, r6, asl #8
|
||||||
.byte 28, 48,141,229,131, 48,130,224,134, 48, 67,224, 85, 78,131,226 /* 0x0860 */
|
s.L32:
|
||||||
.byte 14, 64,132,226, 53, 2, 0,234, 1, 4, 94,227, 36, 2, 0, 42 /* 0x0870 */
|
ldrh r3, [r4, #0]
|
||||||
.byte 12, 48,157,229, 3, 0, 87,225,125, 2, 0, 10, 1, 48,215,228 /* 0x0880 */
|
mov r2, r0, lsr #11
|
||||||
.byte 14,228,160,225, 8,132,131,225, 28, 64,157,229,174,224,160,225 /* 0x0890 */
|
add r1, r1, ip
|
||||||
.byte 14, 0, 88,225,132, 64,160,225, 28, 64,141,229, 1, 64,132, 35 /* 0x08a0 */
|
mul ip, r3, r2
|
||||||
.byte 8,128,110, 32, 28, 64,141, 37, 1, 80, 85,226, 28, 2, 0, 26 /* 0x08b0 */
|
rsb r2, r3, #2048
|
||||||
.byte 28, 0,157,229, 52,192,157,229, 0, 2,160,225, 25, 77,140,226 /* 0x08c0 */
|
cmp r6, ip
|
||||||
.byte 28, 0,141,229, 4, 64,132,226, 4, 80,160,227, 1,144,160,227 /* 0x08d0 */
|
add r2, r3, r2, asr #5
|
||||||
.byte 0,144,141,229, 0, 16,157,229, 1, 4, 94,227,129, 96,160,225 /* 0x08e0 */
|
sub r3, r3, r3, lsr #5
|
||||||
.byte 0, 96,141,229, 66, 2, 0, 42, 12, 32,157,229, 2, 0, 87,225 /* 0x08f0 */
|
bcs s.L35
|
||||||
.byte 14,228,160,225,125, 2, 0, 10, 1, 48,215,228, 8,132,131,225 /* 0x0900 */
|
cmp r5, #0
|
||||||
.byte 182, 32,148,225, 2, 8,160,225,174, 21,160,225, 32, 56,160,225 /* 0x0910 */
|
mov r0, ip
|
||||||
.byte 147, 1, 12,224, 12, 0, 88,225, 14,224,108,224, 8,128,108, 32 /* 0x0920 */
|
strh r2, [r4, #0] @ movhi
|
||||||
.byte 28,192,157, 37, 2, 59, 99,226,195, 50,130,224, 9,192,140, 33 /* 0x0930 */
|
mov r1, r9
|
||||||
.byte 1, 48,134, 34,160, 42, 66,224, 12,224,160, 49,182, 48,132, 49 /* 0x0940 */
|
beq s.L39
|
||||||
.byte 0, 48,141, 37,182, 32,132, 33, 28,192,141, 37, 1, 80, 85,226 /* 0x0950 */
|
mov r0, ip
|
||||||
.byte 137,144,160,225, 55, 2, 0, 26, 28, 0,157,229, 1, 0,144,226 /* 0x0960 */
|
b s.L171
|
||||||
.byte 28, 0,141,229,119, 2, 0, 10, 28, 16,157,229, 48, 32,157,229 /* 0x0970 */
|
s.L35:
|
||||||
.byte 2, 0, 81,225, 2,176,139,226,125, 2, 0,138, 48, 64,157,229 /* 0x0980 */
|
cmp r5, #0
|
||||||
.byte 28,192,157,229, 96, 0,157,229, 4, 48,108,224, 3, 64,208,231 /* 0x0990 */
|
strh r3, [r4, #0] @ movhi
|
||||||
.byte 48, 16,157,229, 0, 64,193,231, 1,176, 91,226,100, 32,157,229 /* 0x09a0 */
|
rsb r6, ip, r6
|
||||||
.byte 0, 48,160, 3, 1, 48,160, 19, 1, 16,129,226, 2, 0, 81,225 /* 0x09b0 */
|
rsb r0, ip, r0
|
||||||
.byte 0, 48,160, 35, 1, 48, 3, 50, 0, 0, 83,227, 48, 16,141,229 /* 0x09c0 */
|
beq s.L171
|
||||||
.byte 97, 2, 0, 26, 48, 48,157,229,100,192,157,229, 12, 0, 83,225 /* 0x09d0 */
|
s.L39:
|
||||||
.byte 63, 0, 0,234, 1, 4, 94,227,127, 2, 0, 42, 12,224,157,229 /* 0x09e0 */
|
cmp r1, #255
|
||||||
.byte 14, 0, 87,225, 1,112,135, 18,127, 2, 0, 26, 1, 0,160,227 /* 0x09f0 */
|
bgt s.L46
|
||||||
.byte 135, 2, 0,234, 60, 0,157,229, 56, 16,157,229, 7, 48, 96,224 /* 0x0a00 */
|
b s.L31
|
||||||
.byte 0, 48,129,229,104, 32,157,229, 48, 48,157,229, 0, 48,130,229 /* 0x0a10 */
|
s.L40:
|
||||||
.byte 0, 0,160,227, 64,208,141,226,240,139,189,232 /* 0x0a20 */
|
cmp r0, #16777216
|
||||||
|
add r1, r1, r3
|
||||||
|
bcs s.L41
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L41:
|
||||||
|
ldrh r3, [r8, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
sub r5, r3, r3, lsr #5
|
||||||
|
add r3, r3, r2, asr #5
|
||||||
|
strcch r3, [r8, r4] @ movhi
|
||||||
|
strcsh r5, [r8, r4] @ movhi
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r1, r4
|
||||||
|
movcc r0, ip
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
s.L171:
|
||||||
|
cmp r1, #255
|
||||||
|
mov r4, r1, asl #1
|
||||||
|
add r3, r1, #1
|
||||||
|
ble s.L40
|
||||||
|
s.L46:
|
||||||
|
and r7, r1, #255
|
||||||
|
ldr r1, [sp, #28]
|
||||||
|
ldr r3, [sp, #12]
|
||||||
|
ldr r2, [sp, #84]
|
||||||
|
cmp r1, #3
|
||||||
|
strb r7, [r2, r3]
|
||||||
|
movle r5, #0
|
||||||
|
add r3, r3, #1
|
||||||
|
str r3, [sp, #12]
|
||||||
|
strle r5, [sp, #28]
|
||||||
|
ble s.L172
|
||||||
|
ldr ip, [sp, #28]
|
||||||
|
cmp ip, #9
|
||||||
|
ldrgt r1, [sp, #28]
|
||||||
|
suble ip, ip, #3
|
||||||
|
subgt r1, r1, #6
|
||||||
|
strle ip, [sp, #28]
|
||||||
|
strgt r1, [sp, #28]
|
||||||
|
b s.L172
|
||||||
|
s.L26:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
rsb r2, r4, r0
|
||||||
|
ldr ip, [sp, #8]
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [ip, r5] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi s.L51
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L51:
|
||||||
|
ldr r0, [sp, #8]
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
add r7, r0, r3, asl #1
|
||||||
|
add r0, r7, #384
|
||||||
|
ldrh ip, [r0, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L54
|
||||||
|
ldr r2, [sp, #28]
|
||||||
|
ldr r5, [sp, #8]
|
||||||
|
cmp r2, #6
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r1, r5, #1632
|
||||||
|
movgt r2, #3
|
||||||
|
ldr r5, [sp, #36]
|
||||||
|
movle r2, #0
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
str r2, [sp, #28]
|
||||||
|
ldr ip, [sp, #32]
|
||||||
|
ldr r2, [sp, #48]
|
||||||
|
str r5, [sp, #40]
|
||||||
|
add r1, r1, #4
|
||||||
|
mov r5, r4
|
||||||
|
str ip, [sp, #36]
|
||||||
|
str r2, [sp, #32]
|
||||||
|
strh r3, [r0, #0] @ movhi
|
||||||
|
b s.L59
|
||||||
|
s.L54:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r0, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi s.L60
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L60:
|
||||||
|
add r5, r7, #408
|
||||||
|
ldrh ip, [r5, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L63
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
cmp r4, r8
|
||||||
|
strh r3, [r5, #0] @ movhi
|
||||||
|
bhi s.L67
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r4, r4, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L67:
|
||||||
|
ldr r5, [sp, #8]
|
||||||
|
add r3, r5, r1, asl #1
|
||||||
|
add r3, r3, r9, asl #1
|
||||||
|
add r1, r3, #480
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r4, lsr #11
|
||||||
|
mul r2, ip, r3
|
||||||
|
cmp r6, r2
|
||||||
|
rsbcs r6, r2, r6
|
||||||
|
subcs r3, ip, ip, lsr #5
|
||||||
|
rsbcs r5, r2, r4
|
||||||
|
bcs s.L169
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
cmp ip, #0
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
beq s.L18
|
||||||
|
ldr r0, [sp, #48]
|
||||||
|
ldr r1, [sp, #84]
|
||||||
|
rsb r3, r0, ip
|
||||||
|
ldrb r7, [r1, r3] @ zero_extendqisi2
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
cmp r3, #6
|
||||||
|
movgt r3, #11
|
||||||
|
movle r3, #9
|
||||||
|
str r3, [sp, #28]
|
||||||
|
mov r0, r2
|
||||||
|
strb r7, [r1, ip]
|
||||||
|
add ip, ip, #1
|
||||||
|
str ip, [sp, #12]
|
||||||
|
b s.L172
|
||||||
|
s.L63:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r5, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi s.L76
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L76:
|
||||||
|
add r1, r7, #432
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L79
|
||||||
|
ldr r5, [sp, #48]
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
ldr r2, [sp, #32]
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
str r5, [sp, #32]
|
||||||
|
mov r5, r4
|
||||||
|
s.L170:
|
||||||
|
str r2, [sp, #48]
|
||||||
|
s.L169:
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
b s.L75
|
||||||
|
s.L79:
|
||||||
|
rsb r2, r4, r2
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r8
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
bhi s.L81
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L81:
|
||||||
|
add r1, r7, #456
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L84
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
ldr r2, [sp, #36]
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
ldr r0, [sp, #48]
|
||||||
|
ldr ip, [sp, #32]
|
||||||
|
mov r5, r4
|
||||||
|
str ip, [sp, #36]
|
||||||
|
str r0, [sp, #32]
|
||||||
|
b s.L170
|
||||||
|
s.L84:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
ldr ip, [sp, #48]
|
||||||
|
add r1, sp, #36
|
||||||
|
ldmia r1, {r1, r3} @ phole ldm
|
||||||
|
rsb r5, r4, r2
|
||||||
|
ldr r2, [sp, #32]
|
||||||
|
str r1, [sp, #40]
|
||||||
|
str r2, [sp, #36]
|
||||||
|
str ip, [sp, #32]
|
||||||
|
str r3, [sp, #48]
|
||||||
|
rsb r6, r4, r6
|
||||||
|
s.L75:
|
||||||
|
ldr r2, [sp, #28]
|
||||||
|
ldr r0, [sp, #8]
|
||||||
|
cmp r2, #6
|
||||||
|
movgt r2, #11
|
||||||
|
movle r2, #8
|
||||||
|
add r1, r0, #2656
|
||||||
|
str r2, [sp, #28]
|
||||||
|
add r1, r1, #8
|
||||||
|
s.L59:
|
||||||
|
mvn r7, #-16777216
|
||||||
|
cmp r5, r7
|
||||||
|
bhi s.L89
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r5, r5, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L89:
|
||||||
|
ldrh ip, [r1, #0]
|
||||||
|
mov r3, r5, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L92
|
||||||
|
add r2, r1, r9, asl #4
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
add r5, r2, #4
|
||||||
|
mov r0, r4
|
||||||
|
mov r9, #3
|
||||||
|
mov r8, #0
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
b s.L94
|
||||||
|
s.L92:
|
||||||
|
rsb r2, r4, r5
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
cmp r2, r7
|
||||||
|
rsb r6, r4, r6
|
||||||
|
strh r3, [r1, #0] @ movhi
|
||||||
|
bhi s.L95
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
mov r2, r2, asl #8
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L95:
|
||||||
|
ldrh ip, [r1, #2]
|
||||||
|
mov r3, r2, lsr #11
|
||||||
|
mul r4, ip, r3
|
||||||
|
cmp r6, r4
|
||||||
|
bcs s.L98
|
||||||
|
add r2, r1, r9, asl #4
|
||||||
|
rsb r3, ip, #2048
|
||||||
|
add r3, ip, r3, asr #5
|
||||||
|
add r5, r2, #260
|
||||||
|
mov r0, r4
|
||||||
|
mov r9, #3
|
||||||
|
mov r8, #8
|
||||||
|
strh r3, [r1, #2] @ movhi
|
||||||
|
b s.L94
|
||||||
|
s.L98:
|
||||||
|
sub r3, ip, ip, lsr #5
|
||||||
|
strh r3, [r1, #2] @ movhi
|
||||||
|
rsb r6, r4, r6
|
||||||
|
rsb r0, r4, r2
|
||||||
|
add r5, r1, #516
|
||||||
|
mov r9, #8
|
||||||
|
mov r8, #16
|
||||||
|
s.L94:
|
||||||
|
mov r7, r9
|
||||||
|
mov r1, #1
|
||||||
|
s.L100:
|
||||||
|
add r3, r1, #1
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r4, r1, asl #1
|
||||||
|
add r1, r1, r3
|
||||||
|
bcs s.L101
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L101:
|
||||||
|
ldrh r3, [r5, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r1, r4
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r5, r4] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
strcsh r3, [r5, r4] @ movhi
|
||||||
|
subs r7, r7, #1
|
||||||
|
bne s.L100
|
||||||
|
mov r2, #1
|
||||||
|
sub r3, r1, r2, asl r9
|
||||||
|
ldr r5, [sp, #28]
|
||||||
|
add r3, r3, r8
|
||||||
|
cmp r5, #3
|
||||||
|
str r3, [sp, #44]
|
||||||
|
bgt s.L108
|
||||||
|
ldr ip, [sp, #8]
|
||||||
|
cmp r3, #3
|
||||||
|
movge r3, #3
|
||||||
|
add r3, ip, r3, asl #7
|
||||||
|
add r5, r3, #864
|
||||||
|
mov r7, r2
|
||||||
|
mov r8, #6
|
||||||
|
s.L110:
|
||||||
|
add r3, r7, #1
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r4, r7, asl #1
|
||||||
|
add r7, r7, r3
|
||||||
|
bcs s.L111
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L111:
|
||||||
|
ldrh r3, [r5, r4]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
rsb r0, ip, r0
|
||||||
|
movcc r7, r4
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r5, r4] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
strcsh r3, [r5, r4] @ movhi
|
||||||
|
subs r8, r8, #1
|
||||||
|
bne s.L110
|
||||||
|
sub r2, r7, #64
|
||||||
|
cmp r2, #3
|
||||||
|
movle r5, r2
|
||||||
|
ble s.L137
|
||||||
|
mov r4, r2, asr #1
|
||||||
|
cmp r2, #13
|
||||||
|
and r3, r2, #1
|
||||||
|
sub r7, r4, #1
|
||||||
|
orr ip, r3, #2
|
||||||
|
subgt r4, r4, #5
|
||||||
|
movgt r2, r8
|
||||||
|
bgt s.L123
|
||||||
|
mov r5, ip, asl r7
|
||||||
|
ldr r1, [sp, #8]
|
||||||
|
add r3, r1, r5, asl #1
|
||||||
|
sub r3, r3, r2, asl #1
|
||||||
|
add r4, r3, #1360
|
||||||
|
add r4, r4, #14
|
||||||
|
b s.L122
|
||||||
|
s.L123:
|
||||||
|
cmp r0, #16777216
|
||||||
|
add r2, r2, #1
|
||||||
|
bcs s.L124
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L124:
|
||||||
|
mov r0, r0, lsr #1
|
||||||
|
cmp r6, r0
|
||||||
|
mov ip, ip, asl #1
|
||||||
|
rsbcs r6, r0, r6
|
||||||
|
orrcs ip, ip, #1
|
||||||
|
cmp r2, r4
|
||||||
|
bne s.L123
|
||||||
|
ldr r2, [sp, #8]
|
||||||
|
add r4, r2, #1600
|
||||||
|
add r4, r4, #4
|
||||||
|
mov r5, ip, asl #4
|
||||||
|
mov r7, #4
|
||||||
|
s.L122:
|
||||||
|
mov r9, #1
|
||||||
|
mov r8, r9
|
||||||
|
s.L130:
|
||||||
|
cmp r0, #16777216
|
||||||
|
mov r1, r8, asl #1
|
||||||
|
add ip, r8, #1
|
||||||
|
bcs s.L131
|
||||||
|
cmp lr, fp
|
||||||
|
mov r0, r0, asl #8
|
||||||
|
beq s.L18
|
||||||
|
ldrb r3, [lr], #1 @ zero_extendqisi2
|
||||||
|
orr r6, r3, r6, asl #8
|
||||||
|
s.L131:
|
||||||
|
ldrh r3, [r4, r1]
|
||||||
|
mov r2, r0, lsr #11
|
||||||
|
add r8, r8, ip
|
||||||
|
mul ip, r3, r2
|
||||||
|
rsb r2, r3, #2048
|
||||||
|
cmp r6, ip
|
||||||
|
add r2, r3, r2, asr #5
|
||||||
|
sub r3, r3, r3, lsr #5
|
||||||
|
orrcs r5, r5, r9
|
||||||
|
movcc r8, r1
|
||||||
|
movcc r0, ip
|
||||||
|
strcch r2, [r4, r1] @ movhi
|
||||||
|
strcsh r3, [r4, r1] @ movhi
|
||||||
|
rsbcs r6, ip, r6
|
||||||
|
rsbcs r0, ip, r0
|
||||||
|
subs r7, r7, #1
|
||||||
|
mov r9, r9, asl #1
|
||||||
|
bne s.L130
|
||||||
|
s.L137:
|
||||||
|
adds r5, r5, #1
|
||||||
|
str r5, [sp, #48]
|
||||||
|
beq s.L139
|
||||||
|
ldr r3, [sp, #28]
|
||||||
|
add r3, r3, #7
|
||||||
|
str r3, [sp, #28]
|
||||||
|
s.L108:
|
||||||
|
ldr r5, [sp, #48]
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
cmp r5, ip
|
||||||
|
bhi s.L18
|
||||||
|
rsb r3, r5, ip
|
||||||
|
ldr r1, [sp, #44]
|
||||||
|
ldr r5, [sp, #84]
|
||||||
|
add r2, r1, #2
|
||||||
|
add r4, r5, r3
|
||||||
|
add ip, r5, ip
|
||||||
|
s.L142:
|
||||||
|
ldr r1, [sp, #12]
|
||||||
|
add r1, r1, #1
|
||||||
|
subs r2, r2, #1
|
||||||
|
str r1, [sp, #12]
|
||||||
|
ldr r5, [sp, #88]
|
||||||
|
moveq r3, #0
|
||||||
|
movne r3, #1
|
||||||
|
cmp r1, r5
|
||||||
|
movcs r3, #0
|
||||||
|
andcc r3, r3, #1
|
||||||
|
ldrb r7, [r4], #1 @ zero_extendqisi2
|
||||||
|
cmp r3, #0
|
||||||
|
strb r7, [ip], #1
|
||||||
|
bne s.L142
|
||||||
|
s.L172:
|
||||||
|
ldr ip, [sp, #12]
|
||||||
|
ldr r1, [sp, #88]
|
||||||
|
cmp ip, r1
|
||||||
|
bcc s.L22
|
||||||
|
s.L139:
|
||||||
|
cmp r0, #16777216
|
||||||
|
bcs s.L143
|
||||||
|
cmp lr, fp
|
||||||
|
beq s.L18
|
||||||
|
add lr, lr, #1
|
||||||
|
s.L143:
|
||||||
|
ldr r2, [sp, #4]
|
||||||
|
ldr r5, [sp, #0]
|
||||||
|
ldr r1, [sp, #12]
|
||||||
|
ldr ip, [sp, #92]
|
||||||
|
rsb r3, r2, lr
|
||||||
|
mov r0, #0
|
||||||
|
str r3, [r5, #0]
|
||||||
|
str r1, [ip, #0]
|
||||||
|
b s.L146
|
||||||
|
s.L18:
|
||||||
|
mov r0, #1
|
||||||
|
s.L146:
|
||||||
|
add sp, sp, #52
|
||||||
|
ldmfd sp!, {r4, r5, r6, r7, r8, r9, fp, pc}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user