public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "paolo dot bonzini at lu dot unisi dot ch" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug target/27827] [4.0/4.1 Regression] gcc 4 produces worse x87 code on all platforms than gcc 3 Date: Thu, 10 Aug 2006 14:29:00 -0000 [thread overview] Message-ID: <20060810142900.3044.qmail@sourceware.org> (raw) In-Reply-To: <bug-27827-12761@http.gcc.gnu.org/bugzilla/> ------- Comment #61 from paolo dot bonzini at lu dot unisi dot ch 2006-08-10 14:28 ------- Subject: Re: [4.0/4.1 Regression] gcc 4 produces worse x87 code on all platforms than gcc 3 > Making vectorization depend on a flag that says it is allowed to violate IEEE > is therefore a killer for me (and most knowledgable fp guys). This is ironic, > since vectorization of sums (as in GEMM) is usually implemented as scalar > expansion on the accumulators > In case of GCC, it performs the transformation that Dorit explained. It may not produce an IEEE-compliant answer if there are zeros and you expect to see a particular sign for the zero. > and this not only produces an IEEE-compliant answer > The IEEE standard mandates particular rules for performing operations on infinities, NaNs, signed zeros, denormals, ... The C standard, by mandating no reassociation, ensures that you don't mess with NaNs, infinities, and signed zeros. As soon as you perform reassociation, there is *no way* you can be sure that you get IEEE-compliant math. +Inf + (1 / +0) = Inf, +Inf + (1 / -0) = NaN. > but it is *more* accurate for almost all data. http://citeseer.ist.psu.edu/589698.html is an example of a paper that shows FP code that avoids accuracy problems. Any kind of reassociation will break that code, and lower its accuracy. That's why reassociation is an "unsafe" math optimization. If you want a -freassociate-fp math, open an enhancement PR and somebody might be more than happy to separate reassociation from the other effects of -funsafe-math-optimizations. (Independent of this, you should also open a separate PR for ATLAS vectorization, because that would not be a regression and would not be on x87) :-) Paolo -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27827
next prev parent reply other threads:[~2006-08-10 14:29 UTC|newest] Thread overview: 75+ messages / expand[flat|nested] mbox.gz Atom feed top 2006-05-31 0:33 [Bug rtl-optimization/27827] New: " hiclint at gmail dot com 2006-05-31 0:35 ` [Bug rtl-optimization/27827] " pinskia at gcc dot gnu dot org 2006-05-31 0:36 ` hiclint at gmail dot com 2006-05-31 0:42 ` [Bug target/27827] " pinskia at gcc dot gnu dot org 2006-05-31 0:50 ` hiclint at gmail dot com 2006-05-31 0:55 ` pinskia at gcc dot gnu dot org 2006-05-31 1:09 ` whaley at cs dot utsa dot edu 2006-05-31 10:57 ` uros at kss-loka dot si 2006-05-31 14:13 ` whaley at cs dot utsa dot edu 2006-06-01 8:43 ` uros at kss-loka dot si 2006-06-01 16:03 ` whaley at cs dot utsa dot edu 2006-06-01 16:26 ` whaley at cs dot utsa dot edu 2006-06-01 18:43 ` whaley at cs dot utsa dot edu 2006-06-07 22:39 ` whaley at cs dot utsa dot edu 2006-06-14 3:04 ` whaley at cs dot utsa dot edu 2006-06-24 18:11 ` whaley at cs dot utsa dot edu 2006-06-24 19:13 ` rguenth at gcc dot gnu dot org 2006-06-25 13:35 ` whaley at cs dot utsa dot edu 2006-06-25 23:05 ` rguenth at gcc dot gnu dot org 2006-06-26 1:12 ` whaley at cs dot utsa dot edu 2006-06-26 7:53 ` uros at kss-loka dot si 2006-06-26 16:02 ` whaley at cs dot utsa dot edu 2006-06-27 6:05 ` uros at kss-loka dot si 2006-06-27 14:37 ` whaley at cs dot utsa dot edu 2006-06-27 17:47 ` whaley at cs dot utsa dot edu 2006-06-28 17:37 ` [Bug target/27827] [4.0/4.1/4.2 Regression] " steven at gcc dot gnu dot org 2006-06-28 20:18 ` whaley at cs dot utsa dot edu 2006-06-29 4:18 ` hjl at lucon dot org 2006-06-29 6:43 ` whaley at cs dot utsa dot edu 2006-07-04 13:15 ` whaley at cs dot utsa dot edu 2006-07-05 17:55 ` mmitchel at gcc dot gnu dot org 2006-08-04 7:46 ` bonzini at gnu dot org 2006-08-04 16:24 ` whaley at cs dot utsa dot edu 2006-08-05 7:21 ` bonzini at gnu dot org 2006-08-05 14:24 ` whaley at cs dot utsa dot edu 2006-08-05 17:16 ` bonzini at gnu dot org 2006-08-05 18:26 ` whaley at cs dot utsa dot edu 2006-08-06 15:03 ` [Bug target/27827] [4.0/4.1 " whaley at cs dot utsa dot edu 2006-08-07 6:19 ` bonzini at gnu dot org 2006-08-07 15:32 ` whaley at cs dot utsa dot edu 2006-08-07 16:47 ` whaley at cs dot utsa dot edu 2006-08-07 16:58 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-07 17:19 ` whaley at cs dot utsa dot edu 2006-08-07 18:19 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-07 20:35 ` dorit at il dot ibm dot com 2006-08-07 21:57 ` whaley at cs dot utsa dot edu 2006-08-08 2:59 ` whaley at cs dot utsa dot edu 2006-08-08 6:15 ` hubicka at gcc dot gnu dot org 2006-08-08 6:28 ` Jan Hubicka 2006-08-08 6:29 ` hubicka at ucw dot cz 2006-08-08 7:05 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-08 16:44 ` whaley at cs dot utsa dot edu 2006-08-08 18:36 ` whaley at cs dot utsa dot edu 2006-08-09 4:34 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-09 14:33 ` whaley at cs dot utsa dot edu 2006-08-09 15:52 ` whaley at cs dot utsa dot edu 2006-08-09 16:08 ` whaley at cs dot utsa dot edu 2006-08-09 19:10 ` Dorit Nuzman 2006-08-09 19:10 ` dorit at il dot ibm dot com 2006-08-09 21:33 ` whaley at cs dot utsa dot edu 2006-08-09 21:46 ` Andrew Pinski 2006-08-09 21:46 ` pinskia at physics dot uc dot edu 2006-08-09 23:02 ` whaley at cs dot utsa dot edu 2006-08-10 6:52 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-10 14:08 ` whaley at cs dot utsa dot edu 2006-08-10 14:29 ` paolo dot bonzini at lu dot unisi dot ch [this message] 2006-08-10 15:16 ` whaley at cs dot utsa dot edu 2006-08-10 15:22 ` paolo dot bonzini at lu dot unisi dot ch 2006-08-11 9:19 ` uros at kss-loka dot si 2006-08-11 13:26 ` bonzini at gcc dot gnu dot org 2006-08-11 14:10 ` [Bug target/27827] [4.0 " bonzini at gnu dot org 2006-08-11 15:22 ` whaley at cs dot utsa dot edu 2006-08-23 10:36 ` oliver dot jennrich at googlemail dot com 2006-10-07 10:06 ` steven at gcc dot gnu dot org 2007-02-13 2:59 ` pinskia at gcc dot gnu dot org
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=20060810142900.3044.qmail@sourceware.org \ --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: linkBe 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).