https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114591
--- Comment #18 from Hongtao Liu <liuhongt at gcc dot gnu.org> --- (In reply to Hongtao Liu from comment #16) > > > > 4952 /* See if a MEM has already been loaded with a widening operation; > > 4953 if it has, we can use a subreg of that. Many CISC machines > > 4954 also have such operations, but this is only likely to be > > 4955 beneficial on these machines. */ > > Oh, it's pre_reload cse_insn, not postreload gcse Current postreload gcse is supposed to handle inter-block redundant loads, but for testcase in the PR, the redundancy it's inside the same block ------cut from postreload-gcse.cc ------------- 46/* The following code implements gcse after reload, the purpose of this 47 pass is to cleanup redundant loads generated by reload and other 48 optimizations that come after gcse. It searches for simple inter-block 49 redundancies and tries to eliminate them by adding moves and loads 50 in cold places. ------cut end ------------------------------