From a28efa63b580ed14edc4f8a285380d562a341b68 Mon Sep 17 00:00:00 2001 From: Dirk Behme Date: Tue, 27 Jan 2004 22:11:07 +0000 Subject: [PATCH] [ARM PATCH] 1749/1: Remove warnings in csumpartialcopygeneric.S Patch from Dirk Behme Remove the following warnings from csumpartialcopygeneric.S: arch/arm/lib/csumpartialcopygeneric.S: Assembler messages: arch/arm/lib/csumpartialcopygeneric.S:142: Warning: shift of 0 ignored. arch/arm/lib/csumpartialcopygeneric.S:216: Warning: shift of 0 ignored. arch/arm/lib/csumpartialcopygeneric.S:268: Warning: shift of 0 ignored. arch/arm/lib/csumpartialcopygeneric.S:322: Warning: shift of 0 ignored. arch/arm/lib/csumpartialcopygeneric.S:328: Warning: shift of 0 ignored. This new patch is reviewed by Nicolas Pitre. --- arch/arm/lib/csumpartial.S | 6 +-- arch/arm/lib/csumpartialcopygeneric.S | 38 +++++++++--------- arch/arm/lib/io-readsb.S | 56 +++++++++++++-------------- arch/arm/lib/uaccess.S | 24 ++++++------ include/asm-arm/assembler.h | 18 ++++++++- 5 files changed, 78 insertions(+), 64 deletions(-) diff --git a/arch/arm/lib/csumpartial.S b/arch/arm/lib/csumpartial.S index 25c05f35fd8d..c5515f3be0ad 100644 --- a/arch/arm/lib/csumpartial.S +++ b/arch/arm/lib/csumpartial.S @@ -41,7 +41,7 @@ td3 .req lr tst buf, #1 @ odd address? ldrneb td0, [buf], #1 subne len, len, #1 - adcnes sum, sum, td0, lsl #byte(1) + adcnes sum, sum, td0, put_byte_1 .less4: tst len, #6 beq .less8_byte @@ -68,7 +68,7 @@ td3 .req lr .less8_byte: tst len, #1 @ odd number of bytes ldrneb td0, [buf], #1 @ include last byte - adcnes sum, sum, td0, lsl #byte(0) @ update checksum + adcnes sum, sum, td0, put_byte_0 @ update checksum .done: adc r0, sum, #0 @ collect up the last carry ldr td0, [sp], #4 @@ -80,7 +80,7 @@ td3 .req lr .not_aligned: tst buf, #1 @ odd address ldrneb td0, [buf], #1 @ make even subne len, len, #1 - adcnes sum, sum, td0, lsl #byte(1) @ update checksum + adcnes sum, sum, td0, put_byte_1 @ update checksum tst buf, #2 @ 32-bit aligned? #if __LINUX_ARM_ARCH__ >= 4 diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index 350c636d14e0..b18b89715118 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S @@ -36,16 +36,16 @@ sum .req r3 load1b ip sub len, len, #1 - adcs sum, sum, ip, lsl #byte(1) @ update checksum + adcs sum, sum, ip, put_byte_1 @ update checksum strb ip, [dst], #1 tst dst, #2 moveq pc, lr @ dst is now 32bit aligned .dst_16bit: load2b r8, ip sub len, len, #2 - adcs sum, sum, r8, lsl #byte(0) + adcs sum, sum, r8, put_byte_0 strb r8, [dst], #1 - adcs sum, sum, ip, lsl #byte(1) + adcs sum, sum, ip, put_byte_1 strb ip, [dst], #1 mov pc, lr @ dst is now 32bit aligned @@ -63,16 +63,16 @@ sum .req r3 /* Align dst */ load1b ip sub len, len, #1 - adcs sum, sum, ip, lsl #byte(1) @ update checksum + adcs sum, sum, ip, put_byte_1 @ update checksum strb ip, [dst], #1 tst len, #6 beq .less8_byteonly 1: load2b r8, ip sub len, len, #2 - adcs sum, sum, r8, lsl #byte(0) + adcs sum, sum, r8, put_byte_0 strb r8, [dst], #1 - adcs sum, sum, ip, lsl #byte(1) + adcs sum, sum, ip, put_byte_1 strb ip, [dst], #1 .less8_aligned: tst len, #6 bne 1b @@ -80,7 +80,7 @@ sum .req r3 tst len, #1 beq .done load1b r8 - adcs sum, sum, r8, lsl #byte(0) @ update checksum + adcs sum, sum, r8, put_byte_0 @ update checksum strb r8, [dst], #1 b .done @@ -139,17 +139,17 @@ FN_ENTRY beq .done load1l r4 tst len, #2 - mov r5, r4, lsr #byte(0) + mov r5, r4, get_byte_0 beq .exit adcs sum, sum, r4, push #16 strb r5, [dst], #1 - mov r5, r4, lsr #byte(1) + mov r5, r4, get_byte_1 strb r5, [dst], #1 - mov r5, r4, lsr #byte(2) + mov r5, r4, get_byte_2 .exit: tst len, #1 strneb r5, [dst], #1 andne r5, r5, #255 - adcnes sum, sum, r5, lsl #byte(0) + adcnes sum, sum, r5, put_byte_0 /* * If the dst pointer was not 16-bit aligned, we @@ -213,14 +213,14 @@ FN_ENTRY mov r4, r5, pull #8 4: ands len, len, #3 beq .done - mov r5, r4, lsr #byte(0) + mov r5, r4, get_byte_0 tst len, #2 beq .exit adcs sum, sum, r4, push #16 strb r5, [dst], #1 - mov r5, r4, lsr #byte(1) + mov r5, r4, get_byte_1 strb r5, [dst], #1 - mov r5, r4, lsr #byte(2) + mov r5, r4, get_byte_2 b .exit .src2_aligned: mov r4, r5, pull #16 @@ -265,12 +265,12 @@ FN_ENTRY mov r4, r5, pull #16 4: ands len, len, #3 beq .done - mov r5, r4, lsr #byte(0) + mov r5, r4, get_byte_0 tst len, #2 beq .exit adcs sum, sum, r4 strb r5, [dst], #1 - mov r5, r4, lsr #byte(1) + mov r5, r4, get_byte_1 strb r5, [dst], #1 tst len, #1 beq .done @@ -319,14 +319,14 @@ FN_ENTRY mov r4, r5, pull #24 4: ands len, len, #3 beq .done - mov r5, r4, lsr #byte(0) + mov r5, r4, get_byte_0 tst len, #2 beq .exit strb r5, [dst], #1 adcs sum, sum, r4 load1l r4 - mov r5, r4, lsr #byte(0) + mov r5, r4, get_byte_0 strb r5, [dst], #1 adcs sum, sum, r4, push #24 - mov r5, r4, lsr #byte(1) + mov r5, r4, get_byte_1 b .exit diff --git a/arch/arm/lib/io-readsb.S b/arch/arm/lib/io-readsb.S index 2b4f89834998..081ef749298a 100644 --- a/arch/arm/lib/io-readsb.S +++ b/arch/arm/lib/io-readsb.S @@ -37,35 +37,35 @@ ENTRY(__raw_readsb) .insb_16_lp: ldrb r3, [r0] ldrb r4, [r0] ldrb r5, [r0] - mov r3, r3, lsl #byte(0) + mov r3, r3, put_byte_0 ldrb r6, [r0] - orr r3, r3, r4, lsl #byte(1) + orr r3, r3, r4, put_byte_1 ldrb r4, [r0] - orr r3, r3, r5, lsl #byte(2) + orr r3, r3, r5, put_byte_2 ldrb r5, [r0] - orr r3, r3, r6, lsl #byte(3) + orr r3, r3, r6, put_byte_3 ldrb r6, [r0] - mov r4, r4, lsl #byte(0) + mov r4, r4, put_byte_0 ldrb ip, [r0] - orr r4, r4, r5, lsl #byte(1) + orr r4, r4, r5, put_byte_1 ldrb r5, [r0] - orr r4, r4, r6, lsl #byte(2) + orr r4, r4, r6, put_byte_2 ldrb r6, [r0] - orr r4, r4, ip, lsl #byte(3) + orr r4, r4, ip, put_byte_3 ldrb ip, [r0] - mov r5, r5, lsl #byte(0) + mov r5, r5, put_byte_0 ldrb lr, [r0] - orr r5, r5, r6, lsl #byte(1) + orr r5, r5, r6, put_byte_1 ldrb r6, [r0] - orr r5, r5, ip, lsl #byte(2) + orr r5, r5, ip, put_byte_2 ldrb ip, [r0] - orr r5, r5, lr, lsl #byte(3) + orr r5, r5, lr, put_byte_3 ldrb lr, [r0] - mov r6, r6, lsl #byte(0) - orr r6, r6, ip, lsl #byte(1) + mov r6, r6, put_byte_0 + orr r6, r6, ip, put_byte_1 ldrb ip, [r0] - orr r6, r6, lr, lsl #byte(2) - orr r6, r6, ip, lsl #byte(3) + orr r6, r6, lr, put_byte_2 + orr r6, r6, ip, put_byte_3 stmia r1!, {r3 - r6} subs r2, r2, #16 @@ -80,19 +80,19 @@ ENTRY(__raw_readsb) ldrb r3, [r0] ldrb r4, [r0] ldrb r5, [r0] - mov r3, r3, lsl #byte(0) + mov r3, r3, put_byte_0 ldrb r6, [r0] - orr r3, r3, r4, lsl #byte(1) + orr r3, r3, r4, put_byte_1 ldrb r4, [r0] - orr r3, r3, r5, lsl #byte(2) + orr r3, r3, r5, put_byte_2 ldrb r5, [r0] - orr r3, r3, r6, lsl #byte(3) + orr r3, r3, r6, put_byte_3 ldrb r6, [r0] - mov r4, r4, lsl #byte(0) + mov r4, r4, put_byte_0 ldrb ip, [r0] - orr r4, r4, r5, lsl #byte(1) - orr r4, r4, r6, lsl #byte(2) - orr r4, r4, ip, lsl #byte(3) + orr r4, r4, r5, put_byte_1 + orr r4, r4, r6, put_byte_2 + orr r4, r4, ip, put_byte_3 stmia r1!, {r3, r4} .insb_no_8: tst r2, #4 @@ -102,10 +102,10 @@ ENTRY(__raw_readsb) ldrb r4, [r0] ldrb r5, [r0] ldrb r6, [r0] - mov r3, r3, lsl #byte(0) - orr r3, r3, r4, lsl #byte(1) - orr r3, r3, r5, lsl #byte(2) - orr r3, r3, r6, lsl #byte(3) + mov r3, r3, put_byte_0 + orr r3, r3, r4, put_byte_1 + orr r3, r3, r5, put_byte_2 + orr r3, r3, r6, put_byte_3 str r3, [r1], #4 .insb_no_4: ands r2, r2, #3 diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index 9ca73aaa333a..d3ed0636c008 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S @@ -183,14 +183,14 @@ USER( strt r3, [r0], #4) @ May fault strnet r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .c2u_1fupi -.c2u_1nowords: mov r3, r7, lsr #byte(1) +.c2u_1nowords: mov r3, r7, get_byte_1 teq ip, #0 beq .c2u_finished cmp ip, #2 USER( strbt r3, [r0], #1) @ May fault - movge r3, r7, lsr #byte(2) + movge r3, r7, get_byte_2 USER( strgebt r3, [r0], #1) @ May fault - movgt r3, r7, lsr #byte(3) + movgt r3, r7, get_byte_3 USER( strgtbt r3, [r0], #1) @ May fault b .c2u_finished @@ -250,12 +250,12 @@ USER( strt r3, [r0], #4) @ May fault strnet r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .c2u_2fupi -.c2u_2nowords: mov r3, r7, lsr #byte(2) +.c2u_2nowords: mov r3, r7, get_byte_2 teq ip, #0 beq .c2u_finished cmp ip, #2 USER( strbt r3, [r0], #1) @ May fault - movge r3, r7, lsr #byte(3) + movge r3, r7, get_byte_3 USER( strgebt r3, [r0], #1) @ May fault ldrgtb r3, [r1], #0 USER( strgtbt r3, [r0], #1) @ May fault @@ -317,7 +317,7 @@ USER( strt r3, [r0], #4) @ May fault strnet r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .c2u_3fupi -.c2u_3nowords: mov r3, r7, lsr #byte(3) +.c2u_3nowords: mov r3, r7, get_byte_3 teq ip, #0 beq .c2u_finished cmp ip, #2 @@ -496,14 +496,14 @@ USER( ldrnet r7, [r1], #4) @ May fault strne r3, [r0], #4 ands ip, ip, #3 beq .cfu_1fupi -.cfu_1nowords: mov r3, r7, lsr #byte(1) +.cfu_1nowords: mov r3, r7, get_byte_1 teq ip, #0 beq .cfu_finished cmp ip, #2 strb r3, [r0], #1 - movge r3, r7, lsr #byte(2) + movge r3, r7, get_byte_2 strgeb r3, [r0], #1 - movgt r3, r7, lsr #byte(3) + movgt r3, r7, get_byte_3 strgtb r3, [r0], #1 b .cfu_finished @@ -563,12 +563,12 @@ USER( ldrnet r7, [r1], #4) @ May fault strne r3, [r0], #4 ands ip, ip, #3 beq .cfu_2fupi -.cfu_2nowords: mov r3, r7, lsr #byte(2) +.cfu_2nowords: mov r3, r7, get_byte_2 teq ip, #0 beq .cfu_finished cmp ip, #2 strb r3, [r0], #1 - movge r3, r7, lsr #byte(3) + movge r3, r7, get_byte_3 strgeb r3, [r0], #1 USER( ldrgtbt r3, [r1], #0) @ May fault strgtb r3, [r0], #1 @@ -630,7 +630,7 @@ USER( ldrnet r7, [r1], #4) @ May fault strne r3, [r0], #4 ands ip, ip, #3 beq .cfu_3fupi -.cfu_3nowords: mov r3, r7, lsr #byte(3) +.cfu_3nowords: mov r3, r7, get_byte_3 teq ip, #0 beq .cfu_finished cmp ip, #2 diff --git a/include/asm-arm/assembler.h b/include/asm-arm/assembler.h index 84ab93eb4643..69a28f96bee2 100644 --- a/include/asm-arm/assembler.h +++ b/include/asm-arm/assembler.h @@ -25,11 +25,25 @@ #ifndef __ARMEB__ #define pull lsr #define push lsl -#define byte(x) (x*8) +#define get_byte_0 lsl #0 +#define get_byte_1 lsr #8 +#define get_byte_2 lsr #16 +#define get_byte_3 lsr #24 +#define put_byte_0 lsl #0 +#define put_byte_1 lsl #8 +#define put_byte_2 lsl #16 +#define put_byte_3 lsl #24 #else #define pull lsl #define push lsr -#define byte(x) ((3-x)*8) +#define get_byte_0 lsr #24 +#define get_byte_1 lsr #16 +#define get_byte_2 lsr #8 +#define get_byte_3 lsl #0 +#define put_byte_0 lsl #24 +#define put_byte_1 lsl #16 +#define put_byte_2 lsl #8 +#define put_byte_3 lsl #0 #endif /* -- 2.39.5