As pointed out in the PR, the test is failing because a store->load dependency 
is reporting zero cost. Fixed by leaving existing costs as is (i.e. cost for 
update forms), and just adding a simple bypass for store->load dependencies.

Bootstrap/regtest on powerpc64le (Power9) with no new regressions and testcase 
now passing. Also ran cpu2006/cpu2017 benchmark comparisons with no notable 
differences. Ok for trunk?

-Pat


2019-04-15  Pat Haugen  <pthau...@us.ibm.com>

        PR target/84369
        * config/rs6000/power9.md: Add store forwarding bypass.

Index: gcc/config/rs6000/power9.md
===================================================================
--- gcc/config/rs6000/power9.md (revision 270261)
+++ gcc/config/rs6000/power9.md (working copy)
@@ -236,6 +236,9 @@ (define_insn_reservation "power9-vecstor
        (eq_attr "cpu" "power9"))
   "DU_super_power9,LSU_pair_power9")
 
+; Store forwarding latency is 6
+(define_bypass 6 "power9-*store*" "power9-*load*")
+
 (define_insn_reservation "power9-larx" 4
   (and (eq_attr "type" "load_l")
        (eq_attr "cpu" "power9"))

Reply via email to