[PATCH] D143162: [AArch64] Add PredictableSelectIsExpensive feature for the Neoverse V1

Dave Green via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Feb 2 09:31:15 PST 2023


dmgreen added a comment.

So ideally, FeatureEnableSelectOptimize and FeaturePredictableSelectIsExpensive would be a single target feature that control both same options. But when I was trying it, FeaturePredictableSelectIsExpensive was leading to some performance degradations compared to just the inner loop heuristic controlled by FeatureEnableSelectOptimize. I chose to be conservative and only enable the one, although the performance differences could have been more noise than real regressions, and I don't remember them being very large. Predictable Selects are not really slow on AArch64, they are just CSEL instructions which have a latency of 1 and a decent throughput. Branches can be quicker in situation, but it is very depent on a lot of factors that can be difficult for the compiler to guess at.

In the end of the day it is performance of the particular heuristics that matters. Do you have performance measurements to share? Are they with the 99% or 75%? Did you plan to change that? And are you running with or without PGO? Thanks.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D143162/new/

https://reviews.llvm.org/D143162



More information about the llvm-commits mailing list