Skip to content

[Downstream Change] Revert ccef34 and related commits - #966

Open
john-brawn-arm wants to merge 1 commit into
arm:release/arm-software/23.xfrom
john-brawn-arm:atfe23_revert
Open

[Downstream Change] Revert ccef34 and related commits#966
john-brawn-arm wants to merge 1 commit into
arm:release/arm-software/23.xfrom
john-brawn-arm:atfe23_revert

Conversation

@john-brawn-arm

@john-brawn-arm john-brawn-arm commented Jul 30, 2026

Copy link
Copy Markdown
Contributor

This is being done to fix a regression in an important embedded benchmark for ATfE 23.

This reverts the following commits:
ca970f3
a47be19.
024a691
ccef34d

Downstream issue: #965

… (#199057)" and related commits

This is being done to fix a regression in an important embedded benchmark for
ATfE 23.

This reverts the following commits:
ca970f3
a47be19.
024a691
ccef34d

Downstream issue: arm#910
@john-brawn-arm
john-brawn-arm requested review from a team as code owners July 30, 2026 16:14
@github-actions github-actions Bot added the downstream-change Downstream change to LLVM tree label Jul 30, 2026
@github-actions

Copy link
Copy Markdown

This pull review modifies files outside of the arm-software directory, so please ensure it follows the Downstream Patch Policy.
An automated check will test if the tagging requirements have been met. Please wait for approving reviews from both Arm Toolchain for Embedded and Arm Toolchain for Linux teams before merging.

@pawosm-arm
pawosm-arm requested a review from bipmis July 30, 2026 16:35
@pawosm-arm

Copy link
Copy Markdown
Contributor

What is the performance impact on hpcapps of this change? I doubt there isn't any.

@dcandler dcandler left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I can give an approval from the ATfE team since we agreed that it was necessary to fix the regression for the release, but do please get approval from the ATfL team as well if it can potentially impact their performance too.

@pawosm-arm
pawosm-arm requested a review from david-arm August 4, 2026 15:16

@david-arm david-arm left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have any performance data showing the impact of these reverts?

; CHECK-NEXT: [[WIDE_MASKED_LOAD6:%.*]] = call <4 x double> @llvm.masked.load.v4f64.p0(ptr align 8 [[TMP9]], <4 x i1> [[REVERSE5]], <4 x double> poison)
; CHECK-NEXT: [[TMP10:%.*]] = fadd <4 x double> [[WIDE_MASKED_LOAD]], splat (double 1.000000e+00)
; CHECK-NEXT: [[TMP11:%.*]] = fadd <4 x double> [[WIDE_MASKED_LOAD6]], splat (double 1.000000e+00)
; CHECK-NEXT: [[REVERSE6:%.*]] = shufflevector <4 x double> [[WIDE_MASKED_LOAD]], <4 x double> poison, <4 x i32> <i32 3, i32 2, i32 1, i32 0>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's unfortunate that we're removing these folds, however this is more of a cost model problem since the instcombine pass would apply the same folds afterwards. Removing the shuffles or vector.reverse calls increases the likelihood of vectorisation by lowering the cost.

You can see the effects of this in the vector-reverse.ll test below. I find it hard to believe this doesn't introduce a regression somewhere, but if these reverts have been fully tested on various benchmarks then I guess it's ok.

@john-brawn-arm

Copy link
Copy Markdown
Contributor Author

What is the performance impact on hpcapps of this change? I doubt there isn't any.

Running hpcapps on graviton3 it looks like there are some regressions, some improvements, and the geomean score is better:

Benchmark Change in score
hpcapps.none.BWAMEM2RunTest.1T.native 2.11%
hpcapps.none.BWARunTest.1T.native -1.14%
hpcapps.none.Finance/Binomial.8T.best -1.20%
hpcapps.none.Finance/Binomial.8T.interleave-4 -1.19%
hpcapps.none.Finance/BlackScholes.48T.base 1.13%
hpcapps.none.Finance/BlackScholes.48T.no-sve -1.25%
hpcapps.none.Finance/BlackScholes.64T.base -4.56%
hpcapps.none.Finance/BlackScholes.64T.interleave-4 13.08%
hpcapps.none.Finance/BlackScholes.64T.no-sve -12.11%
hpcapps.none.Finance/LiborMarketModel.32T.base 1.57%
hpcapps.none.Finance/LiborMarketModel.32T.interleave-4 -3.22%
hpcapps.none.Finance/LiborMarketModel.32T.no-sve -5.56%
hpcapps.none.Finance/LiborMarketModel.64T.base -2.05%
hpcapps.none.Finance/MonteCarloAmericanOptions.32T.base 1.64%
hpcapps.none.Finance/MonteCarloAmericanOptions.64T.interleave-4 19.19%
hpcapps.none.Finance/MonteCarloEuropeanOptions.32T.base -1.06%
hpcapps.none.Finance/MonteCarloEuropeanOptions.32T.best -7.31%
hpcapps.none.Finance/MonteCarloEuropeanOptions.32T.no-sve 9.72%
hpcapps.none.Finance/MonteCarloEuropeanOptions.64T.interleave-4 24.61%
hpcapps.none.Finance/MonteCarloEuropeanOptions.64T.no-sve -6.23%
hpcapps.none.GromacsMEMRunTest.64T.git_v2025_3&armpl&default&no-sve 80.19%
hpcapps.none.GromacsMEMRunTest.64T.git_v2025_3&armpl&default&sve 78.83%
hpcapps.none.GromacsPEPRunTest.64T.git_v2025_3&armpl&default&no-sve 71.79%
hpcapps.none.GromacsPEPRunTest.64T.git_v2025_3&armpl&default&sve 65.13%
hpcapps.none.GromacsRIBRunTest.64T.git_v2025_3&armpl&default&no-sve 73.26%
hpcapps.none.GromacsRIBRunTest.64T.git_v2025_3&armpl&default&sve 73.60%
hpcapps.none.HydrobenchRunTest.64T.none&default -28.29%
hpcapps.none.LAMMPS_LJ_OMPRunTest.1T.armpl&default -5.63%
hpcapps.none.LAMMPS_LJ_OMPRunTest.48T.armpl&default -1.07%
hpcapps.none.LAMMPS_LJ_ScalarRunTest.1T.armpl&default -3.01%
hpcapps.none.LAMMPS_Rhodo_OMPRunTest.48T.armpl&default -1.02%
hpcapps.none.LuleshOMPRunTest.27T.none&default -3.91%
hpcapps.none.LuleshOMPRunTest.8T.none&default -5.72%
hpcapps.none.OpenradiossEngine_RubberSealRunTest.16T.none&default -1.01%
hpcapps.none.OpenradiossEngine_RubberSealRunTest.32T.none&default -2.10%
hpcapps.none.OpenradiossEngine_RubberSealRunTest.64T.none&default -1.27%
hpcapps.none.QMCpackRunTest.2T.armpl&default -1.73%
hpcapps.none.QMCpackRunTest.4T.armpl&default -3.53%
hpcapps.none.QMCpackRunTest.8T.armpl&default 3.38%
hpcapps.openmpi.Hpcg_128x3_ThreadsRunTest.64T.none&default 1.71%
hpcapps.openmpi.Hpcg_32x3_ThreadsRunTest.4T.none&default -1.67%
hpcapps.openmpi.Hpcg_32x3_ThreadsRunTest.64T.none&default -15.01%
hpcapps.openmpi.Hpcg_32x3_ThreadsRunTest.8T.none&default 1.23%
hpcapps.openmpi.OpenFOAM_Bike_5MRunTest.nullT.none&default -2.14%
hpcapps.openmpi.Tealeaf2dRunTest.48T.1&none&default -1.00%
hpcapps.openmpi.Tealeaf3dRunTest.32T.1&none&default 6.44%
hpcapps.openmpi.Tealeaf3dRunTest.64T.1&none&default 7.31%
hpcapps.openmpi.ThornadoMiniRunTest.2T.1&armpl&default -3.97%
hpcapps.openmpi.ThornadoMiniRunTest.4T.1&armpl&default -5.11%
hpcapps.openmpi.WrfCMakeMPI.nullT.none&default 1.24%
Geometric Mean 1.24%

@pawosm-arm

Copy link
Copy Markdown
Contributor

Thanks @john-brawn-arm for these figures. I think we need to ask @kiranchandramohan for the final say.

@pawosm-arm

pawosm-arm commented Aug 5, 2026

Copy link
Copy Markdown
Contributor

Looking at this PR and (comments in) #984 we can clearly see a conflict of (performance) interest between ATfE and ATfL. Considering we plan to introduce more cherry-picks like that, I think we need to call an emergency meeting on how can we immediately decouple ATfL and ATfE repositories to avoid problems in this and any future releases.

@stuij

stuij commented Aug 10, 2026

Copy link
Copy Markdown
Contributor

Any movement on the decision for this?

@kiranchandramohan

Copy link
Copy Markdown
Contributor

Greater than 2% regression in P1 Fortran/C++ benchmarks (OpenRadioss, OpenFoam) is difficult to approve.

CC: @voltur01 @smithp35

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

downstream-change Downstream change to LLVM tree

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants