Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
R
riscv-gcc-1
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lvzhengyang
riscv-gcc-1
Commits
2380e042
Commit
2380e042
authored
Mar 12, 2019
by
Robin Dapp
Committed by
Robin Dapp
Mar 12, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
S/390: Change z13 pipeline description.
This patch adapts the z13 pipeline description. From-SVN: r269620
parent
8451f4a5
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
236 additions
and
185 deletions
+236
-185
gcc/ChangeLog
+10
-0
gcc/config/s390/2964.md
+207
-165
gcc/config/s390/s390.c
+19
-20
No files found.
gcc/ChangeLog
View file @
2380e042
2019-03-12 Robin Dapp <rdapp@linux.ibm.com>
* config/s390/2964.md: Update pipeline description.
* config/s390/s390.c (MAX_SCHED_UNITS): Increase.
(LONGRUNNING_THRESHOLD): Remove.
(LATENCY_FACTOR): Remove.
(s390_get_unit_mask): Add unit.
(s390_sched_score): Use fxd/fpd.
(s390_sched_variable_issue): Use fxd/fpd.
2019-03-12 Martin Liska <mliska@suse.cz>
2019-03-12 Martin Liska <mliska@suse.cz>
* config/i386/i386.c: Reword an error message.
* config/i386/i386.c: Reword an error message.
...
...
gcc/config/s390/2964.md
View file @
2380e042
...
@@ -18,215 +18,257 @@
...
@@ -18,215 +18,257 @@
;; along with GCC; see the file COPYING3. If not see
;; along with GCC; see the file COPYING3. If not see
;;
<http://www.gnu.org/licenses/>
.
;;
<http://www.gnu.org/licenses/>
.
(define_attr "z13_unit_fpd" ""
(cond
[
(eq_attr "mnemonic" "ddb,ddbr,deb,debr,dxbr,sqdb,sqdbr,sqeb,
\
sqebr,sqxbr,vfddb,vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfsqdb,wfsqxb")
(const_int 1)] (const_int 0)))
; generator options: vector_ecycs=12 cracked_ecycs=6 scale_ecycs=5
(define_attr "z13_unit_fxa" ""
(cond
[
(eq_attr "mnemonic" "a,afi,ag,agf,agfi,agfr,aghi,aghik,agr,
\
agrk,ahi,ahik,al,alc,alcg,alcgr,alcr,alfi,alg,algf,algfi,algfr,alghsik,
\
algr,alhsik,alr,alrk,aly,ark,ay,bras,brasl,etnd,exrl,flogr,ic,icm,icmh,
\
icmy,icy,iihf,iilf,ipm,la,larl,lay,lb,lbr,lcgr,lcr,lgb,lgbr,lgf,lgfi,lgfr,
\
lgfrl,lgh,lghi,lghr,lghrl,lgr,lh,lhi,lhr,lhrl,lhy,llcr,llgfr,llghr,llgtr,
\
llhr,llihf,llihh,llihl,llilf,llilh,llill,lngr,lnr,loc,locg,locghi,locgr,
\
lochi,locr,lpgr,lpr,lr,lrv,lrvg,lrvgr,lrvh,lrvr,lt,ltg,ltgf,ltgfr,ltgr,ltr,
\
m,mfy,mghi,mh,mhi,mhy,ml,mlg,mlgr,mlr,mr,ms,msfi,msg,msgf,msgfi,msgfr,
\
msgr,msr,msy,n,ng,ngr,ngrk,nihf,nihh,nihl,nilf,nilh,nill,nr,nrk,ny,o,og,
\
ogr,ogrk,oihf,oihh,oihl,oilf,oilh,oill,or,ork,oy,pfpo,popcnt,ppa,risbg,
\
risbgn,rll,rllg,s,sg,sgf,sgfr,sgr,sgrk,sh,shy,sl,slb,slbg,slbgr,slbr,slfi,
\
slg,slgf,slgfi,slgfr,slgr,slgrk,sll,sllg,sllk,slr,slrk,sly,sr,sra,srag,
\
srak,srl,srlg,srlk,sy,x,xg,xgr,xgrk,xihf,xilf,xr,xrk,xy")
(const_int 1)] (const_int 0)))
(define_attr "z13_unit_fxb" ""
(cond
[
(eq_attr "mnemonic" "agsi,algsi,alsi,asi,b,bc,bcr,br,brcl,c,
\
cfi,cg,cgf,cgfi,cgfr,cgfrl,cgh,cghi,cghrl,cghsi,cgit,cgr,cgrl,cgrt,ch,chi,
\
chrl,chsi,chy,cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,clghsi,
\
clgit,clgr,clgrl,clgrt,clgt,clhhsi,clhrl,cli,cliy,clm,clmy,clr,clrl,clrt,
\
clt,cly,cr,crl,crt,cy,j,jg,laa,laag,lan,lang,lao,laog,lat,lax,laxg,lcdfr,
\
ldgr,ldr,lgat,lgdr,lndfr,lpdfr,lzdr,lzer,mvghi,mvhhi,mvhi,mvi,mviy,ni,niy,
\
nop,nopr,ntstg,oi,oiy,st,stc,stcy,std,stdy,ste,stey,stg,stgrl,sth,sthrl,
\
sthy,stoc,stocg,strl,strv,strvg,strvh,sty,tend,tm,tmh,tmhh,tmhl,tml,tmlh,
\
tmll,tmy,vlgvf,vlgvg,vlgvh,vlr,vlvgb,vlvgf,vlvgg,vlvgh,vlvgp,vst,vstl,xi,
\
xiy")
(const_int 1)] (const_int 0)))
(define_attr "z13_unit_fxd" ""
(cond
[
(eq_attr "mnemonic" "dlgr,dlr,dr,dsgfr,dsgr")
(const_int 1)] (const_int 0)))
(define_attr "z13_unit_lsu" ""
(cond
[
(eq_attr "mnemonic" "a,adb,aeb,ag,agf,agsi,al,alc,alcg,alg,
\
algf,algsi,alsi,aly,asi,ay,c,cdb,cg,cgf,cgfrl,cgh,cghrl,cghsi,cgrl,ch,chrl,
\
chsi,chy,cl,clc,clfhsi,clg,clgf,clgfrl,clghsi,clgrl,clgt,clhhsi,clhrl,cli,
\
cliy,clm,clmy,clrl,clt,cly,crl,cy,ddb,deb,ear,ic,icm,icmh,icmy,icy,l,laa,
\
laag,lan,lang,lao,laog,lat,lax,laxg,lb,lcbb,ld,lde,ldeb,ldy,le,ley,lg,lgat,
\
lgb,lgf,lgfrl,lgh,lghrl,lgrl,lh,lhrl,lhy,llc,llgc,llgf,llgfrl,llgh,llghrl,
\
llgt,llh,llhrl,loc,locg,lrl,lrv,lrvg,lrvh,lt,ltg,ltgf,ly,m,madb,maeb,meeb,
\
mfy,mh,mhy,ml,mlg,ms,msdb,mseb,msg,msgf,msy,mvghi,mvhhi,mvhi,mvi,mviy,n,
\
ng,ni,niy,ntstg,ny,o,og,oi,oiy,oy,s,sar,sdb,seb,sfpc,sg,sgf,sh,shy,sl,
\
slb,slbg,slg,slgf,sly,sqdb,sqeb,st,stc,stcy,std,stdy,ste,stey,stg,stgrl,
\
sth,sthrl,sthy,stoc,stocg,strl,strv,strvg,strvh,sty,sy,tabort,tm,tmy,vl,
\
vlbb,vleb,vlef,vleg,vleh,vll,vllezb,vllezf,vllezg,vllezh,vllezlf,vlrepb,
\
vlrepf,vlrepg,vlreph,vst,vstl,x,xg,xi,xiy,xy")
(const_int 1)] (const_int 0)))
(define_attr "z13_unit_vfu" ""
(cond
[
(eq_attr "mnemonic" "adb,adbr,adtr,aeb,aebr,axbr,axtr,cdb,
\
cdbr,cdtr,cebr,cpsdr,cxbr,cxtr,ddtr,dxtr,fidbr,fidbra,fidtr,fiebr,fiebra,
\
fixbr,fixbra,fixtr,lcdbr,lcebr,lcxbr,ldeb,ldebr,ldetr,le,ledbr,ledtr,ler,
\
ley,lndbr,lnebr,lnxbr,lpdbr,lpebr,lpxbr,ltdbr,ltebr,ltxbr,ltxtr,lxdb,
\
lxdbr,lxdtr,lxeb,lxebr,madb,madbr,maeb,maebr,mdbr,mdtr,meeb,meebr,msdb,
\
msdbr,mseb,msebr,mxbr,mxtr,sdb,sdbr,sdtr,seb,sebr,sxbr,sxtr,tcdb,tceb,tcxb,
\
tdcdt,tdcet,tdcxt,vab,vaccb,vacccq,vaccf,vaccg,vacch,vaccq,vacq,vaf,vag,vah,
\
vaq,vavgb,vavgf,vavgg,vavgh,vavglb,vavglf,vavglg,vavglh,vcdgb,vcdlgb,
\
vceqb,vceqbs,vceqf,vceqfs,vceqg,vceqgs,vceqh,vceqhs,vcgdb,vchb,vchbs,vchf,
\
vchfs,vchg,vchgs,vchh,vchhs,vchlb,vchlbs,vchlf,vchlfs,vchlg,vchlgs,vchlh,
\
vchlhs,vcksm,vclgdb,vclzf,vctzb,vctzf,vctzg,vctzh,verimb,verimf,verimg,
\
verimh,verllb,verllf,verllg,verllh,verllvb,verllvf,verllvg,verllvh,veslb,
\
veslf,veslg,veslh,veslvb,veslvf,veslvg,veslvh,vesrab,vesraf,vesrag,vesrah,
\
vesravb,vesravf,vesravg,vesravh,vesrlb,vesrlf,vesrlg,vesrlh,vesrlvb,vesrlvf,
\
vesrlvg,vesrlvh,vfadb,vfasb,vfcedb,vfcedbs,vfcesb,vfcesbs,vfchdb,vfchdbs,
\
vfchedb,vfchedbs,vfchesb,vfchesbs,vfchsb,vfchsbs,vfeeb,vfeef,vfeeh,vfeezbs,
\
vfeezhs,vfeneb,vfenef,vfeneh,vfenezb,vfenezf,vfenezh,vfidb,vfisb,vflcdb,
\
vflcsb,vflndb,vflnsb,vflpdb,vfmadb,vfmasb,vfmdb,vfmsb,vfmsdb,vfmssb,vfsdb,
\
vfssb,vftcidb,vftcisb,vgbm,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,vgfmg,
\
vgfmh,vgm,vgmb,vgmf,vgmg,vgmh,vistrb,vistrbs,vistrf,vistrfs,vistrh,vlcb,
\
vlcf,vlcg,vlch,vldeb,vleb,vledb,vlef,vleg,vleh,vleib,vleif,vleig,vleih,
\
vlpb,vlpf,vlpg,vlph,vmaeb,vmaef,vmaeh,vmahb,vmahf,vmahh,vmalb,vmaleb,
\
vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,vmalhw,vmalob,vmalof,vmaloh,vmaob,
\
vmaof,vmaoh,vmeb,vmef,vmeh,vmhb,vmhf,vmhh,vmlb,vmleb,vmlef,vmleh,vmlf,vmlhb,
\
vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmnb,vmnf,vmng,vmnh,vmnlb,vmnlf,vmnlg,
\
vmnlh,vmob,vmof,vmoh,vmrhb,vmrhf,vmrhg,vmrhh,vmrlb,vmrlf,vmrlg,vmrlh,vmxb,
\
vmxf,vmxg,vmxh,vn,vnc,vno,vnot,vo,vone,vpdi,vperm,vpkf,vpkg,vpkh,vpklsf,
\
vpklsfs,vpklsg,vpklsgs,vpklsh,vpklshs,vpksf,vpksfs,vpksg,vpksgs,vpksh,vpkshs,
\
vpopct,vpopctb,vpopctf,vpopctg,vpopcth,vrepb,vrepf,vrepg,vreph,vrepib,vrepif,
\
vrepig,vrepih,vsb,vsbiq,vscbib,vscbif,vscbig,vscbih,vscbiq,vsegb,vsegf,vsegh,
\
vsel,vsf,vsg,vsh,vsl,vslb,vsldb,vsq,vsra,vsrab,vsrl,vsrlb,vsumb,vsumgf,
\
vsumgh,vsumh,vsumqf,vsumqg,vtm,vuphb,vuphf,vuphh,vuplb,vuplf,vuplhb,vuplhf,
\
vuplhh,vuplhw,vupllb,vupllf,vupllh,vx,vzero,wcdgb,wcdlgb,wcgdb,wclgdb,wfadb,
\
wfasb,wfaxb,wfcdb,wfcedb,wfcesb,wfcexbs,wfchdb,wfchedb,wfchesb,wfchexb,
\
wfchexbs,wfchsb,wfchxb,wfchxbs,wfcsb,wfisb,wfixb,wflcdb,wflcsb,wflcxb,wflld,
\
wflndb,wflnsb,wflnxb,wflpdb,wflpsb,wflpxb,wfmadb,wfmasb,wfmaxb,wfmdb,wfmsb,
\
wfmsdb,wfmssb,wfmsxb,wfmxb,wfsdb,wfssb,wfsxb,wldeb,wledb")
(const_int 1)] (const_int 0)))
(define_attr "z13_cracked" ""
(define_attr "z13_cracked" ""
(cond
[
(eq_attr "mnemonic" "celgbr,vscef,vsceg,exrl,clfebr,cefbr,chhsi,
\
(cond
[
(eq_attr "mnemonic" "bas,basr,cdfbr,cdftr,cdgbr,cdgtr,cdlfbr,
\
vgef,vgeg,cdlftr,lcgfr,cfdbr,cgdbr,lzxr,cfxbr,rnsbg,cgdtr,cegbr,rxsbg,ex,
\
cdlftr,cdlgbr,cdlgtr,cefbr,cegbr,celfbr,celgbr,cfdbr,cfebr,cfxbr,cgdbr,cgdtr,
\
cgxtr,clfxtr,cdlgtr,brasl,efpc,cfebr,tbeginc,celfbr,clgxbr,vsteb,vsteh,
\
cgebr,cgxbr,cgxtr,chhsi,clfdbr,clfebr,clfxbr,clfxtr,clgdbr,clgdtr,clgebr,
\
clfdtr,cdfbr,lngfr,clgebr,stpq,cs,lpgfr,cdlgbr,lpq,cdgtr,d,cgxbr,cdftr,
\
clgxbr,clgxtr,cs,csg,csy,d,efpc,ex,lcgfr,lngfr,lpgfr,lpq,lxr,lzxr,rnsbg,
\
rosbg,clgdbr,cdgbr,bras,tbegin,clfdbr,cdlfbr,cgebr,clfxbr,lxr,csy,csg,clgdtr,
\
rosbg,rxsbg,stpq,vgef,vgeg,vscef,vsceg,vsteb")
clgxtr") (const_int 1)]
(const_int 1)] (const_int 0)))
(const_int 0)))
(define_attr "z13_expanded" ""
(define_attr "z13_expanded" ""
(cond
[
(eq_attr "mnemonic" "cxlftr,cdsg,cdsy,stam,lam,dsgf,lmg,cxl
gtr,
\
(cond
[
(eq_attr "mnemonic" "cds,cdsg,cdsy,cxfbr,cxftr,cxgbr,cx
gtr,
\
dl,cxftr,sldl,dsg,cxlfbr,cxgtr,stmg,stmy,stm,lm,cds,lmy,cxfbr,cxlgbr,srda
,
\
cxlftr,cxlgbr,cxlgtr,dl,dlg,dsg,dsgf,lam,lm,lmg,lmy,sldl,srda,srdl,stam,stm
,
\
s
rdl,cxgbr,dlg") (const_int 1)]
s
tmg,stmy,tbegin,tbeginc")
(const_int 0)))
(const_int 1)]
(const_int 0)))
(define_attr "z13_groupalone" ""
(define_attr "z13_groupalone" ""
(cond
[
(eq_attr "mnemonic" "mvc,dxbr,lxebr,axtr,cxtr,alcr,lxdb,lxeb,mxt
r,
\
(cond
[
(eq_attr "mnemonic" "alc,alcg,alcgr,alcr,axbr,axtr,clc,cxb
r,
\
mfy,cxbr,dsgr,lcxbr,slb,mr,dr,alc,slbr,maebr,mlgr,dsgfr,sxtr,tdcxt,tabort
,
\
cxtr,dlgr,dlr,dr,dsgfr,dsgr,dxbr,dxtr,fixbr,fixbra,fixtr,flogr,lcxbr,lnxbr
,
\
msebr,lxdtr,ltxtr,slbg,ml,mxbr,maeb,oc,dxtr,msdb,sqxbr,mseb,xc,m,clc
,mlg,
\
lpxbr,ltxbr,ltxtr,lxdb,lxdbr,lxdtr,lxeb,lxebr,m,madb,maeb,maebr,mfy,ml
,mlg,
\
ml
r,fixbra,alcgr,nc,sfpc,dlgr,fixbr,slbgr,fixtr,lpxbr,axbr,lxdbr,ltx
br,
\
ml
gr,mlr,mr,msdb,mseb,msebr,mvc,mxbr,mxtr,oc,sfpc,slb,slbg,slbgr,sl
br,
\
tcxb,dlr,lnxbr,sxbr,flogr,alcg,tend,madb,bcr_flush") (const_int 1)]
sqxbr,sxbr,sxtr,tabort,tcxb,tdcxt,tend,xc")
(const_int 0)))
(const_int 1)]
(const_int 0)))
(define_attr "z13_endgroup" ""
(define_attr "z13_endgroup" ""
(cond
[
(eq_attr "mnemonic" "ipm") (const_int 1)
]
(cond
[
(eq_attr "mnemonic" "bras,brasl,exrl,ipm")
(const_int 0)))
(const_int 1)] (const_int 0)))
(define_attr "z13_unit_lsu" ""
(cond
[
(eq_attr "mnemonic" "vlbb,mvc,llgc,llc,llhrl,vl,llghrl,vlrepf,
\
vlrepg,vlreph,lde,ldy,tabort,l,llh,ld,lg,ly,vlrepb,vllezb,vllezf,vllezg,
\
vllezh,oc,xc,clc,lrl,ear,nc,lgrl,sfpc,llgf,llgfrl,llgh,llgt,lcbb,vll,sar") (const_int 1)]
(const_int 0)))
(define_attr "z13_unit_fxu" ""
(cond
[
(eq_attr "mnemonic" "s,lcgr,x,nop,oiy,ppa,ng,msy,sgrk,vstl,aghik,
\
msgf,ipm,mvi,stocg,rll,srlg,cghsi,clgit,srlk,alrk,sg,sh,sl,st,sy,vst,ark,
\
xgr,agsi,tm,nrk,shy,llhr,agf,alcr,slgfr,sr,clgrt,laa,sgf,lan,llilf,
\
llilh,ag,llill,lay,al,n,laxg,ar,ahi,sgr,ntstg,ay,stcy,nopr,mfy,ngrk,lbr,
\
br,dsgr,stdy,ork,ldgr,lcr,cg,ch,lgfrl,cl,stoc,cr,agfr,stgrl,cy,alfi,xg,
\
cgfi,xi,clfhsi,cgfr,xr,slb,mghi,clfi,slg,clhhsi,agfi,clfit,sly,mr,ldr,nihf,
\
nihh,algfi,dr,nihl,algf,algfr,algr,clgf,clgr,clgt,aghi,alc,alg,locg,alr,
\
locr,cghi,aly,alghsik,slbr,clgfrl,mhy,cit,nr,ny,xiy,mlgr,sthy,cly,dsgfr,
\
rllg,cgit,lgb,lgf,clgrl,lgh,lrvgr,cliy,cgrl,lgr,slrk,clrt,icy,laog,og,agr,
\
mvhi,lhrl,or,lhr,vlvgp,lhy,nilf,oy,nilh,nill,lcdfr,mviy,tmhh,tmhl,sthrl,
\
ltgf,ltgr,srk,clghrl,ahy,vstef,vsteg,ah,vlgvb,llgcr,tmh,tml,clmy,slr,cfi,
\
stc,std,ste,stg,sth,locgr,slbg,sty,tmlh,la,lb,mvghi,lh,risbgn,lrvg,lr,asi,
\
lt,ahik,lrvr,cgf,cgh,cgr,clhrl,lzdr,tmll,mh,ml,vlvgb,ms,lrv,vlvgf,xgrk,
\
vlvgg,llgfr,vlvgh,slfi,chi,chy,mhi,lzer,alhsik,ni,ltgfr,loc,icm,oi,cgfrl,
\
agrk,lgat,oilh,llghr,lghrl,oill,xihf,lpgr,cgrt,clrl,sgfr,lpr,lgbr,strl,
\
algrk,alsi,srak,slgf,a,b,c,slgr,m,o,algsi,icmh,srag,iilf,ogrk,clg,icmy,
\
cli,clm,clr,clt,slgrk,mlg,lao,mlr,risbg,mvhhi,lat,etnd,lax,iihf,sra,alcgr,
\
msgr,clghsi,stey,ngr,xilf,laag,oihf,oihh,oihl,ltg,ltr,niy,lgfi,dlgr,lgfr,
\
slgfi,llcr,slbgr,chrl,lgdr,pfpo,lang,basr,sllg,sllk,lghi,lghr,vlgvf,vlgvg,
\
vlgvh,vlr,chsi,lngr,cghrl,srl,lhi,oilf,crl,crt,afi,xrk,llgtr,llihf,llihh,
\
llihl,dlr,msgfi,msgfr,msg,flogr,xy,msr,clgfi,clgfr,ogr,popcnt,alcg,lndfr,
\
larl,sll,tmy,msfi,ic,lpdfr,tend,lnr") (const_int 1)]
(const_int 0)))
(define_attr "z13_unit_vfu" ""
(define_attr "z13_groupoftwo" ""
(cond
[
(eq_attr "mnemonic" "seb,vcksm,vfadb,vleib,vchgs,vleif,vleig,vleih,
\
(cond
[
(eq_attr "mnemonic" "vacccq,vacq,vfmadb,vfmasb,vfmsdb,vfmssb,
\
vgbm,verimb,vone,verimf,verimg,verimh,dxbr,verllvb,lpebr,verllvf,verllvg,
\
vgfmab,vgfmaf,vgfmag,vgfmah,vmaeb,vmaef,vmaeh,vmahb,vmahf,vmahh,vmalb,vmaleb,
\
verllvh,vfeneb,wcdgb,vfenef,vfeneh,vchhs,vctzb,vctzf,vctzg,vctzh,vlcb,aeb,
\
vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,vmalhw,vmalob,vmalof,vmaloh,vmaob,
\
vlcf,vlcg,vlch,vfmsdb,vgfmab,ltebr,vgfmaf,vgfmag,vgfmah,vmaeh,vsb,vsf,vsg,
\
vmaof,vmaoh,vperm,vsbiq,vsel,wfmadb,wfmasb,wfmaxb,wfmsdb,wfmssb,wfmsxb")
vsh,vsl,vsq,lxebr,cdtr,fiebr,vupllb,vupllf,vupllh,vmrhb,madbr,vtm,vmrhf,
\
(const_int 1)] (const_int 0)))
vmrhg,vmrhh,axtr,fiebra,vleb,cxtr,vlef,vleg,vleh,vpkf,vpkg,vpkh,vmlob,vmlof,
\
vmloh,lxdb,ldeb,mdtr,vceqfs,adb,wflndb,lxeb,vn,vo,vchlb,vx,mxtr,vchlf,vchlg,
\
vchlh,vfcedbs,vfcedb,vceqgs,cxbr,msdbr,vcdgb,debr,vceqhs,meeb,lcxbr,vavglb,
\
vavglf,vavglg,vavglh,vmrlb,vmrlf,vmrlg,vmrlh,vmxb,tcdb,
\
vmahh,vsrlb,wcgdb,lcdbr,vistrbs,vrepb,wfmdb,vrepf,vrepg,vreph,ler,wcdlgb,
\
ley,vistrb,vistrf,vistrh,tceb,wfsqdb,sqeb,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,wfddb,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,vpksf,vpksg,vpksh,sqdb,mxbr,sqdbr,
\
vmaeb,veslh,vmaef,vpklsf,vpklsg,vpklsh,verllb,vchb,ddtr,verllf,verllg,verllh,
\
wfsdb,maeb,vclgdb,vftcidb,vpksgs,vmxf,vmxg,vmxh,fidbra,vmnb,vmnf,vmng,vfchedbs,
\
lnebr,vfidb,dxtr,ddb,msdb,vmalhb,vfddb,vmalhf,vmalhh,vpkshs,vfsdb,sqxbr,
\
vmalhw,ltdbr,vmob,vmof,vmoh,deb,vchlfs,mseb,vcdlgb,vlpb,wfmsdb,vlph,vmahb,
\
vldeb,vmahf,vgfmb,fidbr,vfsqdb,aebr,wledb,vchlgs,vesravb,vfchdbs,cebr,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,sqebr,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,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,
\
vchfs,madb,ddbr") (const_int 1)]
(const_int 0)))
(define_insn_reservation "z13_0" 0
(define_insn_reservation "z13_0" 0
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "s,lcgr,x,nop,oiy,vlbb,ppa,ng,sgrk,vstl,aghik,
\
(eq_attr "mnemonic" "a,afi,ag,agfi,aghi,aghik,agr,agrk,ahi,ahik,al,
\
mvc,ipm,llgc,mvi,stocg,rll,jg,srlg,cghsi,clgit,srlk,alrk,sg,sh,sl,st,sy,
\
alfi,alg,algf,algfi,algfr,alghsik,algr,alhsik,alr,alrk,aly,ark,ay,b,bc,bcr,
\
vst,ark,xgr,agsi,tm,nrk,shy,llhr,agf,alcr,slgfr,sr,clgrt,llc,laa,sgf,
\
br,bras,brasl,brcl,c,cfi,cg,cgfi,cghi,cghsi,cgit,cgr,cgrl,cgrt,chi,chsi,
\
lan,llhrl,llilf,llilh,ag,llill,lay,al,n,laxg,ar,ahi,sgr,ntstg,ay,stcy,vl,
\
cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,clghsi,clgit,clgr,
\
nopr,ngrk,lbr,br,stdy,ork,ldgr,lcr,cg,ch,llghrl,lgfrl,cl,stoc,cr,agfr,stgrl,
\
clgrl,clgrt,clgt,clhhsi,clhrl,cli,cliy,clr,clrl,clrt,clt,cly,cr,crl,crt,cy,
\
cy,alfi,xg,cgfi,xi,vlrepf,vlrepg,vlreph,clfhsi,cgfr,xr,slb,mghi,clfi,slg,
\
etnd,exrl,ic,icm,icmh,icmy,icy,iihf,iilf,j,jg,la,larl,lat,lay,lb,lbr,lcdfr,
\
lde,clhhsi,agfi,clfit,sly,ldr,ldy,nihf,nihh,algfi,nihl,algf,algfr,algr,
\
lcgr,lcr,ldgr,ldr,lgat,lgb,lgbr,lgf,lgfi,lgfr,lgfrl,lgh,lghi,lghr,lghrl,
\
clgf,clgr,clgt,aghi,alc,alg,locg,alr,locr,cghi,aly,alghsik,slbr,clgfrl,
\
lgr,lh,lhi,lhr,lhrl,lhy,llcr,llgfr,llghr,llgtr,llhr,llihf,llihh,llihl,
\
mhy,cit,nr,ny,xiy,sthy,cly,rllg,cgit,lgb,lgf,clgrl,lgh,lrvgr,cliy,cgrl,
\
llilf,llilh,llill,lndfr,lpdfr,lr,lrv,lrvg,lrvgr,lrvh,lrvr,lt,ltg,ltgf,ltgfr,
\
lgr,slrk,clrt,icy,laog,og,agr,mvhi,lhrl,or,lhr,vlvgp,lhy,nilf,oy,nilh,tabort,
\
ltgr,ltr,lzdr,lzer,n,ng,ngr,ngrk,nihf,nihh,nihl,nilf,nilh,nill,nop,nopr,nr,
\
nill,lcdfr,mviy,tmhh,tmhl,sthrl,ltgf,ltgr,srk,clghrl,ahy,vstef,vsteg,ah,
\
nrk,ny,o,og,ogr,ogrk,oihf,oihh,oihl,oilf,oilh,oill,or,ork,oy,pfpo,ppa,
\
vlgvb,llgcr,tmh,tml,clmy,slr,cfi,stc,std,ste,stg,sth,l,locgr,llh,slbg,sty,
\
risbg,risbgn,rll,rllg,s,sg,sgr,sgrk,sl,sldl,slfi,slg,slgf,slgfi,slgfr,slgr,
\
tmlh,la,lb,ld,mvghi,lg,lh,risbgn,lrvg,lr,asi,lt,ahik,ly,lrvr,vlrepb,vllezb,
\
slgrk,sll,sllg,sllk,slr,slrk,sly,sr,sra,srag,srak,srda,srdl,srl,srlg,srlk,
\
cgf,cgh,vllezf,vllezg,vllezh,cgr,clhrl,lzdr,tmll,mh,vlvgb,lrv,vlvgf,xgrk,
\
sy,tm,tmh,tmhh,tmhl,tml,tmlh,tmll,tmy,vlr,vlvgb,vlvgf,vlvgg,vlvgh,x,xg,
\
vlvgg,llgfr,vlvgh,slfi,chi,chy,mhi,lzer,alhsik,ni,ltgfr,loc,icm,oc,oi,cgfrl,
\
xgr,xgrk,xihf,xilf,xr,xrk,xy")) "nothing")
agrk,lgat,oilh,llghr,lghrl,oill,xihf,lpgr,cgrt,clrl,sgfr,lpr,lgbr,strl,
\
algrk,alsi,srak,brcl,slgf,xc,a,b,c,slgr,j,o,algsi,icmh,srag,iilf,ogrk,clc,
\
clg,icmy,cli,clm,clr,clt,slgrk,lrl,lao,risbg,mvhhi,lat,etnd,lax,iihf,sra,
\
alcgr,clghsi,ear,nc,lgrl,stey,ngr,xilf,laag,oihf,oihh,oihl,ltg,ltr,niy,
\
lgfi,sfpc,lgfr,slgfi,llcr,llgf,llgfrl,llgh,slbgr,llgt,chrl,lgdr,pfpo,lang,
\
basr,lcbb,sllg,sllk,lghi,vll,lghr,vlgvf,vlgvg,vlgvh,vlr,chsi,lngr,cghrl,
\
srl,sar,lhi,oilf,crl,crt,afi,xrk,llgtr,llihf,llihh,llihl,xy,clgfi,clgfr,
\
ogr,popcnt,alcg,lndfr,larl,sll,tmy,ic,lpdfr,tend,lnr,bcr_flush")) "nothing")
(define_insn_reservation "z13_1" 1
(define_insn_reservation "z13_1" 1
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "celgbr,vscef,vsceg,msy,msgf,cxlftr,cdsg,cdsy,
\
(eq_attr "mnemonic" "agf,agfr,agsi,algsi,alsi,asi,cgf,cgfr,cgfrl,cgh,
\
exrl,clfebr,cefbr,chhsi,stam,vgef,vgeg,cdlftr,lam,mfy,lcgfr,cfdbr,dsgf,
\
cghrl,ch,chrl,chy,clm,clmy,cpsdr,laa,laag,lan,lang,lao,laog,lax,laxg,le,ler,
\
cgdbr,lzxr,lmg,cfxbr,rnsbg,cxlgtr,mr,dl,cxftr,sldl,cgdtr,cegbr,rxsbg,ex,
\
ley,lngr,lnr,loc,locg,locghi,locgr,lochi,locr,lpgr,lpr,mvghi,mvhhi,mvhi,
\
cgxtr,clfxtr,mlgr,cdlgtr,brasl,dsg,efpc,cfebr,tbeginc,celfbr,clgxbr,vsteb,
\
mvi,mviy,ni,niy,ntstg,oi,oiy,sgf,sgfr,sh,shy,st,stc,stcy,stg,stgrl,sth,
\
vsteh,cxlfbr,clfdtr,cxgtr,stmg,stmy,stm,lm,cds,cdfbr,ml,ms,lngfr,clgebr,
\
sthrl,sthy,stoc,stocg,strl,strv,strvg,strvh,sty,vab,vaccb,vacccq,vaccf,
\
stpq,lmy,cs,lpgfr,cdlgbr,lpq,cxfbr,cxlgbr,cdgtr,d,m,mlg,mlr,cgxbr,cdftr,
\
vaccg,vacch,vaccq,vacq,vaf,vag,vah,vaq,vavgb,vavgf,vavgg,vavgh,vavglb,
\
msgr,rosbg,clgdbr,cdgbr,srda,bras,srdl,tbegin,clfdbr,cdlfbr,cxgbr,cgebr,
\
vavglf,vavglg,vavglh,vceqb,vceqf,vceqg,vceqh,vchb,vchf,vchg,vchh,vchlb,vchlf,
\
dlg,clfxbr,lxr,csy,msgfi,msgfr,msg,flogr,msr,csg,msfi,clgdtr,clgxtr")) "nothing")
vchlg,vchlh,vclzf,vctzb,vctzf,vctzg,vctzh,verimb,verimf,verimg,verimh,
\
verllb,verllf,verllg,verllh,verllvb,verllvf,verllvg,verllvh,veslb,veslf,
\
veslg,veslh,veslvb,veslvf,veslvg,veslvh,vesrab,vesraf,vesrag,vesrah,vesravb,
\
vesravf,vesravg,vesravh,vesrlb,vesrlf,vesrlg,vesrlh,vesrlvb,vesrlvf,vesrlvg,
\
vesrlvh,vfcedb,vfcesb,vfchdb,vfchedb,vfchesb,vfchsb,vflcdb,vflcsb,vflndb,
\
vflnsb,vflpdb,vgbm,vgm,vgmb,vgmf,vgmg,vgmh,vlcb,vlcf,vlcg,vlch,vleb,vlef,
\
vleg,vleh,vleib,vleif,vleig,vleih,vlpb,vlpf,vlpg,vlph,vmnb,vmnf,vmng,vmnh,
\
vmnlb,vmnlf,vmnlg,vmnlh,vmrhb,vmrhf,vmrhg,vmrhh,vmrlb,vmrlf,vmrlg,vmrlh,
\
vmxb,vmxf,vmxg,vmxh,vn,vnc,vno,vnot,vo,vone,vpdi,vperm,vpkf,vpkg,vpkh,
\
vpklsf,vpklsg,vpklsh,vpksf,vpksg,vpksh,vpopct,vpopctb,vpopctf,vpopctg,
\
vpopcth,vrepb,vrepf,vrepg,vreph,vrepib,vrepif,vrepig,vrepih,vsb,vsbiq,vscbib,
\
vscbif,vscbig,vscbih,vscbiq,vsegb,vsegf,vsegh,vsel,vsf,vsg,vsh,vsl,vsldb,vsq,
\
vsra,vsrl,vuphb,vuphf,vuphh,vuplb,vuplf,vuplhb,vuplhf,vuplhh,vuplhw,vupllb,
\
vupllf,vupllh,vx,vzero,wfcedb,wfcesb,wfchdb,wfchedb,wfchesb,wfchexb,wfchsb,
\
wfchxb,wflcdb,wflcsb,wflcxb,wflndb,wflnsb,wflnxb,wflpdb,wflpsb,wflpxb,xi,xiy")) "nothing")
(define_insn_reservation "z13_2" 2
(define_insn_reservation "z13_2" 2
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "seb,vcksm,vfadb,vleib,vchgs,vleif,vleig,vleih,
\
(eq_attr "mnemonic" "cdb,cdbr,cebr,ear,ipm,l,lcbb,lcdbr,lcebr,ld,lde,
\
vgbm,verimb,vone,verimf,verimg,verimh,verllvb,lpebr,verllvf,verllvg,verllvh,
\
ldy,lg,lgdr,lgrl,llc,llgc,llgf,llgfrl,llgh,llghrl,llgt,llh,llhrl,lm,lmg,
\
vfeneb,wcdgb,vfenef,vfeneh,vchhs,vctzb,vctzf,vctzg,vctzh,vlcb,aeb,vlcf,
\
lmy,lndbr,lnebr,lpdbr,lpebr,lrl,ltdbr,ltebr,ly,popcnt,sar,tcdb,tceb,
\
vlcg,vlch,vfmsdb,vgfmab,ltebr,vgfmaf,vgfmag,vgfmah,vmaeh,vsb,vsf,vsg,vsh,
\
vceqbs,vceqfs,vceqgs,vceqhs,vchbs,vchfs,vchgs,vchhs,vchlbs,vchlfs,vchlgs,
\
vsl,vsq,lxebr,cdtr,fiebr,vupllb,vupllf,vupllh,vmrhb,madbr,vtm,vmrhf,vmrhg,
\
vchlhs,vfcedbs,vfcesbs,vfchdbs,vfchedbs,vfchesbs,vfchsbs,vfeeb,vfeef,vfeeh,
\
vmrhh,axtr,fiebra,vleb,cxtr,vlef,vleg,vleh,vpkf,vpkg,vpkh,vmlob,vmlof,vmloh,
\
vfeneb,vfenef,vfeneh,vfenezb,vfenezf,vfenezh,vftcidb,vftcisb,vistrb,vistrf,
\
lxdb,ldeb,vceqfs,adb,wflndb,lxeb,vn,vo,vchlb,vx,vchlf,vchlg,vchlh,vfcedbs,
\
vistrh,vllezb,vllezf,vllezg,vllezh,vllezlf,vlrepb,vlrepf,vlrepg,vlreph,vlvgp,
\
vfcedb,vceqgs,cxbr,msdbr,vcdgb,vceqhs,meeb,lcxbr,vavglb,vavglf,vavglg,vavglh,
\
vpklsfs,vpklsgs,vpklshs,vpksfs,vpksgs,vpkshs,vslb,vsrab,vsrlb,wfcdb,wfcexbs,
\
vmrlb,vmrlf,vmrlg,vmrlh,vmxb,tcdb,vmahh,vsrlb,wcgdb,lcdbr,
\
wfchexbs,wfchxbs,wfcsb")) "nothing")
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,
\
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,
\
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,
\
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,
\
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")
(define_insn_reservation "z13_3" 3
(define_insn_reservation "z13_3" 3
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "ledtr")) "nothing")
(eq_attr "mnemonic" "cds,cdsy,std,stdy,ste,stey,vcksm,vfeezbs,
\
vfeezhs,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,vgfmg,vgfmh,vistrbs,vistrfs,
\
vl,vlbb,vlgvf,vlgvg,vlgvh,vll,vmaeb,vmaef,vmaeh,vmahb,vmahf,vmahh,vmalb,
\
vmaleb,vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,vmalhw,vmalob,vmalof,vmaloh,
\
vmaob,vmaof,vmaoh,vmeb,vmef,vmeh,vmhb,vmhf,vmhh,vmlb,vmleb,vmlef,vmleh,vmlf,
\
vmlhb,vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmob,vmof,vmoh,vsumb,vsumgf,
\
vsumgh,vsumh,vsumqf,vsumqg,vtm")) "nothing")
(define_insn_reservation "z13_4" 4
(define_insn_reservation "z13_4" 4
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "dr,mxbr,dlr")) "nothing")
(eq_attr "mnemonic" "bas,basr,chhsi,clc,ex,lam,lcgfr,lxr,lzxr,mghi,
\
mh,mhi,mhy,mvc,oc,tabort,tbegin,tbeginc,tend,vst,vstl,xc")) "nothing")
(define_insn_reservation "z13_5" 5
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "alc,alcg,alcgr,alcr,cs,csg,csy,lngfr,lpgfr,ms,
\
msfi,msgf,msgfi,msgfr,msr,msy,rnsbg,rosbg,rxsbg,slb,slbg,slbgr,slbr,stm,
\
stmg,stmy")) "nothing")
(define_insn_reservation "z13_6" 6
(define_insn_reservation "z13_6" 6
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "debr,sqeb,deb,sqebr")) "nothing")
(eq_attr "mnemonic" "adb,adbr,aeb,aebr,fidbr,fidbra,fiebr,fiebra,
\
ldeb,ldebr,ledbr,madbr,mdbr,meeb,meebr,msdbr,sdb,sdbr,seb,sebr,sfpc,wcdgb,
\
wcdlgb,wcgdb,wclgdb,wfadb,wfasb,wfaxb,wfisb,wfixb,wflld,wfmadb,wfmasb,wfmaxb,
\
wfmdb,wfmsb,wfmsdb,wfmssb,wfmsxb,wfmxb,wfsdb,wfssb,wfsxb,wldeb,wledb")) "nothing")
(define_insn_reservation "z13_7" 7
(define_insn_reservation "z13_7" 7
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "mdtr")) "nothing")
(eq_attr "mnemonic" "adtr,cdtr,fidtr,ldetr,msg,msgr,sdtr,tdcdt,tdcet,
\
vcdgb,vcdlgb,vcgdb,vclgdb,vfadb,vfasb,vfidb,vfisb,vfmadb,vfmasb,vfmdb,vfmsb,
\
vfmsdb,vfmssb,vfsdb,vfssb,vldeb,vledb")) "nothing")
(define_insn_reservation "z13_8" 8
(define_insn_reservation "z13_8" 8
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "wfddb,ddb,vfddb,ddbr
")) "nothing")
(eq_attr "mnemonic" "cdsg,lpq,stpq,vgef,vgeg,vsteb
")) "nothing")
(define_insn_reservation "z13_9" 9
(define_insn_reservation "z13_9" 9
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "dsgr,wfsqdb,dsgfr,sqdb,sqdbr,vfsqdb
")) "nothing")
(eq_attr "mnemonic" "cxfbr,cxgbr,cxlgbr,stam
")) "nothing")
(define_insn_reservation "z13_13" 13
(define_insn_reservation "z13_10" 10
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "cdfbr,cdgbr,cdlfbr,cdlgbr,cefbr,cegbr,celfbr,
\
celgbr,flogr,m,madb,maeb,maebr,mfy,ml,mlr,mr,msdb,mseb,msebr")) "nothing")
(define_insn_reservation "z13_11" 11
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "lxdb,lxdbr,lxeb,lxebr,vscef,vsceg")) "nothing")
(define_insn_reservation "z13_12" 12
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "mxtr,ddtr")) "nothing")
(eq_attr "mnemonic" "cfdbr,cfebr,cgdbr,cgebr,clfdbr,clfebr,clgdbr,
\
clgebr,cxbr,cxtr,mlg,mlgr,tcxb,tdcxt")) "nothing")
(define_insn_reservation "z13_1
6" 16
(define_insn_reservation "z13_1
3" 13
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "sqxbr")) "nothing")
(eq_attr "mnemonic" "axbr,axtr,fixbr,fixbra,fixtr,lcxbr,lnxbr,lpxbr,
\
ltxbr,ltxtr,lxdtr,sxbr,sxtr")) "nothing")
(define_insn_reservation "z13_1
7" 17
(define_insn_reservation "z13_1
4" 14
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "dx
tr")) "nothing")
(eq_attr "mnemonic" "cfxbr,cgxbr,clfxbr,clgxbr,led
tr")) "nothing")
(define_insn_reservation "z13_20" 20
(define_insn_reservation "z13_20" 20
(and (eq_attr "cpu" "z13")
(and (eq_attr "cpu" "z13")
(eq_attr "mnemonic" "dxbr,dlgr")) "nothing")
(eq_attr "mnemonic" "cdftr,cdgtr,cdlftr,cdlgtr,cgdtr,cgxtr,clfxtr,
\
clgdtr,clgxtr,cxftr,cxgtr,cxlftr,cxlgtr,d,ddb,ddbr,ddtr,deb,debr,dl,dlg,dlgr,
\
dlr,dr,dsg,dsgf,dsgfr,dsgr,dxbr,dxtr,efpc,mdtr,mxbr,mxtr,sqdb,sqdbr,sqeb,
\
sqebr,sqxbr,vfddb,vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfsqdb,wfsqxb")) "nothing")
gcc/config/s390/s390.c
View file @
2380e042
...
@@ -344,20 +344,17 @@ extern int reload_completed;
...
@@ -344,20 +344,17 @@ extern int reload_completed;
/* Kept up to date using the SCHED_VARIABLE_ISSUE hook. */
/* Kept up to date using the SCHED_VARIABLE_ISSUE hook. */
static
rtx_insn
*
last_scheduled_insn
;
static
rtx_insn
*
last_scheduled_insn
;
#define MAX_SCHED_UNITS
3
#define MAX_SCHED_UNITS
4
static
int
last_scheduled_unit_distance
[
MAX_SCHED_UNITS
];
static
int
last_scheduled_unit_distance
[
MAX_SCHED_UNITS
];
#define NUM_SIDES 2
#define NUM_SIDES 2
static
int
current_side
=
1
;
static
int
current_side
=
1
;
#define LONGRUNNING_THRESHOLD
5
#define LONGRUNNING_THRESHOLD
20
/* Estimate of number of cycles a long-running insn occupies an
/* Estimate of number of cycles a long-running insn occupies an
execution unit. */
execution unit. */
static
unsigned
fxu_longrunning
[
NUM_SIDES
];
static
unsigned
fxd_longrunning
[
NUM_SIDES
];
static
unsigned
vfu_longrunning
[
NUM_SIDES
];
static
unsigned
fpd_longrunning
[
NUM_SIDES
];
/* Factor to scale latencies by, determined by measurements. */
#define LATENCY_FACTOR 4
/* The maximum score added for an instruction whose unit hasn't been
/* The maximum score added for an instruction whose unit hasn't been
in use for MAX_SCHED_MIX_DISTANCE steps. Increase this value to
in use for MAX_SCHED_MIX_DISTANCE steps. Increase this value to
...
@@ -14328,13 +14325,15 @@ s390_get_unit_mask (rtx_insn *insn, int *units)
...
@@ -14328,13 +14325,15 @@ s390_get_unit_mask (rtx_insn *insn, int *units)
{
{
case
PROCESSOR_2964_Z13
:
case
PROCESSOR_2964_Z13
:
case
PROCESSOR_3906_Z14
:
case
PROCESSOR_3906_Z14
:
*
units
=
3
;
*
units
=
4
;
if
(
get_attr_z13_unit_lsu
(
insn
))
if
(
get_attr_z13_unit_lsu
(
insn
))
mask
|=
1
<<
0
;
mask
|=
1
<<
0
;
if
(
get_attr_z13_unit_fx
u
(
insn
))
if
(
get_attr_z13_unit_fx
a
(
insn
))
mask
|=
1
<<
1
;
mask
|=
1
<<
1
;
if
(
get_attr_z13_unit_
vfu
(
insn
))
if
(
get_attr_z13_unit_
fxb
(
insn
))
mask
|=
1
<<
2
;
mask
|=
1
<<
2
;
if
(
get_attr_z13_unit_vfu
(
insn
))
mask
|=
1
<<
3
;
break
;
break
;
default:
default:
gcc_unreachable
();
gcc_unreachable
();
...
@@ -14424,12 +14423,12 @@ s390_sched_score (rtx_insn *insn)
...
@@ -14424,12 +14423,12 @@ s390_sched_score (rtx_insn *insn)
/* Try to delay long-running insns when side is busy. */
/* Try to delay long-running insns when side is busy. */
if
(
latency
>
LONGRUNNING_THRESHOLD
)
if
(
latency
>
LONGRUNNING_THRESHOLD
)
{
{
if
(
get_attr_z13_unit_fxu
(
insn
)
&&
fx
u
_longrunning
[
current_side
]
if
(
get_attr_z13_unit_fxu
(
insn
)
&&
fx
d
_longrunning
[
current_side
]
&&
fx
u_longrunning
[
other_side
]
<=
fxu
_longrunning
[
current_side
])
&&
fx
d_longrunning
[
other_side
]
<=
fxd
_longrunning
[
current_side
])
score
=
MAX
(
0
,
score
-
10
);
score
=
MAX
(
0
,
score
-
10
);
if
(
get_attr_z13_unit_vfu
(
insn
)
&&
vfu
_longrunning
[
current_side
]
if
(
get_attr_z13_unit_vfu
(
insn
)
&&
fpd
_longrunning
[
current_side
]
&&
vfu_longrunning
[
other_side
]
<=
vfu
_longrunning
[
current_side
])
&&
fpd_longrunning
[
other_side
]
<=
fpd
_longrunning
[
current_side
])
score
=
MAX
(
0
,
score
-
10
);
score
=
MAX
(
0
,
score
-
10
);
}
}
}
}
...
@@ -14614,19 +14613,19 @@ s390_sched_variable_issue (FILE *file, int verbose, rtx_insn *insn, int more)
...
@@ -14614,19 +14613,19 @@ s390_sched_variable_issue (FILE *file, int verbose, rtx_insn *insn, int more)
for
(
int
i
=
0
;
i
<
2
;
i
++
)
for
(
int
i
=
0
;
i
<
2
;
i
++
)
{
{
if
(
fx
u
_longrunning
[
i
]
>=
1
)
if
(
fx
d
_longrunning
[
i
]
>=
1
)
fx
u
_longrunning
[
i
]
-=
1
;
fx
d
_longrunning
[
i
]
-=
1
;
if
(
vfu
_longrunning
[
i
]
>=
1
)
if
(
fpd
_longrunning
[
i
]
>=
1
)
vfu
_longrunning
[
i
]
-=
1
;
fpd
_longrunning
[
i
]
-=
1
;
}
}
unsigned
latency
=
insn_default_latency
(
insn
);
unsigned
latency
=
insn_default_latency
(
insn
);
if
(
latency
>
LONGRUNNING_THRESHOLD
)
if
(
latency
>
LONGRUNNING_THRESHOLD
)
{
{
if
(
get_attr_z13_unit_fxu
(
insn
))
if
(
get_attr_z13_unit_fxu
(
insn
))
fx
u_longrunning
[
current_side
]
=
latency
*
LATENCY_FACTOR
;
fx
d_longrunning
[
current_side
]
=
latency
;
else
else
vfu_longrunning
[
current_side
]
=
latency
*
LATENCY_FACTOR
;
fpd_longrunning
[
current_side
]
=
latency
;
}
}
if
(
verbose
>
5
)
if
(
verbose
>
5
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment