Message ID | 1392063589-24111-2-git-send-email-victor.kamensky@linaro.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
On Mon, 10 Feb 2014, Victor Kamensky wrote: > Renames logical shift macros, 'push' and 'pull', defined in > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. I don't have any fundamental objection to the idea, except maybe for the actual names. I just can't come up with anything better though. Therefore... Acked-by: Nicolas Pitre <nico@linaro.org> > That eliminates name conflict between 'push' logical shift macro > and 'push' instruction mnemonic. That allows assembler.h to be > included in .S files that use 'push' instruction. > > Suggested-by: Will Deacon <will.deacon@arm.com> > Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> > --- > arch/arm/include/asm/assembler.h | 8 +- > arch/arm/lib/copy_template.S | 36 +++---- > arch/arm/lib/csumpartialcopygeneric.S | 96 ++++++++--------- > arch/arm/lib/io-readsl.S | 12 +-- > arch/arm/lib/io-writesl.S | 12 +-- > arch/arm/lib/memmove.S | 36 +++---- > arch/arm/lib/uaccess.S | 192 +++++++++++++++++----------------- > 7 files changed, 196 insertions(+), 196 deletions(-) > > diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h > index 5c22851..380ac4f 100644 > --- a/arch/arm/include/asm/assembler.h > +++ b/arch/arm/include/asm/assembler.h > @@ -30,8 +30,8 @@ > * Endian independent macros for shifting bytes within registers. > */ > #ifndef __ARMEB__ > -#define pull lsr > -#define push lsl > +#define lspull lsr > +#define lspush lsl > #define get_byte_0 lsl #0 > #define get_byte_1 lsr #8 > #define get_byte_2 lsr #16 > @@ -41,8 +41,8 @@ > #define put_byte_2 lsl #16 > #define put_byte_3 lsl #24 > #else > -#define pull lsl > -#define push lsr > +#define lspull lsl > +#define lspush lsr > #define get_byte_0 lsr #24 > #define get_byte_1 lsr #16 > #define get_byte_2 lsr #8 > diff --git a/arch/arm/lib/copy_template.S b/arch/arm/lib/copy_template.S > index 805e3f8..3bc8eb8 100644 > --- a/arch/arm/lib/copy_template.S > +++ b/arch/arm/lib/copy_template.S > @@ -197,24 +197,24 @@ > > 12: PLD( pld [r1, #124] ) > 13: ldr4w r1, r4, r5, r6, r7, abort=19f > - mov r3, lr, pull #\pull > + mov r3, lr, lspull #\pull > subs r2, r2, #32 > ldr4w r1, r8, r9, ip, lr, abort=19f > - orr r3, r3, r4, push #\push > - mov r4, r4, pull #\pull > - orr r4, r4, r5, push #\push > - mov r5, r5, pull #\pull > - orr r5, r5, r6, push #\push > - mov r6, r6, pull #\pull > - orr r6, r6, r7, push #\push > - mov r7, r7, pull #\pull > - orr r7, r7, r8, push #\push > - mov r8, r8, pull #\pull > - orr r8, r8, r9, push #\push > - mov r9, r9, pull #\pull > - orr r9, r9, ip, push #\push > - mov ip, ip, pull #\pull > - orr ip, ip, lr, push #\push > + orr r3, r3, r4, lspush #\push > + mov r4, r4, lspull #\pull > + orr r4, r4, r5, lspush #\push > + mov r5, r5, lspull #\pull > + orr r5, r5, r6, lspush #\push > + mov r6, r6, lspull #\pull > + orr r6, r6, r7, lspush #\push > + mov r7, r7, lspull #\pull > + orr r7, r7, r8, lspush #\push > + mov r8, r8, lspull #\pull > + orr r8, r8, r9, lspush #\push > + mov r9, r9, lspull #\pull > + orr r9, r9, ip, lspush #\push > + mov ip, ip, lspull #\pull > + orr ip, ip, lr, lspush #\push > str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f > bge 12b > PLD( cmn r2, #96 ) > @@ -225,10 +225,10 @@ > 14: ands ip, r2, #28 > beq 16f > > -15: mov r3, lr, pull #\pull > +15: mov r3, lr, lspull #\pull > ldr1w r1, lr, abort=21f > subs ip, ip, #4 > - orr r3, r3, lr, push #\push > + orr r3, r3, lr, lspush #\push > str1w r0, r3, abort=21f > bgt 15b > CALGN( cmp r2, #0 ) > diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S > index d620a5f..d6e742d 100644 > --- a/arch/arm/lib/csumpartialcopygeneric.S > +++ b/arch/arm/lib/csumpartialcopygeneric.S > @@ -141,7 +141,7 @@ FN_ENTRY > tst len, #2 > mov r5, r4, get_byte_0 > beq .Lexit > - adcs sum, sum, r4, push #16 > + adcs sum, sum, r4, lspush #16 > strb r5, [dst], #1 > mov r5, r4, get_byte_1 > strb r5, [dst], #1 > @@ -171,23 +171,23 @@ FN_ENTRY > cmp ip, #2 > beq .Lsrc2_aligned > bhi .Lsrc3_aligned > - mov r4, r5, pull #8 @ C = 0 > + mov r4, r5, lspull #8 @ C = 0 > bics ip, len, #15 > beq 2f > 1: load4l r5, r6, r7, r8 > - orr r4, r4, r5, push #24 > - mov r5, r5, pull #8 > - orr r5, r5, r6, push #24 > - mov r6, r6, pull #8 > - orr r6, r6, r7, push #24 > - mov r7, r7, pull #8 > - orr r7, r7, r8, push #24 > + orr r4, r4, r5, lspush #24 > + mov r5, r5, lspull #8 > + orr r5, r5, r6, lspush #24 > + mov r6, r6, lspull #8 > + orr r6, r6, r7, lspush #24 > + mov r7, r7, lspull #8 > + orr r7, r7, r8, lspush #24 > stmia dst!, {r4, r5, r6, r7} > adcs sum, sum, r4 > adcs sum, sum, r5 > adcs sum, sum, r6 > adcs sum, sum, r7 > - mov r4, r8, pull #8 > + mov r4, r8, lspull #8 > sub ip, ip, #16 > teq ip, #0 > bne 1b > @@ -196,50 +196,50 @@ FN_ENTRY > tst ip, #8 > beq 3f > load2l r5, r6 > - orr r4, r4, r5, push #24 > - mov r5, r5, pull #8 > - orr r5, r5, r6, push #24 > + orr r4, r4, r5, lspush #24 > + mov r5, r5, lspull #8 > + orr r5, r5, r6, lspush #24 > stmia dst!, {r4, r5} > adcs sum, sum, r4 > adcs sum, sum, r5 > - mov r4, r6, pull #8 > + mov r4, r6, lspull #8 > tst ip, #4 > beq 4f > 3: load1l r5 > - orr r4, r4, r5, push #24 > + orr r4, r4, r5, lspush #24 > str r4, [dst], #4 > adcs sum, sum, r4 > - mov r4, r5, pull #8 > + mov r4, r5, lspull #8 > 4: ands len, len, #3 > beq .Ldone > mov r5, r4, get_byte_0 > tst len, #2 > beq .Lexit > - adcs sum, sum, r4, push #16 > + adcs sum, sum, r4, lspush #16 > strb r5, [dst], #1 > mov r5, r4, get_byte_1 > strb r5, [dst], #1 > mov r5, r4, get_byte_2 > b .Lexit > > -.Lsrc2_aligned: mov r4, r5, pull #16 > +.Lsrc2_aligned: mov r4, r5, lspull #16 > adds sum, sum, #0 > bics ip, len, #15 > beq 2f > 1: load4l r5, r6, r7, r8 > - orr r4, r4, r5, push #16 > - mov r5, r5, pull #16 > - orr r5, r5, r6, push #16 > - mov r6, r6, pull #16 > - orr r6, r6, r7, push #16 > - mov r7, r7, pull #16 > - orr r7, r7, r8, push #16 > + orr r4, r4, r5, lspush #16 > + mov r5, r5, lspull #16 > + orr r5, r5, r6, lspush #16 > + mov r6, r6, lspull #16 > + orr r6, r6, r7, lspush #16 > + mov r7, r7, lspull #16 > + orr r7, r7, r8, lspush #16 > stmia dst!, {r4, r5, r6, r7} > adcs sum, sum, r4 > adcs sum, sum, r5 > adcs sum, sum, r6 > adcs sum, sum, r7 > - mov r4, r8, pull #16 > + mov r4, r8, lspull #16 > sub ip, ip, #16 > teq ip, #0 > bne 1b > @@ -248,20 +248,20 @@ FN_ENTRY > tst ip, #8 > beq 3f > load2l r5, r6 > - orr r4, r4, r5, push #16 > - mov r5, r5, pull #16 > - orr r5, r5, r6, push #16 > + orr r4, r4, r5, lspush #16 > + mov r5, r5, lspull #16 > + orr r5, r5, r6, lspush #16 > stmia dst!, {r4, r5} > adcs sum, sum, r4 > adcs sum, sum, r5 > - mov r4, r6, pull #16 > + mov r4, r6, lspull #16 > tst ip, #4 > beq 4f > 3: load1l r5 > - orr r4, r4, r5, push #16 > + orr r4, r4, r5, lspush #16 > str r4, [dst], #4 > adcs sum, sum, r4 > - mov r4, r5, pull #16 > + mov r4, r5, lspull #16 > 4: ands len, len, #3 > beq .Ldone > mov r5, r4, get_byte_0 > @@ -276,24 +276,24 @@ FN_ENTRY > load1b r5 > b .Lexit > > -.Lsrc3_aligned: mov r4, r5, pull #24 > +.Lsrc3_aligned: mov r4, r5, lspull #24 > adds sum, sum, #0 > bics ip, len, #15 > beq 2f > 1: load4l r5, r6, r7, r8 > - orr r4, r4, r5, push #8 > - mov r5, r5, pull #24 > - orr r5, r5, r6, push #8 > - mov r6, r6, pull #24 > - orr r6, r6, r7, push #8 > - mov r7, r7, pull #24 > - orr r7, r7, r8, push #8 > + orr r4, r4, r5, lspush #8 > + mov r5, r5, lspull #24 > + orr r5, r5, r6, lspush #8 > + mov r6, r6, lspull #24 > + orr r6, r6, r7, lspush #8 > + mov r7, r7, lspull #24 > + orr r7, r7, r8, lspush #8 > stmia dst!, {r4, r5, r6, r7} > adcs sum, sum, r4 > adcs sum, sum, r5 > adcs sum, sum, r6 > adcs sum, sum, r7 > - mov r4, r8, pull #24 > + mov r4, r8, lspull #24 > sub ip, ip, #16 > teq ip, #0 > bne 1b > @@ -302,20 +302,20 @@ FN_ENTRY > tst ip, #8 > beq 3f > load2l r5, r6 > - orr r4, r4, r5, push #8 > - mov r5, r5, pull #24 > - orr r5, r5, r6, push #8 > + orr r4, r4, r5, lspush #8 > + mov r5, r5, lspull #24 > + orr r5, r5, r6, lspush #8 > stmia dst!, {r4, r5} > adcs sum, sum, r4 > adcs sum, sum, r5 > - mov r4, r6, pull #24 > + mov r4, r6, lspull #24 > tst ip, #4 > beq 4f > 3: load1l r5 > - orr r4, r4, r5, push #8 > + orr r4, r4, r5, lspush #8 > str r4, [dst], #4 > adcs sum, sum, r4 > - mov r4, r5, pull #24 > + mov r4, r5, lspull #24 > 4: ands len, len, #3 > beq .Ldone > mov r5, r4, get_byte_0 > @@ -326,7 +326,7 @@ FN_ENTRY > load1l r4 > mov r5, r4, get_byte_0 > strb r5, [dst], #1 > - adcs sum, sum, r4, push #24 > + adcs sum, sum, r4, lspush #24 > mov r5, r4, get_byte_1 > b .Lexit > FN_EXIT > diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S > index 5fb97e7..7a74309 100644 > --- a/arch/arm/lib/io-readsl.S > +++ b/arch/arm/lib/io-readsl.S > @@ -47,25 +47,25 @@ ENTRY(__raw_readsl) > strb ip, [r1], #1 > > 4: subs r2, r2, #1 > - mov ip, r3, pull #24 > + mov ip, r3, lspull #24 > ldrne r3, [r0] > - orrne ip, ip, r3, push #8 > + orrne ip, ip, r3, lspush #8 > strne ip, [r1], #4 > bne 4b > b 8f > > 5: subs r2, r2, #1 > - mov ip, r3, pull #16 > + mov ip, r3, lspull #16 > ldrne r3, [r0] > - orrne ip, ip, r3, push #16 > + orrne ip, ip, r3, lspush #16 > strne ip, [r1], #4 > bne 5b > b 7f > > 6: subs r2, r2, #1 > - mov ip, r3, pull #8 > + mov ip, r3, lspull #8 > ldrne r3, [r0] > - orrne ip, ip, r3, push #24 > + orrne ip, ip, r3, lspush #24 > strne ip, [r1], #4 > bne 6b > > diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S > index 8d3b781..d0d104a 100644 > --- a/arch/arm/lib/io-writesl.S > +++ b/arch/arm/lib/io-writesl.S > @@ -41,26 +41,26 @@ ENTRY(__raw_writesl) > blt 5f > bgt 6f > > -4: mov ip, r3, pull #16 > +4: mov ip, r3, lspull #16 > ldr r3, [r1], #4 > subs r2, r2, #1 > - orr ip, ip, r3, push #16 > + orr ip, ip, r3, lspush #16 > str ip, [r0] > bne 4b > mov pc, lr > > -5: mov ip, r3, pull #8 > +5: mov ip, r3, lspull #8 > ldr r3, [r1], #4 > subs r2, r2, #1 > - orr ip, ip, r3, push #24 > + orr ip, ip, r3, lspush #24 > str ip, [r0] > bne 5b > mov pc, lr > > -6: mov ip, r3, pull #24 > +6: mov ip, r3, lspull #24 > ldr r3, [r1], #4 > subs r2, r2, #1 > - orr ip, ip, r3, push #8 > + orr ip, ip, r3, lspush #8 > str ip, [r0] > bne 6b > mov pc, lr > diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S > index 938fc14..d1fc0c0 100644 > --- a/arch/arm/lib/memmove.S > +++ b/arch/arm/lib/memmove.S > @@ -147,24 +147,24 @@ ENTRY(memmove) > > 12: PLD( pld [r1, #-128] ) > 13: ldmdb r1!, {r7, r8, r9, ip} > - mov lr, r3, push #\push > + mov lr, r3, lspush #\push > subs r2, r2, #32 > ldmdb r1!, {r3, r4, r5, r6} > - orr lr, lr, ip, pull #\pull > - mov ip, ip, push #\push > - orr ip, ip, r9, pull #\pull > - mov r9, r9, push #\push > - orr r9, r9, r8, pull #\pull > - mov r8, r8, push #\push > - orr r8, r8, r7, pull #\pull > - mov r7, r7, push #\push > - orr r7, r7, r6, pull #\pull > - mov r6, r6, push #\push > - orr r6, r6, r5, pull #\pull > - mov r5, r5, push #\push > - orr r5, r5, r4, pull #\pull > - mov r4, r4, push #\push > - orr r4, r4, r3, pull #\pull > + orr lr, lr, ip, lspull #\pull > + mov ip, ip, lspush #\push > + orr ip, ip, r9, lspull #\pull > + mov r9, r9, lspush #\push > + orr r9, r9, r8, lspull #\pull > + mov r8, r8, lspush #\push > + orr r8, r8, r7, lspull #\pull > + mov r7, r7, lspush #\push > + orr r7, r7, r6, lspull #\pull > + mov r6, r6, lspush #\push > + orr r6, r6, r5, lspull #\pull > + mov r5, r5, lspush #\push > + orr r5, r5, r4, lspull #\pull > + mov r4, r4, lspush #\push > + orr r4, r4, r3, lspull #\pull > stmdb r0!, {r4 - r9, ip, lr} > bge 12b > PLD( cmn r2, #96 ) > @@ -175,10 +175,10 @@ ENTRY(memmove) > 14: ands ip, r2, #28 > beq 16f > > -15: mov lr, r3, push #\push > +15: mov lr, r3, lspush #\push > ldr r3, [r1, #-4]! > subs ip, ip, #4 > - orr lr, lr, r3, pull #\pull > + orr lr, lr, r3, lspull #\pull > str lr, [r0, #-4]! > bgt 15b > CALGN( cmp r2, #0 ) > diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S > index 5c908b1..e505209 100644 > --- a/arch/arm/lib/uaccess.S > +++ b/arch/arm/lib/uaccess.S > @@ -117,9 +117,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > .Lc2u_1fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lc2u_1nowords > - mov r3, r7, pull #8 > + mov r3, r7, lspull #8 > ldr r7, [r1], #4 > - orr r3, r3, r7, push #24 > + orr r3, r3, r7, lspush #24 > USER( TUSER( str) r3, [r0], #4) @ May fault > mov ip, r0, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -131,30 +131,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > subs ip, ip, #16 > blt .Lc2u_1rem8lp > > -.Lc2u_1cpy8lp: mov r3, r7, pull #8 > +.Lc2u_1cpy8lp: mov r3, r7, lspull #8 > ldmia r1!, {r4 - r7} > subs ip, ip, #16 > - orr r3, r3, r4, push #24 > - mov r4, r4, pull #8 > - orr r4, r4, r5, push #24 > - mov r5, r5, pull #8 > - orr r5, r5, r6, push #24 > - mov r6, r6, pull #8 > - orr r6, r6, r7, push #24 > + orr r3, r3, r4, lspush #24 > + mov r4, r4, lspull #8 > + orr r4, r4, r5, lspush #24 > + mov r5, r5, lspull #8 > + orr r5, r5, r6, lspush #24 > + mov r6, r6, lspull #8 > + orr r6, r6, r7, lspush #24 > stmia r0!, {r3 - r6} @ Shouldnt fault > bpl .Lc2u_1cpy8lp > > .Lc2u_1rem8lp: tst ip, #8 > - movne r3, r7, pull #8 > + movne r3, r7, lspull #8 > ldmneia r1!, {r4, r7} > - orrne r3, r3, r4, push #24 > - movne r4, r4, pull #8 > - orrne r4, r4, r7, push #24 > + orrne r3, r3, r4, lspush #24 > + movne r4, r4, lspull #8 > + orrne r4, r4, r7, lspush #24 > stmneia r0!, {r3 - r4} @ Shouldnt fault > tst ip, #4 > - movne r3, r7, pull #8 > + movne r3, r7, lspull #8 > ldrne r7, [r1], #4 > - orrne r3, r3, r7, push #24 > + orrne r3, r3, r7, lspush #24 > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > ands ip, ip, #3 > beq .Lc2u_1fupi > @@ -172,9 +172,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > .Lc2u_2fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lc2u_2nowords > - mov r3, r7, pull #16 > + mov r3, r7, lspull #16 > ldr r7, [r1], #4 > - orr r3, r3, r7, push #16 > + orr r3, r3, r7, lspush #16 > USER( TUSER( str) r3, [r0], #4) @ May fault > mov ip, r0, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -186,30 +186,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > subs ip, ip, #16 > blt .Lc2u_2rem8lp > > -.Lc2u_2cpy8lp: mov r3, r7, pull #16 > +.Lc2u_2cpy8lp: mov r3, r7, lspull #16 > ldmia r1!, {r4 - r7} > subs ip, ip, #16 > - orr r3, r3, r4, push #16 > - mov r4, r4, pull #16 > - orr r4, r4, r5, push #16 > - mov r5, r5, pull #16 > - orr r5, r5, r6, push #16 > - mov r6, r6, pull #16 > - orr r6, r6, r7, push #16 > + orr r3, r3, r4, lspush #16 > + mov r4, r4, lspull #16 > + orr r4, r4, r5, lspush #16 > + mov r5, r5, lspull #16 > + orr r5, r5, r6, lspush #16 > + mov r6, r6, lspull #16 > + orr r6, r6, r7, lspush #16 > stmia r0!, {r3 - r6} @ Shouldnt fault > bpl .Lc2u_2cpy8lp > > .Lc2u_2rem8lp: tst ip, #8 > - movne r3, r7, pull #16 > + movne r3, r7, lspull #16 > ldmneia r1!, {r4, r7} > - orrne r3, r3, r4, push #16 > - movne r4, r4, pull #16 > - orrne r4, r4, r7, push #16 > + orrne r3, r3, r4, lspush #16 > + movne r4, r4, lspull #16 > + orrne r4, r4, r7, lspush #16 > stmneia r0!, {r3 - r4} @ Shouldnt fault > tst ip, #4 > - movne r3, r7, pull #16 > + movne r3, r7, lspull #16 > ldrne r7, [r1], #4 > - orrne r3, r3, r7, push #16 > + orrne r3, r3, r7, lspush #16 > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > ands ip, ip, #3 > beq .Lc2u_2fupi > @@ -227,9 +227,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > .Lc2u_3fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lc2u_3nowords > - mov r3, r7, pull #24 > + mov r3, r7, lspull #24 > ldr r7, [r1], #4 > - orr r3, r3, r7, push #8 > + orr r3, r3, r7, lspush #8 > USER( TUSER( str) r3, [r0], #4) @ May fault > mov ip, r0, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -241,30 +241,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > subs ip, ip, #16 > blt .Lc2u_3rem8lp > > -.Lc2u_3cpy8lp: mov r3, r7, pull #24 > +.Lc2u_3cpy8lp: mov r3, r7, lspull #24 > ldmia r1!, {r4 - r7} > subs ip, ip, #16 > - orr r3, r3, r4, push #8 > - mov r4, r4, pull #24 > - orr r4, r4, r5, push #8 > - mov r5, r5, pull #24 > - orr r5, r5, r6, push #8 > - mov r6, r6, pull #24 > - orr r6, r6, r7, push #8 > + orr r3, r3, r4, lspush #8 > + mov r4, r4, lspull #24 > + orr r4, r4, r5, lspush #8 > + mov r5, r5, lspull #24 > + orr r5, r5, r6, lspush #8 > + mov r6, r6, lspull #24 > + orr r6, r6, r7, lspush #8 > stmia r0!, {r3 - r6} @ Shouldnt fault > bpl .Lc2u_3cpy8lp > > .Lc2u_3rem8lp: tst ip, #8 > - movne r3, r7, pull #24 > + movne r3, r7, lspull #24 > ldmneia r1!, {r4, r7} > - orrne r3, r3, r4, push #8 > - movne r4, r4, pull #24 > - orrne r4, r4, r7, push #8 > + orrne r3, r3, r4, lspush #8 > + movne r4, r4, lspull #24 > + orrne r4, r4, r7, lspush #8 > stmneia r0!, {r3 - r4} @ Shouldnt fault > tst ip, #4 > - movne r3, r7, pull #24 > + movne r3, r7, lspull #24 > ldrne r7, [r1], #4 > - orrne r3, r3, r7, push #8 > + orrne r3, r3, r7, lspush #8 > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > ands ip, ip, #3 > beq .Lc2u_3fupi > @@ -382,9 +382,9 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > .Lcfu_1fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lcfu_1nowords > - mov r3, r7, pull #8 > + mov r3, r7, lspull #8 > USER( TUSER( ldr) r7, [r1], #4) @ May fault > - orr r3, r3, r7, push #24 > + orr r3, r3, r7, lspush #24 > str r3, [r0], #4 > mov ip, r1, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -396,30 +396,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > subs ip, ip, #16 > blt .Lcfu_1rem8lp > > -.Lcfu_1cpy8lp: mov r3, r7, pull #8 > +.Lcfu_1cpy8lp: mov r3, r7, lspull #8 > ldmia r1!, {r4 - r7} @ Shouldnt fault > subs ip, ip, #16 > - orr r3, r3, r4, push #24 > - mov r4, r4, pull #8 > - orr r4, r4, r5, push #24 > - mov r5, r5, pull #8 > - orr r5, r5, r6, push #24 > - mov r6, r6, pull #8 > - orr r6, r6, r7, push #24 > + orr r3, r3, r4, lspush #24 > + mov r4, r4, lspull #8 > + orr r4, r4, r5, lspush #24 > + mov r5, r5, lspull #8 > + orr r5, r5, r6, lspush #24 > + mov r6, r6, lspull #8 > + orr r6, r6, r7, lspush #24 > stmia r0!, {r3 - r6} > bpl .Lcfu_1cpy8lp > > .Lcfu_1rem8lp: tst ip, #8 > - movne r3, r7, pull #8 > + movne r3, r7, lspull #8 > ldmneia r1!, {r4, r7} @ Shouldnt fault > - orrne r3, r3, r4, push #24 > - movne r4, r4, pull #8 > - orrne r4, r4, r7, push #24 > + orrne r3, r3, r4, lspush #24 > + movne r4, r4, lspull #8 > + orrne r4, r4, r7, lspush #24 > stmneia r0!, {r3 - r4} > tst ip, #4 > - movne r3, r7, pull #8 > + movne r3, r7, lspull #8 > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > - orrne r3, r3, r7, push #24 > + orrne r3, r3, r7, lspush #24 > strne r3, [r0], #4 > ands ip, ip, #3 > beq .Lcfu_1fupi > @@ -437,9 +437,9 @@ USER( TUSER( ldrne) r7, [r1], #4) @ May fault > .Lcfu_2fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lcfu_2nowords > - mov r3, r7, pull #16 > + mov r3, r7, lspull #16 > USER( TUSER( ldr) r7, [r1], #4) @ May fault > - orr r3, r3, r7, push #16 > + orr r3, r3, r7, lspush #16 > str r3, [r0], #4 > mov ip, r1, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -452,30 +452,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > blt .Lcfu_2rem8lp > > > -.Lcfu_2cpy8lp: mov r3, r7, pull #16 > +.Lcfu_2cpy8lp: mov r3, r7, lspull #16 > ldmia r1!, {r4 - r7} @ Shouldnt fault > subs ip, ip, #16 > - orr r3, r3, r4, push #16 > - mov r4, r4, pull #16 > - orr r4, r4, r5, push #16 > - mov r5, r5, pull #16 > - orr r5, r5, r6, push #16 > - mov r6, r6, pull #16 > - orr r6, r6, r7, push #16 > + orr r3, r3, r4, lspush #16 > + mov r4, r4, lspull #16 > + orr r4, r4, r5, lspush #16 > + mov r5, r5, lspull #16 > + orr r5, r5, r6, lspush #16 > + mov r6, r6, lspull #16 > + orr r6, r6, r7, lspush #16 > stmia r0!, {r3 - r6} > bpl .Lcfu_2cpy8lp > > .Lcfu_2rem8lp: tst ip, #8 > - movne r3, r7, pull #16 > + movne r3, r7, lspull #16 > ldmneia r1!, {r4, r7} @ Shouldnt fault > - orrne r3, r3, r4, push #16 > - movne r4, r4, pull #16 > - orrne r4, r4, r7, push #16 > + orrne r3, r3, r4, lspush #16 > + movne r4, r4, lspull #16 > + orrne r4, r4, r7, lspush #16 > stmneia r0!, {r3 - r4} > tst ip, #4 > - movne r3, r7, pull #16 > + movne r3, r7, lspull #16 > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > - orrne r3, r3, r7, push #16 > + orrne r3, r3, r7, lspush #16 > strne r3, [r0], #4 > ands ip, ip, #3 > beq .Lcfu_2fupi > @@ -493,9 +493,9 @@ USER( TUSER( ldrgtb) r3, [r1], #0) @ May fault > .Lcfu_3fupi: subs r2, r2, #4 > addmi ip, r2, #4 > bmi .Lcfu_3nowords > - mov r3, r7, pull #24 > + mov r3, r7, lspull #24 > USER( TUSER( ldr) r7, [r1], #4) @ May fault > - orr r3, r3, r7, push #8 > + orr r3, r3, r7, lspush #8 > str r3, [r0], #4 > mov ip, r1, lsl #32 - PAGE_SHIFT > rsb ip, ip, #0 > @@ -507,30 +507,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > subs ip, ip, #16 > blt .Lcfu_3rem8lp > > -.Lcfu_3cpy8lp: mov r3, r7, pull #24 > +.Lcfu_3cpy8lp: mov r3, r7, lspull #24 > ldmia r1!, {r4 - r7} @ Shouldnt fault > - orr r3, r3, r4, push #8 > - mov r4, r4, pull #24 > - orr r4, r4, r5, push #8 > - mov r5, r5, pull #24 > - orr r5, r5, r6, push #8 > - mov r6, r6, pull #24 > - orr r6, r6, r7, push #8 > + orr r3, r3, r4, lspush #8 > + mov r4, r4, lspull #24 > + orr r4, r4, r5, lspush #8 > + mov r5, r5, lspull #24 > + orr r5, r5, r6, lspush #8 > + mov r6, r6, lspull #24 > + orr r6, r6, r7, lspush #8 > stmia r0!, {r3 - r6} > subs ip, ip, #16 > bpl .Lcfu_3cpy8lp > > .Lcfu_3rem8lp: tst ip, #8 > - movne r3, r7, pull #24 > + movne r3, r7, lspull #24 > ldmneia r1!, {r4, r7} @ Shouldnt fault > - orrne r3, r3, r4, push #8 > - movne r4, r4, pull #24 > - orrne r4, r4, r7, push #8 > + orrne r3, r3, r4, lspush #8 > + movne r4, r4, lspull #24 > + orrne r4, r4, r7, lspush #8 > stmneia r0!, {r3 - r4} > tst ip, #4 > - movne r3, r7, pull #24 > + movne r3, r7, lspull #24 > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > - orrne r3, r3, r7, push #8 > + orrne r3, r3, r7, lspush #8 > strne r3, [r0], #4 > ands ip, ip, #3 > beq .Lcfu_3fupi > -- > 1.8.1.4 >
On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > On Mon, 10 Feb 2014, Victor Kamensky wrote: > > > Renames logical shift macros, 'push' and 'pull', defined in > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > > I don't have any fundamental objection to the idea, except maybe for the > actual names. I just can't come up with anything better though. For consistency with the get_byte_ stuff, how about: push -> towards_byte_0 pull -> from_byte_0 That may make the purpose a little clearer, too. (Assuming I've got them the right way around...) Cheers ---Dave > Therefore... > > Acked-by: Nicolas Pitre <nico@linaro.org> > > > That eliminates name conflict between 'push' logical shift macro > > and 'push' instruction mnemonic. That allows assembler.h to be > > included in .S files that use 'push' instruction. > > > > Suggested-by: Will Deacon <will.deacon@arm.com> > > Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> > > --- > > arch/arm/include/asm/assembler.h | 8 +- > > arch/arm/lib/copy_template.S | 36 +++---- > > arch/arm/lib/csumpartialcopygeneric.S | 96 ++++++++--------- > > arch/arm/lib/io-readsl.S | 12 +-- > > arch/arm/lib/io-writesl.S | 12 +-- > > arch/arm/lib/memmove.S | 36 +++---- > > arch/arm/lib/uaccess.S | 192 +++++++++++++++++----------------- > > 7 files changed, 196 insertions(+), 196 deletions(-) > > > > diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h > > index 5c22851..380ac4f 100644 > > --- a/arch/arm/include/asm/assembler.h > > +++ b/arch/arm/include/asm/assembler.h > > @@ -30,8 +30,8 @@ > > * Endian independent macros for shifting bytes within registers. > > */ > > #ifndef __ARMEB__ > > -#define pull lsr > > -#define push lsl > > +#define lspull lsr > > +#define lspush lsl > > #define get_byte_0 lsl #0 > > #define get_byte_1 lsr #8 > > #define get_byte_2 lsr #16 > > @@ -41,8 +41,8 @@ > > #define put_byte_2 lsl #16 > > #define put_byte_3 lsl #24 > > #else > > -#define pull lsl > > -#define push lsr > > +#define lspull lsl > > +#define lspush lsr > > #define get_byte_0 lsr #24 > > #define get_byte_1 lsr #16 > > #define get_byte_2 lsr #8 > > diff --git a/arch/arm/lib/copy_template.S b/arch/arm/lib/copy_template.S > > index 805e3f8..3bc8eb8 100644 > > --- a/arch/arm/lib/copy_template.S > > +++ b/arch/arm/lib/copy_template.S > > @@ -197,24 +197,24 @@ > > > > 12: PLD( pld [r1, #124] ) > > 13: ldr4w r1, r4, r5, r6, r7, abort=19f > > - mov r3, lr, pull #\pull > > + mov r3, lr, lspull #\pull > > subs r2, r2, #32 > > ldr4w r1, r8, r9, ip, lr, abort=19f > > - orr r3, r3, r4, push #\push > > - mov r4, r4, pull #\pull > > - orr r4, r4, r5, push #\push > > - mov r5, r5, pull #\pull > > - orr r5, r5, r6, push #\push > > - mov r6, r6, pull #\pull > > - orr r6, r6, r7, push #\push > > - mov r7, r7, pull #\pull > > - orr r7, r7, r8, push #\push > > - mov r8, r8, pull #\pull > > - orr r8, r8, r9, push #\push > > - mov r9, r9, pull #\pull > > - orr r9, r9, ip, push #\push > > - mov ip, ip, pull #\pull > > - orr ip, ip, lr, push #\push > > + orr r3, r3, r4, lspush #\push > > + mov r4, r4, lspull #\pull > > + orr r4, r4, r5, lspush #\push > > + mov r5, r5, lspull #\pull > > + orr r5, r5, r6, lspush #\push > > + mov r6, r6, lspull #\pull > > + orr r6, r6, r7, lspush #\push > > + mov r7, r7, lspull #\pull > > + orr r7, r7, r8, lspush #\push > > + mov r8, r8, lspull #\pull > > + orr r8, r8, r9, lspush #\push > > + mov r9, r9, lspull #\pull > > + orr r9, r9, ip, lspush #\push > > + mov ip, ip, lspull #\pull > > + orr ip, ip, lr, lspush #\push > > str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f > > bge 12b > > PLD( cmn r2, #96 ) > > @@ -225,10 +225,10 @@ > > 14: ands ip, r2, #28 > > beq 16f > > > > -15: mov r3, lr, pull #\pull > > +15: mov r3, lr, lspull #\pull > > ldr1w r1, lr, abort=21f > > subs ip, ip, #4 > > - orr r3, r3, lr, push #\push > > + orr r3, r3, lr, lspush #\push > > str1w r0, r3, abort=21f > > bgt 15b > > CALGN( cmp r2, #0 ) > > diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S > > index d620a5f..d6e742d 100644 > > --- a/arch/arm/lib/csumpartialcopygeneric.S > > +++ b/arch/arm/lib/csumpartialcopygeneric.S > > @@ -141,7 +141,7 @@ FN_ENTRY > > tst len, #2 > > mov r5, r4, get_byte_0 > > beq .Lexit > > - adcs sum, sum, r4, push #16 > > + adcs sum, sum, r4, lspush #16 > > strb r5, [dst], #1 > > mov r5, r4, get_byte_1 > > strb r5, [dst], #1 > > @@ -171,23 +171,23 @@ FN_ENTRY > > cmp ip, #2 > > beq .Lsrc2_aligned > > bhi .Lsrc3_aligned > > - mov r4, r5, pull #8 @ C = 0 > > + mov r4, r5, lspull #8 @ C = 0 > > bics ip, len, #15 > > beq 2f > > 1: load4l r5, r6, r7, r8 > > - orr r4, r4, r5, push #24 > > - mov r5, r5, pull #8 > > - orr r5, r5, r6, push #24 > > - mov r6, r6, pull #8 > > - orr r6, r6, r7, push #24 > > - mov r7, r7, pull #8 > > - orr r7, r7, r8, push #24 > > + orr r4, r4, r5, lspush #24 > > + mov r5, r5, lspull #8 > > + orr r5, r5, r6, lspush #24 > > + mov r6, r6, lspull #8 > > + orr r6, r6, r7, lspush #24 > > + mov r7, r7, lspull #8 > > + orr r7, r7, r8, lspush #24 > > stmia dst!, {r4, r5, r6, r7} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > adcs sum, sum, r6 > > adcs sum, sum, r7 > > - mov r4, r8, pull #8 > > + mov r4, r8, lspull #8 > > sub ip, ip, #16 > > teq ip, #0 > > bne 1b > > @@ -196,50 +196,50 @@ FN_ENTRY > > tst ip, #8 > > beq 3f > > load2l r5, r6 > > - orr r4, r4, r5, push #24 > > - mov r5, r5, pull #8 > > - orr r5, r5, r6, push #24 > > + orr r4, r4, r5, lspush #24 > > + mov r5, r5, lspull #8 > > + orr r5, r5, r6, lspush #24 > > stmia dst!, {r4, r5} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > - mov r4, r6, pull #8 > > + mov r4, r6, lspull #8 > > tst ip, #4 > > beq 4f > > 3: load1l r5 > > - orr r4, r4, r5, push #24 > > + orr r4, r4, r5, lspush #24 > > str r4, [dst], #4 > > adcs sum, sum, r4 > > - mov r4, r5, pull #8 > > + mov r4, r5, lspull #8 > > 4: ands len, len, #3 > > beq .Ldone > > mov r5, r4, get_byte_0 > > tst len, #2 > > beq .Lexit > > - adcs sum, sum, r4, push #16 > > + adcs sum, sum, r4, lspush #16 > > strb r5, [dst], #1 > > mov r5, r4, get_byte_1 > > strb r5, [dst], #1 > > mov r5, r4, get_byte_2 > > b .Lexit > > > > -.Lsrc2_aligned: mov r4, r5, pull #16 > > +.Lsrc2_aligned: mov r4, r5, lspull #16 > > adds sum, sum, #0 > > bics ip, len, #15 > > beq 2f > > 1: load4l r5, r6, r7, r8 > > - orr r4, r4, r5, push #16 > > - mov r5, r5, pull #16 > > - orr r5, r5, r6, push #16 > > - mov r6, r6, pull #16 > > - orr r6, r6, r7, push #16 > > - mov r7, r7, pull #16 > > - orr r7, r7, r8, push #16 > > + orr r4, r4, r5, lspush #16 > > + mov r5, r5, lspull #16 > > + orr r5, r5, r6, lspush #16 > > + mov r6, r6, lspull #16 > > + orr r6, r6, r7, lspush #16 > > + mov r7, r7, lspull #16 > > + orr r7, r7, r8, lspush #16 > > stmia dst!, {r4, r5, r6, r7} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > adcs sum, sum, r6 > > adcs sum, sum, r7 > > - mov r4, r8, pull #16 > > + mov r4, r8, lspull #16 > > sub ip, ip, #16 > > teq ip, #0 > > bne 1b > > @@ -248,20 +248,20 @@ FN_ENTRY > > tst ip, #8 > > beq 3f > > load2l r5, r6 > > - orr r4, r4, r5, push #16 > > - mov r5, r5, pull #16 > > - orr r5, r5, r6, push #16 > > + orr r4, r4, r5, lspush #16 > > + mov r5, r5, lspull #16 > > + orr r5, r5, r6, lspush #16 > > stmia dst!, {r4, r5} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > - mov r4, r6, pull #16 > > + mov r4, r6, lspull #16 > > tst ip, #4 > > beq 4f > > 3: load1l r5 > > - orr r4, r4, r5, push #16 > > + orr r4, r4, r5, lspush #16 > > str r4, [dst], #4 > > adcs sum, sum, r4 > > - mov r4, r5, pull #16 > > + mov r4, r5, lspull #16 > > 4: ands len, len, #3 > > beq .Ldone > > mov r5, r4, get_byte_0 > > @@ -276,24 +276,24 @@ FN_ENTRY > > load1b r5 > > b .Lexit > > > > -.Lsrc3_aligned: mov r4, r5, pull #24 > > +.Lsrc3_aligned: mov r4, r5, lspull #24 > > adds sum, sum, #0 > > bics ip, len, #15 > > beq 2f > > 1: load4l r5, r6, r7, r8 > > - orr r4, r4, r5, push #8 > > - mov r5, r5, pull #24 > > - orr r5, r5, r6, push #8 > > - mov r6, r6, pull #24 > > - orr r6, r6, r7, push #8 > > - mov r7, r7, pull #24 > > - orr r7, r7, r8, push #8 > > + orr r4, r4, r5, lspush #8 > > + mov r5, r5, lspull #24 > > + orr r5, r5, r6, lspush #8 > > + mov r6, r6, lspull #24 > > + orr r6, r6, r7, lspush #8 > > + mov r7, r7, lspull #24 > > + orr r7, r7, r8, lspush #8 > > stmia dst!, {r4, r5, r6, r7} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > adcs sum, sum, r6 > > adcs sum, sum, r7 > > - mov r4, r8, pull #24 > > + mov r4, r8, lspull #24 > > sub ip, ip, #16 > > teq ip, #0 > > bne 1b > > @@ -302,20 +302,20 @@ FN_ENTRY > > tst ip, #8 > > beq 3f > > load2l r5, r6 > > - orr r4, r4, r5, push #8 > > - mov r5, r5, pull #24 > > - orr r5, r5, r6, push #8 > > + orr r4, r4, r5, lspush #8 > > + mov r5, r5, lspull #24 > > + orr r5, r5, r6, lspush #8 > > stmia dst!, {r4, r5} > > adcs sum, sum, r4 > > adcs sum, sum, r5 > > - mov r4, r6, pull #24 > > + mov r4, r6, lspull #24 > > tst ip, #4 > > beq 4f > > 3: load1l r5 > > - orr r4, r4, r5, push #8 > > + orr r4, r4, r5, lspush #8 > > str r4, [dst], #4 > > adcs sum, sum, r4 > > - mov r4, r5, pull #24 > > + mov r4, r5, lspull #24 > > 4: ands len, len, #3 > > beq .Ldone > > mov r5, r4, get_byte_0 > > @@ -326,7 +326,7 @@ FN_ENTRY > > load1l r4 > > mov r5, r4, get_byte_0 > > strb r5, [dst], #1 > > - adcs sum, sum, r4, push #24 > > + adcs sum, sum, r4, lspush #24 > > mov r5, r4, get_byte_1 > > b .Lexit > > FN_EXIT > > diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S > > index 5fb97e7..7a74309 100644 > > --- a/arch/arm/lib/io-readsl.S > > +++ b/arch/arm/lib/io-readsl.S > > @@ -47,25 +47,25 @@ ENTRY(__raw_readsl) > > strb ip, [r1], #1 > > > > 4: subs r2, r2, #1 > > - mov ip, r3, pull #24 > > + mov ip, r3, lspull #24 > > ldrne r3, [r0] > > - orrne ip, ip, r3, push #8 > > + orrne ip, ip, r3, lspush #8 > > strne ip, [r1], #4 > > bne 4b > > b 8f > > > > 5: subs r2, r2, #1 > > - mov ip, r3, pull #16 > > + mov ip, r3, lspull #16 > > ldrne r3, [r0] > > - orrne ip, ip, r3, push #16 > > + orrne ip, ip, r3, lspush #16 > > strne ip, [r1], #4 > > bne 5b > > b 7f > > > > 6: subs r2, r2, #1 > > - mov ip, r3, pull #8 > > + mov ip, r3, lspull #8 > > ldrne r3, [r0] > > - orrne ip, ip, r3, push #24 > > + orrne ip, ip, r3, lspush #24 > > strne ip, [r1], #4 > > bne 6b > > > > diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S > > index 8d3b781..d0d104a 100644 > > --- a/arch/arm/lib/io-writesl.S > > +++ b/arch/arm/lib/io-writesl.S > > @@ -41,26 +41,26 @@ ENTRY(__raw_writesl) > > blt 5f > > bgt 6f > > > > -4: mov ip, r3, pull #16 > > +4: mov ip, r3, lspull #16 > > ldr r3, [r1], #4 > > subs r2, r2, #1 > > - orr ip, ip, r3, push #16 > > + orr ip, ip, r3, lspush #16 > > str ip, [r0] > > bne 4b > > mov pc, lr > > > > -5: mov ip, r3, pull #8 > > +5: mov ip, r3, lspull #8 > > ldr r3, [r1], #4 > > subs r2, r2, #1 > > - orr ip, ip, r3, push #24 > > + orr ip, ip, r3, lspush #24 > > str ip, [r0] > > bne 5b > > mov pc, lr > > > > -6: mov ip, r3, pull #24 > > +6: mov ip, r3, lspull #24 > > ldr r3, [r1], #4 > > subs r2, r2, #1 > > - orr ip, ip, r3, push #8 > > + orr ip, ip, r3, lspush #8 > > str ip, [r0] > > bne 6b > > mov pc, lr > > diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S > > index 938fc14..d1fc0c0 100644 > > --- a/arch/arm/lib/memmove.S > > +++ b/arch/arm/lib/memmove.S > > @@ -147,24 +147,24 @@ ENTRY(memmove) > > > > 12: PLD( pld [r1, #-128] ) > > 13: ldmdb r1!, {r7, r8, r9, ip} > > - mov lr, r3, push #\push > > + mov lr, r3, lspush #\push > > subs r2, r2, #32 > > ldmdb r1!, {r3, r4, r5, r6} > > - orr lr, lr, ip, pull #\pull > > - mov ip, ip, push #\push > > - orr ip, ip, r9, pull #\pull > > - mov r9, r9, push #\push > > - orr r9, r9, r8, pull #\pull > > - mov r8, r8, push #\push > > - orr r8, r8, r7, pull #\pull > > - mov r7, r7, push #\push > > - orr r7, r7, r6, pull #\pull > > - mov r6, r6, push #\push > > - orr r6, r6, r5, pull #\pull > > - mov r5, r5, push #\push > > - orr r5, r5, r4, pull #\pull > > - mov r4, r4, push #\push > > - orr r4, r4, r3, pull #\pull > > + orr lr, lr, ip, lspull #\pull > > + mov ip, ip, lspush #\push > > + orr ip, ip, r9, lspull #\pull > > + mov r9, r9, lspush #\push > > + orr r9, r9, r8, lspull #\pull > > + mov r8, r8, lspush #\push > > + orr r8, r8, r7, lspull #\pull > > + mov r7, r7, lspush #\push > > + orr r7, r7, r6, lspull #\pull > > + mov r6, r6, lspush #\push > > + orr r6, r6, r5, lspull #\pull > > + mov r5, r5, lspush #\push > > + orr r5, r5, r4, lspull #\pull > > + mov r4, r4, lspush #\push > > + orr r4, r4, r3, lspull #\pull > > stmdb r0!, {r4 - r9, ip, lr} > > bge 12b > > PLD( cmn r2, #96 ) > > @@ -175,10 +175,10 @@ ENTRY(memmove) > > 14: ands ip, r2, #28 > > beq 16f > > > > -15: mov lr, r3, push #\push > > +15: mov lr, r3, lspush #\push > > ldr r3, [r1, #-4]! > > subs ip, ip, #4 > > - orr lr, lr, r3, pull #\pull > > + orr lr, lr, r3, lspull #\pull > > str lr, [r0, #-4]! > > bgt 15b > > CALGN( cmp r2, #0 ) > > diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S > > index 5c908b1..e505209 100644 > > --- a/arch/arm/lib/uaccess.S > > +++ b/arch/arm/lib/uaccess.S > > @@ -117,9 +117,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > > .Lc2u_1fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lc2u_1nowords > > - mov r3, r7, pull #8 > > + mov r3, r7, lspull #8 > > ldr r7, [r1], #4 > > - orr r3, r3, r7, push #24 > > + orr r3, r3, r7, lspush #24 > > USER( TUSER( str) r3, [r0], #4) @ May fault > > mov ip, r0, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -131,30 +131,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > > subs ip, ip, #16 > > blt .Lc2u_1rem8lp > > > > -.Lc2u_1cpy8lp: mov r3, r7, pull #8 > > +.Lc2u_1cpy8lp: mov r3, r7, lspull #8 > > ldmia r1!, {r4 - r7} > > subs ip, ip, #16 > > - orr r3, r3, r4, push #24 > > - mov r4, r4, pull #8 > > - orr r4, r4, r5, push #24 > > - mov r5, r5, pull #8 > > - orr r5, r5, r6, push #24 > > - mov r6, r6, pull #8 > > - orr r6, r6, r7, push #24 > > + orr r3, r3, r4, lspush #24 > > + mov r4, r4, lspull #8 > > + orr r4, r4, r5, lspush #24 > > + mov r5, r5, lspull #8 > > + orr r5, r5, r6, lspush #24 > > + mov r6, r6, lspull #8 > > + orr r6, r6, r7, lspush #24 > > stmia r0!, {r3 - r6} @ Shouldnt fault > > bpl .Lc2u_1cpy8lp > > > > .Lc2u_1rem8lp: tst ip, #8 > > - movne r3, r7, pull #8 > > + movne r3, r7, lspull #8 > > ldmneia r1!, {r4, r7} > > - orrne r3, r3, r4, push #24 > > - movne r4, r4, pull #8 > > - orrne r4, r4, r7, push #24 > > + orrne r3, r3, r4, lspush #24 > > + movne r4, r4, lspull #8 > > + orrne r4, r4, r7, lspush #24 > > stmneia r0!, {r3 - r4} @ Shouldnt fault > > tst ip, #4 > > - movne r3, r7, pull #8 > > + movne r3, r7, lspull #8 > > ldrne r7, [r1], #4 > > - orrne r3, r3, r7, push #24 > > + orrne r3, r3, r7, lspush #24 > > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > > ands ip, ip, #3 > > beq .Lc2u_1fupi > > @@ -172,9 +172,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > > .Lc2u_2fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lc2u_2nowords > > - mov r3, r7, pull #16 > > + mov r3, r7, lspull #16 > > ldr r7, [r1], #4 > > - orr r3, r3, r7, push #16 > > + orr r3, r3, r7, lspush #16 > > USER( TUSER( str) r3, [r0], #4) @ May fault > > mov ip, r0, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -186,30 +186,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > > subs ip, ip, #16 > > blt .Lc2u_2rem8lp > > > > -.Lc2u_2cpy8lp: mov r3, r7, pull #16 > > +.Lc2u_2cpy8lp: mov r3, r7, lspull #16 > > ldmia r1!, {r4 - r7} > > subs ip, ip, #16 > > - orr r3, r3, r4, push #16 > > - mov r4, r4, pull #16 > > - orr r4, r4, r5, push #16 > > - mov r5, r5, pull #16 > > - orr r5, r5, r6, push #16 > > - mov r6, r6, pull #16 > > - orr r6, r6, r7, push #16 > > + orr r3, r3, r4, lspush #16 > > + mov r4, r4, lspull #16 > > + orr r4, r4, r5, lspush #16 > > + mov r5, r5, lspull #16 > > + orr r5, r5, r6, lspush #16 > > + mov r6, r6, lspull #16 > > + orr r6, r6, r7, lspush #16 > > stmia r0!, {r3 - r6} @ Shouldnt fault > > bpl .Lc2u_2cpy8lp > > > > .Lc2u_2rem8lp: tst ip, #8 > > - movne r3, r7, pull #16 > > + movne r3, r7, lspull #16 > > ldmneia r1!, {r4, r7} > > - orrne r3, r3, r4, push #16 > > - movne r4, r4, pull #16 > > - orrne r4, r4, r7, push #16 > > + orrne r3, r3, r4, lspush #16 > > + movne r4, r4, lspull #16 > > + orrne r4, r4, r7, lspush #16 > > stmneia r0!, {r3 - r4} @ Shouldnt fault > > tst ip, #4 > > - movne r3, r7, pull #16 > > + movne r3, r7, lspull #16 > > ldrne r7, [r1], #4 > > - orrne r3, r3, r7, push #16 > > + orrne r3, r3, r7, lspush #16 > > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > > ands ip, ip, #3 > > beq .Lc2u_2fupi > > @@ -227,9 +227,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault > > .Lc2u_3fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lc2u_3nowords > > - mov r3, r7, pull #24 > > + mov r3, r7, lspull #24 > > ldr r7, [r1], #4 > > - orr r3, r3, r7, push #8 > > + orr r3, r3, r7, lspush #8 > > USER( TUSER( str) r3, [r0], #4) @ May fault > > mov ip, r0, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -241,30 +241,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault > > subs ip, ip, #16 > > blt .Lc2u_3rem8lp > > > > -.Lc2u_3cpy8lp: mov r3, r7, pull #24 > > +.Lc2u_3cpy8lp: mov r3, r7, lspull #24 > > ldmia r1!, {r4 - r7} > > subs ip, ip, #16 > > - orr r3, r3, r4, push #8 > > - mov r4, r4, pull #24 > > - orr r4, r4, r5, push #8 > > - mov r5, r5, pull #24 > > - orr r5, r5, r6, push #8 > > - mov r6, r6, pull #24 > > - orr r6, r6, r7, push #8 > > + orr r3, r3, r4, lspush #8 > > + mov r4, r4, lspull #24 > > + orr r4, r4, r5, lspush #8 > > + mov r5, r5, lspull #24 > > + orr r5, r5, r6, lspush #8 > > + mov r6, r6, lspull #24 > > + orr r6, r6, r7, lspush #8 > > stmia r0!, {r3 - r6} @ Shouldnt fault > > bpl .Lc2u_3cpy8lp > > > > .Lc2u_3rem8lp: tst ip, #8 > > - movne r3, r7, pull #24 > > + movne r3, r7, lspull #24 > > ldmneia r1!, {r4, r7} > > - orrne r3, r3, r4, push #8 > > - movne r4, r4, pull #24 > > - orrne r4, r4, r7, push #8 > > + orrne r3, r3, r4, lspush #8 > > + movne r4, r4, lspull #24 > > + orrne r4, r4, r7, lspush #8 > > stmneia r0!, {r3 - r4} @ Shouldnt fault > > tst ip, #4 > > - movne r3, r7, pull #24 > > + movne r3, r7, lspull #24 > > ldrne r7, [r1], #4 > > - orrne r3, r3, r7, push #8 > > + orrne r3, r3, r7, lspush #8 > > TUSER( strne) r3, [r0], #4 @ Shouldnt fault > > ands ip, ip, #3 > > beq .Lc2u_3fupi > > @@ -382,9 +382,9 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > > .Lcfu_1fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lcfu_1nowords > > - mov r3, r7, pull #8 > > + mov r3, r7, lspull #8 > > USER( TUSER( ldr) r7, [r1], #4) @ May fault > > - orr r3, r3, r7, push #24 > > + orr r3, r3, r7, lspush #24 > > str r3, [r0], #4 > > mov ip, r1, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -396,30 +396,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > > subs ip, ip, #16 > > blt .Lcfu_1rem8lp > > > > -.Lcfu_1cpy8lp: mov r3, r7, pull #8 > > +.Lcfu_1cpy8lp: mov r3, r7, lspull #8 > > ldmia r1!, {r4 - r7} @ Shouldnt fault > > subs ip, ip, #16 > > - orr r3, r3, r4, push #24 > > - mov r4, r4, pull #8 > > - orr r4, r4, r5, push #24 > > - mov r5, r5, pull #8 > > - orr r5, r5, r6, push #24 > > - mov r6, r6, pull #8 > > - orr r6, r6, r7, push #24 > > + orr r3, r3, r4, lspush #24 > > + mov r4, r4, lspull #8 > > + orr r4, r4, r5, lspush #24 > > + mov r5, r5, lspull #8 > > + orr r5, r5, r6, lspush #24 > > + mov r6, r6, lspull #8 > > + orr r6, r6, r7, lspush #24 > > stmia r0!, {r3 - r6} > > bpl .Lcfu_1cpy8lp > > > > .Lcfu_1rem8lp: tst ip, #8 > > - movne r3, r7, pull #8 > > + movne r3, r7, lspull #8 > > ldmneia r1!, {r4, r7} @ Shouldnt fault > > - orrne r3, r3, r4, push #24 > > - movne r4, r4, pull #8 > > - orrne r4, r4, r7, push #24 > > + orrne r3, r3, r4, lspush #24 > > + movne r4, r4, lspull #8 > > + orrne r4, r4, r7, lspush #24 > > stmneia r0!, {r3 - r4} > > tst ip, #4 > > - movne r3, r7, pull #8 > > + movne r3, r7, lspull #8 > > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > > - orrne r3, r3, r7, push #24 > > + orrne r3, r3, r7, lspush #24 > > strne r3, [r0], #4 > > ands ip, ip, #3 > > beq .Lcfu_1fupi > > @@ -437,9 +437,9 @@ USER( TUSER( ldrne) r7, [r1], #4) @ May fault > > .Lcfu_2fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lcfu_2nowords > > - mov r3, r7, pull #16 > > + mov r3, r7, lspull #16 > > USER( TUSER( ldr) r7, [r1], #4) @ May fault > > - orr r3, r3, r7, push #16 > > + orr r3, r3, r7, lspush #16 > > str r3, [r0], #4 > > mov ip, r1, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -452,30 +452,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > > blt .Lcfu_2rem8lp > > > > > > -.Lcfu_2cpy8lp: mov r3, r7, pull #16 > > +.Lcfu_2cpy8lp: mov r3, r7, lspull #16 > > ldmia r1!, {r4 - r7} @ Shouldnt fault > > subs ip, ip, #16 > > - orr r3, r3, r4, push #16 > > - mov r4, r4, pull #16 > > - orr r4, r4, r5, push #16 > > - mov r5, r5, pull #16 > > - orr r5, r5, r6, push #16 > > - mov r6, r6, pull #16 > > - orr r6, r6, r7, push #16 > > + orr r3, r3, r4, lspush #16 > > + mov r4, r4, lspull #16 > > + orr r4, r4, r5, lspush #16 > > + mov r5, r5, lspull #16 > > + orr r5, r5, r6, lspush #16 > > + mov r6, r6, lspull #16 > > + orr r6, r6, r7, lspush #16 > > stmia r0!, {r3 - r6} > > bpl .Lcfu_2cpy8lp > > > > .Lcfu_2rem8lp: tst ip, #8 > > - movne r3, r7, pull #16 > > + movne r3, r7, lspull #16 > > ldmneia r1!, {r4, r7} @ Shouldnt fault > > - orrne r3, r3, r4, push #16 > > - movne r4, r4, pull #16 > > - orrne r4, r4, r7, push #16 > > + orrne r3, r3, r4, lspush #16 > > + movne r4, r4, lspull #16 > > + orrne r4, r4, r7, lspush #16 > > stmneia r0!, {r3 - r4} > > tst ip, #4 > > - movne r3, r7, pull #16 > > + movne r3, r7, lspull #16 > > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > > - orrne r3, r3, r7, push #16 > > + orrne r3, r3, r7, lspush #16 > > strne r3, [r0], #4 > > ands ip, ip, #3 > > beq .Lcfu_2fupi > > @@ -493,9 +493,9 @@ USER( TUSER( ldrgtb) r3, [r1], #0) @ May fault > > .Lcfu_3fupi: subs r2, r2, #4 > > addmi ip, r2, #4 > > bmi .Lcfu_3nowords > > - mov r3, r7, pull #24 > > + mov r3, r7, lspull #24 > > USER( TUSER( ldr) r7, [r1], #4) @ May fault > > - orr r3, r3, r7, push #8 > > + orr r3, r3, r7, lspush #8 > > str r3, [r0], #4 > > mov ip, r1, lsl #32 - PAGE_SHIFT > > rsb ip, ip, #0 > > @@ -507,30 +507,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault > > subs ip, ip, #16 > > blt .Lcfu_3rem8lp > > > > -.Lcfu_3cpy8lp: mov r3, r7, pull #24 > > +.Lcfu_3cpy8lp: mov r3, r7, lspull #24 > > ldmia r1!, {r4 - r7} @ Shouldnt fault > > - orr r3, r3, r4, push #8 > > - mov r4, r4, pull #24 > > - orr r4, r4, r5, push #8 > > - mov r5, r5, pull #24 > > - orr r5, r5, r6, push #8 > > - mov r6, r6, pull #24 > > - orr r6, r6, r7, push #8 > > + orr r3, r3, r4, lspush #8 > > + mov r4, r4, lspull #24 > > + orr r4, r4, r5, lspush #8 > > + mov r5, r5, lspull #24 > > + orr r5, r5, r6, lspush #8 > > + mov r6, r6, lspull #24 > > + orr r6, r6, r7, lspush #8 > > stmia r0!, {r3 - r6} > > subs ip, ip, #16 > > bpl .Lcfu_3cpy8lp > > > > .Lcfu_3rem8lp: tst ip, #8 > > - movne r3, r7, pull #24 > > + movne r3, r7, lspull #24 > > ldmneia r1!, {r4, r7} @ Shouldnt fault > > - orrne r3, r3, r4, push #8 > > - movne r4, r4, pull #24 > > - orrne r4, r4, r7, push #8 > > + orrne r3, r3, r4, lspush #8 > > + movne r4, r4, lspull #24 > > + orrne r4, r4, r7, lspush #8 > > stmneia r0!, {r3 - r4} > > tst ip, #4 > > - movne r3, r7, pull #24 > > + movne r3, r7, lspull #24 > > USER( TUSER( ldrne) r7, [r1], #4) @ May fault > > - orrne r3, r3, r7, push #8 > > + orrne r3, r3, r7, lspush #8 > > strne r3, [r0], #4 > > ands ip, ip, #3 > > beq .Lcfu_3fupi > > -- > > 1.8.1.4 > > > > _______________________________________________ > linaro-kernel mailing list > linaro-kernel@lists.linaro.org > http://lists.linaro.org/mailman/listinfo/linaro-kernel
On Tue, Feb 11, 2014 at 03:54:37PM +0000, Dave Martin wrote: > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > > On Mon, 10 Feb 2014, Victor Kamensky wrote: > > > > > Renames logical shift macros, 'push' and 'pull', defined in > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > > > > I don't have any fundamental objection to the idea, except maybe for the > > actual names. I just can't come up with anything better though. > > For consistency with the get_byte_ stuff, how about: > > push -> towards_byte_0 > pull -> from_byte_0 > > That may make the purpose a little clearer, too. > > (Assuming I've got them the right way around...) (Actually, I did get it the wrong way round by the look of it. But you get the general idea.) Cheers ---Dave
On Tue, 11 Feb 2014, Dave Martin wrote: > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > > On Mon, 10 Feb 2014, Victor Kamensky wrote: > > > > > Renames logical shift macros, 'push' and 'pull', defined in > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > > > > I don't have any fundamental objection to the idea, except maybe for the > > actual names. I just can't come up with anything better though. > > For consistency with the get_byte_ stuff, how about: > > push -> towards_byte_0 > pull -> from_byte_0 > > That may make the purpose a little clearer, too. I don't know if mov r0, r1, from_byte_0 #8 is that much clearer though. > (Assuming I've got them the right way around...) As you later noticed you got it wrong. :-) Most likely because "full from" and "push towards" are common english constructs. Nicolas
On Tue, Feb 11, 2014 at 12:09:35PM -0500, Nicolas Pitre wrote: > On Tue, 11 Feb 2014, Dave Martin wrote: > > > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > > > On Mon, 10 Feb 2014, Victor Kamensky wrote: > > > > > > > Renames logical shift macros, 'push' and 'pull', defined in > > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > > > > > > I don't have any fundamental objection to the idea, except maybe for the > > > actual names. I just can't come up with anything better though. > > > > For consistency with the get_byte_ stuff, how about: > > > > push -> towards_byte_0 > > pull -> from_byte_0 > > > > That may make the purpose a little clearer, too. > > I don't know if > > mov r0, r1, from_byte_0 #8 > > is that much clearer though. > > > (Assuming I've got them the right way around...) > > As you later noticed you got it wrong. :-) > Most likely because "full from" and "push towards" are common english > constructs. No more so than "pull towards" and "push from". I'll blame it on the fact that the get_byte_ macros have wrong- endian numbering, which I didn't look at carefully enough ;) But I think we proved that my suggestion didn't really make things easier to understand... Cheers ---Dave
On Tue, 11 Feb 2014, Dave Martin wrote: > On Tue, Feb 11, 2014 at 12:09:35PM -0500, Nicolas Pitre wrote: > > On Tue, 11 Feb 2014, Dave Martin wrote: > > > > > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > > > > On Mon, 10 Feb 2014, Victor Kamensky wrote: > > > > > > > > > Renames logical shift macros, 'push' and 'pull', defined in > > > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > > > > > > > > I don't have any fundamental objection to the idea, except maybe for the > > > > actual names. I just can't come up with anything better though. > > > > > > For consistency with the get_byte_ stuff, how about: > > > > > > push -> towards_byte_0 > > > pull -> from_byte_0 > > > > > > That may make the purpose a little clearer, too. > > > > I don't know if > > > > mov r0, r1, from_byte_0 #8 > > > > is that much clearer though. > > > > > (Assuming I've got them the right way around...) > > > > As you later noticed you got it wrong. :-) > > Most likely because "full from" and "push towards" are common english > > constructs. > > No more so than "pull towards" and "push from". OK. I'll trust you on that account. > I'll blame it on the fact that the get_byte_ macros have wrong- > endian numbering, which I didn't look at carefully enough ;) > > But I think we proved that my suggestion didn't really make things > easier to understand... What about: push -> next pull -> prev ? That would make: mov r0, r1, next #8 Nicolas
On 11 February 2014 09:58, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: > On Tue, 11 Feb 2014, Dave Martin wrote: > >> On Tue, Feb 11, 2014 at 12:09:35PM -0500, Nicolas Pitre wrote: >> > On Tue, 11 Feb 2014, Dave Martin wrote: >> > >> > > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: >> > > > On Mon, 10 Feb 2014, Victor Kamensky wrote: >> > > > >> > > > > Renames logical shift macros, 'push' and 'pull', defined in >> > > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. >> > > > >> > > > I don't have any fundamental objection to the idea, except maybe for the >> > > > actual names. I just can't come up with anything better though. >> > > >> > > For consistency with the get_byte_ stuff, how about: >> > > >> > > push -> towards_byte_0 >> > > pull -> from_byte_0 >> > > >> > > That may make the purpose a little clearer, too. >> > >> > I don't know if >> > >> > mov r0, r1, from_byte_0 #8 >> > >> > is that much clearer though. >> > >> > > (Assuming I've got them the right way around...) >> > >> > As you later noticed you got it wrong. :-) >> > Most likely because "full from" and "push towards" are common english >> > constructs. >> >> No more so than "pull towards" and "push from". > > OK. I'll trust you on that account. > >> I'll blame it on the fact that the get_byte_ macros have wrong- >> endian numbering, which I didn't look at carefully enough ;) >> >> But I think we proved that my suggestion didn't really make things >> easier to understand... > > What about: > > push -> next > pull -> prev > > ? > > That would make: > > mov r0, r1, next #8 I am not native English speaker, so subtle details of your discussion go above my head :). For me those tokens were just symbols with specific meaning of logical shifts and selected endianness. I'll do as you decide. Quick grep over .S files under arch/arm seems 'next' and 'prev' will be OK and I did build that confirms that. One nit/question though: there are some cases where 'push' and 'pull' macros were used in macros and macro parameters were also called 'push' and 'pull'. I.e something like this: mov r3, lr, pull #\pull with rename 'pull' to 'lspull' I did not bother to rename macro parameters because they are separate, have just local context and 'lspull' is close to 'pull'. Resulting proposed diff was: - mov r3, lr, pull #\pull + mov r3, lr, lspull #\pull I assume that if we change 'push -> next' and 'pull -> prev' I will need to rename macro parameters in the same way. So it will be: + mov r3, lr, prev #\prev Is it correct? Thanks, Victor > > Nicolas
On 11 February 2014 11:36, Victor Kamensky <victor.kamensky@linaro.org> wrote: > On 11 February 2014 09:58, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: >> On Tue, 11 Feb 2014, Dave Martin wrote: >> >>> On Tue, Feb 11, 2014 at 12:09:35PM -0500, Nicolas Pitre wrote: >>> > On Tue, 11 Feb 2014, Dave Martin wrote: >>> > >>> > > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: >>> > > > On Mon, 10 Feb 2014, Victor Kamensky wrote: >>> > > > >>> > > > > Renames logical shift macros, 'push' and 'pull', defined in >>> > > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. >>> > > > >>> > > > I don't have any fundamental objection to the idea, except maybe for the >>> > > > actual names. I just can't come up with anything better though. >>> > > >>> > > For consistency with the get_byte_ stuff, how about: >>> > > >>> > > push -> towards_byte_0 >>> > > pull -> from_byte_0 >>> > > >>> > > That may make the purpose a little clearer, too. >>> > >>> > I don't know if >>> > >>> > mov r0, r1, from_byte_0 #8 >>> > >>> > is that much clearer though. >>> > >>> > > (Assuming I've got them the right way around...) >>> > >>> > As you later noticed you got it wrong. :-) >>> > Most likely because "full from" and "push towards" are common english >>> > constructs. >>> >>> No more so than "pull towards" and "push from". >> >> OK. I'll trust you on that account. >> >>> I'll blame it on the fact that the get_byte_ macros have wrong- >>> endian numbering, which I didn't look at carefully enough ;) >>> >>> But I think we proved that my suggestion didn't really make things >>> easier to understand... >> >> What about: >> >> push -> next >> pull -> prev >> >> ? >> >> That would make: >> >> mov r0, r1, next #8 > > I am not native English speaker, so subtle details of your > discussion go above my head :). For me those tokens > were just symbols with specific meaning of logical shifts > and selected endianness. I'll do as you decide. Quick > grep over .S files under arch/arm seems 'next' and 'prev' > will be OK and I did build that confirms that. Forgot to mention one detail. There is a case in ./nwfpe/entry.S file where 'next' is used as label name. I guess, it should work if macro would rename it into lsl or lsr label name. And/or we could rename the label. Wondering ... whether idea to have those macros name in way that coincides with English words would lead us to some conflict earlier or latter. With this respect lspull and lspush IMHO are somewhat better because they are sort of abbreviations. Thanks, Victor > One nit/question though: there are some cases where > 'push' and 'pull' macros were used in macros and macro > parameters were also called 'push' and 'pull'. I.e something > like this: > > mov r3, lr, pull #\pull > > with rename 'pull' to 'lspull' I did not bother to rename > macro parameters because they are separate, have > just local context and 'lspull' is close to 'pull'. Resulting > proposed diff was: > - mov r3, lr, pull #\pull > + mov r3, lr, lspull #\pull > > I assume that if we change 'push -> next' and 'pull -> prev' I > will need to rename macro parameters in the same way. > So it will be: > + mov r3, lr, prev #\prev > Is it correct? > > Thanks, > Victor > >> >> Nicolas
On Tue, 11 Feb 2014, Victor Kamensky wrote: > On 11 February 2014 11:36, Victor Kamensky <victor.kamensky@linaro.org> wrote: > > On 11 February 2014 09:58, Nicolas Pitre <nicolas.pitre@linaro.org> wrote: > >> On Tue, 11 Feb 2014, Dave Martin wrote: > >> > >>> On Tue, Feb 11, 2014 at 12:09:35PM -0500, Nicolas Pitre wrote: > >>> > On Tue, 11 Feb 2014, Dave Martin wrote: > >>> > > >>> > > On Mon, Feb 10, 2014 at 04:30:01PM -0500, Nicolas Pitre wrote: > >>> > > > On Mon, 10 Feb 2014, Victor Kamensky wrote: > >>> > > > > >>> > > > > Renames logical shift macros, 'push' and 'pull', defined in > >>> > > > > arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. > >>> > > > > >>> > > > I don't have any fundamental objection to the idea, except maybe for the > >>> > > > actual names. I just can't come up with anything better though. > >>> > > > >>> > > For consistency with the get_byte_ stuff, how about: > >>> > > > >>> > > push -> towards_byte_0 > >>> > > pull -> from_byte_0 > >>> > > > >>> > > That may make the purpose a little clearer, too. > >>> > > >>> > I don't know if > >>> > > >>> > mov r0, r1, from_byte_0 #8 > >>> > > >>> > is that much clearer though. > >>> > > >>> > > (Assuming I've got them the right way around...) > >>> > > >>> > As you later noticed you got it wrong. :-) > >>> > Most likely because "full from" and "push towards" are common english > >>> > constructs. > >>> > >>> No more so than "pull towards" and "push from". > >> > >> OK. I'll trust you on that account. > >> > >>> I'll blame it on the fact that the get_byte_ macros have wrong- > >>> endian numbering, which I didn't look at carefully enough ;) > >>> > >>> But I think we proved that my suggestion didn't really make things > >>> easier to understand... > >> > >> What about: > >> > >> push -> next > >> pull -> prev > >> > >> ? > >> > >> That would make: > >> > >> mov r0, r1, next #8 > > > > I am not native English speaker, so subtle details of your > > discussion go above my head :). For me those tokens > > were just symbols with specific meaning of logical shifts > > and selected endianness. I'll do as you decide. Quick > > grep over .S files under arch/arm seems 'next' and 'prev' > > will be OK and I did build that confirms that. > > Forgot to mention one detail. There is a case in > ./nwfpe/entry.S file where 'next' is used as label name. I guess, > it should work if macro would rename it into lsl or lsr label > name. And/or we could rename the label. > > Wondering ... whether idea to have those macros > name in way that coincides with English words would lead > us to some conflict earlier or latter. With this respect lspull > and lspush IMHO are somewhat better because they are > sort of abbreviations. Agreed. I think it was worth exploring different alternatives, but nothing really better came out. Nicolas
diff --git a/arch/arm/include/asm/assembler.h b/arch/arm/include/asm/assembler.h index 5c22851..380ac4f 100644 --- a/arch/arm/include/asm/assembler.h +++ b/arch/arm/include/asm/assembler.h @@ -30,8 +30,8 @@ * Endian independent macros for shifting bytes within registers. */ #ifndef __ARMEB__ -#define pull lsr -#define push lsl +#define lspull lsr +#define lspush lsl #define get_byte_0 lsl #0 #define get_byte_1 lsr #8 #define get_byte_2 lsr #16 @@ -41,8 +41,8 @@ #define put_byte_2 lsl #16 #define put_byte_3 lsl #24 #else -#define pull lsl -#define push lsr +#define lspull lsl +#define lspush lsr #define get_byte_0 lsr #24 #define get_byte_1 lsr #16 #define get_byte_2 lsr #8 diff --git a/arch/arm/lib/copy_template.S b/arch/arm/lib/copy_template.S index 805e3f8..3bc8eb8 100644 --- a/arch/arm/lib/copy_template.S +++ b/arch/arm/lib/copy_template.S @@ -197,24 +197,24 @@ 12: PLD( pld [r1, #124] ) 13: ldr4w r1, r4, r5, r6, r7, abort=19f - mov r3, lr, pull #\pull + mov r3, lr, lspull #\pull subs r2, r2, #32 ldr4w r1, r8, r9, ip, lr, abort=19f - orr r3, r3, r4, push #\push - mov r4, r4, pull #\pull - orr r4, r4, r5, push #\push - mov r5, r5, pull #\pull - orr r5, r5, r6, push #\push - mov r6, r6, pull #\pull - orr r6, r6, r7, push #\push - mov r7, r7, pull #\pull - orr r7, r7, r8, push #\push - mov r8, r8, pull #\pull - orr r8, r8, r9, push #\push - mov r9, r9, pull #\pull - orr r9, r9, ip, push #\push - mov ip, ip, pull #\pull - orr ip, ip, lr, push #\push + orr r3, r3, r4, lspush #\push + mov r4, r4, lspull #\pull + orr r4, r4, r5, lspush #\push + mov r5, r5, lspull #\pull + orr r5, r5, r6, lspush #\push + mov r6, r6, lspull #\pull + orr r6, r6, r7, lspush #\push + mov r7, r7, lspull #\pull + orr r7, r7, r8, lspush #\push + mov r8, r8, lspull #\pull + orr r8, r8, r9, lspush #\push + mov r9, r9, lspull #\pull + orr r9, r9, ip, lspush #\push + mov ip, ip, lspull #\pull + orr ip, ip, lr, lspush #\push str8w r0, r3, r4, r5, r6, r7, r8, r9, ip, , abort=19f bge 12b PLD( cmn r2, #96 ) @@ -225,10 +225,10 @@ 14: ands ip, r2, #28 beq 16f -15: mov r3, lr, pull #\pull +15: mov r3, lr, lspull #\pull ldr1w r1, lr, abort=21f subs ip, ip, #4 - orr r3, r3, lr, push #\push + orr r3, r3, lr, lspush #\push str1w r0, r3, abort=21f bgt 15b CALGN( cmp r2, #0 ) diff --git a/arch/arm/lib/csumpartialcopygeneric.S b/arch/arm/lib/csumpartialcopygeneric.S index d620a5f..d6e742d 100644 --- a/arch/arm/lib/csumpartialcopygeneric.S +++ b/arch/arm/lib/csumpartialcopygeneric.S @@ -141,7 +141,7 @@ FN_ENTRY tst len, #2 mov r5, r4, get_byte_0 beq .Lexit - adcs sum, sum, r4, push #16 + adcs sum, sum, r4, lspush #16 strb r5, [dst], #1 mov r5, r4, get_byte_1 strb r5, [dst], #1 @@ -171,23 +171,23 @@ FN_ENTRY cmp ip, #2 beq .Lsrc2_aligned bhi .Lsrc3_aligned - mov r4, r5, pull #8 @ C = 0 + mov r4, r5, lspull #8 @ C = 0 bics ip, len, #15 beq 2f 1: load4l r5, r6, r7, r8 - orr r4, r4, r5, push #24 - mov r5, r5, pull #8 - orr r5, r5, r6, push #24 - mov r6, r6, pull #8 - orr r6, r6, r7, push #24 - mov r7, r7, pull #8 - orr r7, r7, r8, push #24 + orr r4, r4, r5, lspush #24 + mov r5, r5, lspull #8 + orr r5, r5, r6, lspush #24 + mov r6, r6, lspull #8 + orr r6, r6, r7, lspush #24 + mov r7, r7, lspull #8 + orr r7, r7, r8, lspush #24 stmia dst!, {r4, r5, r6, r7} adcs sum, sum, r4 adcs sum, sum, r5 adcs sum, sum, r6 adcs sum, sum, r7 - mov r4, r8, pull #8 + mov r4, r8, lspull #8 sub ip, ip, #16 teq ip, #0 bne 1b @@ -196,50 +196,50 @@ FN_ENTRY tst ip, #8 beq 3f load2l r5, r6 - orr r4, r4, r5, push #24 - mov r5, r5, pull #8 - orr r5, r5, r6, push #24 + orr r4, r4, r5, lspush #24 + mov r5, r5, lspull #8 + orr r5, r5, r6, lspush #24 stmia dst!, {r4, r5} adcs sum, sum, r4 adcs sum, sum, r5 - mov r4, r6, pull #8 + mov r4, r6, lspull #8 tst ip, #4 beq 4f 3: load1l r5 - orr r4, r4, r5, push #24 + orr r4, r4, r5, lspush #24 str r4, [dst], #4 adcs sum, sum, r4 - mov r4, r5, pull #8 + mov r4, r5, lspull #8 4: ands len, len, #3 beq .Ldone mov r5, r4, get_byte_0 tst len, #2 beq .Lexit - adcs sum, sum, r4, push #16 + adcs sum, sum, r4, lspush #16 strb r5, [dst], #1 mov r5, r4, get_byte_1 strb r5, [dst], #1 mov r5, r4, get_byte_2 b .Lexit -.Lsrc2_aligned: mov r4, r5, pull #16 +.Lsrc2_aligned: mov r4, r5, lspull #16 adds sum, sum, #0 bics ip, len, #15 beq 2f 1: load4l r5, r6, r7, r8 - orr r4, r4, r5, push #16 - mov r5, r5, pull #16 - orr r5, r5, r6, push #16 - mov r6, r6, pull #16 - orr r6, r6, r7, push #16 - mov r7, r7, pull #16 - orr r7, r7, r8, push #16 + orr r4, r4, r5, lspush #16 + mov r5, r5, lspull #16 + orr r5, r5, r6, lspush #16 + mov r6, r6, lspull #16 + orr r6, r6, r7, lspush #16 + mov r7, r7, lspull #16 + orr r7, r7, r8, lspush #16 stmia dst!, {r4, r5, r6, r7} adcs sum, sum, r4 adcs sum, sum, r5 adcs sum, sum, r6 adcs sum, sum, r7 - mov r4, r8, pull #16 + mov r4, r8, lspull #16 sub ip, ip, #16 teq ip, #0 bne 1b @@ -248,20 +248,20 @@ FN_ENTRY tst ip, #8 beq 3f load2l r5, r6 - orr r4, r4, r5, push #16 - mov r5, r5, pull #16 - orr r5, r5, r6, push #16 + orr r4, r4, r5, lspush #16 + mov r5, r5, lspull #16 + orr r5, r5, r6, lspush #16 stmia dst!, {r4, r5} adcs sum, sum, r4 adcs sum, sum, r5 - mov r4, r6, pull #16 + mov r4, r6, lspull #16 tst ip, #4 beq 4f 3: load1l r5 - orr r4, r4, r5, push #16 + orr r4, r4, r5, lspush #16 str r4, [dst], #4 adcs sum, sum, r4 - mov r4, r5, pull #16 + mov r4, r5, lspull #16 4: ands len, len, #3 beq .Ldone mov r5, r4, get_byte_0 @@ -276,24 +276,24 @@ FN_ENTRY load1b r5 b .Lexit -.Lsrc3_aligned: mov r4, r5, pull #24 +.Lsrc3_aligned: mov r4, r5, lspull #24 adds sum, sum, #0 bics ip, len, #15 beq 2f 1: load4l r5, r6, r7, r8 - orr r4, r4, r5, push #8 - mov r5, r5, pull #24 - orr r5, r5, r6, push #8 - mov r6, r6, pull #24 - orr r6, r6, r7, push #8 - mov r7, r7, pull #24 - orr r7, r7, r8, push #8 + orr r4, r4, r5, lspush #8 + mov r5, r5, lspull #24 + orr r5, r5, r6, lspush #8 + mov r6, r6, lspull #24 + orr r6, r6, r7, lspush #8 + mov r7, r7, lspull #24 + orr r7, r7, r8, lspush #8 stmia dst!, {r4, r5, r6, r7} adcs sum, sum, r4 adcs sum, sum, r5 adcs sum, sum, r6 adcs sum, sum, r7 - mov r4, r8, pull #24 + mov r4, r8, lspull #24 sub ip, ip, #16 teq ip, #0 bne 1b @@ -302,20 +302,20 @@ FN_ENTRY tst ip, #8 beq 3f load2l r5, r6 - orr r4, r4, r5, push #8 - mov r5, r5, pull #24 - orr r5, r5, r6, push #8 + orr r4, r4, r5, lspush #8 + mov r5, r5, lspull #24 + orr r5, r5, r6, lspush #8 stmia dst!, {r4, r5} adcs sum, sum, r4 adcs sum, sum, r5 - mov r4, r6, pull #24 + mov r4, r6, lspull #24 tst ip, #4 beq 4f 3: load1l r5 - orr r4, r4, r5, push #8 + orr r4, r4, r5, lspush #8 str r4, [dst], #4 adcs sum, sum, r4 - mov r4, r5, pull #24 + mov r4, r5, lspull #24 4: ands len, len, #3 beq .Ldone mov r5, r4, get_byte_0 @@ -326,7 +326,7 @@ FN_ENTRY load1l r4 mov r5, r4, get_byte_0 strb r5, [dst], #1 - adcs sum, sum, r4, push #24 + adcs sum, sum, r4, lspush #24 mov r5, r4, get_byte_1 b .Lexit FN_EXIT diff --git a/arch/arm/lib/io-readsl.S b/arch/arm/lib/io-readsl.S index 5fb97e7..7a74309 100644 --- a/arch/arm/lib/io-readsl.S +++ b/arch/arm/lib/io-readsl.S @@ -47,25 +47,25 @@ ENTRY(__raw_readsl) strb ip, [r1], #1 4: subs r2, r2, #1 - mov ip, r3, pull #24 + mov ip, r3, lspull #24 ldrne r3, [r0] - orrne ip, ip, r3, push #8 + orrne ip, ip, r3, lspush #8 strne ip, [r1], #4 bne 4b b 8f 5: subs r2, r2, #1 - mov ip, r3, pull #16 + mov ip, r3, lspull #16 ldrne r3, [r0] - orrne ip, ip, r3, push #16 + orrne ip, ip, r3, lspush #16 strne ip, [r1], #4 bne 5b b 7f 6: subs r2, r2, #1 - mov ip, r3, pull #8 + mov ip, r3, lspull #8 ldrne r3, [r0] - orrne ip, ip, r3, push #24 + orrne ip, ip, r3, lspush #24 strne ip, [r1], #4 bne 6b diff --git a/arch/arm/lib/io-writesl.S b/arch/arm/lib/io-writesl.S index 8d3b781..d0d104a 100644 --- a/arch/arm/lib/io-writesl.S +++ b/arch/arm/lib/io-writesl.S @@ -41,26 +41,26 @@ ENTRY(__raw_writesl) blt 5f bgt 6f -4: mov ip, r3, pull #16 +4: mov ip, r3, lspull #16 ldr r3, [r1], #4 subs r2, r2, #1 - orr ip, ip, r3, push #16 + orr ip, ip, r3, lspush #16 str ip, [r0] bne 4b mov pc, lr -5: mov ip, r3, pull #8 +5: mov ip, r3, lspull #8 ldr r3, [r1], #4 subs r2, r2, #1 - orr ip, ip, r3, push #24 + orr ip, ip, r3, lspush #24 str ip, [r0] bne 5b mov pc, lr -6: mov ip, r3, pull #24 +6: mov ip, r3, lspull #24 ldr r3, [r1], #4 subs r2, r2, #1 - orr ip, ip, r3, push #8 + orr ip, ip, r3, lspush #8 str ip, [r0] bne 6b mov pc, lr diff --git a/arch/arm/lib/memmove.S b/arch/arm/lib/memmove.S index 938fc14..d1fc0c0 100644 --- a/arch/arm/lib/memmove.S +++ b/arch/arm/lib/memmove.S @@ -147,24 +147,24 @@ ENTRY(memmove) 12: PLD( pld [r1, #-128] ) 13: ldmdb r1!, {r7, r8, r9, ip} - mov lr, r3, push #\push + mov lr, r3, lspush #\push subs r2, r2, #32 ldmdb r1!, {r3, r4, r5, r6} - orr lr, lr, ip, pull #\pull - mov ip, ip, push #\push - orr ip, ip, r9, pull #\pull - mov r9, r9, push #\push - orr r9, r9, r8, pull #\pull - mov r8, r8, push #\push - orr r8, r8, r7, pull #\pull - mov r7, r7, push #\push - orr r7, r7, r6, pull #\pull - mov r6, r6, push #\push - orr r6, r6, r5, pull #\pull - mov r5, r5, push #\push - orr r5, r5, r4, pull #\pull - mov r4, r4, push #\push - orr r4, r4, r3, pull #\pull + orr lr, lr, ip, lspull #\pull + mov ip, ip, lspush #\push + orr ip, ip, r9, lspull #\pull + mov r9, r9, lspush #\push + orr r9, r9, r8, lspull #\pull + mov r8, r8, lspush #\push + orr r8, r8, r7, lspull #\pull + mov r7, r7, lspush #\push + orr r7, r7, r6, lspull #\pull + mov r6, r6, lspush #\push + orr r6, r6, r5, lspull #\pull + mov r5, r5, lspush #\push + orr r5, r5, r4, lspull #\pull + mov r4, r4, lspush #\push + orr r4, r4, r3, lspull #\pull stmdb r0!, {r4 - r9, ip, lr} bge 12b PLD( cmn r2, #96 ) @@ -175,10 +175,10 @@ ENTRY(memmove) 14: ands ip, r2, #28 beq 16f -15: mov lr, r3, push #\push +15: mov lr, r3, lspush #\push ldr r3, [r1, #-4]! subs ip, ip, #4 - orr lr, lr, r3, pull #\pull + orr lr, lr, r3, lspull #\pull str lr, [r0, #-4]! bgt 15b CALGN( cmp r2, #0 ) diff --git a/arch/arm/lib/uaccess.S b/arch/arm/lib/uaccess.S index 5c908b1..e505209 100644 --- a/arch/arm/lib/uaccess.S +++ b/arch/arm/lib/uaccess.S @@ -117,9 +117,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault .Lc2u_1fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lc2u_1nowords - mov r3, r7, pull #8 + mov r3, r7, lspull #8 ldr r7, [r1], #4 - orr r3, r3, r7, push #24 + orr r3, r3, r7, lspush #24 USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -131,30 +131,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault subs ip, ip, #16 blt .Lc2u_1rem8lp -.Lc2u_1cpy8lp: mov r3, r7, pull #8 +.Lc2u_1cpy8lp: mov r3, r7, lspull #8 ldmia r1!, {r4 - r7} subs ip, ip, #16 - orr r3, r3, r4, push #24 - mov r4, r4, pull #8 - orr r4, r4, r5, push #24 - mov r5, r5, pull #8 - orr r5, r5, r6, push #24 - mov r6, r6, pull #8 - orr r6, r6, r7, push #24 + orr r3, r3, r4, lspush #24 + mov r4, r4, lspull #8 + orr r4, r4, r5, lspush #24 + mov r5, r5, lspull #8 + orr r5, r5, r6, lspush #24 + mov r6, r6, lspull #8 + orr r6, r6, r7, lspush #24 stmia r0!, {r3 - r6} @ Shouldnt fault bpl .Lc2u_1cpy8lp .Lc2u_1rem8lp: tst ip, #8 - movne r3, r7, pull #8 + movne r3, r7, lspull #8 ldmneia r1!, {r4, r7} - orrne r3, r3, r4, push #24 - movne r4, r4, pull #8 - orrne r4, r4, r7, push #24 + orrne r3, r3, r4, lspush #24 + movne r4, r4, lspull #8 + orrne r4, r4, r7, lspush #24 stmneia r0!, {r3 - r4} @ Shouldnt fault tst ip, #4 - movne r3, r7, pull #8 + movne r3, r7, lspull #8 ldrne r7, [r1], #4 - orrne r3, r3, r7, push #24 + orrne r3, r3, r7, lspush #24 TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_1fupi @@ -172,9 +172,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault .Lc2u_2fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lc2u_2nowords - mov r3, r7, pull #16 + mov r3, r7, lspull #16 ldr r7, [r1], #4 - orr r3, r3, r7, push #16 + orr r3, r3, r7, lspush #16 USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -186,30 +186,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault subs ip, ip, #16 blt .Lc2u_2rem8lp -.Lc2u_2cpy8lp: mov r3, r7, pull #16 +.Lc2u_2cpy8lp: mov r3, r7, lspull #16 ldmia r1!, {r4 - r7} subs ip, ip, #16 - orr r3, r3, r4, push #16 - mov r4, r4, pull #16 - orr r4, r4, r5, push #16 - mov r5, r5, pull #16 - orr r5, r5, r6, push #16 - mov r6, r6, pull #16 - orr r6, r6, r7, push #16 + orr r3, r3, r4, lspush #16 + mov r4, r4, lspull #16 + orr r4, r4, r5, lspush #16 + mov r5, r5, lspull #16 + orr r5, r5, r6, lspush #16 + mov r6, r6, lspull #16 + orr r6, r6, r7, lspush #16 stmia r0!, {r3 - r6} @ Shouldnt fault bpl .Lc2u_2cpy8lp .Lc2u_2rem8lp: tst ip, #8 - movne r3, r7, pull #16 + movne r3, r7, lspull #16 ldmneia r1!, {r4, r7} - orrne r3, r3, r4, push #16 - movne r4, r4, pull #16 - orrne r4, r4, r7, push #16 + orrne r3, r3, r4, lspush #16 + movne r4, r4, lspull #16 + orrne r4, r4, r7, lspush #16 stmneia r0!, {r3 - r4} @ Shouldnt fault tst ip, #4 - movne r3, r7, pull #16 + movne r3, r7, lspull #16 ldrne r7, [r1], #4 - orrne r3, r3, r7, push #16 + orrne r3, r3, r7, lspush #16 TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_2fupi @@ -227,9 +227,9 @@ USER( TUSER( strgtb) r3, [r0], #1) @ May fault .Lc2u_3fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lc2u_3nowords - mov r3, r7, pull #24 + mov r3, r7, lspull #24 ldr r7, [r1], #4 - orr r3, r3, r7, push #8 + orr r3, r3, r7, lspush #8 USER( TUSER( str) r3, [r0], #4) @ May fault mov ip, r0, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -241,30 +241,30 @@ USER( TUSER( str) r3, [r0], #4) @ May fault subs ip, ip, #16 blt .Lc2u_3rem8lp -.Lc2u_3cpy8lp: mov r3, r7, pull #24 +.Lc2u_3cpy8lp: mov r3, r7, lspull #24 ldmia r1!, {r4 - r7} subs ip, ip, #16 - orr r3, r3, r4, push #8 - mov r4, r4, pull #24 - orr r4, r4, r5, push #8 - mov r5, r5, pull #24 - orr r5, r5, r6, push #8 - mov r6, r6, pull #24 - orr r6, r6, r7, push #8 + orr r3, r3, r4, lspush #8 + mov r4, r4, lspull #24 + orr r4, r4, r5, lspush #8 + mov r5, r5, lspull #24 + orr r5, r5, r6, lspush #8 + mov r6, r6, lspull #24 + orr r6, r6, r7, lspush #8 stmia r0!, {r3 - r6} @ Shouldnt fault bpl .Lc2u_3cpy8lp .Lc2u_3rem8lp: tst ip, #8 - movne r3, r7, pull #24 + movne r3, r7, lspull #24 ldmneia r1!, {r4, r7} - orrne r3, r3, r4, push #8 - movne r4, r4, pull #24 - orrne r4, r4, r7, push #8 + orrne r3, r3, r4, lspush #8 + movne r4, r4, lspull #24 + orrne r4, r4, r7, lspush #8 stmneia r0!, {r3 - r4} @ Shouldnt fault tst ip, #4 - movne r3, r7, pull #24 + movne r3, r7, lspull #24 ldrne r7, [r1], #4 - orrne r3, r3, r7, push #8 + orrne r3, r3, r7, lspush #8 TUSER( strne) r3, [r0], #4 @ Shouldnt fault ands ip, ip, #3 beq .Lc2u_3fupi @@ -382,9 +382,9 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault .Lcfu_1fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lcfu_1nowords - mov r3, r7, pull #8 + mov r3, r7, lspull #8 USER( TUSER( ldr) r7, [r1], #4) @ May fault - orr r3, r3, r7, push #24 + orr r3, r3, r7, lspush #24 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -396,30 +396,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault subs ip, ip, #16 blt .Lcfu_1rem8lp -.Lcfu_1cpy8lp: mov r3, r7, pull #8 +.Lcfu_1cpy8lp: mov r3, r7, lspull #8 ldmia r1!, {r4 - r7} @ Shouldnt fault subs ip, ip, #16 - orr r3, r3, r4, push #24 - mov r4, r4, pull #8 - orr r4, r4, r5, push #24 - mov r5, r5, pull #8 - orr r5, r5, r6, push #24 - mov r6, r6, pull #8 - orr r6, r6, r7, push #24 + orr r3, r3, r4, lspush #24 + mov r4, r4, lspull #8 + orr r4, r4, r5, lspush #24 + mov r5, r5, lspull #8 + orr r5, r5, r6, lspush #24 + mov r6, r6, lspull #8 + orr r6, r6, r7, lspush #24 stmia r0!, {r3 - r6} bpl .Lcfu_1cpy8lp .Lcfu_1rem8lp: tst ip, #8 - movne r3, r7, pull #8 + movne r3, r7, lspull #8 ldmneia r1!, {r4, r7} @ Shouldnt fault - orrne r3, r3, r4, push #24 - movne r4, r4, pull #8 - orrne r4, r4, r7, push #24 + orrne r3, r3, r4, lspush #24 + movne r4, r4, lspull #8 + orrne r4, r4, r7, lspush #24 stmneia r0!, {r3 - r4} tst ip, #4 - movne r3, r7, pull #8 + movne r3, r7, lspull #8 USER( TUSER( ldrne) r7, [r1], #4) @ May fault - orrne r3, r3, r7, push #24 + orrne r3, r3, r7, lspush #24 strne r3, [r0], #4 ands ip, ip, #3 beq .Lcfu_1fupi @@ -437,9 +437,9 @@ USER( TUSER( ldrne) r7, [r1], #4) @ May fault .Lcfu_2fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lcfu_2nowords - mov r3, r7, pull #16 + mov r3, r7, lspull #16 USER( TUSER( ldr) r7, [r1], #4) @ May fault - orr r3, r3, r7, push #16 + orr r3, r3, r7, lspush #16 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -452,30 +452,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault blt .Lcfu_2rem8lp -.Lcfu_2cpy8lp: mov r3, r7, pull #16 +.Lcfu_2cpy8lp: mov r3, r7, lspull #16 ldmia r1!, {r4 - r7} @ Shouldnt fault subs ip, ip, #16 - orr r3, r3, r4, push #16 - mov r4, r4, pull #16 - orr r4, r4, r5, push #16 - mov r5, r5, pull #16 - orr r5, r5, r6, push #16 - mov r6, r6, pull #16 - orr r6, r6, r7, push #16 + orr r3, r3, r4, lspush #16 + mov r4, r4, lspull #16 + orr r4, r4, r5, lspush #16 + mov r5, r5, lspull #16 + orr r5, r5, r6, lspush #16 + mov r6, r6, lspull #16 + orr r6, r6, r7, lspush #16 stmia r0!, {r3 - r6} bpl .Lcfu_2cpy8lp .Lcfu_2rem8lp: tst ip, #8 - movne r3, r7, pull #16 + movne r3, r7, lspull #16 ldmneia r1!, {r4, r7} @ Shouldnt fault - orrne r3, r3, r4, push #16 - movne r4, r4, pull #16 - orrne r4, r4, r7, push #16 + orrne r3, r3, r4, lspush #16 + movne r4, r4, lspull #16 + orrne r4, r4, r7, lspush #16 stmneia r0!, {r3 - r4} tst ip, #4 - movne r3, r7, pull #16 + movne r3, r7, lspull #16 USER( TUSER( ldrne) r7, [r1], #4) @ May fault - orrne r3, r3, r7, push #16 + orrne r3, r3, r7, lspush #16 strne r3, [r0], #4 ands ip, ip, #3 beq .Lcfu_2fupi @@ -493,9 +493,9 @@ USER( TUSER( ldrgtb) r3, [r1], #0) @ May fault .Lcfu_3fupi: subs r2, r2, #4 addmi ip, r2, #4 bmi .Lcfu_3nowords - mov r3, r7, pull #24 + mov r3, r7, lspull #24 USER( TUSER( ldr) r7, [r1], #4) @ May fault - orr r3, r3, r7, push #8 + orr r3, r3, r7, lspush #8 str r3, [r0], #4 mov ip, r1, lsl #32 - PAGE_SHIFT rsb ip, ip, #0 @@ -507,30 +507,30 @@ USER( TUSER( ldr) r7, [r1], #4) @ May fault subs ip, ip, #16 blt .Lcfu_3rem8lp -.Lcfu_3cpy8lp: mov r3, r7, pull #24 +.Lcfu_3cpy8lp: mov r3, r7, lspull #24 ldmia r1!, {r4 - r7} @ Shouldnt fault - orr r3, r3, r4, push #8 - mov r4, r4, pull #24 - orr r4, r4, r5, push #8 - mov r5, r5, pull #24 - orr r5, r5, r6, push #8 - mov r6, r6, pull #24 - orr r6, r6, r7, push #8 + orr r3, r3, r4, lspush #8 + mov r4, r4, lspull #24 + orr r4, r4, r5, lspush #8 + mov r5, r5, lspull #24 + orr r5, r5, r6, lspush #8 + mov r6, r6, lspull #24 + orr r6, r6, r7, lspush #8 stmia r0!, {r3 - r6} subs ip, ip, #16 bpl .Lcfu_3cpy8lp .Lcfu_3rem8lp: tst ip, #8 - movne r3, r7, pull #24 + movne r3, r7, lspull #24 ldmneia r1!, {r4, r7} @ Shouldnt fault - orrne r3, r3, r4, push #8 - movne r4, r4, pull #24 - orrne r4, r4, r7, push #8 + orrne r3, r3, r4, lspush #8 + movne r4, r4, lspull #24 + orrne r4, r4, r7, lspush #8 stmneia r0!, {r3 - r4} tst ip, #4 - movne r3, r7, pull #24 + movne r3, r7, lspull #24 USER( TUSER( ldrne) r7, [r1], #4) @ May fault - orrne r3, r3, r7, push #8 + orrne r3, r3, r7, lspush #8 strne r3, [r0], #4 ands ip, ip, #3 beq .Lcfu_3fupi
Renames logical shift macros, 'push' and 'pull', defined in arch/arm/include/asm/assembler.h, into 'lspush' and 'lspull'. That eliminates name conflict between 'push' logical shift macro and 'push' instruction mnemonic. That allows assembler.h to be included in .S files that use 'push' instruction. Suggested-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Victor Kamensky <victor.kamensky@linaro.org> --- arch/arm/include/asm/assembler.h | 8 +- arch/arm/lib/copy_template.S | 36 +++---- arch/arm/lib/csumpartialcopygeneric.S | 96 ++++++++--------- arch/arm/lib/io-readsl.S | 12 +-- arch/arm/lib/io-writesl.S | 12 +-- arch/arm/lib/memmove.S | 36 +++---- arch/arm/lib/uaccess.S | 192 +++++++++++++++++----------------- 7 files changed, 196 insertions(+), 196 deletions(-)