Hi Kelvin, On Fri, Apr 21, 2017 at 10:01:05AM -0600, Kelvin Nilsen wrote: > A new rs6000_store_data_bypass_p function has been introduced and all > calls to store_data_bypass_p from within the rs6000 back end have been > replaced with calls to rs6000_store_data_bypass_p. This new function > scans its arguments for patterns that are known to cause assertion > errors in store_data_bypass_p and returns false if any of those > patterns are encountered. Otherwise, rs6000_store_data_bypass_p simply > returns the result produced when passing its arguments to a call of > store_data_bypass_p.
> 2017-04-20 Kelvin Nilsen <kel...@gcc.gnu.org> > > PR target/80101 > * config/rs6000/power6.md: Replace store_data_bypass_p calls with > rs6000_store_data_bypass_p in seven define_bypass directives and > in several comments. Interesting that this is the only scheduling description where we use this... Do power8 (etc.) really not need it? > * config/rs6000/rs6000-protos.h: Add prototype for > rs6000_store_data_bypass_p function. > * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New > function implements slightly different (rs6000-specific) semantics > than store_data_bypass_p, returning false rather than aborting > with assertion error when arguments do not satisfy the > requirements of store data bypass. > (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with > rs6000_store_data_bypass_p. The patch is fine for trunk. Thanks, Segher