public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "bfriesen at simple dot dallas.tx.us" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug c/53967] New: GCC produces slow code for convolution algorithm with -mfpmath=sse (the AMD_64 default)
Date: Sat, 14 Jul 2012 20:52:00 -0000	[thread overview]
Message-ID: <bug-53967-4@http.gcc.gnu.org/bugzilla/> (raw)

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

             Bug #: 53967
           Summary: GCC produces slow code for convolution algorithm with
                    -mfpmath=sse (the AMD_64 default)
    Classification: Unclassified
           Product: gcc
           Version: 4.6.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: bfriesen@simple.dallas.tx.us


Created attachment 27792
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27792
Convolution example C file, pre-processed version, build log, assembler output

The classic convolution algorithm (as implemented in GraphicsMagick) is
observed to run 2X slower with -mfpmath=sse than with -mfpmath=387. 
Unfortunately -mfpmath=sse is the default for -m64 builds on AMD_64 so this has
large impact for users.

Even with -mfpmath=387 other compilers (LLVM, Open64, and Oracle Studio)
produce faster code by default so some of these compilers are producing up to
3X better overall run-time performance and all of them are at least 2X faster
than the GCC default for x86-64.

This issue has been verified under Solaris 10, OpenIndiana, and Ubuntu Linux on
Opteron and several modern Xeon CPUs.

Please note that AMD Opteron 6200 family CPUs were not observed to suffer from
this issue.


             reply	other threads:[~2012-07-14 20:52 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-14 20:52 bfriesen at simple dot dallas.tx.us [this message]
2012-07-14 20:56 ` [Bug c/53967] " bfriesen at simple dot dallas.tx.us
2012-07-14 20:57 ` bfriesen at simple dot dallas.tx.us
2012-07-14 20:58 ` bfriesen at simple dot dallas.tx.us
2012-07-14 20:59 ` bfriesen at simple dot dallas.tx.us
2012-07-14 21:06 ` [Bug target/53967] " bfriesen at simple dot dallas.tx.us
2012-07-14 21:42 ` bfriesen at simple dot dallas.tx.us
2012-07-16 12:42 ` rguenth at gcc dot gnu.org
2012-07-16 14:17 ` bfriesen at simple dot dallas.tx.us
2012-07-16 14:57 ` rguenth at gcc dot gnu.org
2012-07-16 15:35 ` bfriesen at simple dot dallas.tx.us
2012-07-16 15:41 ` bfriesen at simple dot dallas.tx.us
2012-07-17  9:20 ` rguenth at gcc dot gnu.org
2012-07-18  9:45 ` evstupac at gmail dot com
2012-07-18 10:50 ` rguenth at gcc dot gnu.org
2012-07-18 14:28 ` bfriesen at simple dot dallas.tx.us
2012-07-18 20:42 ` bfriesen at simple dot dallas.tx.us
2012-07-19 14:29 ` bfriesen at simple dot dallas.tx.us
2012-07-21  1:05 ` bfriesen at simple dot dallas.tx.us
2012-08-12 15:41 ` xunxun1982 at gmail dot com

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=bug-53967-4@http.gcc.gnu.org/bugzilla/ \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).