Mercurial > hg > CbC > CbC_gcc
comparison gcc/config/s390/8561.md @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
131:84e7813d76e9 | 145:1830386684a0 |
---|---|
1 ;; Scheduling description for z15. | |
2 ;; Copyright (C) 2019-2020 Free Software Foundation, Inc. | |
3 ;; Contributed by Robin Dapp (rdapp@linux.ibm.com) | |
4 ;; This file is part of GCC. | |
5 | |
6 ;; GCC is free software; you can redistribute it and/or modify it under | |
7 ;; the terms of the GNU General Public License as published by the Free | |
8 ;; Software Foundation; either version 3, or (at your option) any later | |
9 ;; version. | |
10 | |
11 ;; GCC is distributed in the hope that it will be useful, but WITHOUT ANY | |
12 ;; WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
13 ;; FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
14 ;; for more details. | |
15 | |
16 ;; You should have received a copy of the GNU General Public License | |
17 ;; along with GCC; see the file COPYING3. If not see | |
18 ;; <http://www.gnu.org/licenses/>. | |
19 | |
20 (define_attr "z15_unit_fpd" "" | |
21 (cond [(eq_attr "mnemonic" "ddb,ddbr,deb,debr,dxbr,sqdb,sqdbr,sqeb,\ | |
22 sqebr,sqxbr,vfddb,vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfsqdb,wfsqxb") | |
23 (const_int 1)] (const_int 0))) | |
24 | |
25 (define_attr "z15_unit_fxa" "" | |
26 (cond [(eq_attr "mnemonic" "a,afi,ag,agf,agfi,agfr,agh,aghi,aghik,\ | |
27 agr,agrk,ah,ahi,ahik,ahy,al,alc,alcg,alcgr,alcr,alfi,alg,algf,algfi,algfr,\ | |
28 alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,bras,brasl,etnd,exrl,flogr,\ | |
29 ic,icm,icmh,icmy,icy,iihf,iilf,ipm,la,larl,lay,lb,lbr,lcgr,lcr,lgb,lgbr,\ | |
30 lgf,lgfi,lgfr,lgfrl,lgh,lghi,lghr,lghrl,lgr,lh,lhi,lhr,lhrl,lhy,llcr,\ | |
31 llgcr,llgfr,llghr,llgtr,llhr,llihf,llihh,llihl,llilf,llilh,llill,lngr,lnr,\ | |
32 loc,locg,locghi,locgr,lochi,locr,lpgr,lpr,lr,lrv,lrvg,lrvgr,lrvh,lrvr,lt,\ | |
33 ltg,ltgf,ltgfr,ltgr,ltr,m,mfy,mg,mgh,mghi,mgrk,mh,mhi,mhy,ml,mlg,mlgr,mlr,\ | |
34 mr,ms,msfi,msg,msgf,msgfi,msgfr,msgr,msgrkc,msr,msrkc,msy,n,ng,ngr,ngrk,\ | |
35 nihf,nihh,nihl,nilf,nilh,nill,nr,nrk,ny,o,og,ogr,ogrk,oihf,oihh,oihl,oilf,\ | |
36 oilh,oill,or,ork,oy,pfpo,popcnt,risbg,risbgn,rll,rllg,s,sg,sgf,sgfr,sgh,\ | |
37 sgr,sgrk,sh,shy,sl,slb,slbg,slbgr,slbr,slfi,slg,slgf,slgfi,slgfr,slgr,\ | |
38 slgrk,sll,sllg,sllk,slr,slrk,sly,sr,sra,srag,srak,srk,srl,srlg,srlk,sy,x,xg,\ | |
39 xgr,xgrk,xihf,xilf,xr,xrk,xy") | |
40 (const_int 1)] (const_int 0))) | |
41 | |
42 (define_attr "z15_unit_fxb" "" | |
43 (cond [(eq_attr "mnemonic" "agsi,algsi,alsi,asi,b,bc,bcr,bi,br,brcl,\ | |
44 c,cfi,cg,cgf,cgfi,cgfr,cgfrl,cgh,cghi,cghrl,cghsi,cgit,cgr,cgrl,cgrt,ch,\ | |
45 chi,chrl,chsi,chy,cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,\ | |
46 clghrl,clghsi,clgit,clgr,clgrl,clgrt,clgt,clhhsi,clhrl,cli,cliy,clm,clmy,clr,\ | |
47 clrl,clrt,clt,cly,cr,crl,crt,cy,j,jg,laa,laag,lan,lang,lao,laog,lat,lax,\ | |
48 laxg,lcdfr,ldgr,ldr,lgat,lgdr,lndfr,lpdfr,lzdr,lzer,mvghi,mvhhi,mvhi,mvi,\ | |
49 mviy,ni,niy,nop,nopr,ntstg,oi,oiy,ppa,st,stc,stcy,std,stdy,ste,stey,stg,\ | |
50 stgrl,sth,sthrl,sthy,stoc,stocg,strl,strv,strvg,strvh,sty,tend,tm,tmh,tmhh,\ | |
51 tmhl,tml,tmlh,tmll,tmy,vlgvb,vlgvf,vlgvg,vlgvh,vlr,vlvgb,vlvgf,vlvgg,vlvgh,\ | |
52 vlvgp,vst,vstef,vsteg,vstl,vstrl,vstrlr,xi,xiy") | |
53 (const_int 1)] (const_int 0))) | |
54 | |
55 (define_attr "z15_unit_fxd" "" | |
56 (cond [(eq_attr "mnemonic" "dlgr,dlr,dr,dsgfr,dsgr") | |
57 (const_int 1)] (const_int 0))) | |
58 | |
59 (define_attr "z15_unit_lsu" "" | |
60 (cond [(eq_attr "mnemonic" "a,adb,aeb,ag,agf,agh,agsi,ah,ahy,al,alc,\ | |
61 alcg,alg,algf,algsi,alsi,aly,asi,ay,c,cdb,ceb,cg,cgf,cgfrl,cgh,cghrl,cghsi,\ | |
62 cgrl,ch,chrl,chsi,chy,cl,clc,clfhsi,clg,clgf,clgfrl,clghrl,clghsi,clgrl,\ | |
63 clgt,clhhsi,clhrl,cli,cliy,clm,clmy,clrl,clt,cly,crl,cy,ddb,deb,ear,ic,icm,\ | |
64 icmh,icmy,icy,l,laa,laag,lan,lang,lao,laog,lat,lax,laxg,lb,lcbb,ld,lde,\ | |
65 ldeb,ldy,le,ley,lg,lgat,lgb,lgf,lgfrl,lgh,lghrl,lgrl,lh,lhrl,lhy,llc,llgc,\ | |
66 llgf,llgfrl,llgh,llghrl,llgt,llh,llhrl,loc,locg,lrl,lrv,lrvg,lrvh,lt,ltg,\ | |
67 ltgf,ly,m,madb,maeb,mdb,meeb,mfy,mg,mgh,mh,mhy,ml,mlg,ms,msdb,mseb,msg,\ | |
68 msgf,msy,mvghi,mvhhi,mvhi,mvi,mviy,n,ng,ni,niy,ntstg,ny,o,og,oi,oiy,oy,s,\ | |
69 sar,sdb,seb,sfpc,sg,sgf,sgh,sh,shy,sl,slb,slbg,slg,slgf,sly,sqdb,sqeb,st,\ | |
70 stc,stcy,std,stdy,ste,stey,stg,stgrl,sth,sthrl,sthy,stoc,stocg,strl,strv,\ | |
71 strvg,strvh,sty,sy,tabort,tm,tmy,vl,vlbb,vleb,vlef,vleg,vleh,vll,vllezb,\ | |
72 vllezf,vllezg,vllezh,vllezlf,vlrepb,vlrepf,vlrepg,vlreph,vlrl,vlrlr,vst,\ | |
73 vstef,vsteg,vstl,vstrl,vstrlr,x,xg,xi,xiy,xy,keb,kdb") | |
74 (const_int 1)] (const_int 0))) | |
75 | |
76 (define_attr "z15_unit_vfu" "" | |
77 (cond [(eq_attr "mnemonic" "adb,adbr,adtr,aeb,aebr,axbr,axtr,cdb,\ | |
78 cdbr,cdtr,ceb,cebr,cpsdr,cxbr,cxtr,ddtr,dxtr,fidbr,fidbra,fidtr,fiebr,\ | |
79 fiebra,fixbr,fixbra,fixtr,lcdbr,lcebr,lcxbr,ldeb,ldebr,ldetr,le,ledbr,ledtr,\ | |
80 ler,ley,lndbr,lnebr,lnxbr,lpdbr,lpebr,lpxbr,ltdbr,ltdtr,ltebr,ltxbr,ltxtr,\ | |
81 lxdb,lxdbr,lxdtr,lxeb,lxebr,madb,madbr,maeb,maebr,mdb,mdbr,mdtr,meeb,meebr,\ | |
82 msdb,msdbr,mseb,msebr,mxbr,mxtr,sdb,sdbr,sdtr,seb,sebr,sxbr,sxtr,tcdb,tceb,\ | |
83 tcxb,tdcdt,tdcet,tdcxt,vab,vaccb,vacccq,vaccf,vaccg,vacch,vaccq,vacq,vaf,\ | |
84 vag,vah,vaq,vavgb,vavgf,vavgg,vavgh,vavglb,vavglf,vavglg,vavglh,vbperm,\ | |
85 vceqb,vceqbs,vceqf,vceqfs,vceqg,vceqgs,vceqh,vceqhs,vchb,vchbs,vchf,vchfs,\ | |
86 vchg,vchgs,vchh,vchhs,vchlb,vchlbs,vchlf,vchlfs,vchlg,vchlgs,vchlh,vchlhs,\ | |
87 vcksm,vclzb,vclzf,vclzg,vclzh,vctzb,vctzf,vctzg,vctzh,verimb,verimf,verimg,\ | |
88 verimh,verllb,verllf,verllg,verllh,verllvb,verllvf,verllvg,verllvh,veslb,\ | |
89 veslf,veslg,veslh,veslvb,veslvf,veslvg,veslvh,vesrab,vesraf,vesrag,vesrah,\ | |
90 vesravb,vesravf,vesravg,vesravh,vesrlb,vesrlf,vesrlg,vesrlh,vesrlvb,vesrlvf,\ | |
91 vesrlvg,vesrlvh,vfadb,vfasb,vfcedb,vfcedbs,vfcesb,vfcesbs,vfchdb,vfchdbs,\ | |
92 vfchedb,vfchedbs,vfchesb,vfchesbs,vfchsb,vfchsbs,vfeeb,vfeef,vfeeh,vfeezbs,\ | |
93 vfeezfs,vfeezhs,vfeneb,vfenef,vfeneh,vfenezb,vfenezf,vfenezh,vfidb,vfisb,\ | |
94 vflcdb,vflcsb,vflndb,vflnsb,vflpdb,vflpsb,vfmadb,vfmasb,vfmaxdb,vfmaxsb,\ | |
95 vfmdb,vfmindb,vfminsb,vfmsb,vfmsdb,vfmssb,vfnmadb,vfnmasb,vfnmsdb,vfnmssb,\ | |
96 vfsdb,vfssb,vftcidb,vftcisb,vgbm,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,\ | |
97 vgfmg,vgfmh,vgm,vgmb,vgmf,vgmg,vgmh,vistrb,vistrbs,vistrf,vistrfs,vistrh,\ | |
98 vistrhs,vlcb,vlcf,vlcg,vlch,vldeb,vleb,vledb,vlef,vleg,vleh,vleib,vleif,vleig,\ | |
99 vleih,vlpb,vlpf,vlpg,vlph,vmaeb,vmaef,vmaeh,vmahb,vmahf,vmahh,vmalb,vmaleb,\ | |
100 vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,vmalhw,vmalob,vmalof,vmaloh,vmaob,\ | |
101 vmaof,vmaoh,vmeb,vmef,vmeh,vmhb,vmhf,vmhh,vmlb,vmleb,vmlef,vmleh,vmlf,vmlhb,\ | |
102 vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmnb,vmnf,vmng,vmnh,vmnlb,vmnlf,vmnlg,\ | |
103 vmnlh,vmob,vmof,vmoh,vmrhb,vmrhf,vmrhg,vmrhh,vmrlb,vmrlf,vmrlg,vmrlh,vmslg,\ | |
104 vmxb,vmxf,vmxg,vmxh,vmxlb,vmxlf,vmxlg,vmxlh,vn,vnc,vnn,vno,vnot,vnx,vo,voc,\ | |
105 vone,vpdi,vperm,vpkf,vpkg,vpkh,vpklsf,vpklsfs,vpklsg,vpklsgs,vpklsh,\ | |
106 vpklshs,vpksf,vpksfs,vpksg,vpksgs,vpksh,vpkshs,vpopct,vpopctb,vpopctf,vpopctg,\ | |
107 vpopcth,vrepb,vrepf,vrepg,vreph,vrepib,vrepif,vrepig,vrepih,vsb,vsbcbiq,vsbiq,\ | |
108 vscbib,vscbif,vscbig,vscbih,vscbiq,vsegb,vsegf,vsegh,vsel,vsf,vsg,vsh,vsl,\ | |
109 vslb,vsldb,vsq,vsra,vsrab,vsrl,vsrlb,vsumb,vsumgf,vsumgh,vsumh,vsumqf,\ | |
110 vsumqg,vtm,vuphb,vuphf,vuphh,vuplb,vuplf,vuplhb,vuplhf,vuplhh,vuplhw,vupllb,\ | |
111 vupllf,vupllh,vx,vzero,wfadb,wfasb,wfaxb,wfcdb,wfcedb,wfcesb,wfcexb,wfcexbs,\ | |
112 wfchdb,wfchedb,wfchesb,wfchexb,wfchexbs,wfchsb,wfchxb,wfchxbs,wfcsb,wfidb,\ | |
113 wfisb,wfixb,wflcdb,wflcsb,wflcxb,wflld,wflndb,wflnsb,wflnxb,wflpdb,wflpsb,\ | |
114 wflpxb,wfmadb,wfmasb,wfmaxb,wfmaxxb,wfmdb,wfminxb,wfmsb,wfmsdb,wfmssb,wfmsxb,\ | |
115 wfmxb,wfnmaxb,wfnmsxb,wfsdb,wfssb,wfsxb,wldeb,wledb,keb,kebr,kdb,kdbr,kxbr,\ | |
116 kdtr,kxtr,wfkdb,wfksb,vfkesb,vfkedb,wfkexb,vfkhsb,vfkhdb,wfkhxb,vfkhesb,\ | |
117 vfkhedb,wfkhexb") | |
118 (const_int 1)] (const_int 0))) | |
119 | |
120 (define_attr "z15_cracked" "" | |
121 (cond [(eq_attr "mnemonic" "bas,basr,cdfbr,cdftr,cdgbr,cdgtr,cdlfbr,\ | |
122 cdlftr,cdlgbr,cdlgtr,cefbr,cegbr,celfbr,celgbr,cfdbr,cfebr,cfxbr,cgdbr,cgdtr,\ | |
123 cgebr,cgxbr,cgxtr,chhsi,clfdbr,clfdtr,clfebr,clfxbr,clfxtr,clgdbr,clgdtr,\ | |
124 clgebr,clgxbr,clgxtr,cs,csg,csy,d,efpc,ex,lcgfr,lngfr,lpgfr,lpq,lxr,lzxr,\ | |
125 rxsbg,stpq,vgef,vgeg,vscef,vsceg,vsteb,vsteh") | |
126 (const_int 1)] (const_int 0))) | |
127 | |
128 (define_attr "z15_expanded" "" | |
129 (cond [(eq_attr "mnemonic" "cds,cdsg,cdsy,cxfbr,cxftr,cxgbr,cxgtr,\ | |
130 cxlfbr,cxlftr,cxlgbr,cxlgtr,dl,dlg,dsg,dsgf,lam,lm,lmg,lmy,sldl,srda,srdl,\ | |
131 stam,stm,stmg,stmy,tbegin,tbeginc") | |
132 (const_int 1)] (const_int 0))) | |
133 | |
134 (define_attr "z15_groupalone" "" | |
135 (cond [(eq_attr "mnemonic" "alc,alcg,alcgr,alcr,axbr,axtr,clc,cxbr,\ | |
136 cxtr,dlgr,dlr,dr,dsgfr,dsgr,dxbr,dxtr,fixbr,fixbra,fixtr,flogr,lcxbr,lnxbr,\ | |
137 lpxbr,ltxbr,ltxtr,lxdb,lxdbr,lxdtr,lxeb,lxebr,m,madb,maeb,maebr,mfy,mg,mgrk,\ | |
138 ml,mlg,mlgr,mlr,mr,msdb,mseb,msebr,mvc,mxbr,mxtr,nc,oc,ppa,sfpc,slb,slbg,\ | |
139 slbgr,slbr,sqxbr,sxbr,sxtr,tabort,tcxb,tdcxt,tend,xc,kxbr,kxtr") | |
140 (const_int 1)] (const_int 0))) | |
141 | |
142 (define_attr "z15_endgroup" "" | |
143 (cond [(eq_attr "mnemonic" "bras,brasl,exrl,ipm") | |
144 (const_int 1)] (const_int 0))) | |
145 | |
146 (define_attr "z15_groupoftwo" "" | |
147 (cond [(eq_attr "mnemonic" "vacccq,vacq,vfmadb,vfmasb,vfmsdb,vfmssb,\ | |
148 vfnmadb,vfnmasb,vfnmsdb,vfnmssb,vgfmab,vgfmaf,vgfmag,vgfmah,vmaeb,vmaef,vmaeh,\ | |
149 vmahb,vmahf,vmahh,vmalb,vmaleb,vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,\ | |
150 vmalhw,vmalob,vmalof,vmaloh,vmaob,vmaof,vmaoh,vmslg,vperm,vsbcbiq,vsbiq,vsel,\ | |
151 wfmadb,wfmasb,wfmaxb,wfmsdb,wfmssb,wfmsxb,wfnmaxb,wfnmsxb") | |
152 (const_int 1)] (const_int 0))) | |
153 | |
154 (define_insn_reservation "z15_0" 0 | |
155 (and (eq_attr "cpu" "z15") | |
156 (eq_attr "mnemonic" "a,afi,ag,agfi,aghi,aghik,agr,agrk,ahi,ahik,al,\ | |
157 alfi,alg,algf,algfi,algfr,alghsik,algr,algrk,alhsik,alr,alrk,aly,ar,ark,ay,\ | |
158 b,bc,bcr,bi,br,bras,brasl,brcl,c,cfi,cg,cgfi,cghi,cghsi,cgit,cgr,cgrl,\ | |
159 cgrt,chi,chsi,cit,cl,clfhsi,clfi,clfit,clg,clgf,clgfi,clgfr,clgfrl,clghrl,\ | |
160 clghsi,clgit,clgr,clgrl,clgrt,clgt,clhhsi,clhrl,cli,cliy,clr,clrl,clrt,clt,\ | |
161 cly,cr,crl,crt,cy,etnd,exrl,ic,icm,icmh,icmy,icy,iihf,iilf,j,jg,la,larl,\ | |
162 lat,lay,lb,lbr,lcdfr,lcgr,lcr,ldgr,ldr,lgat,lgb,lgbr,lgf,lgfi,lgfr,lgfrl,\ | |
163 lgh,lghi,lghr,lghrl,lgr,lh,lhi,lhr,lhrl,lhy,llcr,llgcr,llgfr,llghr,llgtr,\ | |
164 llhr,llihf,llihh,llihl,llilf,llilh,llill,lndfr,lngr,lnr,lpdfr,lpgr,lpr,lr,\ | |
165 lrv,lrvg,lrvgr,lrvh,lrvr,lt,ltg,ltgf,ltgfr,ltgr,ltr,lzdr,lzer,n,ng,ngr,\ | |
166 ngrk,nihf,nihh,nihl,nilf,nilh,nill,nop,nopr,nr,nrk,ny,o,og,ogr,ogrk,oihf,\ | |
167 oihh,oihl,oilf,oilh,oill,or,ork,oy,pfpo,risbg,risbgn,rll,rllg,rnsbg,rosbg,\ | |
168 s,sg,sgr,sgrk,sl,sldl,slfi,slg,slgf,slgfi,slgfr,slgr,slgrk,sll,sllg,\ | |
169 sllk,slr,slrk,sly,sr,sra,srag,srak,srda,srdl,srk,srl,srlg,srlk,sy,tm,tmh,\ | |
170 tmhh,tmhl,tml,tmlh,tmll,tmy,vlr,vlvgb,vlvgf,vlvgg,vlvgh,x,xg,xgr,xgrk,xihf,\ | |
171 xilf,xr,xrk,xy")) "nothing") | |
172 | |
173 (define_insn_reservation "z15_1" 1 | |
174 (and (eq_attr "cpu" "z15") | |
175 (eq_attr "mnemonic" "agf,agfr,agh,agsi,ah,ahy,algsi,alsi,asi,cgf,\ | |
176 cgfr,cgfrl,cgh,cghrl,ch,chrl,chy,clm,clmy,cpsdr,laa,laag,lan,lang,lao,laog,\ | |
177 lax,laxg,le,ler,ley,loc,locg,locghi,locgr,lochi,locr,mvghi,mvhhi,mvhi,mvi,\ | |
178 mviy,ni,niy,ntstg,oi,oiy,sgf,sgfr,sgh,sh,shy,st,stc,stcy,stg,stgrl,sth,\ | |
179 sthrl,sthy,stoc,stocg,strl,strv,strvg,strvh,sty,vab,vaccb,vacccq,vaccf,\ | |
180 vaccg,vacch,vaccq,vacq,vaf,vag,vah,vaq,vavgb,vavgf,vavgg,vavgh,vavglb,\ | |
181 vavglf,vavglg,vavglh,vbperm,vceqb,vceqf,vceqg,vceqh,vchb,vchf,vchg,vchh,\ | |
182 vchlb,vchlf,vchlg,vchlh,vclzb,vclzf,vclzg,vclzh,vctzb,vctzf,vctzg,vctzh,\ | |
183 verimb,verimf,verimg,verimh,verllb,verllf,verllg,verllh,verllvb,verllvf,\ | |
184 verllvg,verllvh,veslb,veslf,veslg,veslh,veslvb,veslvf,veslvg,veslvh,vesrab,\ | |
185 vesraf,vesrag,vesrah,vesravb,vesravf,vesravg,vesravh,vesrlb,vesrlf,vesrlg,\ | |
186 vesrlh,vesrlvb,vesrlvf,vesrlvg,vesrlvh,vfcedb,vfcesb,vfchdb,vfchedb,vfchesb,\ | |
187 vfchsb,vflcdb,vflcsb,vflndb,vflnsb,vflpdb,vflpsb,vfmaxdb,vfmaxsb,vfmindb,\ | |
188 vfminsb,vgbm,vgm,vgmb,vgmf,vgmg,vgmh,vlcb,vlcf,vlcg,vlch,vleb,vlef,vleg,vleh,\ | |
189 vleib,vleif,vleig,vleih,vlpb,vlpf,vlpg,vlph,vmnb,vmnf,vmng,vmnh,vmnlb,vmnlf,\ | |
190 vmnlg,vmnlh,vmrhb,vmrhf,vmrhg,vmrhh,vmrlb,vmrlf,vmrlg,vmrlh,vmxb,vmxf,vmxg,\ | |
191 vmxh,vmxlb,vmxlf,vmxlg,vmxlh,vn,vnc,vnn,vno,vnot,vnx,vo,voc,vone,vpdi,\ | |
192 vperm,vpkf,vpkg,vpkh,vpklsf,vpklsg,vpklsh,vpksf,vpksg,vpksh,vpopct,vpopctb,\ | |
193 vpopctf,vpopctg,vpopcth,vrepb,vrepf,vrepg,vreph,vrepib,vrepif,vrepig,vrepih,\ | |
194 vsb,vsbcbiq,vsbiq,vscbib,vscbif,vscbig,vscbih,vscbiq,vsegb,vsegf,vsegh,\ | |
195 vsel,vsf,vsg,vsh,vsl,vslb,vsldb,vsq,vsra,vsrab,vsrl,vsrlb,vuphb,vuphf,\ | |
196 vuphh,vuplb,vuplf,vuplhb,vuplhf,vuplhh,vuplhw,vupllb,vupllf,vupllh,vx,vzero,\ | |
197 wfcedb,wfcesb,wfcexb,wfchdb,wfchedb,wfchesb,wfchexb,wfchsb,wfchxb,wflcdb,\ | |
198 wflcsb,wflcxb,wflndb,wflnsb,wflnxb,wflpdb,wflpsb,wflpxb,wfmaxxb,wfminxb,xi,\ | |
199 xiy,vfkesb,vfkedb,wfkexb,vfkhsb,vfkhdb,wfkhxb,vfkhesb,vfkhedb,wfkhexb")) | |
200 "nothing") | |
201 | |
202 (define_insn_reservation "z15_2" 2 | |
203 (and (eq_attr "cpu" "z15") | |
204 (eq_attr "mnemonic" "cdb,cdbr,ceb,cebr,ear,ipm,l,lcbb,lcdbr,lcebr,ld,\ | |
205 lde,ldy,lg,lgdr,lgrl,llc,llgc,llgf,llgfrl,llgh,llghrl,llgt,llh,llhrl,lm,\ | |
206 lmg,lmy,lndbr,lnebr,lpdbr,lpebr,lrl,ltdbr,ltebr,ly,popcnt,sar,tcdb,tceb,\ | |
207 vceqbs,vceqfs,vceqgs,vceqhs,vchbs,vchfs,vchgs,vchhs,vchlbs,vchlfs,vchlgs,\ | |
208 vchlhs,vfcedbs,vfcesbs,vfchdbs,vfchedbs,vfchesbs,vfchsbs,vfeeb,vfeef,vfeeh,\ | |
209 vfeneb,vfenef,vfeneh,vfenezb,vfenezf,vfenezh,vftcidb,vftcisb,vistrb,vistrf,\ | |
210 vistrh,vlgvb,vlgvf,vlgvg,vlgvh,vllezb,vllezf,vllezg,vllezh,vllezlf,vlrepb,\ | |
211 vlrepf,vlrepg,vlreph,vlrl,vlvgp,vpklsfs,vpklsgs,vpklshs,vpksfs,vpksgs,vpkshs,\ | |
212 wfcdb,wfcexbs,wfchexbs,wfchxbs,wfcsb,keb,kebr,kdb,kdbr,wfkdb,wfksb")) | |
213 "nothing") | |
214 | |
215 (define_insn_reservation "z15_3" 3 | |
216 (and (eq_attr "cpu" "z15") | |
217 (eq_attr "mnemonic" "cds,cdsy,mgh,mghi,mh,mhi,mhy,std,stdy,ste,stey,\ | |
218 vcksm,vfeezbs,vfeezfs,vfeezhs,vgfmab,vgfmaf,vgfmag,vgfmah,vgfmb,vgfmf,vgfmg,\ | |
219 vgfmh,vistrbs,vistrfs,vistrhs,vl,vlbb,vll,vlrlr,vmaeb,vmaef,vmaeh,vmahb,\ | |
220 vmahf,vmahh,vmalb,vmaleb,vmalef,vmaleh,vmalf,vmalhb,vmalhf,vmalhh,vmalhw,\ | |
221 vmalob,vmalof,vmaloh,vmaob,vmaof,vmaoh,vmeb,vmef,vmeh,vmhb,vmhf,vmhh,vmlb,\ | |
222 vmleb,vmlef,vmleh,vmlf,vmlhb,vmlhf,vmlhh,vmlhw,vmlob,vmlof,vmloh,vmob,vmof,\ | |
223 vmoh,vsumb,vsumgf,vsumgh,vsumh,vsumqf,vsumqg,vtm")) "nothing") | |
224 | |
225 (define_insn_reservation "z15_4" 4 | |
226 (and (eq_attr "cpu" "z15") | |
227 (eq_attr "mnemonic" "bas,basr,chhsi,clc,ex,lam,lcgfr,lngfr,lpgfr,lxr,\ | |
228 lzxr,ms,msfi,msgf,msgfi,msgfr,msr,msy,mvc,nc,oc,ppa,rxsbg,tabort,tbegin,\ | |
229 tbeginc,tend,vst,vstef,vsteg,vstl,vstrl,vstrlr,xc")) "nothing") | |
230 | |
231 (define_insn_reservation "z15_5" 5 | |
232 (and (eq_attr "cpu" "z15") | |
233 (eq_attr "mnemonic" "adb,adbr,aeb,aebr,alc,alcg,alcgr,alcr,cs,csg,\ | |
234 csy,fidbr,fidbra,fiebr,fiebra,ldeb,ldebr,ledbr,madbr,mdb,mdbr,meeb,meebr,\ | |
235 msdbr,msrkc,sdb,sdbr,seb,sebr,slb,slbg,slbgr,slbr,stm,stmg,stmy,vfadb,vfasb,\ | |
236 vfidb,vfisb,vfmadb,vfmasb,vfmdb,vfmsb,vfmsdb,vfmssb,vfnmadb,vfnmasb,vfnmsdb,\ | |
237 vfnmssb,vfsdb,vfssb,vldeb,vledb,vmslg,wfadb,wfasb,wfidb,wfisb,wflld,wfmadb,\ | |
238 wfmasb,wfmdb,wfmsb,wfmsdb,wfmssb,wfsdb,wfssb,wldeb,wledb")) "nothing") | |
239 | |
240 (define_insn_reservation "z15_6" 6 | |
241 (and (eq_attr "cpu" "z15") | |
242 (eq_attr "mnemonic" "msg,msgr,sfpc")) "nothing") | |
243 | |
244 (define_insn_reservation "z15_7" 7 | |
245 (and (eq_attr "cpu" "z15") | |
246 (eq_attr "mnemonic" "adtr,cdtr,fidtr,ldetr,ltdtr,msgrkc,sdtr,tdcdt,\ | |
247 tdcet,vgef,vgeg,kdtr")) "nothing") | |
248 | |
249 (define_insn_reservation "z15_8" 8 | |
250 (and (eq_attr "cpu" "z15") | |
251 (eq_attr "mnemonic" "cdsg,flogr,lpq,stpq,vsteb,vsteh")) "nothing") | |
252 | |
253 (define_insn_reservation "z15_9" 9 | |
254 (and (eq_attr "cpu" "z15") | |
255 (eq_attr "mnemonic" "cdfbr,cdgbr,cdlfbr,cdlgbr,cefbr,cegbr,celfbr,\ | |
256 celgbr,cxfbr,cxgbr,cxlfbr,cxlgbr,m,madb,maeb,maebr,mfy,ml,mlr,mr,msdb,mseb,\ | |
257 msebr,stam,wfaxb,wfixb,wfsxb")) "nothing") | |
258 | |
259 (define_insn_reservation "z15_10" 10 | |
260 (and (eq_attr "cpu" "z15") | |
261 (eq_attr "mnemonic" "lxdb,lxdbr,lxeb,lxebr,vscef,vsceg")) "nothing") | |
262 | |
263 (define_insn_reservation "z15_11" 11 | |
264 (and (eq_attr "cpu" "z15") | |
265 (eq_attr "mnemonic" "cfdbr,cfebr,cgdbr,cgebr,clfdbr,clfebr,clgdbr,\ | |
266 clgebr,mg,mgrk,mlg,mlgr")) "nothing") | |
267 | |
268 (define_insn_reservation "z15_12" 12 | |
269 (and (eq_attr "cpu" "z15") | |
270 (eq_attr "mnemonic" "cxbr,cxftr,cxlftr,cxtr,tcxb,tdcxt,kxbr,kxtr")) | |
271 "nothing") | |
272 | |
273 (define_insn_reservation "z15_13" 13 | |
274 (and (eq_attr "cpu" "z15") | |
275 (eq_attr "mnemonic" "axbr,axtr,fixbr,fixbra,fixtr,lcxbr,lnxbr,lpxbr,\ | |
276 ltxbr,ltxtr,lxdtr,sxbr,sxtr")) "nothing") | |
277 | |
278 (define_insn_reservation "z15_14" 14 | |
279 (and (eq_attr "cpu" "z15") | |
280 (eq_attr "mnemonic" "cfxbr,cgxbr,clfxbr,clgxbr,ledtr")) "nothing") | |
281 | |
282 (define_insn_reservation "z15_16" 16 | |
283 (and (eq_attr "cpu" "z15") | |
284 (eq_attr "mnemonic" "cdftr,cdlftr")) "nothing") | |
285 | |
286 (define_insn_reservation "z15_20" 20 | |
287 (and (eq_attr "cpu" "z15") | |
288 (eq_attr "mnemonic" "cdgtr,cdlgtr,cgdtr,cgxtr,clfdtr,clfxtr,clgdtr,\ | |
289 clgxtr,cxgtr,cxlgtr,d,ddb,ddbr,ddtr,deb,debr,dl,dlg,dlgr,dlr,dr,dsg,dsgf,\ | |
290 dsgfr,dsgr,dxbr,dxtr,efpc,mdtr,mxbr,mxtr,sqdb,sqdbr,sqeb,sqebr,sqxbr,vfddb,\ | |
291 vfdsb,vfsqdb,vfsqsb,wfddb,wfdsb,wfdxb,wfmaxb,wfmsxb,wfmxb,wfnmaxb,wfnmsxb,\ | |
292 wfsqdb,wfsqxb")) "nothing") |