Similar to zEC12, the change in latencies helps match the real machine's behavior better.
-- gcc/ChangeLog: 2018-09-06 Robin Dapp <rd...@linux.ibm.com> * config/s390/2964.md: Increase latencies for some FP instructions. --- gcc/config/s390/2964.md | 80 ++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 37 deletions(-)
diff --git a/gcc/config/s390/2964.md b/gcc/config/s390/2964.md index a91a272a250..3154a3cf325 100644 --- a/gcc/config/s390/2964.md +++ b/gcc/config/s390/2964.md @@ -113,7 +113,7 @@ fixtr,vaccb,wfadb,vaccf,vaccg,vacch,vnot,vmalob,vaccq,vmalof,vmaloh,lpxbr,\ ledtr,vuplb,vuplf,axbr,lxdbr,ltxbr,vpopct,vpdi,vmlhb,vmlhf,vmlhh,sdbr,vnc,\ vsumb,vsrab,vsumh,vmaob,vmaof,vmaoh,vesrlvb,vesrlvf,vesrlvg,vesrlvh,tcxb,\ vceqbs,vceqh,lnxbr,sxbr,vesrab,wflcdb,vesraf,vesrag,vesrah,vflpdb,vmnh,\ -vsbiq,adtr,vsra,vsrl,vuplhb,sdb,vuplhf,vuplhh,vsumgf,vsumgh,ldebr,vuplhw,\ +vsbiq,adtr,vsra,vsrl,vuplhb,sdb,vuplhf,vuplhh,vsumgf,vsumgh,vuplhw,\ vchfs,madb,ddbr") (const_int 1)] (const_int 0))) @@ -145,50 +145,50 @@ ogr,popcnt,alcg,lndfr,larl,sll,tmy,ic,lpdfr,tend,lnr,bcr_flush")) "nothing") (define_insn_reservation "z13_1" 1 (and (eq_attr "cpu" "z13") - (eq_attr "mnemonic" "celgbr,vscef,vsceg,msy,msgf,cxlftr,cdsg,cdsy,\ -exrl,clfebr,cefbr,chhsi,stam,vgef,vgeg,cdlftr,lam,mfy,lcgfr,cfdbr,dsgf,\ -cgdbr,lzxr,lmg,cfxbr,rnsbg,cxlgtr,mr,dl,cxftr,sldl,cgdtr,cegbr,rxsbg,ex,\ -cgxtr,clfxtr,mlgr,cdlgtr,brasl,dsg,efpc,cfebr,tbeginc,celfbr,clgxbr,vsteb,\ -vsteh,cxlfbr,clfdtr,cxgtr,stmg,stmy,stm,lm,cds,cdfbr,ml,ms,lngfr,clgebr,\ -stpq,lmy,cs,lpgfr,cdlgbr,lpq,cxfbr,cxlgbr,cdgtr,d,m,mlg,mlr,cgxbr,cdftr,\ -msgr,rosbg,clgdbr,cdgbr,srda,bras,srdl,tbegin,clfdbr,cdlfbr,cxgbr,cgebr,\ -dlg,clfxbr,lxr,csy,msgfi,msgfr,msg,flogr,msr,csg,msfi,clgdtr,clgxtr")) "nothing") + (eq_attr "mnemonic" "vscef,vsceg,msy,msgf,cdsg,cdsy,\ +exrl,chhsi,stam,vgef,vgeg,lam,mfy,lcgfr,cfdbr,dsgf,\ +cgdbr,lzxr,lmg,cfxbr,rnsbg,cxlgtr,mr,dl,cxftr,sldl,cgdtr,rxsbg,ex,\ +cgxtr,mlgr,brasl,dsg,efpc,cfebr,tbeginc,vsteb,\ +vsteh,cxlfbr,cxgtr,stmg,stmy,stm,lm,cds,ml,ms,lngfr,\ +stpq,lmy,cs,lpgfr,lpq,cxfbr,cxlgbr,cdgtr,d,m,mlg,mlr,cgxbr,cdftr,\ +msgr,rosbg,srda,bras,srdl,tbegin,cxgbr,cgebr,\ +dlg,lxr,csy,msgfi,msgfr,msg,flogr,msr,csg,msfi")) "nothing") (define_insn_reservation "z13_2" 2 (and (eq_attr "cpu" "z13") - (eq_attr "mnemonic" "seb,vcksm,vfadb,vleib,vchgs,vleif,vleig,vleih,\ -vgbm,verimb,vone,verimf,verimg,verimh,verllvb,lpebr,verllvf,verllvg,verllvh,\ -vfeneb,wcdgb,vfenef,vfeneh,vchhs,vctzb,vctzf,vctzg,vctzh,vlcb,aeb,vlcf,\ -vlcg,vlch,vfmsdb,vgfmab,ltebr,vgfmaf,vgfmag,vgfmah,vmaeh,vsb,vsf,vsg,vsh,\ -vsl,vsq,lxebr,cdtr,fiebr,vupllb,vupllf,vupllh,vmrhb,madbr,vtm,vmrhf,vmrhg,\ -vmrhh,axtr,fiebra,vleb,cxtr,vlef,vleg,vleh,vpkf,vpkg,vpkh,vmlob,vmlof,vmloh,\ -lxdb,ldeb,vceqfs,adb,wflndb,lxeb,vn,vo,vchlb,vx,vchlf,vchlg,vchlh,vfcedbs,\ -vfcedb,vceqgs,cxbr,msdbr,vcdgb,vceqhs,meeb,lcxbr,vavglb,vavglf,vavglg,vavglh,\ -vmrlb,vmrlf,vmrlg,vmrlh,vmxb,tcdb,vmahh,vsrlb,wcgdb,lcdbr,\ + (eq_attr "mnemonic" "vcksm,vfadb,vleib,vchgs,vleif,vleig,vleih,\ +vgbm,verimb,vone,verimf,verimg,verimh,verllvb,verllvf,verllvg,verllvh,\ +vfeneb,wcdgb,vfenef,vfeneh,vchhs,vctzb,vctzf,vctzg,vctzh,vlcb,vlcf,\ +vlcg,vlch,vfmsdb,vgfmab,vgfmaf,vgfmag,vgfmah,vmaeh,vsb,vsf,vsg,vsh,\ +vsl,vsq,lxebr,cdtr,fiebr,vupllb,vupllf,vupllh,vmrhb,vtm,vmrhf,vmrhg,\ +vmrhh,axtr,vleb,cxtr,vlef,vleg,vleh,vpkf,vpkg,vpkh,vmlob,vmlof,vmloh,\ +lxdb,vceqfs,wflndb,lxeb,vn,vo,vchlb,vx,vchlf,vchlg,vchlh,vfcedbs,\ +vfcedb,vceqgs,cxbr,vcdgb,vceqhs,lcxbr,vavglb,vavglf,vavglg,vavglh,\ +vmrlb,vmrlf,vmrlg,vmrlh,vmxb,vmahh,vsrlb,wcgdb,\ vistrbs,vrepb,wfmdb,vrepf,vrepg,vreph,ler,wcdlgb,ley,vistrb,vistrf,vistrh,\ -tceb,vsumqf,vsumqg,vesrlb,vfeezbs,maebr,vesrlf,vesrlg,vesrlh,vmeb,vmef,\ -vmeh,meebr,vflcdb,wfmadb,vperm,sxtr,vclzf,vgm,vgmb,vgmf,vgmg,vgmh,tdcxt,\ -vzero,msebr,veslb,veslf,veslg,vfenezb,vfenezf,vfenezh,vistrfs,vchf,vchg,\ -vchh,vmhb,vmhf,vmhh,cdb,veslvb,ledbr,veslvf,veslvg,veslvh,wclgdb,vfmdb,\ -vmnlb,vmnlf,vmnlg,vmnlh,vclzb,vfeezfs,vclzg,vclzh,mdb,vmxlb,vmxlf,vmxlg,\ -vmxlh,ltdtr,vsbcbiq,ceb,sebr,vistrhs,lxdtr,lcebr,vab,vaf,vag,vah,ltxtr,\ -vlpf,vlpg,vsegb,vaq,vsegf,vsegh,sdtr,cdbr,vfeezhs,le,wldeb,vfmadb,\ -vchlbs,vacccq,vmaleb,vsel,vmalef,vmaleh,vflndb,mdbr,vmlb,wflpdb,ldetr,vpksfs,\ +vsumqf,vsumqg,vesrlb,vfeezbs,vesrlf,vesrlg,vesrlh,vmeb,vmef,\ +vmeh,vflcdb,wfmadb,vperm,sxtr,vclzf,vgm,vgmb,vgmf,vgmg,vgmh,tdcxt,\ +vzero,veslb,veslf,veslg,vfenezb,vfenezf,vfenezh,vistrfs,vchf,vchg,\ +vchh,vmhb,vmhf,vmhh,veslvb,veslvf,veslvg,veslvh,wclgdb,vfmdb,\ +vmnlb,vmnlf,vmnlg,vmnlh,vclzb,vfeezfs,vclzg,vclzh,vmxlb,vmxlf,vmxlg,\ +vmxlh,ltdtr,vsbcbiq,vistrhs,lxdtr,vab,vaf,vag,vah,ltxtr,\ +vlpf,vlpg,vsegb,vaq,vsegf,vsegh,sdtr,vfeezhs,le,wldeb,vfmadb,\ +vchlbs,vacccq,vmaleb,vsel,vmalef,vmaleh,vflndb,vmlb,wflpdb,ldetr,vpksfs,\ vpksf,vpksg,vpksh,vmaeb,veslh,vmaef,vpklsf,vpklsg,vpklsh,verllb,vchb,verllf,\ -verllg,verllh,wfsdb,maeb,vclgdb,vftcidb,vpksgs,vmxf,vmxg,vmxh,fidbra,vmnb,\ -vmnf,vmng,vfchedbs,lnebr,vfidb,msdb,vmalhb,vmalhf,vmalhh,vpkshs,vfsdb,vmalhw,\ -ltdbr,vmob,vmof,vmoh,vchlfs,mseb,vcdlgb,vlpb,wfmsdb,vlph,vmahb,vldeb,vmahf,\ -vgfmb,fidbr,aebr,wledb,vchlgs,vesravb,vfchdbs,cebr,vesravf,vesravg,vesravh,\ +verllg,verllh,wfsdb,vclgdb,vftcidb,vpksgs,vmxf,vmxg,vmxh,vmnb,\ +vmnf,vmng,vfchedbs,vfidb,vmalhb,vmalhf,vmalhh,vpkshs,vfsdb,vmalhw,\ +vmob,vmof,vmoh,vchlfs,vcdlgb,vlpb,wfmsdb,vlph,vmahb,vldeb,vmahf,\ +vgfmb,fidbr,wledb,vchlgs,vesravb,vfchdbs,vesravf,vesravg,vesravh,\ vcgdb,fixbra,vrepib,vrepif,vrepig,vrepih,tdcdt,vchlhs,vceqb,vscbib,vceqf,\ vceqg,vscbif,vscbig,vscbih,vmlhw,vscbiq,vuphb,vuphf,vuphh,vfchedb,tdcet,\ -vslb,vpklsfs,adbr,vfchdb,fixbr,vpklsgs,vsldb,vmleb,vmlef,vmleh,cpsdr,vmalb,\ -vmalf,vavgb,vmlf,vavgf,vavgg,vavgh,vgfmf,vgfmg,vgfmh,fidtr,vpklshs,lndbr,\ -vno,lpdbr,vacq,vledb,vchbs,vfeeb,vfeef,vfeeh,fixtr,vaccb,wfadb,vaccf,vaccg,\ +vslb,vpklsfs,vfchdb,fixbr,vpklsgs,vsldb,vmleb,vmlef,vmleh,cpsdr,vmalb,\ +vmalf,vavgb,vmlf,vavgf,vavgg,vavgh,vgfmf,vgfmg,vgfmh,vpklshs,\ +vno,vacq,vledb,vchbs,vfeeb,vfeef,vfeeh,vaccb,wfadb,vaccf,vaccg,\ vacch,vnot,vmalob,vaccq,vmalof,vmaloh,lpxbr,vuplb,vuplf,axbr,lxdbr,ltxbr,\ -vpopct,vpdi,vmlhb,vmlhf,vmlhh,sdbr,vnc,vsumb,vsrab,vsumh,vmaob,vmaof,vmaoh,\ +vpopct,vpdi,vmlhb,vmlhf,vmlhh,vnc,vsumb,vsrab,vsumh,vmaob,vmaof,vmaoh,\ vesrlvb,vesrlvf,vesrlvg,vesrlvh,tcxb,vceqbs,vceqh,lnxbr,sxbr,vesrab,wflcdb,\ -vesraf,vesrag,vesrah,vflpdb,vmnh,vsbiq,adtr,vsra,vsrl,vuplhb,sdb,vuplhf,\ -vuplhh,vsumgf,vsumgh,ldebr,vuplhw,vchfs,madb")) "nothing") +vesraf,vesrag,vesrah,vflpdb,vmnh,vsbiq,adtr,vsra,vsrl,vuplhb,vuplhf,\ +vuplhh,vsumgf,vsumgh,ldebr,vuplhw,vchfs")) "nothing") (define_insn_reservation "z13_3" 3 (and (eq_attr "cpu" "z13") @@ -208,7 +208,13 @@ vuplhh,vsumgf,vsumgh,ldebr,vuplhw,vchfs,madb")) "nothing") (define_insn_reservation "z13_8" 8 (and (eq_attr "cpu" "z13") - (eq_attr "mnemonic" "wfddb,ddb,vfddb,ddbr")) "nothing") + (eq_attr "mnemonic" "wfddb,ddb,vfddb,ddbr,lnebr,sdbr,sebr,clfxtr,\ +adbr,aebr,celfbr,clfebr,lpebr,msebr,lndbr,clfdbr,cebr,maebr,ltebr,\ +clfdtr,cdlgbr,cxlftr,lpdbr,cdfbr,lcebr,clfxbr,msdbr,cdbr,madbr,\ +meebr,clgxbr,clgdtr,ledbr,cegbr,cdlftr,cdlgtr,mdbr,clgebr,ltdbr,\ +cdlfbr,cdgbr,clgxtr,lcdbr,celgbr,clgdbr,ldebr,cefbr,fidtr,fixtr,\ +madb,msdb,mseb,fiebra,fidbra,aeb,mdb,seb,cdb,tcdb,sdb,adb,tceb,\ +maeb,ceb,meeb,ldeb")) "nothing") (define_insn_reservation "z13_9" 9 (and (eq_attr "cpu" "z13")