Bug 84016 - [8/9 Regression] Spec2000 regression around Jan 14 and Jan 19 2018
Summary: [8/9 Regression] Spec2000 regression around Jan 14 and Jan 19 2018
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: middle-end (show other bugs)
Version: 8.0
: P3 normal
Target Milestone: 8.4
Assignee: Not yet assigned to anyone
URL:
Keywords: missed-optimization
Depends on: 84149 85491
Blocks: spec 84613
  Show dependency treegraph
 
Reported: 2018-01-24 09:25 UTC by Jan Hubicka
Modified: 2019-04-11 08:32 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2018-01-24 00:00:00


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Hubicka 2018-01-24 09:25:55 UTC
There is noticeable regression in specfp2000 in mgrid (4700-4600), facerec (8000->6600), crafty 4520->4420 at Jan 19
Galgel 14450->14150, apsi 4700->4550, gamess (from 2016) 34->32 at Jan 14-16
On Haswell.

All visible at https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-czerny-head-64/recent.html and https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-czerny-head-64-2006/recent.html
Comment 1 Richard Biener 2018-01-24 14:04:18 UTC
mgrid also on IA64: https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-terbium-head-64/recent.html
Comment 2 Martin Liška 2018-01-24 15:04:01 UTC
Can't reproduce mgrid, facerec and apsi regression on a Haswell machine.
Comment 3 Richard Biener 2018-01-24 15:12:48 UTC
mgrid also on AMD Fam10: https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-megrez-head-64/recent.html
Comment 4 Martin Liška 2018-01-24 15:27:07 UTC
(In reply to Richard Biener from comment #3)
> mgrid also on AMD Fam10:
> https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-megrez-head-64/recent.html

Interesting about this regression is that mgrid is a single source benchmark. Thus I would not expect a difference in between LTO and non-LTO mode.
Comment 5 Martin Liška 2018-01-24 15:34:52 UTC
I can confirm regression from 517 -> 537s of gamess on a zen2 machine with -Ofast -march=native. Let me bisect this one.
Comment 6 Jan Hubicka 2018-01-24 16:07:41 UTC
Thanks! -flto makes differnce even for single file benchmarks (because of thrown away type info and extra info from linker). So perhaps that is reason why it did not reproduce?
Comment 7 Martin Liška 2018-01-25 10:38:56 UTC
(In reply to Martin Liška from comment #5)
> I can confirm regression from 517 -> 537s of gamess on a zen2 machine with
> -Ofast -march=native. Let me bisect this one.

It's caused by r256644.
Comment 8 Jan Hubicka 2018-01-30 10:01:11 UTC
Reading the log, it gamess regression at 14th should not be gather/scatter because it reproduces on zen2 where we disable them.

About the 19th regression, it would be nice to also bisect it (hopefully it will reproduce with -flto as discussed earlier). The reason is that it reproduces at ia64 even with profile feedback
https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-terbium-head-64-FDO/recent.html
which seems to disprove the likely suspect that it is a result of predictor changes from that day (mostly disproves: predictors still do affect FDO path but it is unlikely they affect it importantly unless there is other bug)
Comment 9 Jan Hubicka 2018-02-04 17:36:08 UTC
MCF regression of spec2017 is due to predictor change.
Comment 10 Richard Biener 2018-02-16 13:47:56 UTC
Author: rguenth
Date: Fri Feb 16 13:47:25 2018
New Revision: 257734

URL: https://gcc.gnu.org/viewcvs?rev=257734&root=gcc&view=rev
Log:
2018-02-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/84037
	PR tree-optimization/84016
	PR target/82862
	* config/i386/i386.c (ix86_builtin_vectorization_cost):
	Adjust vec_construct for the fact we need additional higher latency
	128bit inserts for AVX256 and AVX512 vector builds.
	(ix86_add_stmt_cost): Scale vector construction cost for
	elementwise loads.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
Comment 11 Richard Biener 2018-02-16 13:48:42 UTC
The gamess regression mentioned should be fixed.
Comment 12 Jan Hubicka 2018-02-18 10:25:31 UTC
I can confirm that gamess is fixed. In addition tonto's regression from earlier cost tuning was fixed as well. There is nice improvement to galgel (15400->15800) which is not fixing earlier regression and apsi (4580->4680)

Zhere is small regression on zeusmp (39.6->39). Apsi is not on best score so far.
There is also a noticeable code size reduction.
So it looks really good!

From spec2000 we stll have mgrid, facerec and fma3d. facerec is related to code size as it went up and down 19% during inliner tuning. It is not up with final values and may be worth to investigate it.

tfft of polyhedron is aslso still regressing. Martin, perhaps you can bisect that one as it seems most consistent?

Honza
Comment 13 Martin Liška 2018-02-19 09:47:52 UTC
> 
> tfft of polyhedron is aslso still regressing. Martin, perhaps you can bisect
> that one as it seems most consistent?
> 

Can't see any difference for both tfft and tfft2 benchmarks on my Haswell machine. Can you reproduce that locally?
Comment 14 Martin Liška 2018-03-14 18:07:11 UTC
Honza can you reproduce that or can we close it?
Comment 15 Richard Biener 2018-04-24 09:03:16 UTC
(In reply to Richard Biener from comment #3)
> mgrid also on AMD Fam10:
> https://gcc.opensuse.org/gcc-old/SPEC/CFP/sb-megrez-head-64/recent.html

re-bounded, possibly with the fix for PR85455.  The IA64 tester didn't re-bound.

Note this PR is a mess with mangling many regressions into one bug...
Comment 16 Jakub Jelinek 2018-05-02 10:08:24 UTC
GCC 8.1 has been released.
Comment 17 Jakub Jelinek 2018-07-26 11:21:58 UTC
GCC 8.2 has been released.
Comment 18 Martin Liška 2018-11-20 08:18:37 UTC
Richi, Honza: Do we want to then close it?
Comment 19 Jakub Jelinek 2019-02-22 15:23:13 UTC
GCC 8.3 has been released.
Comment 20 Richard Biener 2019-04-11 08:32:55 UTC
I'm simply closing this bug now.  Please always use _separate_ bugreports for different benchmarks.