[Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer
anton at samba dot org
gcc-bugzilla@gcc.gnu.org
Wed Apr 2 04:35:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
Bug ID: 60737
Summary: rs6000 expand_block_clear uses word stores on double
word pointer
Product: gcc
Version: 4.8.3
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
Assignee: unassigned at gcc dot gnu.org
Reporter: anton at samba dot org
The following code:
#include <string.h>
void foo(long *p)
{
memset(p, 0, 16);
}
When built with a 64bit target:
gcc -mcpu=power8 -O2 -S foo.c
Ends up using 32 byte stores:
foo:
li 9,0
stw 9,0(3)
stw 9,4(3)
stw 9,8(3)
stw 9,12(3)
blr
expand_block_move has a similar issue
More information about the Gcc-bugs
mailing list