public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor
@ 2011-11-02 12:00 izamyatin at gmail dot com
  2011-11-02 12:01 ` [Bug target/50962] " izamyatin at gmail dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: izamyatin at gmail dot com @ 2011-11-02 12:00 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

             Bug #: 50962
           Summary: Additional opportunity for AGU stall avoidance
                    optimization for Atom processor
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: izamyatin@gmail.com


We have now following code for attached testcase:

foo:
.LFB0:
        .cfi_startproc
        movl    4(%esp), %eax
        testl   %eax, %eax
        je      .L4
        xorl    %ecx, %ecx
        jmp     .L3
        .p2align 4,,7
        .p2align 3
.L5:
        movl    %eax, %ecx
        movl    %edx, %eax
.L3:
        movl    (%eax), %edx <--- AGU stall here on Atom since eax produced on
previous cycle. We should use lea in previous instruction.
        movl    %ecx, (%eax)
        testl   %edx, %edx
        jne     .L5
        ret
.L4:
        xorl    %eax, %eax
        ret
        .cfi_endproc

 So we can use lea before movl (%eax), %edx which is better for Atom.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
@ 2011-11-02 12:01 ` izamyatin at gmail dot com
  2011-11-02 13:06 ` enkovich.gnu at gmail dot com
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: izamyatin at gmail dot com @ 2011-11-02 12:01 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #1 from Igor Zamyatin <izamyatin at gmail dot com> 2011-11-02 12:00:55 UTC ---
Created attachment 25688
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25688
testcase


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
  2011-11-02 12:01 ` [Bug target/50962] " izamyatin at gmail dot com
  2011-11-02 13:06 ` enkovich.gnu at gmail dot com
@ 2011-11-02 13:06 ` enkovich.gnu at gmail dot com
  2011-11-07  8:47 ` kyukhin at gcc dot gnu.org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: enkovich.gnu at gmail dot com @ 2011-11-02 13:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #2 from Ilya Enkovich <enkovich.gnu at gmail dot com> 2011-11-02 13:05:46 UTC ---
Created attachment 25689
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25689
Proposed patch


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
  2011-11-02 12:01 ` [Bug target/50962] " izamyatin at gmail dot com
@ 2011-11-02 13:06 ` enkovich.gnu at gmail dot com
  2011-11-02 13:06 ` enkovich.gnu at gmail dot com
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: enkovich.gnu at gmail dot com @ 2011-11-02 13:06 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

Ilya Enkovich <enkovich.gnu at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |enkovich.gnu at gmail dot
                   |                            |com

--- Comment #3 from Ilya Enkovich <enkovich.gnu at gmail dot com> 2011-11-02 13:06:07 UTC ---
Current optimization use only splits to transform arithmetic into lea and vice
versa. It does not work for move because corresponding lea template will be
equal. We can check if lea is required during instruction emit. 

I have a patch to fix it. Bootstrap and make check passed. I'm currently
checking performance changes.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
                   ` (2 preceding siblings ...)
  2011-11-02 13:06 ` enkovich.gnu at gmail dot com
@ 2011-11-07  8:47 ` kyukhin at gcc dot gnu.org
  2011-12-15  0:29 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: kyukhin at gcc dot gnu.org @ 2011-11-07  8:47 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #4 from Kirill Yukhin <kyukhin at gcc dot gnu.org> 2011-11-07 08:47:18 UTC ---
Author: kyukhin
Date: Mon Nov  7 08:47:15 2011
New Revision: 181077

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181077
Log:
gcc/
    PR target/50962
    * config/i386/i386-protos.h (ix86_use_lea_for_mov): New.
    * config/i386/i386.c (ix86_use_lea_for_mov): Likewise.
    * config/i386/i386.md (movsi_internal): Emit lea if profitable.
    (movdi_internal_rex64): Likewise.


Modified:
    trunk/gcc/config/i386/i386-protos.h
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.md
    trunk/gcc/testsuite/ChangeLog


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
                   ` (3 preceding siblings ...)
  2011-11-07  8:47 ` kyukhin at gcc dot gnu.org
@ 2011-12-15  0:29 ` pinskia at gcc dot gnu.org
  2011-12-15  4:53 ` izamyatin at gmail dot com
  2013-05-14  2:25 ` dirtyepic at gentoo dot org
  6 siblings, 0 replies; 8+ messages in thread
From: pinskia at gcc dot gnu.org @ 2011-12-15  0:29 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> 2011-12-15 00:22:03 UTC ---
Has this been fixed now?


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
                   ` (4 preceding siblings ...)
  2011-12-15  0:29 ` pinskia at gcc dot gnu.org
@ 2011-12-15  4:53 ` izamyatin at gmail dot com
  2013-05-14  2:25 ` dirtyepic at gentoo dot org
  6 siblings, 0 replies; 8+ messages in thread
From: izamyatin at gmail dot com @ 2011-12-15  4:53 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

Igor Zamyatin <izamyatin at gmail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|                            |FIXED

--- Comment #6 from Igor Zamyatin <izamyatin at gmail dot com> 2011-12-15 04:48:30 UTC ---
Fixed.


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/50962] Additional opportunity for AGU stall avoidance optimization for Atom processor
  2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
                   ` (5 preceding siblings ...)
  2011-12-15  4:53 ` izamyatin at gmail dot com
@ 2013-05-14  2:25 ` dirtyepic at gentoo dot org
  6 siblings, 0 replies; 8+ messages in thread
From: dirtyepic at gentoo dot org @ 2013-05-14  2:25 UTC (permalink / raw)
  To: gcc-bugs

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50962

--- Comment #7 from Ryan Hill <dirtyepic at gentoo dot org> ---
This caused PR56707.


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2013-05-14  2:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-11-02 12:00 [Bug target/50962] New: Additional opportunity for AGU stall avoidance optimization for Atom processor izamyatin at gmail dot com
2011-11-02 12:01 ` [Bug target/50962] " izamyatin at gmail dot com
2011-11-02 13:06 ` enkovich.gnu at gmail dot com
2011-11-02 13:06 ` enkovich.gnu at gmail dot com
2011-11-07  8:47 ` kyukhin at gcc dot gnu.org
2011-12-15  0:29 ` pinskia at gcc dot gnu.org
2011-12-15  4:53 ` izamyatin at gmail dot com
2013-05-14  2:25 ` dirtyepic at gentoo dot 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).