public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/58112] New: Ineffective addressing mode used in loop.
@ 2013-08-09 12:57 neleai at seznam dot cz
2013-08-09 12:58 ` [Bug target/58112] " neleai at seznam dot cz
2021-09-19 8:54 ` pinskia at gcc dot gnu.org
0 siblings, 2 replies; 3+ messages in thread
From: neleai at seznam dot cz @ 2013-08-09 12:57 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58112
Bug ID: 58112
Summary: Ineffective addressing mode used in loop.
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: neleai at seznam dot cz
Hi, in following testcase gcc -O3 generates following loop:
movq %rsi, %r9
subq %rdx, %r9
movq %r9, %rdi
movq %r9, %rsi
leaq 16(%r9), %r8
addq $32, %rdi
addq $48, %rsi
.p2align 4,,10
.p2align 3
.L14:
movdqu (%rdx,%r9), %xmm0
addq $64, %rdx
movdqa %xmm0, -64(%rdx)
movdqu -64(%rdx,%r8), %xmm0
movdqa %xmm0, -48(%rdx)
movdqu -64(%rdx,%rdi), %xmm0
movdqa %xmm0, -32(%rdx)
movdqu -64(%rdx,%rsi), %xmm0
movdqa %xmm0, -16(%rdx)
cmpq %rdx, %rcx
jne .L14
rep; ret
It saves one addq $64, %rsi instruction. However it occupies four extra
registers, and address calculations done at each iteration cost more and lead
to bigger code than instruction saved.
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug target/58112] Ineffective addressing mode used in loop.
2013-08-09 12:57 [Bug target/58112] New: Ineffective addressing mode used in loop neleai at seznam dot cz
@ 2013-08-09 12:58 ` neleai at seznam dot cz
2021-09-19 8:54 ` pinskia at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: neleai at seznam dot cz @ 2013-08-09 12:58 UTC (permalink / raw)
To: gcc-bugs
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58112
--- Comment #1 from Ondrej Bilka <neleai at seznam dot cz> ---
Created attachment 30628
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30628&action=edit
testcase
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug target/58112] Ineffective addressing mode used in loop.
2013-08-09 12:57 [Bug target/58112] New: Ineffective addressing mode used in loop neleai at seznam dot cz
2013-08-09 12:58 ` [Bug target/58112] " neleai at seznam dot cz
@ 2021-09-19 8:54 ` pinskia at gcc dot gnu.org
1 sibling, 0 replies; 3+ messages in thread
From: pinskia at gcc dot gnu.org @ 2021-09-19 8:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58112
Andrew Pinski <pinskia at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |RESOLVED
Target Milestone|--- |4.9.0
Resolution|--- |FIXED
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
This was actually fixed for GCC 4.9.0 release. There was many tweaks to
IV-opts during Nov 2013 time frame which would have solved this.
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2021-09-19 8:54 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-09 12:57 [Bug target/58112] New: Ineffective addressing mode used in loop neleai at seznam dot cz
2013-08-09 12:58 ` [Bug target/58112] " neleai at seznam dot cz
2021-09-19 8:54 ` pinskia at gcc dot gnu.org
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).