123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135 |
- /* Simulator instruction decoder for sh64_compact.
- THIS FILE IS MACHINE GENERATED WITH CGEN.
- Copyright 1996-2015 Free Software Foundation, Inc.
- This file is part of the GNU simulators.
- This file is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 3, or (at your option)
- any later version.
- It is distributed in the hope that it will be useful, but WITHOUT
- ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
- License for more details.
- You should have received a copy of the GNU General Public License along
- with this program; if not, see <http://www.gnu.org/licenses/>.
- */
- #define WANT_CPU sh64
- #define WANT_CPU_SH64
- #include "sim-main.h"
- #include "sim-assert.h"
- /* The instruction descriptor array.
- This is computed at runtime. Space for it is not malloc'd to save a
- teensy bit of cpu in the decoder. Moving it to malloc space is trivial
- but won't be done until necessary (we don't currently support the runtime
- addition of instructions nor an SMP machine with different cpus). */
- static IDESC sh64_compact_insn_data[SH64_COMPACT_INSN__MAX];
- /* Commas between elements are contained in the macros.
- Some of these are conditionally compiled out. */
- static const struct insn_sem sh64_compact_insn_sem[] =
- {
- { VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY },
- { VIRTUAL_INSN_X_AFTER, SH64_COMPACT_INSN_X_AFTER, SH64_COMPACT_SFMT_EMPTY },
- { VIRTUAL_INSN_X_BEFORE, SH64_COMPACT_INSN_X_BEFORE, SH64_COMPACT_SFMT_EMPTY },
- { VIRTUAL_INSN_X_CTI_CHAIN, SH64_COMPACT_INSN_X_CTI_CHAIN, SH64_COMPACT_SFMT_EMPTY },
- { VIRTUAL_INSN_X_CHAIN, SH64_COMPACT_INSN_X_CHAIN, SH64_COMPACT_SFMT_EMPTY },
- { VIRTUAL_INSN_X_BEGIN, SH64_COMPACT_INSN_X_BEGIN, SH64_COMPACT_SFMT_EMPTY },
- { SH_INSN_ADD_COMPACT, SH64_COMPACT_INSN_ADD_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
- { SH_INSN_ADDI_COMPACT, SH64_COMPACT_INSN_ADDI_COMPACT, SH64_COMPACT_SFMT_ADDI_COMPACT },
- { SH_INSN_ADDC_COMPACT, SH64_COMPACT_INSN_ADDC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
- { SH_INSN_ADDV_COMPACT, SH64_COMPACT_INSN_ADDV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
- { SH_INSN_AND_COMPACT, SH64_COMPACT_INSN_AND_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
- { SH_INSN_ANDI_COMPACT, SH64_COMPACT_INSN_ANDI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
- { SH_INSN_ANDB_COMPACT, SH64_COMPACT_INSN_ANDB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
- { SH_INSN_BF_COMPACT, SH64_COMPACT_INSN_BF_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
- { SH_INSN_BFS_COMPACT, SH64_COMPACT_INSN_BFS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
- { SH_INSN_BRA_COMPACT, SH64_COMPACT_INSN_BRA_COMPACT, SH64_COMPACT_SFMT_BRA_COMPACT },
- { SH_INSN_BRAF_COMPACT, SH64_COMPACT_INSN_BRAF_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
- { SH_INSN_BRK_COMPACT, SH64_COMPACT_INSN_BRK_COMPACT, SH64_COMPACT_SFMT_BRK_COMPACT },
- { SH_INSN_BSR_COMPACT, SH64_COMPACT_INSN_BSR_COMPACT, SH64_COMPACT_SFMT_BSR_COMPACT },
- { SH_INSN_BSRF_COMPACT, SH64_COMPACT_INSN_BSRF_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
- { SH_INSN_BT_COMPACT, SH64_COMPACT_INSN_BT_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
- { SH_INSN_BTS_COMPACT, SH64_COMPACT_INSN_BTS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
- { SH_INSN_CLRMAC_COMPACT, SH64_COMPACT_INSN_CLRMAC_COMPACT, SH64_COMPACT_SFMT_CLRMAC_COMPACT },
- { SH_INSN_CLRS_COMPACT, SH64_COMPACT_INSN_CLRS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
- { SH_INSN_CLRT_COMPACT, SH64_COMPACT_INSN_CLRT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
- { SH_INSN_CMPEQ_COMPACT, SH64_COMPACT_INSN_CMPEQ_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_CMPEQI_COMPACT, SH64_COMPACT_INSN_CMPEQI_COMPACT, SH64_COMPACT_SFMT_CMPEQI_COMPACT },
- { SH_INSN_CMPGE_COMPACT, SH64_COMPACT_INSN_CMPGE_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_CMPGT_COMPACT, SH64_COMPACT_INSN_CMPGT_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_CMPHI_COMPACT, SH64_COMPACT_INSN_CMPHI_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_CMPHS_COMPACT, SH64_COMPACT_INSN_CMPHS_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_CMPPL_COMPACT, SH64_COMPACT_INSN_CMPPL_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
- { SH_INSN_CMPPZ_COMPACT, SH64_COMPACT_INSN_CMPPZ_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
- { SH_INSN_CMPSTR_COMPACT, SH64_COMPACT_INSN_CMPSTR_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_DIV0S_COMPACT, SH64_COMPACT_INSN_DIV0S_COMPACT, SH64_COMPACT_SFMT_DIV0S_COMPACT },
- { SH_INSN_DIV0U_COMPACT, SH64_COMPACT_INSN_DIV0U_COMPACT, SH64_COMPACT_SFMT_DIV0U_COMPACT },
- { SH_INSN_DIV1_COMPACT, SH64_COMPACT_INSN_DIV1_COMPACT, SH64_COMPACT_SFMT_DIV1_COMPACT },
- { SH_INSN_DIVU_COMPACT, SH64_COMPACT_INSN_DIVU_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
- { SH_INSN_MULR_COMPACT, SH64_COMPACT_INSN_MULR_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
- { SH_INSN_DMULSL_COMPACT, SH64_COMPACT_INSN_DMULSL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
- { SH_INSN_DMULUL_COMPACT, SH64_COMPACT_INSN_DMULUL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
- { SH_INSN_DT_COMPACT, SH64_COMPACT_INSN_DT_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_EXTSB_COMPACT, SH64_COMPACT_INSN_EXTSB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_EXTSW_COMPACT, SH64_COMPACT_INSN_EXTSW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_EXTUB_COMPACT, SH64_COMPACT_INSN_EXTUB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_EXTUW_COMPACT, SH64_COMPACT_INSN_EXTUW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_FABS_COMPACT, SH64_COMPACT_INSN_FABS_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
- { SH_INSN_FADD_COMPACT, SH64_COMPACT_INSN_FADD_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
- { SH_INSN_FCMPEQ_COMPACT, SH64_COMPACT_INSN_FCMPEQ_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
- { SH_INSN_FCMPGT_COMPACT, SH64_COMPACT_INSN_FCMPGT_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
- { SH_INSN_FCNVDS_COMPACT, SH64_COMPACT_INSN_FCNVDS_COMPACT, SH64_COMPACT_SFMT_FCNVDS_COMPACT },
- { SH_INSN_FCNVSD_COMPACT, SH64_COMPACT_INSN_FCNVSD_COMPACT, SH64_COMPACT_SFMT_FCNVSD_COMPACT },
- { SH_INSN_FDIV_COMPACT, SH64_COMPACT_INSN_FDIV_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
- { SH_INSN_FIPR_COMPACT, SH64_COMPACT_INSN_FIPR_COMPACT, SH64_COMPACT_SFMT_FIPR_COMPACT },
- { SH_INSN_FLDS_COMPACT, SH64_COMPACT_INSN_FLDS_COMPACT, SH64_COMPACT_SFMT_FLDS_COMPACT },
- { SH_INSN_FLDI0_COMPACT, SH64_COMPACT_INSN_FLDI0_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
- { SH_INSN_FLDI1_COMPACT, SH64_COMPACT_INSN_FLDI1_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
- { SH_INSN_FLOAT_COMPACT, SH64_COMPACT_INSN_FLOAT_COMPACT, SH64_COMPACT_SFMT_FLOAT_COMPACT },
- { SH_INSN_FMAC_COMPACT, SH64_COMPACT_INSN_FMAC_COMPACT, SH64_COMPACT_SFMT_FMAC_COMPACT },
- { SH_INSN_FMOV1_COMPACT, SH64_COMPACT_INSN_FMOV1_COMPACT, SH64_COMPACT_SFMT_FMOV1_COMPACT },
- { SH_INSN_FMOV2_COMPACT, SH64_COMPACT_INSN_FMOV2_COMPACT, SH64_COMPACT_SFMT_FMOV2_COMPACT },
- { SH_INSN_FMOV3_COMPACT, SH64_COMPACT_INSN_FMOV3_COMPACT, SH64_COMPACT_SFMT_FMOV3_COMPACT },
- { SH_INSN_FMOV4_COMPACT, SH64_COMPACT_INSN_FMOV4_COMPACT, SH64_COMPACT_SFMT_FMOV4_COMPACT },
- { SH_INSN_FMOV5_COMPACT, SH64_COMPACT_INSN_FMOV5_COMPACT, SH64_COMPACT_SFMT_FMOV5_COMPACT },
- { SH_INSN_FMOV6_COMPACT, SH64_COMPACT_INSN_FMOV6_COMPACT, SH64_COMPACT_SFMT_FMOV6_COMPACT },
- { SH_INSN_FMOV7_COMPACT, SH64_COMPACT_INSN_FMOV7_COMPACT, SH64_COMPACT_SFMT_FMOV7_COMPACT },
- { SH_INSN_FMOV8_COMPACT, SH64_COMPACT_INSN_FMOV8_COMPACT, SH64_COMPACT_SFMT_FMOV8_COMPACT },
- { SH_INSN_FMOV9_COMPACT, SH64_COMPACT_INSN_FMOV9_COMPACT, SH64_COMPACT_SFMT_FMOV9_COMPACT },
- { SH_INSN_FMUL_COMPACT, SH64_COMPACT_INSN_FMUL_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
- { SH_INSN_FNEG_COMPACT, SH64_COMPACT_INSN_FNEG_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
- { SH_INSN_FRCHG_COMPACT, SH64_COMPACT_INSN_FRCHG_COMPACT, SH64_COMPACT_SFMT_FRCHG_COMPACT },
- { SH_INSN_FSCHG_COMPACT, SH64_COMPACT_INSN_FSCHG_COMPACT, SH64_COMPACT_SFMT_FSCHG_COMPACT },
- { SH_INSN_FSQRT_COMPACT, SH64_COMPACT_INSN_FSQRT_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
- { SH_INSN_FSTS_COMPACT, SH64_COMPACT_INSN_FSTS_COMPACT, SH64_COMPACT_SFMT_FSTS_COMPACT },
- { SH_INSN_FSUB_COMPACT, SH64_COMPACT_INSN_FSUB_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
- { SH_INSN_FTRC_COMPACT, SH64_COMPACT_INSN_FTRC_COMPACT, SH64_COMPACT_SFMT_FTRC_COMPACT },
- { SH_INSN_FTRV_COMPACT, SH64_COMPACT_INSN_FTRV_COMPACT, SH64_COMPACT_SFMT_FTRV_COMPACT },
- { SH_INSN_JMP_COMPACT, SH64_COMPACT_INSN_JMP_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
- { SH_INSN_JSR_COMPACT, SH64_COMPACT_INSN_JSR_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
- { SH_INSN_LDC_GBR_COMPACT, SH64_COMPACT_INSN_LDC_GBR_COMPACT, SH64_COMPACT_SFMT_LDC_GBR_COMPACT },
- { SH_INSN_LDC_VBR_COMPACT, SH64_COMPACT_INSN_LDC_VBR_COMPACT, SH64_COMPACT_SFMT_LDC_VBR_COMPACT },
- { SH_INSN_LDC_SR_COMPACT, SH64_COMPACT_INSN_LDC_SR_COMPACT, SH64_COMPACT_SFMT_LDC_SR_COMPACT },
- { SH_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_SFMT_LDCL_GBR_COMPACT },
- { SH_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_SFMT_LDCL_VBR_COMPACT },
- { SH_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDS_FPSCR_COMPACT },
- { SH_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDSL_FPSCR_COMPACT },
- { SH_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_SFMT_LDS_FPUL_COMPACT },
- { SH_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_SFMT_LDSL_FPUL_COMPACT },
- { SH_INSN_LDS_MACH_COMPACT, SH64_COMPACT_INSN_LDS_MACH_COMPACT, SH64_COMPACT_SFMT_LDS_MACH_COMPACT },
- { SH_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_SFMT_LDSL_MACH_COMPACT },
- { SH_INSN_LDS_MACL_COMPACT, SH64_COMPACT_INSN_LDS_MACL_COMPACT, SH64_COMPACT_SFMT_LDS_MACL_COMPACT },
- { SH_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_SFMT_LDSL_MACL_COMPACT },
- { SH_INSN_LDS_PR_COMPACT, SH64_COMPACT_INSN_LDS_PR_COMPACT, SH64_COMPACT_SFMT_LDS_PR_COMPACT },
- { SH_INSN_LDSL_PR_COMPACT, SH64_COMPACT_INSN_LDSL_PR_COMPACT, SH64_COMPACT_SFMT_LDSL_PR_COMPACT },
- { SH_INSN_MACL_COMPACT, SH64_COMPACT_INSN_MACL_COMPACT, SH64_COMPACT_SFMT_MACL_COMPACT },
- { SH_INSN_MACW_COMPACT, SH64_COMPACT_INSN_MACW_COMPACT, SH64_COMPACT_SFMT_MACW_COMPACT },
- { SH_INSN_MOV_COMPACT, SH64_COMPACT_INSN_MOV_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
- { SH_INSN_MOVI_COMPACT, SH64_COMPACT_INSN_MOVI_COMPACT, SH64_COMPACT_SFMT_MOVI_COMPACT },
- { SH_INSN_MOVI20_COMPACT, SH64_COMPACT_INSN_MOVI20_COMPACT, SH64_COMPACT_SFMT_MOVI20_COMPACT },
- { SH_INSN_MOVB1_COMPACT, SH64_COMPACT_INSN_MOVB1_COMPACT, SH64_COMPACT_SFMT_MOVB1_COMPACT },
- { SH_INSN_MOVB2_COMPACT, SH64_COMPACT_INSN_MOVB2_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT },
- { SH_INSN_MOVB3_COMPACT, SH64_COMPACT_INSN_MOVB3_COMPACT, SH64_COMPACT_SFMT_MOVB3_COMPACT },
- { SH_INSN_MOVB4_COMPACT, SH64_COMPACT_INSN_MOVB4_COMPACT, SH64_COMPACT_SFMT_MOVB4_COMPACT },
- { SH_INSN_MOVB5_COMPACT, SH64_COMPACT_INSN_MOVB5_COMPACT, SH64_COMPACT_SFMT_MOVB5_COMPACT },
- { SH_INSN_MOVB6_COMPACT, SH64_COMPACT_INSN_MOVB6_COMPACT, SH64_COMPACT_SFMT_MOVB6_COMPACT },
- { SH_INSN_MOVB7_COMPACT, SH64_COMPACT_INSN_MOVB7_COMPACT, SH64_COMPACT_SFMT_MOVB7_COMPACT },
- { SH_INSN_MOVB8_COMPACT, SH64_COMPACT_INSN_MOVB8_COMPACT, SH64_COMPACT_SFMT_MOVB8_COMPACT },
- { SH_INSN_MOVB9_COMPACT, SH64_COMPACT_INSN_MOVB9_COMPACT, SH64_COMPACT_SFMT_MOVB9_COMPACT },
- { SH_INSN_MOVB10_COMPACT, SH64_COMPACT_INSN_MOVB10_COMPACT, SH64_COMPACT_SFMT_MOVB10_COMPACT },
- { SH_INSN_MOVL1_COMPACT, SH64_COMPACT_INSN_MOVL1_COMPACT, SH64_COMPACT_SFMT_MOVL1_COMPACT },
- { SH_INSN_MOVL2_COMPACT, SH64_COMPACT_INSN_MOVL2_COMPACT, SH64_COMPACT_SFMT_MOVL2_COMPACT },
- { SH_INSN_MOVL3_COMPACT, SH64_COMPACT_INSN_MOVL3_COMPACT, SH64_COMPACT_SFMT_MOVL3_COMPACT },
- { SH_INSN_MOVL4_COMPACT, SH64_COMPACT_INSN_MOVL4_COMPACT, SH64_COMPACT_SFMT_MOVL4_COMPACT },
- { SH_INSN_MOVL5_COMPACT, SH64_COMPACT_INSN_MOVL5_COMPACT, SH64_COMPACT_SFMT_MOVL5_COMPACT },
- { SH_INSN_MOVL6_COMPACT, SH64_COMPACT_INSN_MOVL6_COMPACT, SH64_COMPACT_SFMT_MOVL6_COMPACT },
- { SH_INSN_MOVL7_COMPACT, SH64_COMPACT_INSN_MOVL7_COMPACT, SH64_COMPACT_SFMT_MOVL7_COMPACT },
- { SH_INSN_MOVL8_COMPACT, SH64_COMPACT_INSN_MOVL8_COMPACT, SH64_COMPACT_SFMT_MOVL8_COMPACT },
- { SH_INSN_MOVL9_COMPACT, SH64_COMPACT_INSN_MOVL9_COMPACT, SH64_COMPACT_SFMT_MOVL9_COMPACT },
- { SH_INSN_MOVL10_COMPACT, SH64_COMPACT_INSN_MOVL10_COMPACT, SH64_COMPACT_SFMT_MOVL10_COMPACT },
- { SH_INSN_MOVL11_COMPACT, SH64_COMPACT_INSN_MOVL11_COMPACT, SH64_COMPACT_SFMT_MOVL11_COMPACT },
- { SH_INSN_MOVL12_COMPACT, SH64_COMPACT_INSN_MOVL12_COMPACT, SH64_COMPACT_SFMT_MOVL12_COMPACT },
- { SH_INSN_MOVL13_COMPACT, SH64_COMPACT_INSN_MOVL13_COMPACT, SH64_COMPACT_SFMT_MOVL13_COMPACT },
- { SH_INSN_MOVW1_COMPACT, SH64_COMPACT_INSN_MOVW1_COMPACT, SH64_COMPACT_SFMT_MOVW1_COMPACT },
- { SH_INSN_MOVW2_COMPACT, SH64_COMPACT_INSN_MOVW2_COMPACT, SH64_COMPACT_SFMT_MOVW2_COMPACT },
- { SH_INSN_MOVW3_COMPACT, SH64_COMPACT_INSN_MOVW3_COMPACT, SH64_COMPACT_SFMT_MOVW3_COMPACT },
- { SH_INSN_MOVW4_COMPACT, SH64_COMPACT_INSN_MOVW4_COMPACT, SH64_COMPACT_SFMT_MOVW4_COMPACT },
- { SH_INSN_MOVW5_COMPACT, SH64_COMPACT_INSN_MOVW5_COMPACT, SH64_COMPACT_SFMT_MOVW5_COMPACT },
- { SH_INSN_MOVW6_COMPACT, SH64_COMPACT_INSN_MOVW6_COMPACT, SH64_COMPACT_SFMT_MOVW6_COMPACT },
- { SH_INSN_MOVW7_COMPACT, SH64_COMPACT_INSN_MOVW7_COMPACT, SH64_COMPACT_SFMT_MOVW7_COMPACT },
- { SH_INSN_MOVW8_COMPACT, SH64_COMPACT_INSN_MOVW8_COMPACT, SH64_COMPACT_SFMT_MOVW8_COMPACT },
- { SH_INSN_MOVW9_COMPACT, SH64_COMPACT_INSN_MOVW9_COMPACT, SH64_COMPACT_SFMT_MOVW9_COMPACT },
- { SH_INSN_MOVW10_COMPACT, SH64_COMPACT_INSN_MOVW10_COMPACT, SH64_COMPACT_SFMT_MOVW10_COMPACT },
- { SH_INSN_MOVW11_COMPACT, SH64_COMPACT_INSN_MOVW11_COMPACT, SH64_COMPACT_SFMT_MOVW11_COMPACT },
- { SH_INSN_MOVA_COMPACT, SH64_COMPACT_INSN_MOVA_COMPACT, SH64_COMPACT_SFMT_MOVA_COMPACT },
- { SH_INSN_MOVCAL_COMPACT, SH64_COMPACT_INSN_MOVCAL_COMPACT, SH64_COMPACT_SFMT_MOVCAL_COMPACT },
- { SH_INSN_MOVCOL_COMPACT, SH64_COMPACT_INSN_MOVCOL_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_MOVT_COMPACT, SH64_COMPACT_INSN_MOVT_COMPACT, SH64_COMPACT_SFMT_MOVT_COMPACT },
- { SH_INSN_MOVUAL_COMPACT, SH64_COMPACT_INSN_MOVUAL_COMPACT, SH64_COMPACT_SFMT_MOVUAL_COMPACT },
- { SH_INSN_MOVUAL2_COMPACT, SH64_COMPACT_INSN_MOVUAL2_COMPACT, SH64_COMPACT_SFMT_MOVUAL2_COMPACT },
- { SH_INSN_MULL_COMPACT, SH64_COMPACT_INSN_MULL_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
- { SH_INSN_MULSW_COMPACT, SH64_COMPACT_INSN_MULSW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
- { SH_INSN_MULUW_COMPACT, SH64_COMPACT_INSN_MULUW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
- { SH_INSN_NEG_COMPACT, SH64_COMPACT_INSN_NEG_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_NEGC_COMPACT, SH64_COMPACT_INSN_NEGC_COMPACT, SH64_COMPACT_SFMT_NEGC_COMPACT },
- { SH_INSN_NOP_COMPACT, SH64_COMPACT_INSN_NOP_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT },
- { SH_INSN_NOT_COMPACT, SH64_COMPACT_INSN_NOT_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
- { SH_INSN_OCBI_COMPACT, SH64_COMPACT_INSN_OCBI_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_OCBP_COMPACT, SH64_COMPACT_INSN_OCBP_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_OCBWB_COMPACT, SH64_COMPACT_INSN_OCBWB_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_OR_COMPACT, SH64_COMPACT_INSN_OR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
- { SH_INSN_ORI_COMPACT, SH64_COMPACT_INSN_ORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
- { SH_INSN_ORB_COMPACT, SH64_COMPACT_INSN_ORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
- { SH_INSN_PREF_COMPACT, SH64_COMPACT_INSN_PREF_COMPACT, SH64_COMPACT_SFMT_PREF_COMPACT },
- { SH_INSN_ROTCL_COMPACT, SH64_COMPACT_INSN_ROTCL_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
- { SH_INSN_ROTCR_COMPACT, SH64_COMPACT_INSN_ROTCR_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
- { SH_INSN_ROTL_COMPACT, SH64_COMPACT_INSN_ROTL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_ROTR_COMPACT, SH64_COMPACT_INSN_ROTR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_RTS_COMPACT, SH64_COMPACT_INSN_RTS_COMPACT, SH64_COMPACT_SFMT_RTS_COMPACT },
- { SH_INSN_SETS_COMPACT, SH64_COMPACT_INSN_SETS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
- { SH_INSN_SETT_COMPACT, SH64_COMPACT_INSN_SETT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
- { SH_INSN_SHAD_COMPACT, SH64_COMPACT_INSN_SHAD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
- { SH_INSN_SHAL_COMPACT, SH64_COMPACT_INSN_SHAL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_SHAR_COMPACT, SH64_COMPACT_INSN_SHAR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_SHLD_COMPACT, SH64_COMPACT_INSN_SHLD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
- { SH_INSN_SHLL_COMPACT, SH64_COMPACT_INSN_SHLL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_SHLL2_COMPACT, SH64_COMPACT_INSN_SHLL2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_SHLL8_COMPACT, SH64_COMPACT_INSN_SHLL8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_SHLL16_COMPACT, SH64_COMPACT_INSN_SHLL16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_SHLR_COMPACT, SH64_COMPACT_INSN_SHLR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
- { SH_INSN_SHLR2_COMPACT, SH64_COMPACT_INSN_SHLR2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_SHLR8_COMPACT, SH64_COMPACT_INSN_SHLR8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_SHLR16_COMPACT, SH64_COMPACT_INSN_SHLR16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
- { SH_INSN_STC_GBR_COMPACT, SH64_COMPACT_INSN_STC_GBR_COMPACT, SH64_COMPACT_SFMT_STC_GBR_COMPACT },
- { SH_INSN_STC_VBR_COMPACT, SH64_COMPACT_INSN_STC_VBR_COMPACT, SH64_COMPACT_SFMT_STC_VBR_COMPACT },
- { SH_INSN_STCL_GBR_COMPACT, SH64_COMPACT_INSN_STCL_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_COMPACT },
- { SH_INSN_STCL_VBR_COMPACT, SH64_COMPACT_INSN_STCL_VBR_COMPACT, SH64_COMPACT_SFMT_STCL_VBR_COMPACT },
- { SH_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_SFMT_STS_FPSCR_COMPACT },
- { SH_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_STSL_FPSCR_COMPACT },
- { SH_INSN_STS_FPUL_COMPACT, SH64_COMPACT_INSN_STS_FPUL_COMPACT, SH64_COMPACT_SFMT_STS_FPUL_COMPACT },
- { SH_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_SFMT_STSL_FPUL_COMPACT },
- { SH_INSN_STS_MACH_COMPACT, SH64_COMPACT_INSN_STS_MACH_COMPACT, SH64_COMPACT_SFMT_STS_MACH_COMPACT },
- { SH_INSN_STSL_MACH_COMPACT, SH64_COMPACT_INSN_STSL_MACH_COMPACT, SH64_COMPACT_SFMT_STSL_MACH_COMPACT },
- { SH_INSN_STS_MACL_COMPACT, SH64_COMPACT_INSN_STS_MACL_COMPACT, SH64_COMPACT_SFMT_STS_MACL_COMPACT },
- { SH_INSN_STSL_MACL_COMPACT, SH64_COMPACT_INSN_STSL_MACL_COMPACT, SH64_COMPACT_SFMT_STSL_MACL_COMPACT },
- { SH_INSN_STS_PR_COMPACT, SH64_COMPACT_INSN_STS_PR_COMPACT, SH64_COMPACT_SFMT_STS_PR_COMPACT },
- { SH_INSN_STSL_PR_COMPACT, SH64_COMPACT_INSN_STSL_PR_COMPACT, SH64_COMPACT_SFMT_STSL_PR_COMPACT },
- { SH_INSN_SUB_COMPACT, SH64_COMPACT_INSN_SUB_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
- { SH_INSN_SUBC_COMPACT, SH64_COMPACT_INSN_SUBC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
- { SH_INSN_SUBV_COMPACT, SH64_COMPACT_INSN_SUBV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
- { SH_INSN_SWAPB_COMPACT, SH64_COMPACT_INSN_SWAPB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_SWAPW_COMPACT, SH64_COMPACT_INSN_SWAPW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
- { SH_INSN_TASB_COMPACT, SH64_COMPACT_INSN_TASB_COMPACT, SH64_COMPACT_SFMT_TASB_COMPACT },
- { SH_INSN_TRAPA_COMPACT, SH64_COMPACT_INSN_TRAPA_COMPACT, SH64_COMPACT_SFMT_TRAPA_COMPACT },
- { SH_INSN_TST_COMPACT, SH64_COMPACT_INSN_TST_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
- { SH_INSN_TSTI_COMPACT, SH64_COMPACT_INSN_TSTI_COMPACT, SH64_COMPACT_SFMT_TSTI_COMPACT },
- { SH_INSN_TSTB_COMPACT, SH64_COMPACT_INSN_TSTB_COMPACT, SH64_COMPACT_SFMT_TSTB_COMPACT },
- { SH_INSN_XOR_COMPACT, SH64_COMPACT_INSN_XOR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
- { SH_INSN_XORI_COMPACT, SH64_COMPACT_INSN_XORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
- { SH_INSN_XORB_COMPACT, SH64_COMPACT_INSN_XORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
- { SH_INSN_XTRCT_COMPACT, SH64_COMPACT_INSN_XTRCT_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
- };
- static const struct insn_sem sh64_compact_insn_sem_invalid =
- {
- VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY
- };
- /* Initialize an IDESC from the compile-time computable parts. */
- static INLINE void
- init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
- {
- const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
- id->num = t->index;
- id->sfmt = t->sfmt;
- if ((int) t->type <= 0)
- id->idata = & cgen_virtual_insn_table[- (int) t->type];
- else
- id->idata = & insn_table[t->type];
- id->attrs = CGEN_INSN_ATTRS (id->idata);
- /* Oh my god, a magic number. */
- id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
- #if WITH_PROFILE_MODEL_P
- id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
- {
- SIM_DESC sd = CPU_STATE (cpu);
- SIM_ASSERT (t->index == id->timing->num);
- }
- #endif
- /* Semantic pointers are initialized elsewhere. */
- }
- /* Initialize the instruction descriptor table. */
- void
- sh64_compact_init_idesc_table (SIM_CPU *cpu)
- {
- IDESC *id,*tabend;
- const struct insn_sem *t,*tend;
- int tabsize = SH64_COMPACT_INSN__MAX;
- IDESC *table = sh64_compact_insn_data;
- memset (table, 0, tabsize * sizeof (IDESC));
- /* First set all entries to the `invalid insn'. */
- t = & sh64_compact_insn_sem_invalid;
- for (id = table, tabend = table + tabsize; id < tabend; ++id)
- init_idesc (cpu, id, t);
- /* Now fill in the values for the chosen cpu. */
- for (t = sh64_compact_insn_sem, tend = t + sizeof (sh64_compact_insn_sem) / sizeof (*t);
- t != tend; ++t)
- {
- init_idesc (cpu, & table[t->index], t);
- }
- /* Link the IDESC table into the cpu. */
- CPU_IDESC (cpu) = table;
- }
- /* Given an instruction, return a pointer to its IDESC entry. */
- const IDESC *
- sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
- CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn,
- ARGBUF *abuf)
- {
- /* Result of decoder. */
- SH64_COMPACT_INSN_TYPE itype;
- {
- CGEN_INSN_WORD insn = base_insn;
- {
- unsigned int val = (((insn >> 5) & (15 << 7)) | ((insn >> 0) & (127 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 16 : /* fall through */
- case 32 : /* fall through */
- case 48 : /* fall through */
- case 64 : /* fall through */
- case 80 : /* fall through */
- case 96 : /* fall through */
- case 112 : itype = SH64_COMPACT_INSN_MOVI20_COMPACT; goto extract_sfmt_movi20_compact;
- case 3 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_BSRF_COMPACT; goto extract_sfmt_bsrf_compact;
- case 1 : itype = SH64_COMPACT_INSN_PREF_COMPACT; goto extract_sfmt_pref_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 4 : /* fall through */
- case 20 : /* fall through */
- case 36 : /* fall through */
- case 52 : /* fall through */
- case 68 : /* fall through */
- case 84 : /* fall through */
- case 100 : /* fall through */
- case 116 : itype = SH64_COMPACT_INSN_MOVB3_COMPACT; goto extract_sfmt_movb3_compact;
- case 5 : /* fall through */
- case 21 : /* fall through */
- case 37 : /* fall through */
- case 53 : /* fall through */
- case 69 : /* fall through */
- case 85 : /* fall through */
- case 101 : /* fall through */
- case 117 : itype = SH64_COMPACT_INSN_MOVW3_COMPACT; goto extract_sfmt_movw3_compact;
- case 6 : /* fall through */
- case 22 : /* fall through */
- case 38 : /* fall through */
- case 54 : /* fall through */
- case 70 : /* fall through */
- case 86 : /* fall through */
- case 102 : /* fall through */
- case 118 : itype = SH64_COMPACT_INSN_MOVL3_COMPACT; goto extract_sfmt_movl3_compact;
- case 7 : /* fall through */
- case 23 : /* fall through */
- case 39 : /* fall through */
- case 55 : /* fall through */
- case 71 : /* fall through */
- case 87 : /* fall through */
- case 103 : /* fall through */
- case 119 : itype = SH64_COMPACT_INSN_MULL_COMPACT; goto extract_sfmt_mull_compact;
- case 8 :
- if ((entire_insn & 0xffff) == 0x8)
- { itype = SH64_COMPACT_INSN_CLRT_COMPACT; goto extract_sfmt_clrt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 9 :
- if ((entire_insn & 0xffff) == 0x9)
- { itype = SH64_COMPACT_INSN_NOP_COMPACT; goto extract_sfmt_nop_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 10 :
- if ((entire_insn & 0xf0ff) == 0xa)
- { itype = SH64_COMPACT_INSN_STS_MACH_COMPACT; goto extract_sfmt_sts_mach_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 11 :
- if ((entire_insn & 0xffff) == 0xb)
- { itype = SH64_COMPACT_INSN_RTS_COMPACT; goto extract_sfmt_rts_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 12 : /* fall through */
- case 28 : /* fall through */
- case 44 : /* fall through */
- case 60 : /* fall through */
- case 76 : /* fall through */
- case 92 : /* fall through */
- case 108 : /* fall through */
- case 124 : itype = SH64_COMPACT_INSN_MOVB8_COMPACT; goto extract_sfmt_movb8_compact;
- case 13 : /* fall through */
- case 29 : /* fall through */
- case 45 : /* fall through */
- case 61 : /* fall through */
- case 77 : /* fall through */
- case 93 : /* fall through */
- case 109 : /* fall through */
- case 125 : itype = SH64_COMPACT_INSN_MOVW8_COMPACT; goto extract_sfmt_movw8_compact;
- case 14 : /* fall through */
- case 30 : /* fall through */
- case 46 : /* fall through */
- case 62 : /* fall through */
- case 78 : /* fall through */
- case 94 : /* fall through */
- case 110 : /* fall through */
- case 126 : itype = SH64_COMPACT_INSN_MOVL8_COMPACT; goto extract_sfmt_movl8_compact;
- case 15 : /* fall through */
- case 31 : /* fall through */
- case 47 : /* fall through */
- case 63 : /* fall through */
- case 79 : /* fall through */
- case 95 : /* fall through */
- case 111 : /* fall through */
- case 127 : itype = SH64_COMPACT_INSN_MACL_COMPACT; goto extract_sfmt_macl_compact;
- case 18 :
- if ((entire_insn & 0xf0ff) == 0x12)
- { itype = SH64_COMPACT_INSN_STC_GBR_COMPACT; goto extract_sfmt_stc_gbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 19 :
- if ((entire_insn & 0xf0ff) == 0x93)
- { itype = SH64_COMPACT_INSN_OCBI_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 24 :
- if ((entire_insn & 0xffff) == 0x18)
- { itype = SH64_COMPACT_INSN_SETT_COMPACT; goto extract_sfmt_clrt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 25 :
- if ((entire_insn & 0xffff) == 0x19)
- { itype = SH64_COMPACT_INSN_DIV0U_COMPACT; goto extract_sfmt_div0u_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 26 :
- if ((entire_insn & 0xf0ff) == 0x1a)
- { itype = SH64_COMPACT_INSN_STS_MACL_COMPACT; goto extract_sfmt_sts_macl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 34 :
- if ((entire_insn & 0xf0ff) == 0x22)
- { itype = SH64_COMPACT_INSN_STC_VBR_COMPACT; goto extract_sfmt_stc_vbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 35 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_BRAF_COMPACT; goto extract_sfmt_braf_compact;
- case 1 : itype = SH64_COMPACT_INSN_OCBP_COMPACT; goto extract_sfmt_movcol_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 40 :
- if ((entire_insn & 0xffff) == 0x28)
- { itype = SH64_COMPACT_INSN_CLRMAC_COMPACT; goto extract_sfmt_clrmac_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 41 :
- if ((entire_insn & 0xf0ff) == 0x29)
- { itype = SH64_COMPACT_INSN_MOVT_COMPACT; goto extract_sfmt_movt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 42 :
- if ((entire_insn & 0xf0ff) == 0x2a)
- { itype = SH64_COMPACT_INSN_STS_PR_COMPACT; goto extract_sfmt_sts_pr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 51 :
- if ((entire_insn & 0xf0ff) == 0xb3)
- { itype = SH64_COMPACT_INSN_OCBWB_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 59 :
- if ((entire_insn & 0xffff) == 0x3b)
- { itype = SH64_COMPACT_INSN_BRK_COMPACT; goto extract_sfmt_brk_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 67 :
- if ((entire_insn & 0xf0ff) == 0xc3)
- { itype = SH64_COMPACT_INSN_MOVCAL_COMPACT; goto extract_sfmt_movcal_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 72 :
- if ((entire_insn & 0xffff) == 0x48)
- { itype = SH64_COMPACT_INSN_CLRS_COMPACT; goto extract_sfmt_clrs_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 88 :
- if ((entire_insn & 0xffff) == 0x58)
- { itype = SH64_COMPACT_INSN_SETS_COMPACT; goto extract_sfmt_clrs_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 90 :
- if ((entire_insn & 0xf0ff) == 0x5a)
- { itype = SH64_COMPACT_INSN_STS_FPUL_COMPACT; goto extract_sfmt_sts_fpul_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 106 :
- if ((entire_insn & 0xf0ff) == 0x6a)
- { itype = SH64_COMPACT_INSN_STS_FPSCR_COMPACT; goto extract_sfmt_sts_fpscr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 115 :
- if ((entire_insn & 0xf0ff) == 0x73)
- { itype = SH64_COMPACT_INSN_MOVCOL_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 128 : /* fall through */
- case 129 : /* fall through */
- case 130 : /* fall through */
- case 131 : /* fall through */
- case 132 : /* fall through */
- case 133 : /* fall through */
- case 134 : /* fall through */
- case 135 : /* fall through */
- case 136 : /* fall through */
- case 137 : /* fall through */
- case 138 : /* fall through */
- case 139 : /* fall through */
- case 140 : /* fall through */
- case 141 : /* fall through */
- case 142 : /* fall through */
- case 143 : /* fall through */
- case 144 : /* fall through */
- case 145 : /* fall through */
- case 146 : /* fall through */
- case 147 : /* fall through */
- case 148 : /* fall through */
- case 149 : /* fall through */
- case 150 : /* fall through */
- case 151 : /* fall through */
- case 152 : /* fall through */
- case 153 : /* fall through */
- case 154 : /* fall through */
- case 155 : /* fall through */
- case 156 : /* fall through */
- case 157 : /* fall through */
- case 158 : /* fall through */
- case 159 : /* fall through */
- case 160 : /* fall through */
- case 161 : /* fall through */
- case 162 : /* fall through */
- case 163 : /* fall through */
- case 164 : /* fall through */
- case 165 : /* fall through */
- case 166 : /* fall through */
- case 167 : /* fall through */
- case 168 : /* fall through */
- case 169 : /* fall through */
- case 170 : /* fall through */
- case 171 : /* fall through */
- case 172 : /* fall through */
- case 173 : /* fall through */
- case 174 : /* fall through */
- case 175 : /* fall through */
- case 176 : /* fall through */
- case 177 : /* fall through */
- case 178 : /* fall through */
- case 179 : /* fall through */
- case 180 : /* fall through */
- case 181 : /* fall through */
- case 182 : /* fall through */
- case 183 : /* fall through */
- case 184 : /* fall through */
- case 185 : /* fall through */
- case 186 : /* fall through */
- case 187 : /* fall through */
- case 188 : /* fall through */
- case 189 : /* fall through */
- case 190 : /* fall through */
- case 191 : /* fall through */
- case 192 : /* fall through */
- case 193 : /* fall through */
- case 194 : /* fall through */
- case 195 : /* fall through */
- case 196 : /* fall through */
- case 197 : /* fall through */
- case 198 : /* fall through */
- case 199 : /* fall through */
- case 200 : /* fall through */
- case 201 : /* fall through */
- case 202 : /* fall through */
- case 203 : /* fall through */
- case 204 : /* fall through */
- case 205 : /* fall through */
- case 206 : /* fall through */
- case 207 : /* fall through */
- case 208 : /* fall through */
- case 209 : /* fall through */
- case 210 : /* fall through */
- case 211 : /* fall through */
- case 212 : /* fall through */
- case 213 : /* fall through */
- case 214 : /* fall through */
- case 215 : /* fall through */
- case 216 : /* fall through */
- case 217 : /* fall through */
- case 218 : /* fall through */
- case 219 : /* fall through */
- case 220 : /* fall through */
- case 221 : /* fall through */
- case 222 : /* fall through */
- case 223 : /* fall through */
- case 224 : /* fall through */
- case 225 : /* fall through */
- case 226 : /* fall through */
- case 227 : /* fall through */
- case 228 : /* fall through */
- case 229 : /* fall through */
- case 230 : /* fall through */
- case 231 : /* fall through */
- case 232 : /* fall through */
- case 233 : /* fall through */
- case 234 : /* fall through */
- case 235 : /* fall through */
- case 236 : /* fall through */
- case 237 : /* fall through */
- case 238 : /* fall through */
- case 239 : /* fall through */
- case 240 : /* fall through */
- case 241 : /* fall through */
- case 242 : /* fall through */
- case 243 : /* fall through */
- case 244 : /* fall through */
- case 245 : /* fall through */
- case 246 : /* fall through */
- case 247 : /* fall through */
- case 248 : /* fall through */
- case 249 : /* fall through */
- case 250 : /* fall through */
- case 251 : /* fall through */
- case 252 : /* fall through */
- case 253 : /* fall through */
- case 254 : /* fall through */
- case 255 : itype = SH64_COMPACT_INSN_MOVL5_COMPACT; goto extract_sfmt_movl5_compact;
- case 256 : /* fall through */
- case 272 : /* fall through */
- case 288 : /* fall through */
- case 304 : /* fall through */
- case 320 : /* fall through */
- case 336 : /* fall through */
- case 352 : /* fall through */
- case 368 : itype = SH64_COMPACT_INSN_MOVB1_COMPACT; goto extract_sfmt_movb1_compact;
- case 257 : /* fall through */
- case 273 : /* fall through */
- case 289 : /* fall through */
- case 305 : /* fall through */
- case 321 : /* fall through */
- case 337 : /* fall through */
- case 353 : /* fall through */
- case 369 : itype = SH64_COMPACT_INSN_MOVW1_COMPACT; goto extract_sfmt_movw1_compact;
- case 258 : /* fall through */
- case 274 : /* fall through */
- case 290 : /* fall through */
- case 306 : /* fall through */
- case 322 : /* fall through */
- case 338 : /* fall through */
- case 354 : /* fall through */
- case 370 : itype = SH64_COMPACT_INSN_MOVL1_COMPACT; goto extract_sfmt_movl1_compact;
- case 260 : /* fall through */
- case 276 : /* fall through */
- case 292 : /* fall through */
- case 308 : /* fall through */
- case 324 : /* fall through */
- case 340 : /* fall through */
- case 356 : /* fall through */
- case 372 : itype = SH64_COMPACT_INSN_MOVB2_COMPACT; goto extract_sfmt_movb2_compact;
- case 261 : /* fall through */
- case 277 : /* fall through */
- case 293 : /* fall through */
- case 309 : /* fall through */
- case 325 : /* fall through */
- case 341 : /* fall through */
- case 357 : /* fall through */
- case 373 : itype = SH64_COMPACT_INSN_MOVW2_COMPACT; goto extract_sfmt_movw2_compact;
- case 262 : /* fall through */
- case 278 : /* fall through */
- case 294 : /* fall through */
- case 310 : /* fall through */
- case 326 : /* fall through */
- case 342 : /* fall through */
- case 358 : /* fall through */
- case 374 : itype = SH64_COMPACT_INSN_MOVL2_COMPACT; goto extract_sfmt_movl2_compact;
- case 263 : /* fall through */
- case 279 : /* fall through */
- case 295 : /* fall through */
- case 311 : /* fall through */
- case 327 : /* fall through */
- case 343 : /* fall through */
- case 359 : /* fall through */
- case 375 : itype = SH64_COMPACT_INSN_DIV0S_COMPACT; goto extract_sfmt_div0s_compact;
- case 264 : /* fall through */
- case 280 : /* fall through */
- case 296 : /* fall through */
- case 312 : /* fall through */
- case 328 : /* fall through */
- case 344 : /* fall through */
- case 360 : /* fall through */
- case 376 : itype = SH64_COMPACT_INSN_TST_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 265 : /* fall through */
- case 281 : /* fall through */
- case 297 : /* fall through */
- case 313 : /* fall through */
- case 329 : /* fall through */
- case 345 : /* fall through */
- case 361 : /* fall through */
- case 377 : itype = SH64_COMPACT_INSN_AND_COMPACT; goto extract_sfmt_and_compact;
- case 266 : /* fall through */
- case 282 : /* fall through */
- case 298 : /* fall through */
- case 314 : /* fall through */
- case 330 : /* fall through */
- case 346 : /* fall through */
- case 362 : /* fall through */
- case 378 : itype = SH64_COMPACT_INSN_XOR_COMPACT; goto extract_sfmt_and_compact;
- case 267 : /* fall through */
- case 283 : /* fall through */
- case 299 : /* fall through */
- case 315 : /* fall through */
- case 331 : /* fall through */
- case 347 : /* fall through */
- case 363 : /* fall through */
- case 379 : itype = SH64_COMPACT_INSN_OR_COMPACT; goto extract_sfmt_and_compact;
- case 268 : /* fall through */
- case 284 : /* fall through */
- case 300 : /* fall through */
- case 316 : /* fall through */
- case 332 : /* fall through */
- case 348 : /* fall through */
- case 364 : /* fall through */
- case 380 : itype = SH64_COMPACT_INSN_CMPSTR_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 269 : /* fall through */
- case 285 : /* fall through */
- case 301 : /* fall through */
- case 317 : /* fall through */
- case 333 : /* fall through */
- case 349 : /* fall through */
- case 365 : /* fall through */
- case 381 : itype = SH64_COMPACT_INSN_XTRCT_COMPACT; goto extract_sfmt_add_compact;
- case 270 : /* fall through */
- case 286 : /* fall through */
- case 302 : /* fall through */
- case 318 : /* fall through */
- case 334 : /* fall through */
- case 350 : /* fall through */
- case 366 : /* fall through */
- case 382 : itype = SH64_COMPACT_INSN_MULUW_COMPACT; goto extract_sfmt_mull_compact;
- case 271 : /* fall through */
- case 287 : /* fall through */
- case 303 : /* fall through */
- case 319 : /* fall through */
- case 335 : /* fall through */
- case 351 : /* fall through */
- case 367 : /* fall through */
- case 383 : itype = SH64_COMPACT_INSN_MULSW_COMPACT; goto extract_sfmt_mull_compact;
- case 384 : /* fall through */
- case 400 : /* fall through */
- case 416 : /* fall through */
- case 432 : /* fall through */
- case 448 : /* fall through */
- case 464 : /* fall through */
- case 480 : /* fall through */
- case 496 : itype = SH64_COMPACT_INSN_CMPEQ_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 385 : /* fall through */
- case 417 : /* fall through */
- case 449 : /* fall through */
- case 481 :
- {
- unsigned int val = (((entire_insn >> 13) & (1 << 1)) | ((entire_insn >> 12) & (1 << 0)));
- switch (val)
- {
- case 0 :
- if ((entire_insn & 0xf00ff000) == 0x30012000)
- { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 1 :
- if ((entire_insn & 0xf01ff000) == 0x30013000)
- { itype = SH64_COMPACT_INSN_FMOV9_COMPACT; goto extract_sfmt_fmov9_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 2 :
- if ((entire_insn & 0xf00ff000) == 0x30016000)
- { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 3 :
- if ((entire_insn & 0xf10ff000) == 0x30017000)
- { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 386 : /* fall through */
- case 402 : /* fall through */
- case 418 : /* fall through */
- case 434 : /* fall through */
- case 450 : /* fall through */
- case 466 : /* fall through */
- case 482 : /* fall through */
- case 498 : itype = SH64_COMPACT_INSN_CMPHS_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 387 : /* fall through */
- case 403 : /* fall through */
- case 419 : /* fall through */
- case 435 : /* fall through */
- case 451 : /* fall through */
- case 467 : /* fall through */
- case 483 : /* fall through */
- case 499 : itype = SH64_COMPACT_INSN_CMPGE_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 388 : /* fall through */
- case 404 : /* fall through */
- case 420 : /* fall through */
- case 436 : /* fall through */
- case 452 : /* fall through */
- case 468 : /* fall through */
- case 484 : /* fall through */
- case 500 : itype = SH64_COMPACT_INSN_DIV1_COMPACT; goto extract_sfmt_div1_compact;
- case 389 : /* fall through */
- case 405 : /* fall through */
- case 421 : /* fall through */
- case 437 : /* fall through */
- case 453 : /* fall through */
- case 469 : /* fall through */
- case 485 : /* fall through */
- case 501 : itype = SH64_COMPACT_INSN_DMULUL_COMPACT; goto extract_sfmt_dmulsl_compact;
- case 390 : /* fall through */
- case 406 : /* fall through */
- case 422 : /* fall through */
- case 438 : /* fall through */
- case 454 : /* fall through */
- case 470 : /* fall through */
- case 486 : /* fall through */
- case 502 : itype = SH64_COMPACT_INSN_CMPHI_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 391 : /* fall through */
- case 407 : /* fall through */
- case 423 : /* fall through */
- case 439 : /* fall through */
- case 455 : /* fall through */
- case 471 : /* fall through */
- case 487 : /* fall through */
- case 503 : itype = SH64_COMPACT_INSN_CMPGT_COMPACT; goto extract_sfmt_cmpeq_compact;
- case 392 : /* fall through */
- case 408 : /* fall through */
- case 424 : /* fall through */
- case 440 : /* fall through */
- case 456 : /* fall through */
- case 472 : /* fall through */
- case 488 : /* fall through */
- case 504 : itype = SH64_COMPACT_INSN_SUB_COMPACT; goto extract_sfmt_add_compact;
- case 394 : /* fall through */
- case 410 : /* fall through */
- case 426 : /* fall through */
- case 442 : /* fall through */
- case 458 : /* fall through */
- case 474 : /* fall through */
- case 490 : /* fall through */
- case 506 : itype = SH64_COMPACT_INSN_SUBC_COMPACT; goto extract_sfmt_addc_compact;
- case 395 : /* fall through */
- case 411 : /* fall through */
- case 427 : /* fall through */
- case 443 : /* fall through */
- case 459 : /* fall through */
- case 475 : /* fall through */
- case 491 : /* fall through */
- case 507 : itype = SH64_COMPACT_INSN_SUBV_COMPACT; goto extract_sfmt_addv_compact;
- case 396 : /* fall through */
- case 412 : /* fall through */
- case 428 : /* fall through */
- case 444 : /* fall through */
- case 460 : /* fall through */
- case 476 : /* fall through */
- case 492 : /* fall through */
- case 508 : itype = SH64_COMPACT_INSN_ADD_COMPACT; goto extract_sfmt_add_compact;
- case 397 : /* fall through */
- case 413 : /* fall through */
- case 429 : /* fall through */
- case 445 : /* fall through */
- case 461 : /* fall through */
- case 477 : /* fall through */
- case 493 : /* fall through */
- case 509 : itype = SH64_COMPACT_INSN_DMULSL_COMPACT; goto extract_sfmt_dmulsl_compact;
- case 398 : /* fall through */
- case 414 : /* fall through */
- case 430 : /* fall through */
- case 446 : /* fall through */
- case 462 : /* fall through */
- case 478 : /* fall through */
- case 494 : /* fall through */
- case 510 : itype = SH64_COMPACT_INSN_ADDC_COMPACT; goto extract_sfmt_addc_compact;
- case 399 : /* fall through */
- case 415 : /* fall through */
- case 431 : /* fall through */
- case 447 : /* fall through */
- case 463 : /* fall through */
- case 479 : /* fall through */
- case 495 : /* fall through */
- case 511 : itype = SH64_COMPACT_INSN_ADDV_COMPACT; goto extract_sfmt_addv_compact;
- case 401 : /* fall through */
- case 433 : /* fall through */
- case 465 : /* fall through */
- case 497 :
- {
- unsigned int val = (((entire_insn >> 13) & (1 << 1)) | ((entire_insn >> 12) & (1 << 0)));
- switch (val)
- {
- case 0 :
- if ((entire_insn & 0xf00ff000) == 0x30012000)
- { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 2 :
- if ((entire_insn & 0xf00ff000) == 0x30016000)
- { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 3 :
- if ((entire_insn & 0xf10ff000) == 0x30017000)
- { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 512 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLL_COMPACT; goto extract_sfmt_dt_compact;
- case 1 : itype = SH64_COMPACT_INSN_MULR_COMPACT; goto extract_sfmt_divu_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 513 :
- if ((entire_insn & 0xf0ff) == 0x4001)
- { itype = SH64_COMPACT_INSN_SHLR_COMPACT; goto extract_sfmt_dt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 514 :
- if ((entire_insn & 0xf0ff) == 0x4002)
- { itype = SH64_COMPACT_INSN_STSL_MACH_COMPACT; goto extract_sfmt_stsl_mach_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 516 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_ROTL_COMPACT; goto extract_sfmt_dt_compact;
- case 1 : itype = SH64_COMPACT_INSN_DIVU_COMPACT; goto extract_sfmt_divu_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 517 :
- if ((entire_insn & 0xf0ff) == 0x4005)
- { itype = SH64_COMPACT_INSN_ROTR_COMPACT; goto extract_sfmt_dt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 518 :
- if ((entire_insn & 0xf0ff) == 0x4006)
- { itype = SH64_COMPACT_INSN_LDSL_MACH_COMPACT; goto extract_sfmt_ldsl_mach_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 520 :
- if ((entire_insn & 0xf0ff) == 0x4008)
- { itype = SH64_COMPACT_INSN_SHLL2_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 521 :
- if ((entire_insn & 0xf0ff) == 0x4009)
- { itype = SH64_COMPACT_INSN_SHLR2_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 522 :
- if ((entire_insn & 0xf0ff) == 0x400a)
- { itype = SH64_COMPACT_INSN_LDS_MACH_COMPACT; goto extract_sfmt_lds_mach_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 523 :
- if ((entire_insn & 0xf0ff) == 0x400b)
- { itype = SH64_COMPACT_INSN_JSR_COMPACT; goto extract_sfmt_bsrf_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 524 : /* fall through */
- case 540 : /* fall through */
- case 556 : /* fall through */
- case 572 : /* fall through */
- case 588 : /* fall through */
- case 604 : /* fall through */
- case 620 : /* fall through */
- case 636 : itype = SH64_COMPACT_INSN_SHAD_COMPACT; goto extract_sfmt_shad_compact;
- case 525 : /* fall through */
- case 541 : /* fall through */
- case 557 : /* fall through */
- case 573 : /* fall through */
- case 589 : /* fall through */
- case 605 : /* fall through */
- case 621 : /* fall through */
- case 637 : itype = SH64_COMPACT_INSN_SHLD_COMPACT; goto extract_sfmt_shad_compact;
- case 526 :
- if ((entire_insn & 0xf0ff) == 0x400e)
- { itype = SH64_COMPACT_INSN_LDC_SR_COMPACT; goto extract_sfmt_ldc_sr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 527 : /* fall through */
- case 543 : /* fall through */
- case 559 : /* fall through */
- case 575 : /* fall through */
- case 591 : /* fall through */
- case 607 : /* fall through */
- case 623 : /* fall through */
- case 639 : itype = SH64_COMPACT_INSN_MACW_COMPACT; goto extract_sfmt_macw_compact;
- case 528 :
- if ((entire_insn & 0xf0ff) == 0x4010)
- { itype = SH64_COMPACT_INSN_DT_COMPACT; goto extract_sfmt_dt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 529 :
- if ((entire_insn & 0xf0ff) == 0x4011)
- { itype = SH64_COMPACT_INSN_CMPPZ_COMPACT; goto extract_sfmt_cmppl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 530 :
- if ((entire_insn & 0xf0ff) == 0x4012)
- { itype = SH64_COMPACT_INSN_STSL_MACL_COMPACT; goto extract_sfmt_stsl_macl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 531 :
- if ((entire_insn & 0xf0ff) == 0x4013)
- { itype = SH64_COMPACT_INSN_STCL_GBR_COMPACT; goto extract_sfmt_stcl_gbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 533 :
- if ((entire_insn & 0xf0ff) == 0x4015)
- { itype = SH64_COMPACT_INSN_CMPPL_COMPACT; goto extract_sfmt_cmppl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 534 :
- if ((entire_insn & 0xf0ff) == 0x4016)
- { itype = SH64_COMPACT_INSN_LDSL_MACL_COMPACT; goto extract_sfmt_ldsl_macl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 535 :
- if ((entire_insn & 0xf0ff) == 0x4017)
- { itype = SH64_COMPACT_INSN_LDCL_GBR_COMPACT; goto extract_sfmt_ldcl_gbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 536 :
- if ((entire_insn & 0xf0ff) == 0x4018)
- { itype = SH64_COMPACT_INSN_SHLL8_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 537 :
- if ((entire_insn & 0xf0ff) == 0x4019)
- { itype = SH64_COMPACT_INSN_SHLR8_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 538 :
- if ((entire_insn & 0xf0ff) == 0x401a)
- { itype = SH64_COMPACT_INSN_LDS_MACL_COMPACT; goto extract_sfmt_lds_macl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 539 :
- if ((entire_insn & 0xf0ff) == 0x401b)
- { itype = SH64_COMPACT_INSN_TASB_COMPACT; goto extract_sfmt_tasb_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 542 :
- if ((entire_insn & 0xf0ff) == 0x401e)
- { itype = SH64_COMPACT_INSN_LDC_GBR_COMPACT; goto extract_sfmt_ldc_gbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 544 :
- if ((entire_insn & 0xf0ff) == 0x4020)
- { itype = SH64_COMPACT_INSN_SHAL_COMPACT; goto extract_sfmt_dt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 545 :
- if ((entire_insn & 0xf0ff) == 0x4021)
- { itype = SH64_COMPACT_INSN_SHAR_COMPACT; goto extract_sfmt_dt_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 546 :
- if ((entire_insn & 0xf0ff) == 0x4022)
- { itype = SH64_COMPACT_INSN_STSL_PR_COMPACT; goto extract_sfmt_stsl_pr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 547 :
- if ((entire_insn & 0xf0ff) == 0x4023)
- { itype = SH64_COMPACT_INSN_STCL_VBR_COMPACT; goto extract_sfmt_stcl_vbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 548 :
- if ((entire_insn & 0xf0ff) == 0x4024)
- { itype = SH64_COMPACT_INSN_ROTCL_COMPACT; goto extract_sfmt_rotcl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 549 :
- if ((entire_insn & 0xf0ff) == 0x4025)
- { itype = SH64_COMPACT_INSN_ROTCR_COMPACT; goto extract_sfmt_rotcl_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 550 :
- if ((entire_insn & 0xf0ff) == 0x4026)
- { itype = SH64_COMPACT_INSN_LDSL_PR_COMPACT; goto extract_sfmt_ldsl_pr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 551 :
- if ((entire_insn & 0xf0ff) == 0x4027)
- { itype = SH64_COMPACT_INSN_LDCL_VBR_COMPACT; goto extract_sfmt_ldcl_vbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 552 :
- if ((entire_insn & 0xf0ff) == 0x4028)
- { itype = SH64_COMPACT_INSN_SHLL16_COMPACT; goto extract_sfmt_movcol_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 553 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLR16_COMPACT; goto extract_sfmt_movcol_compact;
- case 1 : itype = SH64_COMPACT_INSN_MOVUAL_COMPACT; goto extract_sfmt_movual_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 554 :
- if ((entire_insn & 0xf0ff) == 0x402a)
- { itype = SH64_COMPACT_INSN_LDS_PR_COMPACT; goto extract_sfmt_lds_pr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 555 :
- if ((entire_insn & 0xf0ff) == 0x402b)
- { itype = SH64_COMPACT_INSN_JMP_COMPACT; goto extract_sfmt_braf_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 558 :
- if ((entire_insn & 0xf0ff) == 0x402e)
- { itype = SH64_COMPACT_INSN_LDC_VBR_COMPACT; goto extract_sfmt_ldc_vbr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 594 :
- if ((entire_insn & 0xf0ff) == 0x4052)
- { itype = SH64_COMPACT_INSN_STSL_FPUL_COMPACT; goto extract_sfmt_stsl_fpul_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 598 :
- if ((entire_insn & 0xf0ff) == 0x4056)
- { itype = SH64_COMPACT_INSN_LDSL_FPUL_COMPACT; goto extract_sfmt_ldsl_fpul_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 602 :
- if ((entire_insn & 0xf0ff) == 0x405a)
- { itype = SH64_COMPACT_INSN_LDS_FPUL_COMPACT; goto extract_sfmt_lds_fpul_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 610 :
- if ((entire_insn & 0xf0ff) == 0x4062)
- { itype = SH64_COMPACT_INSN_STSL_FPSCR_COMPACT; goto extract_sfmt_stsl_fpscr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 614 :
- if ((entire_insn & 0xf0ff) == 0x4066)
- { itype = SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT; goto extract_sfmt_ldsl_fpscr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 617 :
- if ((entire_insn & 0xf0ff) == 0x40e9)
- { itype = SH64_COMPACT_INSN_MOVUAL2_COMPACT; goto extract_sfmt_movual2_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 618 :
- if ((entire_insn & 0xf0ff) == 0x406a)
- { itype = SH64_COMPACT_INSN_LDS_FPSCR_COMPACT; goto extract_sfmt_lds_fpscr_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 640 : /* fall through */
- case 641 : /* fall through */
- case 642 : /* fall through */
- case 643 : /* fall through */
- case 644 : /* fall through */
- case 645 : /* fall through */
- case 646 : /* fall through */
- case 647 : /* fall through */
- case 648 : /* fall through */
- case 649 : /* fall through */
- case 650 : /* fall through */
- case 651 : /* fall through */
- case 652 : /* fall through */
- case 653 : /* fall through */
- case 654 : /* fall through */
- case 655 : /* fall through */
- case 656 : /* fall through */
- case 657 : /* fall through */
- case 658 : /* fall through */
- case 659 : /* fall through */
- case 660 : /* fall through */
- case 661 : /* fall through */
- case 662 : /* fall through */
- case 663 : /* fall through */
- case 664 : /* fall through */
- case 665 : /* fall through */
- case 666 : /* fall through */
- case 667 : /* fall through */
- case 668 : /* fall through */
- case 669 : /* fall through */
- case 670 : /* fall through */
- case 671 : /* fall through */
- case 672 : /* fall through */
- case 673 : /* fall through */
- case 674 : /* fall through */
- case 675 : /* fall through */
- case 676 : /* fall through */
- case 677 : /* fall through */
- case 678 : /* fall through */
- case 679 : /* fall through */
- case 680 : /* fall through */
- case 681 : /* fall through */
- case 682 : /* fall through */
- case 683 : /* fall through */
- case 684 : /* fall through */
- case 685 : /* fall through */
- case 686 : /* fall through */
- case 687 : /* fall through */
- case 688 : /* fall through */
- case 689 : /* fall through */
- case 690 : /* fall through */
- case 691 : /* fall through */
- case 692 : /* fall through */
- case 693 : /* fall through */
- case 694 : /* fall through */
- case 695 : /* fall through */
- case 696 : /* fall through */
- case 697 : /* fall through */
- case 698 : /* fall through */
- case 699 : /* fall through */
- case 700 : /* fall through */
- case 701 : /* fall through */
- case 702 : /* fall through */
- case 703 : /* fall through */
- case 704 : /* fall through */
- case 705 : /* fall through */
- case 706 : /* fall through */
- case 707 : /* fall through */
- case 708 : /* fall through */
- case 709 : /* fall through */
- case 710 : /* fall through */
- case 711 : /* fall through */
- case 712 : /* fall through */
- case 713 : /* fall through */
- case 714 : /* fall through */
- case 715 : /* fall through */
- case 716 : /* fall through */
- case 717 : /* fall through */
- case 718 : /* fall through */
- case 719 : /* fall through */
- case 720 : /* fall through */
- case 721 : /* fall through */
- case 722 : /* fall through */
- case 723 : /* fall through */
- case 724 : /* fall through */
- case 725 : /* fall through */
- case 726 : /* fall through */
- case 727 : /* fall through */
- case 728 : /* fall through */
- case 729 : /* fall through */
- case 730 : /* fall through */
- case 731 : /* fall through */
- case 732 : /* fall through */
- case 733 : /* fall through */
- case 734 : /* fall through */
- case 735 : /* fall through */
- case 736 : /* fall through */
- case 737 : /* fall through */
- case 738 : /* fall through */
- case 739 : /* fall through */
- case 740 : /* fall through */
- case 741 : /* fall through */
- case 742 : /* fall through */
- case 743 : /* fall through */
- case 744 : /* fall through */
- case 745 : /* fall through */
- case 746 : /* fall through */
- case 747 : /* fall through */
- case 748 : /* fall through */
- case 749 : /* fall through */
- case 750 : /* fall through */
- case 751 : /* fall through */
- case 752 : /* fall through */
- case 753 : /* fall through */
- case 754 : /* fall through */
- case 755 : /* fall through */
- case 756 : /* fall through */
- case 757 : /* fall through */
- case 758 : /* fall through */
- case 759 : /* fall through */
- case 760 : /* fall through */
- case 761 : /* fall through */
- case 762 : /* fall through */
- case 763 : /* fall through */
- case 764 : /* fall through */
- case 765 : /* fall through */
- case 766 : /* fall through */
- case 767 : itype = SH64_COMPACT_INSN_MOVL11_COMPACT; goto extract_sfmt_movl11_compact;
- case 768 : /* fall through */
- case 784 : /* fall through */
- case 800 : /* fall through */
- case 816 : /* fall through */
- case 832 : /* fall through */
- case 848 : /* fall through */
- case 864 : /* fall through */
- case 880 : itype = SH64_COMPACT_INSN_MOVB6_COMPACT; goto extract_sfmt_movb6_compact;
- case 769 : /* fall through */
- case 785 : /* fall through */
- case 801 : /* fall through */
- case 817 : /* fall through */
- case 833 : /* fall through */
- case 849 : /* fall through */
- case 865 : /* fall through */
- case 881 : itype = SH64_COMPACT_INSN_MOVW6_COMPACT; goto extract_sfmt_movw6_compact;
- case 770 : /* fall through */
- case 786 : /* fall through */
- case 802 : /* fall through */
- case 818 : /* fall through */
- case 834 : /* fall through */
- case 850 : /* fall through */
- case 866 : /* fall through */
- case 882 : itype = SH64_COMPACT_INSN_MOVL6_COMPACT; goto extract_sfmt_movl6_compact;
- case 771 : /* fall through */
- case 787 : /* fall through */
- case 803 : /* fall through */
- case 819 : /* fall through */
- case 835 : /* fall through */
- case 851 : /* fall through */
- case 867 : /* fall through */
- case 883 : itype = SH64_COMPACT_INSN_MOV_COMPACT; goto extract_sfmt_mov_compact;
- case 772 : /* fall through */
- case 788 : /* fall through */
- case 804 : /* fall through */
- case 820 : /* fall through */
- case 836 : /* fall through */
- case 852 : /* fall through */
- case 868 : /* fall through */
- case 884 : itype = SH64_COMPACT_INSN_MOVB7_COMPACT; goto extract_sfmt_movb7_compact;
- case 773 : /* fall through */
- case 789 : /* fall through */
- case 805 : /* fall through */
- case 821 : /* fall through */
- case 837 : /* fall through */
- case 853 : /* fall through */
- case 869 : /* fall through */
- case 885 : itype = SH64_COMPACT_INSN_MOVW7_COMPACT; goto extract_sfmt_movw7_compact;
- case 774 : /* fall through */
- case 790 : /* fall through */
- case 806 : /* fall through */
- case 822 : /* fall through */
- case 838 : /* fall through */
- case 854 : /* fall through */
- case 870 : /* fall through */
- case 886 : itype = SH64_COMPACT_INSN_MOVL7_COMPACT; goto extract_sfmt_movl7_compact;
- case 775 : /* fall through */
- case 791 : /* fall through */
- case 807 : /* fall through */
- case 823 : /* fall through */
- case 839 : /* fall through */
- case 855 : /* fall through */
- case 871 : /* fall through */
- case 887 : itype = SH64_COMPACT_INSN_NOT_COMPACT; goto extract_sfmt_mov_compact;
- case 776 : /* fall through */
- case 792 : /* fall through */
- case 808 : /* fall through */
- case 824 : /* fall through */
- case 840 : /* fall through */
- case 856 : /* fall through */
- case 872 : /* fall through */
- case 888 : itype = SH64_COMPACT_INSN_SWAPB_COMPACT; goto extract_sfmt_extsb_compact;
- case 777 : /* fall through */
- case 793 : /* fall through */
- case 809 : /* fall through */
- case 825 : /* fall through */
- case 841 : /* fall through */
- case 857 : /* fall through */
- case 873 : /* fall through */
- case 889 : itype = SH64_COMPACT_INSN_SWAPW_COMPACT; goto extract_sfmt_extsb_compact;
- case 778 : /* fall through */
- case 794 : /* fall through */
- case 810 : /* fall through */
- case 826 : /* fall through */
- case 842 : /* fall through */
- case 858 : /* fall through */
- case 874 : /* fall through */
- case 890 : itype = SH64_COMPACT_INSN_NEGC_COMPACT; goto extract_sfmt_negc_compact;
- case 779 : /* fall through */
- case 795 : /* fall through */
- case 811 : /* fall through */
- case 827 : /* fall through */
- case 843 : /* fall through */
- case 859 : /* fall through */
- case 875 : /* fall through */
- case 891 : itype = SH64_COMPACT_INSN_NEG_COMPACT; goto extract_sfmt_extsb_compact;
- case 780 : /* fall through */
- case 796 : /* fall through */
- case 812 : /* fall through */
- case 828 : /* fall through */
- case 844 : /* fall through */
- case 860 : /* fall through */
- case 876 : /* fall through */
- case 892 : itype = SH64_COMPACT_INSN_EXTUB_COMPACT; goto extract_sfmt_extsb_compact;
- case 781 : /* fall through */
- case 797 : /* fall through */
- case 813 : /* fall through */
- case 829 : /* fall through */
- case 845 : /* fall through */
- case 861 : /* fall through */
- case 877 : /* fall through */
- case 893 : itype = SH64_COMPACT_INSN_EXTUW_COMPACT; goto extract_sfmt_extsb_compact;
- case 782 : /* fall through */
- case 798 : /* fall through */
- case 814 : /* fall through */
- case 830 : /* fall through */
- case 846 : /* fall through */
- case 862 : /* fall through */
- case 878 : /* fall through */
- case 894 : itype = SH64_COMPACT_INSN_EXTSB_COMPACT; goto extract_sfmt_extsb_compact;
- case 783 : /* fall through */
- case 799 : /* fall through */
- case 815 : /* fall through */
- case 831 : /* fall through */
- case 847 : /* fall through */
- case 863 : /* fall through */
- case 879 : /* fall through */
- case 895 : itype = SH64_COMPACT_INSN_EXTSW_COMPACT; goto extract_sfmt_extsb_compact;
- case 896 : /* fall through */
- case 897 : /* fall through */
- case 898 : /* fall through */
- case 899 : /* fall through */
- case 900 : /* fall through */
- case 901 : /* fall through */
- case 902 : /* fall through */
- case 903 : /* fall through */
- case 904 : /* fall through */
- case 905 : /* fall through */
- case 906 : /* fall through */
- case 907 : /* fall through */
- case 908 : /* fall through */
- case 909 : /* fall through */
- case 910 : /* fall through */
- case 911 : /* fall through */
- case 912 : /* fall through */
- case 913 : /* fall through */
- case 914 : /* fall through */
- case 915 : /* fall through */
- case 916 : /* fall through */
- case 917 : /* fall through */
- case 918 : /* fall through */
- case 919 : /* fall through */
- case 920 : /* fall through */
- case 921 : /* fall through */
- case 922 : /* fall through */
- case 923 : /* fall through */
- case 924 : /* fall through */
- case 925 : /* fall through */
- case 926 : /* fall through */
- case 927 : /* fall through */
- case 928 : /* fall through */
- case 929 : /* fall through */
- case 930 : /* fall through */
- case 931 : /* fall through */
- case 932 : /* fall through */
- case 933 : /* fall through */
- case 934 : /* fall through */
- case 935 : /* fall through */
- case 936 : /* fall through */
- case 937 : /* fall through */
- case 938 : /* fall through */
- case 939 : /* fall through */
- case 940 : /* fall through */
- case 941 : /* fall through */
- case 942 : /* fall through */
- case 943 : /* fall through */
- case 944 : /* fall through */
- case 945 : /* fall through */
- case 946 : /* fall through */
- case 947 : /* fall through */
- case 948 : /* fall through */
- case 949 : /* fall through */
- case 950 : /* fall through */
- case 951 : /* fall through */
- case 952 : /* fall through */
- case 953 : /* fall through */
- case 954 : /* fall through */
- case 955 : /* fall through */
- case 956 : /* fall through */
- case 957 : /* fall through */
- case 958 : /* fall through */
- case 959 : /* fall through */
- case 960 : /* fall through */
- case 961 : /* fall through */
- case 962 : /* fall through */
- case 963 : /* fall through */
- case 964 : /* fall through */
- case 965 : /* fall through */
- case 966 : /* fall through */
- case 967 : /* fall through */
- case 968 : /* fall through */
- case 969 : /* fall through */
- case 970 : /* fall through */
- case 971 : /* fall through */
- case 972 : /* fall through */
- case 973 : /* fall through */
- case 974 : /* fall through */
- case 975 : /* fall through */
- case 976 : /* fall through */
- case 977 : /* fall through */
- case 978 : /* fall through */
- case 979 : /* fall through */
- case 980 : /* fall through */
- case 981 : /* fall through */
- case 982 : /* fall through */
- case 983 : /* fall through */
- case 984 : /* fall through */
- case 985 : /* fall through */
- case 986 : /* fall through */
- case 987 : /* fall through */
- case 988 : /* fall through */
- case 989 : /* fall through */
- case 990 : /* fall through */
- case 991 : /* fall through */
- case 992 : /* fall through */
- case 993 : /* fall through */
- case 994 : /* fall through */
- case 995 : /* fall through */
- case 996 : /* fall through */
- case 997 : /* fall through */
- case 998 : /* fall through */
- case 999 : /* fall through */
- case 1000 : /* fall through */
- case 1001 : /* fall through */
- case 1002 : /* fall through */
- case 1003 : /* fall through */
- case 1004 : /* fall through */
- case 1005 : /* fall through */
- case 1006 : /* fall through */
- case 1007 : /* fall through */
- case 1008 : /* fall through */
- case 1009 : /* fall through */
- case 1010 : /* fall through */
- case 1011 : /* fall through */
- case 1012 : /* fall through */
- case 1013 : /* fall through */
- case 1014 : /* fall through */
- case 1015 : /* fall through */
- case 1016 : /* fall through */
- case 1017 : /* fall through */
- case 1018 : /* fall through */
- case 1019 : /* fall through */
- case 1020 : /* fall through */
- case 1021 : /* fall through */
- case 1022 : /* fall through */
- case 1023 : itype = SH64_COMPACT_INSN_ADDI_COMPACT; goto extract_sfmt_addi_compact;
- case 1024 : /* fall through */
- case 1025 : /* fall through */
- case 1026 : /* fall through */
- case 1027 : /* fall through */
- case 1028 : /* fall through */
- case 1029 : /* fall through */
- case 1030 : /* fall through */
- case 1031 : /* fall through */
- case 1032 : /* fall through */
- case 1033 : /* fall through */
- case 1034 : /* fall through */
- case 1035 : /* fall through */
- case 1036 : /* fall through */
- case 1037 : /* fall through */
- case 1038 : /* fall through */
- case 1039 : /* fall through */
- case 1040 : /* fall through */
- case 1041 : /* fall through */
- case 1042 : /* fall through */
- case 1043 : /* fall through */
- case 1044 : /* fall through */
- case 1045 : /* fall through */
- case 1046 : /* fall through */
- case 1047 : /* fall through */
- case 1048 : /* fall through */
- case 1049 : /* fall through */
- case 1050 : /* fall through */
- case 1051 : /* fall through */
- case 1052 : /* fall through */
- case 1053 : /* fall through */
- case 1054 : /* fall through */
- case 1055 : /* fall through */
- case 1056 : /* fall through */
- case 1057 : /* fall through */
- case 1058 : /* fall through */
- case 1059 : /* fall through */
- case 1060 : /* fall through */
- case 1061 : /* fall through */
- case 1062 : /* fall through */
- case 1063 : /* fall through */
- case 1064 : /* fall through */
- case 1065 : /* fall through */
- case 1066 : /* fall through */
- case 1067 : /* fall through */
- case 1068 : /* fall through */
- case 1069 : /* fall through */
- case 1070 : /* fall through */
- case 1071 : /* fall through */
- case 1072 : /* fall through */
- case 1073 : /* fall through */
- case 1074 : /* fall through */
- case 1075 : /* fall through */
- case 1076 : /* fall through */
- case 1077 : /* fall through */
- case 1078 : /* fall through */
- case 1079 : /* fall through */
- case 1080 : /* fall through */
- case 1081 : /* fall through */
- case 1082 : /* fall through */
- case 1083 : /* fall through */
- case 1084 : /* fall through */
- case 1085 : /* fall through */
- case 1086 : /* fall through */
- case 1087 : /* fall through */
- case 1088 : /* fall through */
- case 1089 : /* fall through */
- case 1090 : /* fall through */
- case 1091 : /* fall through */
- case 1092 : /* fall through */
- case 1093 : /* fall through */
- case 1094 : /* fall through */
- case 1095 : /* fall through */
- case 1096 : /* fall through */
- case 1097 : /* fall through */
- case 1098 : /* fall through */
- case 1099 : /* fall through */
- case 1100 : /* fall through */
- case 1101 : /* fall through */
- case 1102 : /* fall through */
- case 1103 : /* fall through */
- case 1104 : /* fall through */
- case 1105 : /* fall through */
- case 1106 : /* fall through */
- case 1107 : /* fall through */
- case 1108 : /* fall through */
- case 1109 : /* fall through */
- case 1110 : /* fall through */
- case 1111 : /* fall through */
- case 1112 : /* fall through */
- case 1113 : /* fall through */
- case 1114 : /* fall through */
- case 1115 : /* fall through */
- case 1116 : /* fall through */
- case 1117 : /* fall through */
- case 1118 : /* fall through */
- case 1119 : /* fall through */
- case 1120 : /* fall through */
- case 1121 : /* fall through */
- case 1122 : /* fall through */
- case 1123 : /* fall through */
- case 1124 : /* fall through */
- case 1125 : /* fall through */
- case 1126 : /* fall through */
- case 1127 : /* fall through */
- case 1128 : /* fall through */
- case 1129 : /* fall through */
- case 1130 : /* fall through */
- case 1131 : /* fall through */
- case 1132 : /* fall through */
- case 1133 : /* fall through */
- case 1134 : /* fall through */
- case 1135 : /* fall through */
- case 1136 : /* fall through */
- case 1137 : /* fall through */
- case 1138 : /* fall through */
- case 1139 : /* fall through */
- case 1140 : /* fall through */
- case 1141 : /* fall through */
- case 1142 : /* fall through */
- case 1143 : /* fall through */
- case 1144 : /* fall through */
- case 1145 : /* fall through */
- case 1146 : /* fall through */
- case 1147 : /* fall through */
- case 1148 : /* fall through */
- case 1149 : /* fall through */
- case 1150 : /* fall through */
- case 1151 :
- {
- unsigned int val = (((insn >> 8) & (15 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_MOVB5_COMPACT; goto extract_sfmt_movb5_compact;
- case 1 : itype = SH64_COMPACT_INSN_MOVW5_COMPACT; goto extract_sfmt_movw5_compact;
- case 4 : itype = SH64_COMPACT_INSN_MOVB10_COMPACT; goto extract_sfmt_movb10_compact;
- case 5 : itype = SH64_COMPACT_INSN_MOVW11_COMPACT; goto extract_sfmt_movw11_compact;
- case 8 : itype = SH64_COMPACT_INSN_CMPEQI_COMPACT; goto extract_sfmt_cmpeqi_compact;
- case 9 : itype = SH64_COMPACT_INSN_BT_COMPACT; goto extract_sfmt_bf_compact;
- case 11 : itype = SH64_COMPACT_INSN_BF_COMPACT; goto extract_sfmt_bf_compact;
- case 13 : itype = SH64_COMPACT_INSN_BTS_COMPACT; goto extract_sfmt_bfs_compact;
- case 15 : itype = SH64_COMPACT_INSN_BFS_COMPACT; goto extract_sfmt_bfs_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1152 : /* fall through */
- case 1153 : /* fall through */
- case 1154 : /* fall through */
- case 1155 : /* fall through */
- case 1156 : /* fall through */
- case 1157 : /* fall through */
- case 1158 : /* fall through */
- case 1159 : /* fall through */
- case 1160 : /* fall through */
- case 1161 : /* fall through */
- case 1162 : /* fall through */
- case 1163 : /* fall through */
- case 1164 : /* fall through */
- case 1165 : /* fall through */
- case 1166 : /* fall through */
- case 1167 : /* fall through */
- case 1168 : /* fall through */
- case 1169 : /* fall through */
- case 1170 : /* fall through */
- case 1171 : /* fall through */
- case 1172 : /* fall through */
- case 1173 : /* fall through */
- case 1174 : /* fall through */
- case 1175 : /* fall through */
- case 1176 : /* fall through */
- case 1177 : /* fall through */
- case 1178 : /* fall through */
- case 1179 : /* fall through */
- case 1180 : /* fall through */
- case 1181 : /* fall through */
- case 1182 : /* fall through */
- case 1183 : /* fall through */
- case 1184 : /* fall through */
- case 1185 : /* fall through */
- case 1186 : /* fall through */
- case 1187 : /* fall through */
- case 1188 : /* fall through */
- case 1189 : /* fall through */
- case 1190 : /* fall through */
- case 1191 : /* fall through */
- case 1192 : /* fall through */
- case 1193 : /* fall through */
- case 1194 : /* fall through */
- case 1195 : /* fall through */
- case 1196 : /* fall through */
- case 1197 : /* fall through */
- case 1198 : /* fall through */
- case 1199 : /* fall through */
- case 1200 : /* fall through */
- case 1201 : /* fall through */
- case 1202 : /* fall through */
- case 1203 : /* fall through */
- case 1204 : /* fall through */
- case 1205 : /* fall through */
- case 1206 : /* fall through */
- case 1207 : /* fall through */
- case 1208 : /* fall through */
- case 1209 : /* fall through */
- case 1210 : /* fall through */
- case 1211 : /* fall through */
- case 1212 : /* fall through */
- case 1213 : /* fall through */
- case 1214 : /* fall through */
- case 1215 : /* fall through */
- case 1216 : /* fall through */
- case 1217 : /* fall through */
- case 1218 : /* fall through */
- case 1219 : /* fall through */
- case 1220 : /* fall through */
- case 1221 : /* fall through */
- case 1222 : /* fall through */
- case 1223 : /* fall through */
- case 1224 : /* fall through */
- case 1225 : /* fall through */
- case 1226 : /* fall through */
- case 1227 : /* fall through */
- case 1228 : /* fall through */
- case 1229 : /* fall through */
- case 1230 : /* fall through */
- case 1231 : /* fall through */
- case 1232 : /* fall through */
- case 1233 : /* fall through */
- case 1234 : /* fall through */
- case 1235 : /* fall through */
- case 1236 : /* fall through */
- case 1237 : /* fall through */
- case 1238 : /* fall through */
- case 1239 : /* fall through */
- case 1240 : /* fall through */
- case 1241 : /* fall through */
- case 1242 : /* fall through */
- case 1243 : /* fall through */
- case 1244 : /* fall through */
- case 1245 : /* fall through */
- case 1246 : /* fall through */
- case 1247 : /* fall through */
- case 1248 : /* fall through */
- case 1249 : /* fall through */
- case 1250 : /* fall through */
- case 1251 : /* fall through */
- case 1252 : /* fall through */
- case 1253 : /* fall through */
- case 1254 : /* fall through */
- case 1255 : /* fall through */
- case 1256 : /* fall through */
- case 1257 : /* fall through */
- case 1258 : /* fall through */
- case 1259 : /* fall through */
- case 1260 : /* fall through */
- case 1261 : /* fall through */
- case 1262 : /* fall through */
- case 1263 : /* fall through */
- case 1264 : /* fall through */
- case 1265 : /* fall through */
- case 1266 : /* fall through */
- case 1267 : /* fall through */
- case 1268 : /* fall through */
- case 1269 : /* fall through */
- case 1270 : /* fall through */
- case 1271 : /* fall through */
- case 1272 : /* fall through */
- case 1273 : /* fall through */
- case 1274 : /* fall through */
- case 1275 : /* fall through */
- case 1276 : /* fall through */
- case 1277 : /* fall through */
- case 1278 : /* fall through */
- case 1279 : itype = SH64_COMPACT_INSN_MOVW10_COMPACT; goto extract_sfmt_movw10_compact;
- case 1280 : /* fall through */
- case 1281 : /* fall through */
- case 1282 : /* fall through */
- case 1283 : /* fall through */
- case 1284 : /* fall through */
- case 1285 : /* fall through */
- case 1286 : /* fall through */
- case 1287 : /* fall through */
- case 1288 : /* fall through */
- case 1289 : /* fall through */
- case 1290 : /* fall through */
- case 1291 : /* fall through */
- case 1292 : /* fall through */
- case 1293 : /* fall through */
- case 1294 : /* fall through */
- case 1295 : /* fall through */
- case 1296 : /* fall through */
- case 1297 : /* fall through */
- case 1298 : /* fall through */
- case 1299 : /* fall through */
- case 1300 : /* fall through */
- case 1301 : /* fall through */
- case 1302 : /* fall through */
- case 1303 : /* fall through */
- case 1304 : /* fall through */
- case 1305 : /* fall through */
- case 1306 : /* fall through */
- case 1307 : /* fall through */
- case 1308 : /* fall through */
- case 1309 : /* fall through */
- case 1310 : /* fall through */
- case 1311 : /* fall through */
- case 1312 : /* fall through */
- case 1313 : /* fall through */
- case 1314 : /* fall through */
- case 1315 : /* fall through */
- case 1316 : /* fall through */
- case 1317 : /* fall through */
- case 1318 : /* fall through */
- case 1319 : /* fall through */
- case 1320 : /* fall through */
- case 1321 : /* fall through */
- case 1322 : /* fall through */
- case 1323 : /* fall through */
- case 1324 : /* fall through */
- case 1325 : /* fall through */
- case 1326 : /* fall through */
- case 1327 : /* fall through */
- case 1328 : /* fall through */
- case 1329 : /* fall through */
- case 1330 : /* fall through */
- case 1331 : /* fall through */
- case 1332 : /* fall through */
- case 1333 : /* fall through */
- case 1334 : /* fall through */
- case 1335 : /* fall through */
- case 1336 : /* fall through */
- case 1337 : /* fall through */
- case 1338 : /* fall through */
- case 1339 : /* fall through */
- case 1340 : /* fall through */
- case 1341 : /* fall through */
- case 1342 : /* fall through */
- case 1343 : /* fall through */
- case 1344 : /* fall through */
- case 1345 : /* fall through */
- case 1346 : /* fall through */
- case 1347 : /* fall through */
- case 1348 : /* fall through */
- case 1349 : /* fall through */
- case 1350 : /* fall through */
- case 1351 : /* fall through */
- case 1352 : /* fall through */
- case 1353 : /* fall through */
- case 1354 : /* fall through */
- case 1355 : /* fall through */
- case 1356 : /* fall through */
- case 1357 : /* fall through */
- case 1358 : /* fall through */
- case 1359 : /* fall through */
- case 1360 : /* fall through */
- case 1361 : /* fall through */
- case 1362 : /* fall through */
- case 1363 : /* fall through */
- case 1364 : /* fall through */
- case 1365 : /* fall through */
- case 1366 : /* fall through */
- case 1367 : /* fall through */
- case 1368 : /* fall through */
- case 1369 : /* fall through */
- case 1370 : /* fall through */
- case 1371 : /* fall through */
- case 1372 : /* fall through */
- case 1373 : /* fall through */
- case 1374 : /* fall through */
- case 1375 : /* fall through */
- case 1376 : /* fall through */
- case 1377 : /* fall through */
- case 1378 : /* fall through */
- case 1379 : /* fall through */
- case 1380 : /* fall through */
- case 1381 : /* fall through */
- case 1382 : /* fall through */
- case 1383 : /* fall through */
- case 1384 : /* fall through */
- case 1385 : /* fall through */
- case 1386 : /* fall through */
- case 1387 : /* fall through */
- case 1388 : /* fall through */
- case 1389 : /* fall through */
- case 1390 : /* fall through */
- case 1391 : /* fall through */
- case 1392 : /* fall through */
- case 1393 : /* fall through */
- case 1394 : /* fall through */
- case 1395 : /* fall through */
- case 1396 : /* fall through */
- case 1397 : /* fall through */
- case 1398 : /* fall through */
- case 1399 : /* fall through */
- case 1400 : /* fall through */
- case 1401 : /* fall through */
- case 1402 : /* fall through */
- case 1403 : /* fall through */
- case 1404 : /* fall through */
- case 1405 : /* fall through */
- case 1406 : /* fall through */
- case 1407 : itype = SH64_COMPACT_INSN_BRA_COMPACT; goto extract_sfmt_bra_compact;
- case 1408 : /* fall through */
- case 1409 : /* fall through */
- case 1410 : /* fall through */
- case 1411 : /* fall through */
- case 1412 : /* fall through */
- case 1413 : /* fall through */
- case 1414 : /* fall through */
- case 1415 : /* fall through */
- case 1416 : /* fall through */
- case 1417 : /* fall through */
- case 1418 : /* fall through */
- case 1419 : /* fall through */
- case 1420 : /* fall through */
- case 1421 : /* fall through */
- case 1422 : /* fall through */
- case 1423 : /* fall through */
- case 1424 : /* fall through */
- case 1425 : /* fall through */
- case 1426 : /* fall through */
- case 1427 : /* fall through */
- case 1428 : /* fall through */
- case 1429 : /* fall through */
- case 1430 : /* fall through */
- case 1431 : /* fall through */
- case 1432 : /* fall through */
- case 1433 : /* fall through */
- case 1434 : /* fall through */
- case 1435 : /* fall through */
- case 1436 : /* fall through */
- case 1437 : /* fall through */
- case 1438 : /* fall through */
- case 1439 : /* fall through */
- case 1440 : /* fall through */
- case 1441 : /* fall through */
- case 1442 : /* fall through */
- case 1443 : /* fall through */
- case 1444 : /* fall through */
- case 1445 : /* fall through */
- case 1446 : /* fall through */
- case 1447 : /* fall through */
- case 1448 : /* fall through */
- case 1449 : /* fall through */
- case 1450 : /* fall through */
- case 1451 : /* fall through */
- case 1452 : /* fall through */
- case 1453 : /* fall through */
- case 1454 : /* fall through */
- case 1455 : /* fall through */
- case 1456 : /* fall through */
- case 1457 : /* fall through */
- case 1458 : /* fall through */
- case 1459 : /* fall through */
- case 1460 : /* fall through */
- case 1461 : /* fall through */
- case 1462 : /* fall through */
- case 1463 : /* fall through */
- case 1464 : /* fall through */
- case 1465 : /* fall through */
- case 1466 : /* fall through */
- case 1467 : /* fall through */
- case 1468 : /* fall through */
- case 1469 : /* fall through */
- case 1470 : /* fall through */
- case 1471 : /* fall through */
- case 1472 : /* fall through */
- case 1473 : /* fall through */
- case 1474 : /* fall through */
- case 1475 : /* fall through */
- case 1476 : /* fall through */
- case 1477 : /* fall through */
- case 1478 : /* fall through */
- case 1479 : /* fall through */
- case 1480 : /* fall through */
- case 1481 : /* fall through */
- case 1482 : /* fall through */
- case 1483 : /* fall through */
- case 1484 : /* fall through */
- case 1485 : /* fall through */
- case 1486 : /* fall through */
- case 1487 : /* fall through */
- case 1488 : /* fall through */
- case 1489 : /* fall through */
- case 1490 : /* fall through */
- case 1491 : /* fall through */
- case 1492 : /* fall through */
- case 1493 : /* fall through */
- case 1494 : /* fall through */
- case 1495 : /* fall through */
- case 1496 : /* fall through */
- case 1497 : /* fall through */
- case 1498 : /* fall through */
- case 1499 : /* fall through */
- case 1500 : /* fall through */
- case 1501 : /* fall through */
- case 1502 : /* fall through */
- case 1503 : /* fall through */
- case 1504 : /* fall through */
- case 1505 : /* fall through */
- case 1506 : /* fall through */
- case 1507 : /* fall through */
- case 1508 : /* fall through */
- case 1509 : /* fall through */
- case 1510 : /* fall through */
- case 1511 : /* fall through */
- case 1512 : /* fall through */
- case 1513 : /* fall through */
- case 1514 : /* fall through */
- case 1515 : /* fall through */
- case 1516 : /* fall through */
- case 1517 : /* fall through */
- case 1518 : /* fall through */
- case 1519 : /* fall through */
- case 1520 : /* fall through */
- case 1521 : /* fall through */
- case 1522 : /* fall through */
- case 1523 : /* fall through */
- case 1524 : /* fall through */
- case 1525 : /* fall through */
- case 1526 : /* fall through */
- case 1527 : /* fall through */
- case 1528 : /* fall through */
- case 1529 : /* fall through */
- case 1530 : /* fall through */
- case 1531 : /* fall through */
- case 1532 : /* fall through */
- case 1533 : /* fall through */
- case 1534 : /* fall through */
- case 1535 : itype = SH64_COMPACT_INSN_BSR_COMPACT; goto extract_sfmt_bsr_compact;
- case 1536 : /* fall through */
- case 1537 : /* fall through */
- case 1538 : /* fall through */
- case 1539 : /* fall through */
- case 1540 : /* fall through */
- case 1541 : /* fall through */
- case 1542 : /* fall through */
- case 1543 : /* fall through */
- case 1544 : /* fall through */
- case 1545 : /* fall through */
- case 1546 : /* fall through */
- case 1547 : /* fall through */
- case 1548 : /* fall through */
- case 1549 : /* fall through */
- case 1550 : /* fall through */
- case 1551 : /* fall through */
- case 1552 : /* fall through */
- case 1553 : /* fall through */
- case 1554 : /* fall through */
- case 1555 : /* fall through */
- case 1556 : /* fall through */
- case 1557 : /* fall through */
- case 1558 : /* fall through */
- case 1559 : /* fall through */
- case 1560 : /* fall through */
- case 1561 : /* fall through */
- case 1562 : /* fall through */
- case 1563 : /* fall through */
- case 1564 : /* fall through */
- case 1565 : /* fall through */
- case 1566 : /* fall through */
- case 1567 : /* fall through */
- case 1568 : /* fall through */
- case 1569 : /* fall through */
- case 1570 : /* fall through */
- case 1571 : /* fall through */
- case 1572 : /* fall through */
- case 1573 : /* fall through */
- case 1574 : /* fall through */
- case 1575 : /* fall through */
- case 1576 : /* fall through */
- case 1577 : /* fall through */
- case 1578 : /* fall through */
- case 1579 : /* fall through */
- case 1580 : /* fall through */
- case 1581 : /* fall through */
- case 1582 : /* fall through */
- case 1583 : /* fall through */
- case 1584 : /* fall through */
- case 1585 : /* fall through */
- case 1586 : /* fall through */
- case 1587 : /* fall through */
- case 1588 : /* fall through */
- case 1589 : /* fall through */
- case 1590 : /* fall through */
- case 1591 : /* fall through */
- case 1592 : /* fall through */
- case 1593 : /* fall through */
- case 1594 : /* fall through */
- case 1595 : /* fall through */
- case 1596 : /* fall through */
- case 1597 : /* fall through */
- case 1598 : /* fall through */
- case 1599 : /* fall through */
- case 1600 : /* fall through */
- case 1601 : /* fall through */
- case 1602 : /* fall through */
- case 1603 : /* fall through */
- case 1604 : /* fall through */
- case 1605 : /* fall through */
- case 1606 : /* fall through */
- case 1607 : /* fall through */
- case 1608 : /* fall through */
- case 1609 : /* fall through */
- case 1610 : /* fall through */
- case 1611 : /* fall through */
- case 1612 : /* fall through */
- case 1613 : /* fall through */
- case 1614 : /* fall through */
- case 1615 : /* fall through */
- case 1616 : /* fall through */
- case 1617 : /* fall through */
- case 1618 : /* fall through */
- case 1619 : /* fall through */
- case 1620 : /* fall through */
- case 1621 : /* fall through */
- case 1622 : /* fall through */
- case 1623 : /* fall through */
- case 1624 : /* fall through */
- case 1625 : /* fall through */
- case 1626 : /* fall through */
- case 1627 : /* fall through */
- case 1628 : /* fall through */
- case 1629 : /* fall through */
- case 1630 : /* fall through */
- case 1631 : /* fall through */
- case 1632 : /* fall through */
- case 1633 : /* fall through */
- case 1634 : /* fall through */
- case 1635 : /* fall through */
- case 1636 : /* fall through */
- case 1637 : /* fall through */
- case 1638 : /* fall through */
- case 1639 : /* fall through */
- case 1640 : /* fall through */
- case 1641 : /* fall through */
- case 1642 : /* fall through */
- case 1643 : /* fall through */
- case 1644 : /* fall through */
- case 1645 : /* fall through */
- case 1646 : /* fall through */
- case 1647 : /* fall through */
- case 1648 : /* fall through */
- case 1649 : /* fall through */
- case 1650 : /* fall through */
- case 1651 : /* fall through */
- case 1652 : /* fall through */
- case 1653 : /* fall through */
- case 1654 : /* fall through */
- case 1655 : /* fall through */
- case 1656 : /* fall through */
- case 1657 : /* fall through */
- case 1658 : /* fall through */
- case 1659 : /* fall through */
- case 1660 : /* fall through */
- case 1661 : /* fall through */
- case 1662 : /* fall through */
- case 1663 :
- {
- unsigned int val = (((insn >> 8) & (15 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_MOVB4_COMPACT; goto extract_sfmt_movb4_compact;
- case 1 : itype = SH64_COMPACT_INSN_MOVW4_COMPACT; goto extract_sfmt_movw4_compact;
- case 2 : itype = SH64_COMPACT_INSN_MOVL4_COMPACT; goto extract_sfmt_movl4_compact;
- case 3 : itype = SH64_COMPACT_INSN_TRAPA_COMPACT; goto extract_sfmt_trapa_compact;
- case 4 : itype = SH64_COMPACT_INSN_MOVB9_COMPACT; goto extract_sfmt_movb9_compact;
- case 5 : itype = SH64_COMPACT_INSN_MOVW9_COMPACT; goto extract_sfmt_movw9_compact;
- case 6 : itype = SH64_COMPACT_INSN_MOVL9_COMPACT; goto extract_sfmt_movl9_compact;
- case 7 : itype = SH64_COMPACT_INSN_MOVA_COMPACT; goto extract_sfmt_mova_compact;
- case 8 : itype = SH64_COMPACT_INSN_TSTI_COMPACT; goto extract_sfmt_tsti_compact;
- case 9 : itype = SH64_COMPACT_INSN_ANDI_COMPACT; goto extract_sfmt_andi_compact;
- case 10 : itype = SH64_COMPACT_INSN_XORI_COMPACT; goto extract_sfmt_andi_compact;
- case 11 : itype = SH64_COMPACT_INSN_ORI_COMPACT; goto extract_sfmt_andi_compact;
- case 12 : itype = SH64_COMPACT_INSN_TSTB_COMPACT; goto extract_sfmt_tstb_compact;
- case 13 : itype = SH64_COMPACT_INSN_ANDB_COMPACT; goto extract_sfmt_andb_compact;
- case 14 : itype = SH64_COMPACT_INSN_XORB_COMPACT; goto extract_sfmt_andb_compact;
- case 15 : itype = SH64_COMPACT_INSN_ORB_COMPACT; goto extract_sfmt_andb_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1664 : /* fall through */
- case 1665 : /* fall through */
- case 1666 : /* fall through */
- case 1667 : /* fall through */
- case 1668 : /* fall through */
- case 1669 : /* fall through */
- case 1670 : /* fall through */
- case 1671 : /* fall through */
- case 1672 : /* fall through */
- case 1673 : /* fall through */
- case 1674 : /* fall through */
- case 1675 : /* fall through */
- case 1676 : /* fall through */
- case 1677 : /* fall through */
- case 1678 : /* fall through */
- case 1679 : /* fall through */
- case 1680 : /* fall through */
- case 1681 : /* fall through */
- case 1682 : /* fall through */
- case 1683 : /* fall through */
- case 1684 : /* fall through */
- case 1685 : /* fall through */
- case 1686 : /* fall through */
- case 1687 : /* fall through */
- case 1688 : /* fall through */
- case 1689 : /* fall through */
- case 1690 : /* fall through */
- case 1691 : /* fall through */
- case 1692 : /* fall through */
- case 1693 : /* fall through */
- case 1694 : /* fall through */
- case 1695 : /* fall through */
- case 1696 : /* fall through */
- case 1697 : /* fall through */
- case 1698 : /* fall through */
- case 1699 : /* fall through */
- case 1700 : /* fall through */
- case 1701 : /* fall through */
- case 1702 : /* fall through */
- case 1703 : /* fall through */
- case 1704 : /* fall through */
- case 1705 : /* fall through */
- case 1706 : /* fall through */
- case 1707 : /* fall through */
- case 1708 : /* fall through */
- case 1709 : /* fall through */
- case 1710 : /* fall through */
- case 1711 : /* fall through */
- case 1712 : /* fall through */
- case 1713 : /* fall through */
- case 1714 : /* fall through */
- case 1715 : /* fall through */
- case 1716 : /* fall through */
- case 1717 : /* fall through */
- case 1718 : /* fall through */
- case 1719 : /* fall through */
- case 1720 : /* fall through */
- case 1721 : /* fall through */
- case 1722 : /* fall through */
- case 1723 : /* fall through */
- case 1724 : /* fall through */
- case 1725 : /* fall through */
- case 1726 : /* fall through */
- case 1727 : /* fall through */
- case 1728 : /* fall through */
- case 1729 : /* fall through */
- case 1730 : /* fall through */
- case 1731 : /* fall through */
- case 1732 : /* fall through */
- case 1733 : /* fall through */
- case 1734 : /* fall through */
- case 1735 : /* fall through */
- case 1736 : /* fall through */
- case 1737 : /* fall through */
- case 1738 : /* fall through */
- case 1739 : /* fall through */
- case 1740 : /* fall through */
- case 1741 : /* fall through */
- case 1742 : /* fall through */
- case 1743 : /* fall through */
- case 1744 : /* fall through */
- case 1745 : /* fall through */
- case 1746 : /* fall through */
- case 1747 : /* fall through */
- case 1748 : /* fall through */
- case 1749 : /* fall through */
- case 1750 : /* fall through */
- case 1751 : /* fall through */
- case 1752 : /* fall through */
- case 1753 : /* fall through */
- case 1754 : /* fall through */
- case 1755 : /* fall through */
- case 1756 : /* fall through */
- case 1757 : /* fall through */
- case 1758 : /* fall through */
- case 1759 : /* fall through */
- case 1760 : /* fall through */
- case 1761 : /* fall through */
- case 1762 : /* fall through */
- case 1763 : /* fall through */
- case 1764 : /* fall through */
- case 1765 : /* fall through */
- case 1766 : /* fall through */
- case 1767 : /* fall through */
- case 1768 : /* fall through */
- case 1769 : /* fall through */
- case 1770 : /* fall through */
- case 1771 : /* fall through */
- case 1772 : /* fall through */
- case 1773 : /* fall through */
- case 1774 : /* fall through */
- case 1775 : /* fall through */
- case 1776 : /* fall through */
- case 1777 : /* fall through */
- case 1778 : /* fall through */
- case 1779 : /* fall through */
- case 1780 : /* fall through */
- case 1781 : /* fall through */
- case 1782 : /* fall through */
- case 1783 : /* fall through */
- case 1784 : /* fall through */
- case 1785 : /* fall through */
- case 1786 : /* fall through */
- case 1787 : /* fall through */
- case 1788 : /* fall through */
- case 1789 : /* fall through */
- case 1790 : /* fall through */
- case 1791 : itype = SH64_COMPACT_INSN_MOVL10_COMPACT; goto extract_sfmt_movl10_compact;
- case 1792 : /* fall through */
- case 1793 : /* fall through */
- case 1794 : /* fall through */
- case 1795 : /* fall through */
- case 1796 : /* fall through */
- case 1797 : /* fall through */
- case 1798 : /* fall through */
- case 1799 : /* fall through */
- case 1800 : /* fall through */
- case 1801 : /* fall through */
- case 1802 : /* fall through */
- case 1803 : /* fall through */
- case 1804 : /* fall through */
- case 1805 : /* fall through */
- case 1806 : /* fall through */
- case 1807 : /* fall through */
- case 1808 : /* fall through */
- case 1809 : /* fall through */
- case 1810 : /* fall through */
- case 1811 : /* fall through */
- case 1812 : /* fall through */
- case 1813 : /* fall through */
- case 1814 : /* fall through */
- case 1815 : /* fall through */
- case 1816 : /* fall through */
- case 1817 : /* fall through */
- case 1818 : /* fall through */
- case 1819 : /* fall through */
- case 1820 : /* fall through */
- case 1821 : /* fall through */
- case 1822 : /* fall through */
- case 1823 : /* fall through */
- case 1824 : /* fall through */
- case 1825 : /* fall through */
- case 1826 : /* fall through */
- case 1827 : /* fall through */
- case 1828 : /* fall through */
- case 1829 : /* fall through */
- case 1830 : /* fall through */
- case 1831 : /* fall through */
- case 1832 : /* fall through */
- case 1833 : /* fall through */
- case 1834 : /* fall through */
- case 1835 : /* fall through */
- case 1836 : /* fall through */
- case 1837 : /* fall through */
- case 1838 : /* fall through */
- case 1839 : /* fall through */
- case 1840 : /* fall through */
- case 1841 : /* fall through */
- case 1842 : /* fall through */
- case 1843 : /* fall through */
- case 1844 : /* fall through */
- case 1845 : /* fall through */
- case 1846 : /* fall through */
- case 1847 : /* fall through */
- case 1848 : /* fall through */
- case 1849 : /* fall through */
- case 1850 : /* fall through */
- case 1851 : /* fall through */
- case 1852 : /* fall through */
- case 1853 : /* fall through */
- case 1854 : /* fall through */
- case 1855 : /* fall through */
- case 1856 : /* fall through */
- case 1857 : /* fall through */
- case 1858 : /* fall through */
- case 1859 : /* fall through */
- case 1860 : /* fall through */
- case 1861 : /* fall through */
- case 1862 : /* fall through */
- case 1863 : /* fall through */
- case 1864 : /* fall through */
- case 1865 : /* fall through */
- case 1866 : /* fall through */
- case 1867 : /* fall through */
- case 1868 : /* fall through */
- case 1869 : /* fall through */
- case 1870 : /* fall through */
- case 1871 : /* fall through */
- case 1872 : /* fall through */
- case 1873 : /* fall through */
- case 1874 : /* fall through */
- case 1875 : /* fall through */
- case 1876 : /* fall through */
- case 1877 : /* fall through */
- case 1878 : /* fall through */
- case 1879 : /* fall through */
- case 1880 : /* fall through */
- case 1881 : /* fall through */
- case 1882 : /* fall through */
- case 1883 : /* fall through */
- case 1884 : /* fall through */
- case 1885 : /* fall through */
- case 1886 : /* fall through */
- case 1887 : /* fall through */
- case 1888 : /* fall through */
- case 1889 : /* fall through */
- case 1890 : /* fall through */
- case 1891 : /* fall through */
- case 1892 : /* fall through */
- case 1893 : /* fall through */
- case 1894 : /* fall through */
- case 1895 : /* fall through */
- case 1896 : /* fall through */
- case 1897 : /* fall through */
- case 1898 : /* fall through */
- case 1899 : /* fall through */
- case 1900 : /* fall through */
- case 1901 : /* fall through */
- case 1902 : /* fall through */
- case 1903 : /* fall through */
- case 1904 : /* fall through */
- case 1905 : /* fall through */
- case 1906 : /* fall through */
- case 1907 : /* fall through */
- case 1908 : /* fall through */
- case 1909 : /* fall through */
- case 1910 : /* fall through */
- case 1911 : /* fall through */
- case 1912 : /* fall through */
- case 1913 : /* fall through */
- case 1914 : /* fall through */
- case 1915 : /* fall through */
- case 1916 : /* fall through */
- case 1917 : /* fall through */
- case 1918 : /* fall through */
- case 1919 : itype = SH64_COMPACT_INSN_MOVI_COMPACT; goto extract_sfmt_movi_compact;
- case 1920 : /* fall through */
- case 1936 : /* fall through */
- case 1952 : /* fall through */
- case 1968 : /* fall through */
- case 1984 : /* fall through */
- case 2000 : /* fall through */
- case 2016 : /* fall through */
- case 2032 : itype = SH64_COMPACT_INSN_FADD_COMPACT; goto extract_sfmt_fadd_compact;
- case 1921 : /* fall through */
- case 1937 : /* fall through */
- case 1953 : /* fall through */
- case 1969 : /* fall through */
- case 1985 : /* fall through */
- case 2001 : /* fall through */
- case 2017 : /* fall through */
- case 2033 : itype = SH64_COMPACT_INSN_FSUB_COMPACT; goto extract_sfmt_fadd_compact;
- case 1922 : /* fall through */
- case 1938 : /* fall through */
- case 1954 : /* fall through */
- case 1970 : /* fall through */
- case 1986 : /* fall through */
- case 2002 : /* fall through */
- case 2018 : /* fall through */
- case 2034 : itype = SH64_COMPACT_INSN_FMUL_COMPACT; goto extract_sfmt_fadd_compact;
- case 1923 : /* fall through */
- case 1939 : /* fall through */
- case 1955 : /* fall through */
- case 1971 : /* fall through */
- case 1987 : /* fall through */
- case 2003 : /* fall through */
- case 2019 : /* fall through */
- case 2035 : itype = SH64_COMPACT_INSN_FDIV_COMPACT; goto extract_sfmt_fadd_compact;
- case 1924 : /* fall through */
- case 1940 : /* fall through */
- case 1956 : /* fall through */
- case 1972 : /* fall through */
- case 1988 : /* fall through */
- case 2004 : /* fall through */
- case 2020 : /* fall through */
- case 2036 : itype = SH64_COMPACT_INSN_FCMPEQ_COMPACT; goto extract_sfmt_fcmpeq_compact;
- case 1925 : /* fall through */
- case 1941 : /* fall through */
- case 1957 : /* fall through */
- case 1973 : /* fall through */
- case 1989 : /* fall through */
- case 2005 : /* fall through */
- case 2021 : /* fall through */
- case 2037 : itype = SH64_COMPACT_INSN_FCMPGT_COMPACT; goto extract_sfmt_fcmpeq_compact;
- case 1926 : /* fall through */
- case 1942 : /* fall through */
- case 1958 : /* fall through */
- case 1974 : /* fall through */
- case 1990 : /* fall through */
- case 2006 : /* fall through */
- case 2022 : /* fall through */
- case 2038 : itype = SH64_COMPACT_INSN_FMOV4_COMPACT; goto extract_sfmt_fmov4_compact;
- case 1927 : /* fall through */
- case 1943 : /* fall through */
- case 1959 : /* fall through */
- case 1975 : /* fall through */
- case 1991 : /* fall through */
- case 2007 : /* fall through */
- case 2023 : /* fall through */
- case 2039 : itype = SH64_COMPACT_INSN_FMOV7_COMPACT; goto extract_sfmt_fmov7_compact;
- case 1928 : /* fall through */
- case 1944 : /* fall through */
- case 1960 : /* fall through */
- case 1976 : /* fall through */
- case 1992 : /* fall through */
- case 2008 : /* fall through */
- case 2024 : /* fall through */
- case 2040 : itype = SH64_COMPACT_INSN_FMOV2_COMPACT; goto extract_sfmt_fmov2_compact;
- case 1929 : /* fall through */
- case 1945 : /* fall through */
- case 1961 : /* fall through */
- case 1977 : /* fall through */
- case 1993 : /* fall through */
- case 2009 : /* fall through */
- case 2025 : /* fall through */
- case 2041 : itype = SH64_COMPACT_INSN_FMOV3_COMPACT; goto extract_sfmt_fmov3_compact;
- case 1930 : /* fall through */
- case 1946 : /* fall through */
- case 1962 : /* fall through */
- case 1978 : /* fall through */
- case 1994 : /* fall through */
- case 2010 : /* fall through */
- case 2026 : /* fall through */
- case 2042 : itype = SH64_COMPACT_INSN_FMOV5_COMPACT; goto extract_sfmt_fmov5_compact;
- case 1931 : /* fall through */
- case 1947 : /* fall through */
- case 1963 : /* fall through */
- case 1979 : /* fall through */
- case 1995 : /* fall through */
- case 2011 : /* fall through */
- case 2027 : /* fall through */
- case 2043 : itype = SH64_COMPACT_INSN_FMOV6_COMPACT; goto extract_sfmt_fmov6_compact;
- case 1932 : /* fall through */
- case 1948 : /* fall through */
- case 1964 : /* fall through */
- case 1980 : /* fall through */
- case 1996 : /* fall through */
- case 2012 : /* fall through */
- case 2028 : /* fall through */
- case 2044 : itype = SH64_COMPACT_INSN_FMOV1_COMPACT; goto extract_sfmt_fmov1_compact;
- case 1933 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FSTS_COMPACT; goto extract_sfmt_fsts_compact;
- case 1 : itype = SH64_COMPACT_INSN_FLDI0_COMPACT; goto extract_sfmt_fldi0_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1934 : /* fall through */
- case 1950 : /* fall through */
- case 1966 : /* fall through */
- case 1982 : /* fall through */
- case 1998 : /* fall through */
- case 2014 : /* fall through */
- case 2030 : /* fall through */
- case 2046 : itype = SH64_COMPACT_INSN_FMAC_COMPACT; goto extract_sfmt_fmac_compact;
- case 1949 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FLDS_COMPACT; goto extract_sfmt_flds_compact;
- case 1 : itype = SH64_COMPACT_INSN_FLDI1_COMPACT; goto extract_sfmt_fldi0_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1965 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FLOAT_COMPACT; goto extract_sfmt_float_compact;
- case 1 :
- if ((entire_insn & 0xf1ff) == 0xf0ad)
- { itype = SH64_COMPACT_INSN_FCNVSD_COMPACT; goto extract_sfmt_fcnvsd_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1981 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FTRC_COMPACT; goto extract_sfmt_ftrc_compact;
- case 1 :
- if ((entire_insn & 0xf1ff) == 0xf0bd)
- { itype = SH64_COMPACT_INSN_FCNVDS_COMPACT; goto extract_sfmt_fcnvds_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 1997 :
- if ((entire_insn & 0xf0ff) == 0xf04d)
- { itype = SH64_COMPACT_INSN_FNEG_COMPACT; goto extract_sfmt_fabs_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 2013 :
- if ((entire_insn & 0xf0ff) == 0xf05d)
- { itype = SH64_COMPACT_INSN_FABS_COMPACT; goto extract_sfmt_fabs_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 2029 :
- {
- unsigned int val = (((insn >> 7) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FSQRT_COMPACT; goto extract_sfmt_fabs_compact;
- case 1 : itype = SH64_COMPACT_INSN_FIPR_COMPACT; goto extract_sfmt_fipr_compact;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 2045 :
- {
- unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
- switch (val)
- {
- case 0 : /* fall through */
- case 2 :
- if ((entire_insn & 0xf3ff) == 0xf1fd)
- { itype = SH64_COMPACT_INSN_FTRV_COMPACT; goto extract_sfmt_ftrv_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 1 :
- if ((entire_insn & 0xffff) == 0xf3fd)
- { itype = SH64_COMPACT_INSN_FSCHG_COMPACT; goto extract_sfmt_fschg_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- case 3 :
- if ((entire_insn & 0xffff) == 0xfbfd)
- { itype = SH64_COMPACT_INSN_FRCHG_COMPACT; goto extract_sfmt_frchg_compact; }
- itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- }
- /* The instruction has been decoded, now extract the fields. */
- extract_sfmt_empty:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_add_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_addi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_rn;
- UINT f_imm8;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_addc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_addv_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_and_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm64) = f_rm;
- FLD (in_rn64) = f_rn;
- FLD (out_rn64) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_andi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_andb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_bf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_bf_compact.f
- SI f_disp8;
- f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
- /* Record the fields for the semantic handler. */
- FLD (i_disp8) = f_disp8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_bfs_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_bf_compact.f
- SI f_disp8;
- f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
- /* Record the fields for the semantic handler. */
- FLD (i_disp8) = f_disp8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_bra_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_bra_compact.f
- SI f_disp12;
- f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
- /* Record the fields for the semantic handler. */
- FLD (i_disp12) = f_disp12;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_braf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_brk_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_bsr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_bra_compact.f
- SI f_disp12;
- f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
- /* Record the fields for the semantic handler. */
- FLD (i_disp12) = f_disp12;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_bsrf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_clrmac_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_clrs_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_clrt_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_cmpeq_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_cmpeqi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_cmppl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_div0s_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_div0u_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_div1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_divu_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_dmulsl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_dt_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_extsb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fabs_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fsdn) = f_rn;
- FLD (out_fsdn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fadd_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fsdm) = f_rm;
- FLD (in_fsdn) = f_rn;
- FLD (out_fsdn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fcmpeq_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fsdm) = f_rm;
- FLD (in_fsdn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fcnvds_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
- SI f_dn;
- f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_dn) = f_dn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_drn) = f_dn;
- FLD (out_fpul) = 32;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fcnvsd_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
- SI f_dn;
- f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_dn) = f_dn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fpul) = 32;
- FLD (out_drn) = f_dn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fipr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fipr_compact.f
- SI f_vn;
- SI f_vm;
- f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
- f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_vm) = f_vm;
- FLD (f_vn) = f_vn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_flds_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_frn) = f_rn;
- FLD (out_fpul) = 32;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fldi0_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_frn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_float_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fpul) = 32;
- FLD (out_fsdn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmac_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fr0) = 0;
- FLD (in_frm) = f_rm;
- FLD (in_frn) = f_rn;
- FLD (out_frn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fmovm) = f_rm;
- FLD (out_fmovn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_fmovn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_fmovn) = f_rn;
- FLD (out_rm) = f_rm;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (out_fmovn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fmovm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fmovm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fmovm) = f_rm;
- FLD (in_r0) = 0;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov8_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fmov8_compact.f
- SI f_dn;
- UINT f_rm;
- SI f_imm12x8;
- f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1));
- f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
- f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
- /* Record the fields for the semantic handler. */
- FLD (f_imm12x8) = f_imm12x8;
- FLD (f_rm) = f_rm;
- FLD (f_dn) = f_dn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rm 0x%x", 'x', f_rm, "f_dn 0x%x", 'x', f_dn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_drn) = f_dn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_fmov9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fmov9_compact.f
- UINT f_rn;
- SI f_dm;
- SI f_imm12x8;
- f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
- f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1));
- f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
- /* Record the fields for the semantic handler. */
- FLD (f_dm) = f_dm;
- FLD (f_imm12x8) = f_imm12x8;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm, "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_drm) = f_dm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_frchg_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_fschg_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_fsts_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fpul) = 32;
- FLD (out_frn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ftrc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fsdn) = f_rn;
- FLD (out_fpul) = 32;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ftrv_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_fipr_compact.f
- SI f_vn;
- f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_vn) = f_vn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldc_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldc_vbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldc_sr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldcl_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldcl_vbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_lds_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldsl_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_lds_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_fpul) = 32;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldsl_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_fpul) = 32;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_lds_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldsl_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_lds_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldsl_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_lds_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_ldsl_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_macw_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_mov_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm64) = f_rm;
- FLD (out_rn64) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_rn;
- UINT f_imm8;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movi20_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movi20_compact.f
- UINT f_rn;
- INT f_imm20_hi;
- UINT f_imm20_lo;
- INT f_imm20;
- f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
- f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4);
- f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
- f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
- /* Record the fields for the semantic handler. */
- FLD (f_imm20) = f_imm20;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movb5_compact.f
- UINT f_rm;
- UINT f_imm4;
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_imm4) = f_imm4;
- FLD (f_rm) = f_rm;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb8_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movb10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movb5_compact.f
- UINT f_rm;
- UINT f_imm4;
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_imm4) = f_imm4;
- FLD (f_rm) = f_rm;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
- f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm4x4;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x4) = f_imm4x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl8_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
- f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl10_compact.f
- UINT f_rn;
- SI f_imm8x4;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl11_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm4x4;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x4) = f_imm4x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl12_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm12x4;
- f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
- f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm12x4) = f_imm12x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movl13_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm12x4;
- f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
- f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm12x4) = f_imm12x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- SI f_imm8x2;
- f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw5_compact.f
- UINT f_rm;
- SI f_imm4x2;
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x2) = f_imm4x2;
- FLD (f_rm) = f_rm;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw8_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- SI f_imm8x2;
- f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- SI f_imm8x2;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movw11_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw5_compact.f
- UINT f_rm;
- SI f_imm4x2;
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x2) = f_imm4x2;
- FLD (f_rm) = f_rm;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_mova_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
- f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movcal_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movcol_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movt_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movual_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_movual2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_r0) = 0;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_mull_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_negc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_nop_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
- #undef FLD
- return idesc;
- }
- extract_sfmt_pref_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_rotcl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_rts_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- #define FLD(f) abuf->fields.sfmt_empty.f
- /* Record the fields for the semantic handler. */
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_shad_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movl12_compact.f
- UINT f_rn;
- UINT f_rm;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rm) = f_rm;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stc_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stc_vbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stcl_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stcl_vbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_sts_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stsl_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_sts_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fpul) = 32;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stsl_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_fpul) = 32;
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_sts_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stsl_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_sts_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stsl_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_sts_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_stsl_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- FLD (out_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_tasb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_rn) = f_rn;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_trapa_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_tsti_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- extract_sfmt_tstb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_WORD insn = entire_insn;
- #define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
- f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
- #if WITH_PROFILE_MODEL_P
- /* Record the fields for profiling. */
- if (PROFILE_MODEL_P (current_cpu))
- {
- FLD (in_r0) = 0;
- }
- #endif
- #undef FLD
- return idesc;
- }
- }
|