public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c/23845] New: missed strength reduction costs performance
@ 2005-09-13  0:06 tprince at computer dot org
  2005-09-13  0:09 ` [Bug middle-end/23845] " pinskia at gcc dot gnu dot org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: tprince at computer dot org @ 2005-09-13  0:06 UTC (permalink / raw)
  To: gcc-bugs

Dictation of strength reduction in source is required for adequate performance
on this target.  The same source "optimization" is counter-productive for ia32.

This is a portion of the diff file between 2 versions of
libgfortran/generated/matmul_r8.c.

              for (n = 0; n < count; n++)
                {
!                 abase_n = abase + n * aystride;
                  sum += abase_n[x] * bbase_y[n];
                  sum1 += abase_n[x+1] * bbase_y[n];
--- 199,208 ----
            {
              rtype_name sum = 0, sum1 = 0;
+             index_type nay = 0;
              for (n = 0; n < count; n++)
                {
!                 /* FIXME:  gcc ought to strength reduce from n * aystride */
!                 abase_n = abase + nay;
!                 nay += aystride;
                  sum += abase_n[x] * bbase_y[n];
                  sum1 += abase_n[x+1] * bbase_y[n];

-- 
           Summary: missed strength reduction costs performance
           Product: gcc
           Version: 4.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: tprince at computer dot org
                CC: gcc-bugs at gcc dot gnu dot org
 GCC build triplet: ia64-unknown-linux-gnu
  GCC host triplet: ia64-unknown-linux-gnu
GCC target triplet: ia64-unknown-linux-gnu


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
@ 2005-09-13  0:09 ` pinskia at gcc dot gnu dot org
  2005-09-13  0:13 ` tprince at computer dot org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-13  0:09 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|c                           |middle-end
           Keywords|                            |missed-optimization


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
  2005-09-13  0:09 ` [Bug middle-end/23845] " pinskia at gcc dot gnu dot org
@ 2005-09-13  0:13 ` tprince at computer dot org
  2005-09-13  2:13 ` pinskia at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: tprince at computer dot org @ 2005-09-13  0:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tprince at computer dot org  2005-09-13 00:13 -------
Created an attachment (id=9714)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9714&action=view)
alternate version of libgfortran/generated/matmul_r8.c

The C file in the attachment performs well on ia32.  The patch in the .diff
file must be applied to work around the missing strength reduction, in order to
perform adequately on ia64.

-- 


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
  2005-09-13  0:09 ` [Bug middle-end/23845] " pinskia at gcc dot gnu dot org
  2005-09-13  0:13 ` tprince at computer dot org
@ 2005-09-13  2:13 ` pinskia at gcc dot gnu dot org
  2005-09-13 14:50 ` pinskia at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-13  2:13 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|normal                      |enhancement


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
                   ` (2 preceding siblings ...)
  2005-09-13  2:13 ` pinskia at gcc dot gnu dot org
@ 2005-09-13 14:50 ` pinskia at gcc dot gnu dot org
  2005-09-13 18:30 ` rguenth at gcc dot gnu dot org
  2005-09-13 23:16 ` tprince at computer dot org
  5 siblings, 0 replies; 7+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-09-13 14:50 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-09-13 14:50 -------
This is done for me correctly on PPC-darwin.

-- 


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
                   ` (3 preceding siblings ...)
  2005-09-13 14:50 ` pinskia at gcc dot gnu dot org
@ 2005-09-13 18:30 ` rguenth at gcc dot gnu dot org
  2005-09-13 23:16 ` tprince at computer dot org
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu dot org @ 2005-09-13 18:30 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rguenth at gcc dot gnu dot org  2005-09-13 18:29 -------
Please provide a standalone testcase.

gcc -O2 -S matmul_r8.c 
matmul_r8.c:31:20: error: config.h: No such file or directory
matmul_r8.c:35:25: error: libgfortran.h: No such file or directory
matmul_r8.c:49: error: syntax error before '*' token
matmul_r8.c:50: warning: parameter names (without types) in function declaration
matmul_r8.c:50: warning: data definition has no type or storage class
matmul_r8.c:53: error: syntax error before '*' token
...

-- 


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


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

* [Bug middle-end/23845] missed strength reduction costs performance
  2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
                   ` (4 preceding siblings ...)
  2005-09-13 18:30 ` rguenth at gcc dot gnu dot org
@ 2005-09-13 23:16 ` tprince at computer dot org
  5 siblings, 0 replies; 7+ messages in thread
From: tprince at computer dot org @ 2005-09-13 23:16 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From tprince at computer dot org  2005-09-13 23:15 -------
Created an attachment (id=9726)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=9726&action=view)
include files from libgfortran, required in build


-- 


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


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

end of thread, other threads:[~2005-09-13 23:16 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-09-13  0:06 [Bug c/23845] New: missed strength reduction costs performance tprince at computer dot org
2005-09-13  0:09 ` [Bug middle-end/23845] " pinskia at gcc dot gnu dot org
2005-09-13  0:13 ` tprince at computer dot org
2005-09-13  2:13 ` pinskia at gcc dot gnu dot org
2005-09-13 14:50 ` pinskia at gcc dot gnu dot org
2005-09-13 18:30 ` rguenth at gcc dot gnu dot org
2005-09-13 23:16 ` tprince at computer 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).