From e04794d5f28ce46fbb417592dfd2326a14653199 Mon Sep 17 00:00:00 2001 From: "Javier S. Pedro" Date: Sat, 20 Aug 2011 00:08:44 +0200 Subject: [PATCH] remove unneeded arm routines --- misc.h | 2 - misc_armel.s | 121 ++-------------------------------------------------------- 2 files changed, 4 insertions(+), 119 deletions(-) diff --git a/misc.h b/misc.h index 209dab8..b40f184 100644 --- a/misc.h +++ b/misc.h @@ -4,8 +4,6 @@ #include "port.h" START_EXTERN_C -extern void memcpy16(void *dest, const void *src, int count); -extern void memcpy16bswap(void *dest, const void *src, int count); extern void memcpy32(void *dest, const void *src, int count); extern void memset32(void *dest, int c, int count); END_EXTERN_C diff --git a/misc_armel.s b/misc_armel.s index 7ddedfb..13079b6 100644 --- a/misc_armel.s +++ b/misc_armel.s @@ -4,123 +4,9 @@ @ (c) Copyright 2007, Grazvydas "notaz" Ignotas .text -.global memcpy16 @ unsigned short *dest, unsigned short *src, int count - -memcpy16: - eor r3, r0, r1 - tst r3, #2 - bne mcp16_cant_align - - tst r0, #2 - ldrneh r3, [r1], #2 - subne r2, r2, #1 - strneh r3, [r0], #2 - - subs r2, r2, #4 - bmi mcp16_fin - -mcp16_loop: - ldmia r1!, {r3,r12} - subs r2, r2, #4 - stmia r0!, {r3,r12} - bpl mcp16_loop - -mcp16_fin: - tst r2, #2 - ldrne r3, [r1], #4 - strne r3, [r0], #4 - ands r2, r2, #1 - bxeq lr - -mcp16_cant_align: - ldrh r3, [r1], #2 - subs r2, r2, #1 - strh r3, [r0], #2 - bne mcp16_cant_align - - bx lr - - - -@ 0x12345678 -> 0x34127856 -@ r4=temp, lr=0x00ff00ff -.macro bswap reg - and r4, \reg, lr - and \reg, lr, \reg, lsr #8 - orr \reg, \reg, r4, lsl #8 -.endm - - -@ dest must be halfword aligned, src can be unaligned -.global memcpy16bswap @ unsigned short *dest, void *src, int count - -memcpy16bswap: - tst r1, #1 - bne mcp16bs_cant_align2 - - eor r3, r0, r1 - tst r3, #2 - bne mcp16bs_cant_align - - tst r0, #2 - beq mcp16bs_aligned - ldrh r3, [r1], #2 - sub r2, r2, #1 - orr r3, r3, r3, lsl #16 - mov r3, r3, lsr #8 - strh r3, [r0], #2 - -mcp16bs_aligned: - stmfd sp!, {r4,lr} - mov lr, #0xff - orr lr, lr, lr, lsl #16 - - subs r2, r2, #4 - bmi mcp16bs_fin4 - -mcp16bs_loop: - ldmia r1!, {r3,r12} - subs r2, r2, #4 - bswap r3 - bswap r12 - stmia r0!, {r3,r12} - bpl mcp16bs_loop - -mcp16bs_fin4: - tst r2, #2 - beq mcp16bs_fin2 - ldr r3, [r1], #4 - bswap r3 - str r3, [r0], #4 - -mcp16bs_fin2: - ldmfd sp!, {r4,lr} - ands r2, r2, #1 - bxeq lr - -mcp16bs_cant_align: - ldrh r3, [r1], #2 - subs r2, r2, #1 - orr r3, r3, r3, lsl #16 - mov r3, r3, lsr #8 - strh r3, [r0], #2 - bne mcp16bs_cant_align - bx lr - - @ worst case -mcp16bs_cant_align2: - ldrb r3, [r1], #1 - ldrb r12,[r1], #1 - subs r2, r2, #1 - mov r3, r3, lsl #8 - orr r3, r3, r12 - strh r3, [r0], #2 - bne mcp16bs_cant_align2 - bx lr - - .global memcpy32 @ int *dest, int *src, int count +.type memcpy32, @function memcpy32: stmfd sp!, {r4,lr} @@ -148,9 +34,10 @@ mcp32_no_unal1: stmneia r0!, {r3,r12} bx lr - +.size memcpy32, .-memcpy32 .global memset32 @ int *dest, int c, int count +.type memset32, @function memset32: stmfd sp!, {lr} @@ -177,5 +64,5 @@ mst32_fin: ldmfd sp!, {lr} bx lr - +.size memset32, .-memset32 -- 1.7.9.5