On Tue, 2019-05-14 at 09:05:16 UTC, Christophe Leroy wrote:
> This patch drops the assembly PPC64 version of flush_dcache_range()
> and re-uses the PPC32 static inline version.
> 
> With GCC 8.1, the following code is generated:
> 
> void flush_test(unsigned long start, unsigned long stop)
> {
>       flush_dcache_range(start, stop);
> }
> 
> 0000000000000130 <.flush_test>:
>  130: 3d 22 00 00     addis   r9,r2,0
>                       132: R_PPC64_TOC16_HA   .data+0x8
>  134: 81 09 00 00     lwz     r8,0(r9)
>                       136: R_PPC64_TOC16_LO   .data+0x8
>  138: 3d 22 00 00     addis   r9,r2,0
>                       13a: R_PPC64_TOC16_HA   .data+0xc
>  13c: 80 e9 00 00     lwz     r7,0(r9)
>                       13e: R_PPC64_TOC16_LO   .data+0xc
>  140: 7d 48 00 d0     neg     r10,r8
>  144: 7d 43 18 38     and     r3,r10,r3
>  148: 7c 00 04 ac     hwsync
>  14c: 4c 00 01 2c     isync
>  150: 39 28 ff ff     addi    r9,r8,-1
>  154: 7c 89 22 14     add     r4,r9,r4
>  158: 7c 83 20 50     subf    r4,r3,r4
>  15c: 7c 89 3c 37     srd.    r9,r4,r7
>  160: 41 82 00 1c     beq     17c <.flush_test+0x4c>
>  164: 7d 29 03 a6     mtctr   r9
>  168: 60 00 00 00     nop
>  16c: 60 00 00 00     nop
>  170: 7c 00 18 ac     dcbf    0,r3
>  174: 7c 63 42 14     add     r3,r3,r8
>  178: 42 00 ff f8     bdnz    170 <.flush_test+0x40>
>  17c: 7c 00 04 ac     hwsync
>  180: 4c 00 01 2c     isync
>  184: 4e 80 00 20     blr
>  188: 60 00 00 00     nop
>  18c: 60 00 00 00     nop
> 
> Signed-off-by: Christophe Leroy <christophe.le...@c-s.fr>

Applied to powerpc next, thanks.

https://git.kernel.org/powerpc/c/22e9c88d486a0536d337d6e0973968be0a4cd4b2

cheers

Reply via email to