Applied to trunk (16.0.0), thank you! Should this be backported to the GCC-15 release branch as well?
--Philipp. On Mon, 31 Mar 2025 at 10:10, Philipp Tomsich <philipp.toms...@vrull.eu> wrote: > > Jeff, > > > On Sun, 30 Mar 2025 at 01:48, Jeff Law <jeffreya...@gmail.com> wrote: > > > > > > > > On 3/28/25 5:12 AM, Konstantinos Eleftheriou wrote: > > > In the case that we are eliminating the load instruction, we use > > > zero_extend > > > for the initialization of the base register for the zero-offset store. > > > This causes issues when the store and the load use the same mode, > > > as we are trying to generate a zero_extend with the same inner and > > > outer modes. > > > > > > This patch fixes the issue by zero-extending the value stored in the > > > base register only when the load's mode is wider than the store's mode. > > > > > > PR rtl-optimization/119160 > > > > > > gcc/ChangeLog: > > > > > > * avoid-store-forwarding.cc (process_store_forwarding): > > > Zero-extend the value stored in the base register, in case > > > of load-elimination, only when the mode of the destination > > > is wider. > > > > > > gcc/testsuite/ChangeLog: > > > > > > * gcc.dg/pr119160.c: New test. > > OK > > Is this an OK for 15 or for 16? > > > > > jeff > >