[Bug c/80134] New: powerpc: loop on p[i] and *p++ should give the same code
christophe.leroy@c-s.fr
gcc-bugzilla@gcc.gnu.org
Tue Mar 21 14:34:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80134
Bug ID: 80134
Summary: powerpc: loop on p[i] and *p++ should give the same
code
Product: gcc
Version: 5.4.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c
Assignee: unassigned at gcc dot gnu.org
Reporter: christophe.leroy@c-s.fr
Target Milestone: ---
The below code should give the same code, shouldn't depend on whether we use
p[i] or *p++
void memset32a(int *p, int v, unsigned int c)
{
int i;
for (i = 0; i < c; i++)
p[i] = v;
}
void memset32b(int *p, int v, unsigned int c)
{
int i;
for (i = 0; i < c; i++)
*p++ = v;
}
test4.o: file format elf32-powerpc
Disassembly of section .text:
00000000 <memset32a>:
0: 2c 05 00 00 cmpwi r5,0
4: 4d 82 00 20 beqlr
8: 54 a9 10 3a rlwinm r9,r5,2,0,29
c: 39 29 ff fc addi r9,r9,-4
10: 55 29 f0 be rlwinm r9,r9,30,2,31
14: 39 29 00 01 addi r9,r9,1
18: 7d 29 03 a6 mtctr r9
1c: 38 63 ff fc addi r3,r3,-4
20: 94 83 00 04 stwu r4,4(r3)
24: 42 00 ff fc bdnz 20 <memset32a+0x20>
28: 4e 80 00 20 blr
0000002c <memset32b>:
2c: 2c 05 00 00 cmpwi r5,0
30: 38 63 ff fc addi r3,r3,-4
34: 4d 82 00 20 beqlr
38: 7c a9 03 a6 mtctr r5
3c: 94 83 00 04 stwu r4,4(r3)
40: 42 00 ff fc bdnz 3c <memset32b+0x10>
44: 4e 80 00 20 blr
More information about the Gcc-bugs
mailing list