https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103088
Bug ID: 103088 Summary: [12 regression] 500.perlbench from spec 2017 fails since r12-4698 Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: other Assignee: unassigned at gcc dot gnu.org Reporter: seurer at gcc dot gnu.org Target Milestone: --- g:f6d012338bf87f427b7420f2f309963c29fe33ba, r12-4698 commit f6d012338bf87f427b7420f2f309963c29fe33ba (HEAD) Author: Aldy Hernandez <al...@redhat.com> Date: Wed Oct 20 07:29:25 2021 +0200 Try to resolve paths in threader without looking further back. I am seeing a strange problem starting with this revision. The spec 2017 test case 500.perlbench is producing a few extraneous lines of output which is causing it to fail. seurer@muskie:~/gcc/cpu2017$ diff ./benchspec/CPU/500.perlbench_r/data/refrate/output/diffmail.4.800.10.17.19.300.out ./benchspec/CPU/500.perlbench_r/run/run_peak_refrate_none.0000/diffmail.4.800.10.17.19.300.out 3257a3258 > Minimum abstol: nan 3259a3261 > Minimum reltol: nan 3507a3510 > Minimum abstol: nan 3509a3513 > Minimum reltol: nan 3694a3699 > Minimum abstol: nan 3696a3702 > Minimum reltol: nan 3818a3825 > Minimum abstol: nan 3820a3828 > Minimum reltol: nan These extra lines come from here in the perl code: if ($opts->{'calctol'}) { push @errstats, 'Calculated tolerances:'; foreach my $type (qw(abstol reltol obiwan skiptol)) { if (exists($max->{$type}) && ($max->{$type} >= 0)) { push @errstats, sprintf "Maximum $type: %-10.5e", $max->{$type}; } if (exists($min->{$type}) && ($min->{$type} >= 0)) { push @errstats, sprintf "Minimum $type: %-10.5e", $min->{$type}; } if (exists($errcnt->{$type}) && ($errcnt->{$type} >= 0)) { push @errstats, "# of $type errors: ".$errcnt->{$type}; } if (exists($opts->{"skip$type"}) && ($opts->{"skip$type"} > 0)) { push @errstats, "# of skip$type unused: ".$opts->{"skip$type"}; } } } So it appears that either the results of the perl exists function changed or the values that are being checked did not exist before but do now.