https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106275
--- Comment #6 from Chris Uzdavinis <cuzdav at gmail dot com> --- Thank you for the information. If the equality comparison function is slow enough, the large number of extra calls may not be an optimization. While looking into it, the vastly different runtime behavior of it jumped out to me as an indication of a problem, and seemed to be the answer to why internal tests drew my attention to this in the first place. (Behavior is normal without this optimization, but tests complained with it.) But now I understand it better, being a combination of the new behavior and characteristics of the custom predicate in "real code" of which this is a minimization. The extra calls are a symptom, not a cause.