User account creation filtered due to spam.

Bug 39725 - [5/6/7/8 Regression][cond-optab] MIPS pessimizations on floating-point
Summary: [5/6/7/8 Regression][cond-optab] MIPS pessimizations on floating-point
Status: WAITING
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.5.0
: P4 normal
Target Milestone: 5.5
Assignee: Not yet assigned to anyone
URL:
Keywords: missed-optimization
Depends on:
Blocks: 39714
  Show dependency treegraph
 
Reported: 2009-04-10 14:20 UTC by Paolo Bonzini
Modified: 2016-08-03 10:46 UTC (History)
5 users (show)

See Also:
Host:
Target: mips-linux-gnu
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Paolo Bonzini 2009-04-10 14:20:09 UTC
MIPS floating-point comparisons are sometimes improved, sometimes pessimized.  Here are the tests that are pessimized more:

gcc.c-torture/execute/ieee/compare-fp-1.c
gcc.c-torture/execute/ieee/compare-fp-4.c (-fno-trapping-math)
gcc.c-torture/unsorted/DFcmp.c

(not for all versions, but for example at -O1 -mfp32 -mgp32 they are affected).

Just removing these three is enough to change from a depressing

 513 files changed, 24582 insertions(+), 20790 deletions(-)

to a decent

 467 files changed, 15738 insertions(+), 15818 deletions(-)
Comment 1 Steven Bosscher 2010-01-03 23:06:15 UTC
This bug needs TLC from a MIPS person. At least a confirmation would be nice.
Comment 2 Richard Biener 2010-03-31 11:55:37 UTC
Unconfirmed -> P3.  Also mips-linux isn't primary nor secondary - unclear if
this bug also applies to mipsisa64-elf.
Comment 3 Richard Biener 2010-04-06 11:19:51 UTC
GCC 4.5.0 is being released.  Deferring to 4.5.1.
Comment 4 Richard Biener 2010-07-31 09:29:22 UTC
GCC 4.5.1 is being released, adjusting target milestone.
Comment 5 Richard Biener 2010-09-30 11:05:35 UTC
Nobody cares.  Dropping to P4 based on mips-linux status.
Comment 6 Richard Biener 2010-12-16 13:03:11 UTC
GCC 4.5.2 is being released, adjusting target milestone.
Comment 7 Richard Biener 2011-04-28 14:51:24 UTC
GCC 4.5.3 is being released, adjusting target milestone.
Comment 8 Andrew Pinski 2011-08-24 22:28:52 UTC
for compare-fp-1:
iuneq same
ieq improved (using movf)
iltgt have to look more into (since I am comparing 4.3 vs 4.6)
ine same
iunlt improved (using movf)
ilt improved (using movf)
ile improved (using movf)
iungt improved (using movf)
igt improved (using movf)
iunge improved (using movf)
ige  have to look more into (since I am comparing 4.3 vs 4.6)


I noticed that these all could be improved even more by using movf more and better jump threading.
Comment 9 Jakub Jelinek 2013-04-12 15:16:45 UTC
GCC 4.6.4 has been released and the branch has been closed.
Comment 10 Pete Delaney 2013-05-07 03:02:24 UTC
Interested in how this bug fix is going.

-piet
Comment 11 Richard Biener 2014-06-12 13:45:21 UTC
The 4.7 branch is being closed, moving target milestone to 4.8.4.
Comment 12 Jakub Jelinek 2014-12-19 13:35:29 UTC
GCC 4.8.4 has been released.
Comment 13 Richard Biener 2015-06-23 08:18:02 UTC
The gcc-4_8-branch is being closed, re-targeting regressions to 4.9.3.
Comment 14 Jakub Jelinek 2015-06-26 19:59:04 UTC
GCC 4.9.3 has been released.
Comment 15 Richard Biener 2016-08-03 10:44:58 UTC
GCC 4.9 branch is being closed