| commit d298c41635ce7f2dc7c3eccc842fe3aa754c0c8e |
| Author: Adhemerval Zanella <azanella@linux.vnet.ibm.com> |
| Date: Thu May 22 14:48:38 2014 -0500 |
| |
| PowerPC: Remove 64 bits instructions in PPC32 code |
| |
| This patch replaces the insrdi by insrwi in powerpc32 assembly. |
| |
| |
| |
| |
| |
| @@ -52,7 +52,7 @@ L(_memset): |
| |
| /* Align to word boundary. */ |
| cmplwi cr5, rLEN, 31 |
| - insrdi rCHR, rCHR, 8, 48 /* Replicate byte to halfword. */ |
| + insrwi rCHR, rCHR, 8, 16 /* Replicate byte to halfword. */ |
| beq+ L(aligned) |
| mtcrf 0x01, rMEMP0 |
| subfic rALIGN, rALIGN, 4 |
| @@ -67,7 +67,7 @@ L(g0): |
| /* Handle the case of size < 31. */ |
| L(aligned): |
| mtcrf 0x01, rLEN |
| - insrdi rCHR, rCHR, 16, 32 /* Replicate halfword to word. */ |
| + insrwi rCHR, rCHR, 16, 0 /* Replicate halfword to word. */ |
| ble cr5, L(medium) |
| /* Align to 32-byte boundary. */ |
| andi. rALIGN, rMEMP, 0x1C |
| |
| |
| |
| |
| @@ -50,7 +50,7 @@ L(_memset): |
| ble- cr1, L(small) |
| /* Align to word boundary. */ |
| cmplwi cr5, rLEN, 31 |
| - insrdi rCHR, rCHR, 8, 48 /* Replicate byte to halfword. */ |
| + insrwi rCHR, rCHR, 8, 16 /* Replicate byte to halfword. */ |
| beq+ L(aligned) |
| mtcrf 0x01, rMEMP0 |
| subfic rALIGN, rALIGN, 4 |
| @@ -66,7 +66,7 @@ L(g0): |
| /* Handle the case of size < 31. */ |
| L(aligned): |
| mtcrf 0x01, rLEN |
| - insrdi rCHR, rCHR, 16, 32 /* Replicate halfword to word. */ |
| + insrwi rCHR, rCHR, 16, 0 /* Replicate halfword to word. */ |
| ble cr5, L(medium) |
| /* Align to 32-byte boundary. */ |
| andi. rALIGN, rMEMP, 0x1C |
| |
| |
| |
| |
| @@ -37,8 +37,8 @@ L(_memset): |
| cfi_offset(31,-8) |
| |
| /* Replicate byte to word. */ |
| - insrdi 4,4,8,48 |
| - insrdi 4,4,16,32 |
| + insrwi 4,4,8,16 |
| + insrwi 4,4,16,0 |
| |
| ble cr6,L(small) /* If length <= 8, use short copy code. */ |
| |
| |
| |
| |
| |
| @@ -29,8 +29,8 @@ ENTRY (BP_SYM(__rawmemchr)) |
| clrrwi r8,r3,2 /* Align the address to word boundary. */ |
| |
| /* Replicate byte to word. */ |
| - rldimi r4,r4,8,48 |
| - rldimi r4,r4,16,32 |
| + insrwi r4,r4,8,16 |
| + insrwi r4,r4,16,0 |
| |
| /* Now r4 has a word of c bytes. */ |
| |
| |
| |
| |
| |
| @@ -37,8 +37,8 @@ ENTRY (BP_SYM(strchr)) |
| beq cr7,L(null_match) |
| |
| /* Replicate byte to word. */ |
| - insrdi r4,r4,8,48 |
| - insrdi r4,r4,16,32 |
| + insrwi r4,r4,8,16 |
| + insrwi r4,r4,16,0 |
| |
| /* Now r4 has a word of c bytes and r0 has |
| a word of null bytes. */ |
| |
| |
| |
| |
| @@ -29,8 +29,8 @@ ENTRY (BP_SYM(__strchrnul)) |
| clrrwi r8,r3,2 /* Align the address to word boundary. */ |
| |
| /* Replicate byte to word. */ |
| - insrdi r4,r4,8,48 |
| - insrdi r4,r4,16,32 |
| + insrwi r4,r4,8,16 |
| + insrwi r4,r4,16,0 |
| |
| rlwinm r6,r3,3,27,28 /* Calculate padding. */ |
| lwz r12,0(r8) /* Load word from memory. */ |