public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer
@ 2014-04-02 4:35 anton at samba dot org
2014-04-02 4:41 ` [Bug middle-end/60737] " anton at samba dot org
` (4 more replies)
0 siblings, 5 replies; 6+ messages in thread
From: anton at samba dot org @ 2014-04-02 4:35 UTC (permalink / raw)
To: gcc-bugs
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
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/60737] rs6000 expand_block_clear uses word stores on double word pointer
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
@ 2014-04-02 4:41 ` anton at samba dot org
2014-04-02 8:39 ` rguenth at gcc dot gnu.org
` (3 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: anton at samba dot org @ 2014-04-02 4:41 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
--- Comment #1 from Anton Blanchard <anton at samba dot org> ---
It looks like by the time we get to expand_block_clear we don't have any
alignment info (align_rtx == 1).
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug middle-end/60737] rs6000 expand_block_clear uses word stores on double word pointer
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
2014-04-02 4:41 ` [Bug middle-end/60737] " anton at samba dot org
@ 2014-04-02 8:39 ` rguenth at gcc dot gnu.org
2014-05-01 12:50 ` [Bug target/60737] " amodra at gmail dot com
` (2 subsequent siblings)
4 siblings, 0 replies; 6+ messages in thread
From: rguenth at gcc dot gnu.org @ 2014-04-02 8:39 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Resolution|--- |DUPLICATE
--- Comment #2 from Richard Biener <rguenth at gcc dot gnu.org> ---
there isn't any alignment info.
*** This bug has been marked as a duplicate of bug 50417 ***
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/60737] rs6000 expand_block_clear uses word stores on double word pointer
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
2014-04-02 4:41 ` [Bug middle-end/60737] " anton at samba dot org
2014-04-02 8:39 ` rguenth at gcc dot gnu.org
@ 2014-05-01 12:50 ` amodra at gmail dot com
2014-05-08 2:07 ` amodra at gcc dot gnu.org
2014-05-08 2:14 ` amodra at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: amodra at gmail dot com @ 2014-05-01 12:50 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
Alan Modra <amodra at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |ASSIGNED
Version|4.8.3 |4.10.0
Last reconfirmed| |2014-05-01
Component|middle-end |target
CC| |amodra at gmail dot com
Assignee|unassigned at gcc dot gnu.org |amodra at gmail dot com
Resolution|DUPLICATE |---
Ever confirmed|0 |1
--- Comment #3 from Alan Modra <amodra at gmail dot com> ---
Reassigning as one aspect of this bug is target specific. If -mno-strict-align
we should be using 64-bit stores regardless of the alignment info. What
matters for 64-bit ld/std instructions is that when using reg+offset addressing
that the offset be a multiple of 4.
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/60737] rs6000 expand_block_clear uses word stores on double word pointer
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
` (2 preceding siblings ...)
2014-05-01 12:50 ` [Bug target/60737] " amodra at gmail dot com
@ 2014-05-08 2:07 ` amodra at gcc dot gnu.org
2014-05-08 2:14 ` amodra at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: amodra at gcc dot gnu.org @ 2014-05-08 2:07 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
--- Comment #4 from Alan Modra <amodra at gcc dot gnu.org> ---
Author: amodra
Date: Thu May 8 02:05:19 2014
New Revision: 210201
URL: http://gcc.gnu.org/viewcvs?rev=210201&root=gcc&view=rev
Log:
PR target/60737
* config/rs6000/rs6000.c (expand_block_move): Allow 64-bit
loads and stores when -mno-strict-align at any alignment.
(expand_block_clear): Similarly. Also correct calculation of
instruction count.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/rs6000/rs6000.c
^ permalink raw reply [flat|nested] 6+ messages in thread
* [Bug target/60737] rs6000 expand_block_clear uses word stores on double word pointer
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
` (3 preceding siblings ...)
2014-05-08 2:07 ` amodra at gcc dot gnu.org
@ 2014-05-08 2:14 ` amodra at gmail dot com
4 siblings, 0 replies; 6+ messages in thread
From: amodra at gmail dot com @ 2014-05-08 2:14 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60737
Alan Modra <amodra at gmail dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|ASSIGNED |RESOLVED
Resolution|--- |FIXED
Target Milestone|--- |4.10.0
--- Comment #5 from Alan Modra <amodra at gmail dot com> ---
Patch applied mainline.
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2014-05-08 2:14 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-04-02 4:35 [Bug middle-end/60737] New: rs6000 expand_block_clear uses word stores on double word pointer anton at samba dot org
2014-04-02 4:41 ` [Bug middle-end/60737] " anton at samba dot org
2014-04-02 8:39 ` rguenth at gcc dot gnu.org
2014-05-01 12:50 ` [Bug target/60737] " amodra at gmail dot com
2014-05-08 2:07 ` amodra at gcc dot gnu.org
2014-05-08 2:14 ` amodra at gmail dot com
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).