On Thu, Jul 23, 2026 at 2:58 AM Odysseas Georgoudis <[email protected]> wrote: > > This is the target-independent part of v2, split from the x86 changes as > requested. The match.pd change and GIMPLE testcase are unchanged from v1. > > IFN_AVG_FLOOR (x, x) and IFN_AVG_CEIL (x, x) both produce x, so fold these > cases to x in match.pd. > > Bootstrapped on x86_64-pc-linux-gnu. The new GIMPLE test and the existing > vector-average tests pass.
OK. Thanks, Richard. > ________________________________ > From: Richard Biener <[email protected]> > Sent: 22 July 2026 14:17 > To: Odysseas Georgoudis <[email protected]> > Cc: [email protected] <[email protected]>; > [email protected] <[email protected]> > Subject: Re: [PATCH] middle-end, i386: Fold averages with equal operands > [PR122715] > > On Wed, Jul 15, 2026 at 7:43 AM Odysseas Georgoudis <[email protected]> > wrote: > > > > This patch fixes PR middle-end/122715 by folding IFN_AVG_FLOOR (x, x) and > > IFN_AVG_CEIL (x, x) to x. > > > > x86 PAVG intrinsics are represented by target builtins instead of > > IFN_AVG_CEIL. The patch therefore also folds calls with equal operands in > > ix86_gimple_fold_builtin. For masked forms, the fold is applied only when > > every lane is enabled by the mask. > > The match.pd / gimple testcase part is OK. Please split the x86 > target part to a separate > patch (we might want to instead fold the target builtin to the > internal function call?) > > Thanks, > Richard. > > > Bootstrapped on x86_64-pc-linux-gnu. The new tests and the existing PAVG > > focused tests pass. The target-independent match.pd fold was also tested > > using an AArch64 cross-compiler.
