On 10/18/2019 12:52 PM, Rasmus Villemoes wrote:
In preparation for allowing to build QE support for architectures
other than PPC, replace the ppc-specific io accessors. Done via


This patch is not transparent in terms of performance, functions get changed significantly.

Before the patch:

00000330 <ucc_fast_enable>:
 330:   81 43 00 04     lwz     r10,4(r3)
 334:   7c 00 04 ac     hwsync
 338:   81 2a 00 00     lwz     r9,0(r10)
 33c:   0c 09 00 00     twi     0,r9,0
 340:   4c 00 01 2c     isync
 344:   70 88 00 02     andi.   r8,r4,2
 348:   41 82 00 10     beq     358 <ucc_fast_enable+0x28>
 34c:   39 00 00 01     li      r8,1
 350:   91 03 00 10     stw     r8,16(r3)
 354:   61 29 00 10     ori     r9,r9,16
 358:   70 88 00 01     andi.   r8,r4,1
 35c:   41 82 00 10     beq     36c <ucc_fast_enable+0x3c>
 360:   39 00 00 01     li      r8,1
 364:   91 03 00 14     stw     r8,20(r3)
 368:   61 29 00 20     ori     r9,r9,32
 36c:   7c 00 04 ac     hwsync
 370:   91 2a 00 00     stw     r9,0(r10)
 374:   4e 80 00 20     blr

After the patch:

0000030c <ucc_fast_enable>:
 30c:   94 21 ff e0     stwu    r1,-32(r1)
 310:   7c 08 02 a6     mflr    r0
 314:   bf a1 00 14     stmw    r29,20(r1)
 318:   7c 9f 23 78     mr      r31,r4
 31c:   90 01 00 24     stw     r0,36(r1)
 320:   7c 7e 1b 78     mr      r30,r3
 324:   83 a3 00 04     lwz     r29,4(r3)
 328:   7f a3 eb 78     mr      r3,r29
 32c:   48 00 00 01     bl      32c <ucc_fast_enable+0x20>
                        32c: R_PPC_REL24        ioread32be
 330:   73 e9 00 02     andi.   r9,r31,2
 334:   41 82 00 10     beq     344 <ucc_fast_enable+0x38>
 338:   39 20 00 01     li      r9,1
 33c:   91 3e 00 10     stw     r9,16(r30)
 340:   60 63 00 10     ori     r3,r3,16
 344:   73 e9 00 01     andi.   r9,r31,1
 348:   41 82 00 10     beq     358 <ucc_fast_enable+0x4c>
 34c:   39 20 00 01     li      r9,1
 350:   91 3e 00 14     stw     r9,20(r30)
 354:   60 63 00 20     ori     r3,r3,32
 358:   80 01 00 24     lwz     r0,36(r1)
 35c:   7f a4 eb 78     mr      r4,r29
 360:   bb a1 00 14     lmw     r29,20(r1)
 364:   7c 08 03 a6     mtlr    r0
 368:   38 21 00 20     addi    r1,r1,32
 36c:   48 00 00 00     b       36c <ucc_fast_enable+0x60>
                        36c: R_PPC_REL24        iowrite32be


Christophe

Reply via email to