| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372 |
- namespace Ryujinx.Graphics.Shader.Decoders
- {
- enum AlSize
- {
- _32 = 0,
- _64 = 1,
- _96 = 2,
- _128 = 3,
- }
- enum AtomSize
- {
- U32 = 0,
- S32 = 1,
- U64 = 2,
- F32FtzRn = 3,
- F16x2FtzRn = 4,
- S64 = 5,
- }
- enum AtomOp
- {
- Add = 0,
- Min = 1,
- Max = 2,
- Inc = 3,
- Dec = 4,
- And = 5,
- Or = 6,
- Xor = 7,
- Exch = 8,
- Safeadd = 10,
- }
- enum AtomsSize
- {
- U32 = 0,
- S32 = 1,
- U64 = 2,
- S64 = 3,
- }
- enum BarMode
- {
- Bar = 0,
- Result = 1,
- Warp = 2,
- }
- enum BarOp
- {
- Sync = 0,
- Arv = 1,
- Red = 2,
- Scan = 3,
- SyncAll = 4,
- }
- enum BarRedOp
- {
- Popc = 0,
- And = 1,
- Or = 2,
- }
- enum Bpt
- {
- DrainIllegal = 0,
- Cal = 1,
- Pause = 2,
- Trap = 3,
- Int = 4,
- Drain = 5,
- }
- enum Ccc
- {
- F = 0,
- Lt = 1,
- Eq = 2,
- Le = 3,
- Gt = 4,
- Ne = 5,
- Ge = 6,
- Num = 7,
- Nan = 8,
- Ltu = 9,
- Equ = 10,
- Leu = 11,
- Gtu = 12,
- Neu = 13,
- Geu = 14,
- T = 15,
- Lo = 17,
- Sff = 18,
- Ls = 19,
- Hi = 20,
- Sft = 21,
- Hs = 22,
- Oft = 23,
- CsmTa = 24,
- CsmTr = 25,
- CsmMx = 26,
- FcsmTa = 27,
- FcsmTr = 28,
- FcsmMx = 29,
- Rle = 30,
- Rgt = 31,
- }
- enum CacheType
- {
- U = 1,
- C = 2,
- I = 3,
- Crs = 4,
- }
- enum CctlOp
- {
- Pf1 = 1,
- Pf1_5 = 2,
- Pf2 = 3,
- Wb = 4,
- Iv = 5,
- Ivall = 6,
- Rs = 7,
- Rslb = 9,
- }
- enum CctltOp
- {
- Ivth = 1,
- }
- enum BoolOp
- {
- And = 0,
- Or = 1,
- Xor = 2,
- }
- enum SReg
- {
- LaneId = 0,
- Clock = 1,
- VirtCfg = 2,
- VirtId = 3,
- Pm0 = 4,
- Pm1 = 5,
- Pm2 = 6,
- Pm3 = 7,
- Pm4 = 8,
- Pm5 = 9,
- Pm6 = 10,
- Pm7 = 11,
- OrderingTicket = 15,
- PrimType = 16,
- InvocationId = 17,
- YDirection = 18,
- ThreadKill = 19,
- ShaderType = 20,
- DirectCbeWriteAddressLow = 21,
- DirectCbeWriteAddressHigh = 22,
- DirectCbeWriteEnabled = 23,
- MachineId0 = 24,
- MachineId1 = 25,
- MachineId2 = 26,
- MachineId3 = 27,
- Affinity = 28,
- InvocationInfo = 29,
- WScaleFactorXY = 30,
- WScaleFactorZ = 31,
- TId = 32,
- TIdX = 33,
- TIdY = 34,
- TIdZ = 35,
- CtaParam = 36,
- CtaIdX = 37,
- CtaIdY = 38,
- CtaIdZ = 39,
- Ntid = 40,
- CirQueueIncrMinusOne = 41,
- Nlatc = 42,
- Swinlo = 48,
- Swinsz = 49,
- Smemsz = 50,
- Smembanks = 51,
- LWinLo = 52,
- LWinSz = 53,
- LMemLoSz = 54,
- LMemHiOff = 55,
- EqMask = 56,
- LtMask = 57,
- LeMask = 58,
- GtMask = 59,
- GeMask = 60,
- RegAlloc = 61,
- CtxAddr = 62,
- GlobalErrorStatus = 64,
- WarpErrorStatus = 66,
- WarpErrorStatusClear = 67,
- PmHi0 = 72,
- PmHi1 = 73,
- PmHi2 = 74,
- PmHi3 = 75,
- PmHi4 = 76,
- PmHi5 = 77,
- PmHi6 = 78,
- PmHi7 = 79,
- ClockLo = 80,
- ClockHi = 81,
- GlobalTimerLo = 82,
- GlobalTimerHi = 83,
- HwTaskId = 96,
- CircularQueueEntryIndex = 97,
- CircularQueueEntryAddressLow = 98,
- CircularQueueEntryAddressHigh = 99,
- }
- enum RoundMode
- {
- Rn = 0,
- Rm = 1,
- Rp = 2,
- Rz = 3,
- }
- enum FComp
- {
- F = 0,
- Lt = 1,
- Eq = 2,
- Le = 3,
- Gt = 4,
- Ne = 5,
- Ge = 6,
- Num = 7,
- Nan = 8,
- Ltu = 9,
- Equ = 10,
- Leu = 11,
- Gtu = 12,
- Neu = 13,
- Geu = 14,
- T = 15,
- }
- enum IntegerRound
- {
- Pass = 1,
- Round = 4,
- Floor = 5,
- Ceil = 6,
- Trunc = 7,
- }
- enum IDstFmt
- {
- U16 = 1,
- U32 = 2,
- U64 = 3,
- S16 = 5,
- S32 = 6,
- S64 = 7,
- }
- enum ISrcFmt
- {
- U8 = 0,
- U16 = 1,
- U32 = 2,
- U64 = 3,
- S8 = 4,
- S16 = 5,
- S32 = 6,
- S64 = 7,
- }
- enum ISrcDstFmt
- {
- U8 = 0,
- U16 = 1,
- U32 = 2,
- S8 = 4,
- S16 = 5,
- S32 = 6,
- }
- enum RoundMode2
- {
- Round = 0,
- Floor = 1,
- Ceil = 2,
- Trunc = 3,
- }
- enum ChkModeF
- {
- Divide = 0,
- }
- enum Fmz
- {
- Ftz = 1,
- Fmz = 2,
- }
- enum MultiplyScale
- {
- NoScale = 0,
- D2 = 1,
- D4 = 2,
- D8 = 3,
- M8 = 4,
- M4 = 5,
- M2 = 6,
- }
- enum OFmt
- {
- F16 = 0,
- F32 = 1,
- MrgH0 = 2,
- MrgH1 = 3,
- }
- enum HalfSwizzle
- {
- F16 = 0,
- F32 = 1,
- H0H0 = 2,
- H1H1 = 3,
- }
- enum ByteSel
- {
- B0 = 0,
- B1 = 1,
- B2 = 2,
- B3 = 3,
- }
- enum DstFmt
- {
- F16 = 1,
- F32 = 2,
- F64 = 3,
- }
- enum AvgMode
- {
- NoNeg = 0,
- NegB = 1,
- NegA = 2,
- PlusOne = 3,
- }
- enum Lrs
- {
- None = 0,
- RightShift = 1,
- LeftShift = 2,
- }
- enum HalfSelect
- {
- B32 = 0,
- H0 = 1,
- H1 = 2,
- }
- enum IComp
- {
- F = 0,
- Lt = 1,
- Eq = 2,
- Le = 3,
- Gt = 4,
- Ne = 5,
- Ge = 6,
- T = 7,
- }
- enum XMode
- {
- Xlo = 1,
- Xmed = 2,
- Xhi = 3,
- }
- enum IpaOp
- {
- Pass = 0,
- Multiply = 1,
- Constant = 2,
- Sc = 3,
- }
- enum IBase
- {
- Patch = 1,
- Prim = 2,
- Attr = 3,
- }
- enum CacheOp
- {
- Cg = 1,
- Ci = 2,
- Cv = 3,
- }
- enum LsSize
- {
- U8 = 0,
- S8 = 1,
- U16 = 2,
- S16 = 3,
- B32 = 4,
- B64 = 5,
- B128 = 6,
- UB128 = 7,
- }
- enum LsSize2
- {
- U8 = 0,
- S8 = 1,
- U16 = 2,
- S16 = 3,
- B32 = 4,
- B64 = 5,
- B128 = 6,
- }
- enum AddressMode
- {
- Il = 1,
- Is = 2,
- Isl = 3,
- }
- enum CacheOp2
- {
- Lu = 1,
- Ci = 2,
- Cv = 3,
- }
- enum PredicateOp
- {
- F = 0,
- T = 1,
- Z = 2,
- Nz = 3,
- }
- enum LogicOp
- {
- And = 0,
- Or = 1,
- Xor = 2,
- PassB = 3,
- }
- enum Membar
- {
- Cta = 0,
- Gl = 1,
- Sys = 2,
- Vc = 3,
- }
- enum Ivall
- {
- Ivalld = 1,
- Ivallt = 2,
- Ivalltd = 3,
- }
- enum MufuOp
- {
- Cos = 0,
- Sin = 1,
- Ex2 = 2,
- Lg2 = 3,
- Rcp = 4,
- Rsq = 5,
- Rcp64h = 6,
- Rsq64h = 7,
- Sqrt = 8,
- }
- enum OutType
- {
- Emit = 1,
- Cut = 2,
- EmitThenCut = 3,
- }
- enum PixMode
- {
- Covmask = 1,
- Covered = 2,
- Offset = 3,
- CentroidOffset = 4,
- MyIndex = 5,
- }
- enum PMode
- {
- F4e = 1,
- B4e = 2,
- Rc8 = 3,
- Ecl = 4,
- Ecr = 5,
- Rc16 = 6,
- }
- enum RedOp
- {
- Add = 0,
- Min = 1,
- Max = 2,
- Inc = 3,
- Dec = 4,
- And = 5,
- Or = 6,
- Xor = 7,
- }
- enum XModeShf
- {
- Hi = 1,
- X = 2,
- Xhi = 3,
- }
- enum MaxShift
- {
- U64 = 2,
- S64 = 3,
- }
- enum ShflMode
- {
- Idx = 0,
- Up = 1,
- Down = 2,
- Bfly = 3,
- }
- enum Clamp
- {
- Ign = 0,
- Trap = 2,
- }
- enum SuatomSize
- {
- U32 = 0,
- S32 = 1,
- U64 = 2,
- F32FtzRn = 3,
- F16x2FtzRn = 4,
- S64 = 5,
- Sd32 = 6,
- Sd64 = 7,
- }
- enum SuDim
- {
- _1d = 0,
- _1dBuffer = 1,
- _1dArray = 2,
- _2d = 3,
- _2dArray = 4,
- _3d = 5,
- }
- enum SuatomOp
- {
- Add = 0,
- Min = 1,
- Max = 2,
- Inc = 3,
- Dec = 4,
- And = 5,
- Or = 6,
- Xor = 7,
- Exch = 8,
- }
- enum SuSize
- {
- U8 = 0,
- S8 = 1,
- U16 = 2,
- S16 = 3,
- B32 = 4,
- B64 = 5,
- B128 = 6,
- UB128 = 7,
- }
- enum SuRgba
- {
- R = 1,
- G = 2,
- Rg = 3,
- B = 4,
- Rb = 5,
- Gb = 6,
- Rgb = 7,
- A = 8,
- Ra = 9,
- Ga = 10,
- Rga = 11,
- Ba = 12,
- Rba = 13,
- Gba = 14,
- Rgba = 15,
- }
- enum Lod
- {
- Lz = 1,
- Lb = 2,
- Ll = 3,
- Lba = 6,
- Lla = 7,
- }
- enum TexDim
- {
- _1d = 0,
- Array1d = 1,
- _2d = 2,
- Array2d = 3,
- _3d = 4,
- Array3d = 5,
- Cube = 6,
- ArrayCube = 7,
- }
- enum TexsTarget
- {
- Texture1DLodZero = 0,
- Texture2D = 1,
- Texture2DLodZero = 2,
- Texture2DLodLevel = 3,
- Texture2DDepthCompare = 4,
- Texture2DLodLevelDepthCompare = 5,
- Texture2DLodZeroDepthCompare = 6,
- Texture2DArray = 7,
- Texture2DArrayLodZero = 8,
- Texture2DArrayLodZeroDepthCompare = 9,
- Texture3D = 10,
- Texture3DLodZero = 11,
- TextureCube = 12,
- TextureCubeLodLevel = 13,
- }
- enum TldsTarget
- {
- Texture1DLodZero = 0x0,
- Texture1DLodLevel = 0x1,
- Texture2DLodZero = 0x2,
- Texture2DLodZeroOffset = 0x4,
- Texture2DLodLevel = 0x5,
- Texture2DLodZeroMultisample = 0x6,
- Texture3DLodZero = 0x7,
- Texture2DArrayLodZero = 0x8,
- Texture2DLodLevelOffset = 0xc
- }
- enum TexComp
- {
- R = 0,
- G = 1,
- B = 2,
- A = 3,
- }
- enum TexOffset
- {
- None = 0,
- Aoffi = 1,
- Ptp = 2,
- }
- enum TexQuery
- {
- TexHeaderDimension = 1,
- TexHeaderTextureType = 2,
- TexHeaderSamplerPos = 5,
- TexSamplerFilter = 16,
- TexSamplerLod = 18,
- TexSamplerWrap = 20,
- TexSamplerBorderColor = 22,
- }
- enum VectorSelect
- {
- U8B0 = 0,
- U8B1 = 1,
- U8B2 = 2,
- U8B3 = 3,
- U16H0 = 4,
- U16H1 = 5,
- U32 = 6,
- S8B0 = 8,
- S8B1 = 9,
- S8B2 = 10,
- S8B3 = 11,
- S16H0 = 12,
- S16H1 = 13,
- S32 = 14,
- }
- enum VideoOp
- {
- Mrg16h = 0,
- Mrg16l = 1,
- Mrg8b0 = 2,
- Mrg8b2 = 3,
- Acc = 4,
- Min = 5,
- Max = 6,
- }
- enum VideoRed
- {
- Acc = 1,
- }
- enum LaneMask4
- {
- Z = 1,
- W = 2,
- Zw = 3,
- X = 4,
- Xz = 5,
- Xw = 6,
- Xzw = 7,
- Y = 8,
- Yz = 9,
- Yw = 10,
- Yzw = 11,
- Xy = 12,
- Xyz = 13,
- Xyw = 14,
- Xyzw = 15,
- }
- enum ASelect4
- {
- _0000 = 0,
- _1111 = 1,
- _2222 = 2,
- _3333 = 3,
- _3210 = 4,
- _5432 = 6,
- _6543 = 7,
- _3201 = 8,
- _3012 = 9,
- _0213 = 10,
- _3120 = 11,
- _1230 = 12,
- _2310 = 13,
- }
- enum BSelect4
- {
- _4444 = 0,
- _5555 = 1,
- _6666 = 2,
- _7777 = 3,
- _7654 = 4,
- _5432 = 6,
- _4321 = 7,
- _4567 = 8,
- _6745 = 9,
- _5476 = 10,
- }
- enum VideoScale
- {
- Shr7 = 1,
- Shr15 = 2,
- }
- enum VoteMode
- {
- All = 0,
- Any = 1,
- Eq = 2,
- }
- enum XmadCop
- {
- Cfull = 0,
- Clo = 1,
- Chi = 2,
- Csfu = 3,
- Cbcc = 4,
- }
- enum XmadCop2
- {
- Cfull = 0,
- Clo = 1,
- Chi = 2,
- Csfu = 3,
- }
- enum ImadspASelect
- {
- U32 = 0,
- S32 = 1,
- U24 = 2,
- S24 = 3,
- U16h0 = 4,
- S16h0 = 5,
- U16h1 = 6,
- S16h1 = 7,
- }
- enum ImadspBSelect
- {
- U24 = 0,
- S24 = 1,
- U16h0 = 2,
- S16h0 = 3,
- }
- struct InstConditional
- {
- private ulong _opcode;
- public InstConditional(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstAl2p
- {
- private ulong _opcode;
- public InstAl2p(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public AlSize AlSize => (AlSize)((_opcode >> 47) & 0x3);
- public bool Aio => (_opcode & 0x100000000) != 0;
- public int Imm11 => (int)((_opcode >> 20) & 0x7FF);
- public int DestPred => (int)((_opcode >> 44) & 0x7);
- }
- struct InstAld
- {
- private ulong _opcode;
- public InstAld(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm11 => (int)((_opcode >> 20) & 0x7FF);
- public bool P => (_opcode & 0x80000000) != 0;
- public bool O => (_opcode & 0x100000000) != 0;
- public AlSize AlSize => (AlSize)((_opcode >> 47) & 0x3);
- public bool Phys => !P && Imm11 == 0 && SrcA != RegisterConsts.RegisterZeroIndex;
- }
- struct InstAst
- {
- private ulong _opcode;
- public InstAst(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 0) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm11 => (int)((_opcode >> 20) & 0x7FF);
- public bool P => (_opcode & 0x80000000) != 0;
- public AlSize AlSize => (AlSize)((_opcode >> 47) & 0x3);
- public bool Phys => !P && Imm11 == 0 && SrcA != RegisterConsts.RegisterZeroIndex;
- }
- struct InstAtom
- {
- private ulong _opcode;
- public InstAtom(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm20 => (int)((_opcode >> 28) & 0xFFFFF);
- public AtomSize Size => (AtomSize)((_opcode >> 49) & 0x7);
- public AtomOp Op => (AtomOp)((_opcode >> 52) & 0xF);
- public bool E => (_opcode & 0x1000000000000) != 0;
- }
- struct InstAtomCas
- {
- private ulong _opcode;
- public InstAtomCas(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int BcRz => (int)((_opcode >> 50) & 0x3);
- public bool E => (_opcode & 0x1000000000000) != 0;
- }
- struct InstAtoms
- {
- private ulong _opcode;
- public InstAtoms(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm22 => (int)((_opcode >> 30) & 0x3FFFFF);
- public AtomsSize AtomsSize => (AtomsSize)((_opcode >> 28) & 0x3);
- public AtomOp AtomOp => (AtomOp)((_opcode >> 52) & 0xF);
- }
- struct InstAtomsCas
- {
- private ulong _opcode;
- public InstAtomsCas(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int AtomsBcRz => (int)((_opcode >> 28) & 0x3);
- }
- struct InstB2r
- {
- private ulong _opcode;
- public InstB2r(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int DestPred => (int)((_opcode >> 45) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public BarMode Mode => (BarMode)((_opcode >> 32) & 0x3);
- }
- struct InstBar
- {
- private ulong _opcode;
- public InstBar(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm12 => (int)((_opcode >> 20) & 0xFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public BarOp BarOp => (BarOp)((_opcode >> 32) & 0x7);
- public BarRedOp BarRedOp => (BarRedOp)((_opcode >> 35) & 0x3);
- public bool AFixBar => (_opcode & 0x100000000000) != 0;
- public bool BFixBar => (_opcode & 0x80000000000) != 0;
- }
- struct InstBfeR
- {
- private ulong _opcode;
- public InstBfeR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Brev => (_opcode & 0x10000000000) != 0;
- }
- struct InstBfeI
- {
- private ulong _opcode;
- public InstBfeI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Brev => (_opcode & 0x10000000000) != 0;
- }
- struct InstBfeC
- {
- private ulong _opcode;
- public InstBfeC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Brev => (_opcode & 0x10000000000) != 0;
- }
- struct InstBfiR
- {
- private ulong _opcode;
- public InstBfiR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- }
- struct InstBfiI
- {
- private ulong _opcode;
- public InstBfiI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- }
- struct InstBfiC
- {
- private ulong _opcode;
- public InstBfiC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- }
- struct InstBfiRc
- {
- private ulong _opcode;
- public InstBfiRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- }
- struct InstBpt
- {
- private ulong _opcode;
- public InstBpt(ulong opcode) => _opcode = opcode;
- public int Imm20 => (int)((_opcode >> 20) & 0xFFFFF);
- public Bpt Bpt => (Bpt)((_opcode >> 6) & 0x7);
- }
- struct InstBra
- {
- private ulong _opcode;
- public InstBra(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- public bool Lmt => (_opcode & 0x40) != 0;
- public bool U => (_opcode & 0x80) != 0;
- }
- struct InstBrk
- {
- private ulong _opcode;
- public InstBrk(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstBrx
- {
- private ulong _opcode;
- public InstBrx(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- public bool Lmt => (_opcode & 0x40) != 0;
- }
- struct InstCal
- {
- private ulong _opcode;
- public InstCal(ulong opcode) => _opcode = opcode;
- public bool Ca => (_opcode & 0x20) != 0;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Inc => (_opcode & 0x40) != 0;
- }
- struct InstCctl
- {
- private ulong _opcode;
- public InstCctl(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm30 => (int)((_opcode >> 22) & 0x3FFFFFFF);
- public bool E => (_opcode & 0x10000000000000) != 0;
- public CacheType Cache => (CacheType)((_opcode >> 4) & 0x7);
- public CctlOp CctlOp => (CctlOp)((_opcode >> 0) & 0xF);
- }
- struct InstCctll
- {
- private ulong _opcode;
- public InstCctll(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm22 => (int)((_opcode >> 22) & 0x3FFFFF);
- public int Cache => (int)((_opcode >> 4) & 0x3);
- public CctlOp CctlOp => (CctlOp)((_opcode >> 0) & 0xF);
- }
- struct InstCctlt
- {
- private ulong _opcode;
- public InstCctlt(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int TsIdx13 => (int)((_opcode >> 36) & 0x1FFF);
- public CctltOp CctltOp => (CctltOp)((_opcode >> 0) & 0x3);
- }
- struct InstCctltR
- {
- private ulong _opcode;
- public InstCctltR(ulong opcode) => _opcode = opcode;
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public CctltOp CctltOp => (CctltOp)((_opcode >> 0) & 0x3);
- }
- struct InstContUnsup
- {
- private ulong _opcode;
- public InstContUnsup(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstCsetUnsup
- {
- private ulong _opcode;
- public InstCsetUnsup(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 8) & 0x1F);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool BVal => (_opcode & 0x100000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- }
- struct InstCsetp
- {
- private ulong _opcode;
- public InstCsetp(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 8) & 0x1F);
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- }
- struct InstCs2r
- {
- private ulong _opcode;
- public InstCs2r(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public SReg SReg => (SReg)((_opcode >> 20) & 0xFF);
- }
- struct InstDaddR
- {
- private ulong _opcode;
- public InstDaddR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstDaddI
- {
- private ulong _opcode;
- public InstDaddI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstDaddC
- {
- private ulong _opcode;
- public InstDaddC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstDepbar
- {
- private ulong _opcode;
- public InstDepbar(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Le => (_opcode & 0x20000000) != 0;
- public int Sbid => (int)((_opcode >> 26) & 0x7);
- public int PendCnt => (int)((_opcode >> 20) & 0x3F);
- public int Imm6 => (int)((_opcode >> 0) & 0x3F);
- }
- struct InstDfmaR
- {
- private ulong _opcode;
- public InstDfmaR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 50) & 0x3);
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDfmaI
- {
- private ulong _opcode;
- public InstDfmaI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 50) & 0x3);
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDfmaC
- {
- private ulong _opcode;
- public InstDfmaC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 50) & 0x3);
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDfmaRc
- {
- private ulong _opcode;
- public InstDfmaRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 50) & 0x3);
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDmnmxR
- {
- private ulong _opcode;
- public InstDmnmxR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDmnmxI
- {
- private ulong _opcode;
- public InstDmnmxI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDmnmxC
- {
- private ulong _opcode;
- public InstDmnmxC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDmulR
- {
- private ulong _opcode;
- public InstDmulR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDmulI
- {
- private ulong _opcode;
- public InstDmulI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDmulC
- {
- private ulong _opcode;
- public InstDmulC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- }
- struct InstDsetR
- {
- private ulong _opcode;
- public InstDsetR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDsetI
- {
- private ulong _opcode;
- public InstDsetI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDsetC
- {
- private ulong _opcode;
- public InstDsetC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstDsetpR
- {
- private ulong _opcode;
- public InstDsetpR(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstDsetpI
- {
- private ulong _opcode;
- public InstDsetpI(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstDsetpC
- {
- private ulong _opcode;
- public InstDsetpC(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstExit
- {
- private ulong _opcode;
- public InstExit(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- public bool KeepRefCnt => (_opcode & 0x20) != 0;
- }
- struct InstF2fR
- {
- private ulong _opcode;
- public InstF2fR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public IntegerRound RoundMode => (IntegerRound)((int)((_opcode >> 40) & 0x4) | (int)((_opcode >> 39) & 0x3));
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstF2fI
- {
- private ulong _opcode;
- public InstF2fI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public IntegerRound RoundMode => (IntegerRound)((int)((_opcode >> 40) & 0x4) | (int)((_opcode >> 39) & 0x3));
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstF2fC
- {
- private ulong _opcode;
- public InstF2fC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public IntegerRound RoundMode => (IntegerRound)((int)((_opcode >> 40) & 0x4) | (int)((_opcode >> 39) & 0x3));
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstF2iR
- {
- private ulong _opcode;
- public InstF2iR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public IDstFmt IDstFmt => (IDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public RoundMode2 RoundMode => (RoundMode2)((_opcode >> 39) & 0x3);
- }
- struct InstF2iI
- {
- private ulong _opcode;
- public InstF2iI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public IDstFmt IDstFmt => (IDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public RoundMode2 RoundMode => (RoundMode2)((_opcode >> 39) & 0x3);
- }
- struct InstF2iC
- {
- private ulong _opcode;
- public InstF2iC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public IDstFmt IDstFmt => (IDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public DstFmt SrcFmt => (DstFmt)((_opcode >> 10) & 0x3);
- public RoundMode2 RoundMode => (RoundMode2)((_opcode >> 39) & 0x3);
- }
- struct InstFaddR
- {
- private ulong _opcode;
- public InstFaddR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstFaddI
- {
- private ulong _opcode;
- public InstFaddI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstFaddC
- {
- private ulong _opcode;
- public InstFaddC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- }
- struct InstFadd32i
- {
- private ulong _opcode;
- public InstFadd32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool AbsB => (_opcode & 0x200000000000000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public bool Ftz => (_opcode & 0x80000000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- }
- struct InstFchkR
- {
- private ulong _opcode;
- public InstFchkR(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ChkModeF ChkModeF => (ChkModeF)((_opcode >> 39) & 0x3F);
- }
- struct InstFchkI
- {
- private ulong _opcode;
- public InstFchkI(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ChkModeF ChkModeF => (ChkModeF)((_opcode >> 39) & 0x3F);
- }
- struct InstFchkC
- {
- private ulong _opcode;
- public InstFchkC(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ChkModeF ChkModeF => (ChkModeF)((_opcode >> 39) & 0x3F);
- }
- struct InstFcmpR
- {
- private ulong _opcode;
- public InstFcmpR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFcmpI
- {
- private ulong _opcode;
- public InstFcmpI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFcmpC
- {
- private ulong _opcode;
- public InstFcmpC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFcmpRc
- {
- private ulong _opcode;
- public InstFcmpRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFfmaR
- {
- private ulong _opcode;
- public InstFfmaR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 51) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- }
- struct InstFfmaI
- {
- private ulong _opcode;
- public InstFfmaI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 51) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- }
- struct InstFfmaC
- {
- private ulong _opcode;
- public InstFfmaC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 51) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- }
- struct InstFfmaRc
- {
- private ulong _opcode;
- public InstFfmaRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 51) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- }
- struct InstFfma32i
- {
- private ulong _opcode;
- public InstFfma32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm32 => (int)(_opcode >> 20);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegC => (_opcode & 0x200000000000000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- }
- struct InstFloR
- {
- private ulong _opcode;
- public InstFloR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstFloI
- {
- private ulong _opcode;
- public InstFloI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstFloC
- {
- private ulong _opcode;
- public InstFloC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public bool Sh => (_opcode & 0x20000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstFmnmxR
- {
- private ulong _opcode;
- public InstFmnmxR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstFmnmxI
- {
- private ulong _opcode;
- public InstFmnmxI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstFmnmxC
- {
- private ulong _opcode;
- public InstFmnmxC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstFmulR
- {
- private ulong _opcode;
- public InstFmulR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 44) & 0x3);
- public MultiplyScale Scale => (MultiplyScale)((_opcode >> 41) & 0x7);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstFmulI
- {
- private ulong _opcode;
- public InstFmulI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 44) & 0x3);
- public MultiplyScale Scale => (MultiplyScale)((_opcode >> 41) & 0x7);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstFmulC
- {
- private ulong _opcode;
- public InstFmulC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public Fmz Fmz => (Fmz)((_opcode >> 44) & 0x3);
- public MultiplyScale Scale => (MultiplyScale)((_opcode >> 41) & 0x7);
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstFmul32i
- {
- private ulong _opcode;
- public InstFmul32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 53) & 0x3);
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- }
- struct InstFsetR
- {
- private ulong _opcode;
- public InstFsetR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x80000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- }
- struct InstFsetC
- {
- private ulong _opcode;
- public InstFsetC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x80000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- }
- struct InstFsetI
- {
- private ulong _opcode;
- public InstFsetI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x20000000000000) != 0;
- public bool AbsA => (_opcode & 0x40000000000000) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x80000000000000) != 0;
- public bool BVal => (_opcode & 0x10000000000000) != 0;
- }
- struct InstFsetpR
- {
- private ulong _opcode;
- public InstFsetpR(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFsetpI
- {
- private ulong _opcode;
- public InstFsetpI(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFsetpC
- {
- private ulong _opcode;
- public InstFsetpC(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x40) != 0;
- public bool AbsA => (_opcode & 0x80) != 0;
- public bool AbsB => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 48) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x800000000000) != 0;
- }
- struct InstFswzadd
- {
- private ulong _opcode;
- public InstFswzadd(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Ftz => (_opcode & 0x100000000000) != 0;
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public bool Ndv => (_opcode & 0x4000000000) != 0;
- public int PnWord => (int)((_opcode >> 28) & 0xFF);
- }
- struct InstGetcrsptr
- {
- private ulong _opcode;
- public InstGetcrsptr(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- }
- struct InstGetlmembase
- {
- private ulong _opcode;
- public InstGetlmembase(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- }
- struct InstHadd2R
- {
- private ulong _opcode;
- public InstHadd2R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle BSwizzle => (HalfSwizzle)((_opcode >> 28) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x80000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000) != 0;
- public bool Sat => (_opcode & 0x100000000) != 0;
- public bool Ftz => (_opcode & 0x8000000000) != 0;
- }
- struct InstHadd2I
- {
- private ulong _opcode;
- public InstHadd2I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int BimmH0 => (int)((_opcode >> 20) & 0x3FF);
- public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public bool Ftz => (_opcode & 0x8000000000) != 0;
- }
- struct InstHadd2C
- {
- private ulong _opcode;
- public InstHadd2C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x100000000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public bool Ftz => (_opcode & 0x8000000000) != 0;
- }
- struct InstHadd232i
- {
- private ulong _opcode;
- public InstHadd232i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm => (int)(_opcode >> 20);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public bool Ftz => (_opcode & 0x80000000000000) != 0;
- }
- struct InstHfma2R
- {
- private ulong _opcode;
- public InstHfma2R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle BSwizzle => (HalfSwizzle)((_opcode >> 28) & 0x3);
- public HalfSwizzle CSwizzle => (HalfSwizzle)((_opcode >> 35) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000) != 0;
- public bool NegC => (_opcode & 0x40000000) != 0;
- public bool Sat => (_opcode & 0x100000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 37) & 0x3);
- }
- struct InstHfma2I
- {
- private ulong _opcode;
- public InstHfma2I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int BimmH0 => (int)((_opcode >> 20) & 0x3FF);
- public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle CSwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegC => (_opcode & 0x8000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 57) & 0x3);
- }
- struct InstHfma2C
- {
- private ulong _opcode;
- public InstHfma2C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle CSwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public bool NegC => (_opcode & 0x8000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 57) & 0x3);
- }
- struct InstHfma2Rc
- {
- private ulong _opcode;
- public InstHfma2Rc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle CSwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public bool NegC => (_opcode & 0x8000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 57) & 0x3);
- }
- struct InstHfma232i
- {
- private ulong _opcode;
- public InstHfma232i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm => (int)(_opcode >> 20);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegC => (_opcode & 0x8000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 57) & 0x3);
- }
- struct InstHmul2R
- {
- private ulong _opcode;
- public InstHmul2R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle BSwizzle => (HalfSwizzle)((_opcode >> 28) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000) != 0;
- public bool Sat => (_opcode & 0x100000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 39) & 0x3);
- }
- struct InstHmul2I
- {
- private ulong _opcode;
- public InstHmul2I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int BimmH0 => (int)((_opcode >> 20) & 0x3FF);
- public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 39) & 0x3);
- }
- struct InstHmul2C
- {
- private ulong _opcode;
- public InstHmul2C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public OFmt OFmt => (OFmt)((_opcode >> 49) & 0x3);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000000000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 39) & 0x3);
- }
- struct InstHmul232i
- {
- private ulong _opcode;
- public InstHmul232i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm32 => (int)(_opcode >> 20);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 53) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Sat => (_opcode & 0x10000000000000) != 0;
- public Fmz Fmz => (Fmz)((_opcode >> 55) & 0x3);
- }
- struct InstHset2R
- {
- private ulong _opcode;
- public InstHset2R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle BSwizzle => (HalfSwizzle)((_opcode >> 28) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool NegB => (_opcode & 0x80000000) != 0;
- public bool AbsB => (_opcode & 0x40000000) != 0;
- public bool Bval => (_opcode & 0x2000000000000) != 0;
- public FComp Cmp => (FComp)((_opcode >> 35) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool Ftz => (_opcode & 0x4000000000000) != 0;
- }
- struct InstHset2I
- {
- private ulong _opcode;
- public InstHset2I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int BimmH0 => (int)((_opcode >> 20) & 0x3FF);
- public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool Bval => (_opcode & 0x20000000000000) != 0;
- public FComp Cmp => (FComp)((_opcode >> 49) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool Ftz => (_opcode & 0x40000000000000) != 0;
- }
- struct InstHset2C
- {
- private ulong _opcode;
- public InstHset2C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool NegB => (_opcode & 0x100000000000000) != 0;
- public bool Bval => (_opcode & 0x20000000000000) != 0;
- public FComp Cmp => (FComp)((_opcode >> 49) & 0xF);
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool Ftz => (_opcode & 0x40000000000000) != 0;
- }
- struct InstHsetp2R
- {
- private ulong _opcode;
- public InstHsetp2R(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x80000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000) != 0;
- public FComp FComp2 => (FComp)((_opcode >> 35) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x40) != 0;
- public bool HAnd => (_opcode & 0x2000000000000) != 0;
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- public HalfSwizzle BSwizzle => (HalfSwizzle)((_opcode >> 28) & 0x3);
- }
- struct InstHsetp2I
- {
- private ulong _opcode;
- public InstHsetp2I(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int BimmH0 => (int)((_opcode >> 20) & 0x3FF);
- public int BimmH1 => (int)((_opcode >> 47) & 0x200) | (int)((_opcode >> 30) & 0x1FF);
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 49) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x40) != 0;
- public bool HAnd => (_opcode & 0x20000000000000) != 0;
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- }
- struct InstHsetp2C
- {
- private ulong _opcode;
- public InstHsetp2C(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegA => (_opcode & 0x80000000000) != 0;
- public bool NegB => (_opcode & 0x100000000000000) != 0;
- public bool AbsA => (_opcode & 0x100000000000) != 0;
- public bool AbsB => (_opcode & 0x40000000000000) != 0;
- public FComp FComp => (FComp)((_opcode >> 49) & 0xF);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool Ftz => (_opcode & 0x40) != 0;
- public bool HAnd => (_opcode & 0x20000000000000) != 0;
- public HalfSwizzle ASwizzle => (HalfSwizzle)((_opcode >> 47) & 0x3);
- }
- struct InstI2fR
- {
- private ulong _opcode;
- public InstI2fR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public ISrcFmt ISrcFmt => (ISrcFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- }
- struct InstI2fI
- {
- private ulong _opcode;
- public InstI2fI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public ISrcFmt ISrcFmt => (ISrcFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- }
- struct InstI2fC
- {
- private ulong _opcode;
- public InstI2fC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public RoundMode RoundMode => (RoundMode)((_opcode >> 39) & 0x3);
- public ISrcFmt ISrcFmt => (ISrcFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- public DstFmt DstFmt => (DstFmt)((_opcode >> 8) & 0x3);
- }
- struct InstI2iR
- {
- private ulong _opcode;
- public InstI2iR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public ISrcDstFmt IDstFmt => (ISrcDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public ISrcDstFmt ISrcFmt => (ISrcDstFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- }
- struct InstI2iI
- {
- private ulong _opcode;
- public InstI2iI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public ISrcDstFmt IDstFmt => (ISrcDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public ISrcDstFmt ISrcFmt => (ISrcDstFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- }
- struct InstI2iC
- {
- private ulong _opcode;
- public InstI2iC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public ISrcDstFmt IDstFmt => (ISrcDstFmt)((int)((_opcode >> 10) & 0x4) | (int)((_opcode >> 8) & 0x3));
- public ISrcDstFmt ISrcFmt => (ISrcDstFmt)((int)((_opcode >> 11) & 0x4) | (int)((_opcode >> 10) & 0x3));
- }
- struct InstIaddR
- {
- private ulong _opcode;
- public InstIaddR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIaddI
- {
- private ulong _opcode;
- public InstIaddI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIaddC
- {
- private ulong _opcode;
- public InstIaddC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIadd32i
- {
- private ulong _opcode;
- public InstIadd32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public AvgMode AvgMode => (AvgMode)((_opcode >> 55) & 0x3);
- public bool Sat => (_opcode & 0x40000000000000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public bool X => (_opcode & 0x20000000000000) != 0;
- }
- struct InstIadd3R
- {
- private ulong _opcode;
- public InstIadd3R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x8000000000000) != 0;
- public bool NegB => (_opcode & 0x4000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool X => (_opcode & 0x1000000000000) != 0;
- public Lrs Lrs => (Lrs)((_opcode >> 37) & 0x3);
- public HalfSelect Apart => (HalfSelect)((_opcode >> 35) & 0x3);
- public HalfSelect Bpart => (HalfSelect)((_opcode >> 33) & 0x3);
- public HalfSelect Cpart => (HalfSelect)((_opcode >> 31) & 0x3);
- }
- struct InstIadd3I
- {
- private ulong _opcode;
- public InstIadd3I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x8000000000000) != 0;
- public bool NegB => (_opcode & 0x4000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool X => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIadd3C
- {
- private ulong _opcode;
- public InstIadd3C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool NegA => (_opcode & 0x8000000000000) != 0;
- public bool NegB => (_opcode & 0x4000000000000) != 0;
- public bool NegC => (_opcode & 0x2000000000000) != 0;
- public bool X => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIcmpR
- {
- private ulong _opcode;
- public InstIcmpR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIcmpI
- {
- private ulong _opcode;
- public InstIcmpI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIcmpC
- {
- private ulong _opcode;
- public InstIcmpC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIcmpRc
- {
- private ulong _opcode;
- public InstIcmpRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- }
- struct InstIde
- {
- private ulong _opcode;
- public InstIde(ulong opcode) => _opcode = opcode;
- public int Imm16 => (int)((_opcode >> 20) & 0xFFFF);
- public bool Di => (_opcode & 0x20) != 0;
- }
- struct InstIdpR
- {
- private ulong _opcode;
- public InstIdpR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool IsHi => (_opcode & 0x4000000000000) != 0;
- public bool SrcASign => (_opcode & 0x2000000000000) != 0;
- public bool IsDp => (_opcode & 0x1000000000000) != 0;
- public bool SrcBSign => (_opcode & 0x800000000000) != 0;
- }
- struct InstIdpC
- {
- private ulong _opcode;
- public InstIdpC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool IsHi => (_opcode & 0x4000000000000) != 0;
- public bool SrcASign => (_opcode & 0x2000000000000) != 0;
- public bool IsDp => (_opcode & 0x1000000000000) != 0;
- public bool SrcBSign => (_opcode & 0x800000000000) != 0;
- }
- struct InstImadR
- {
- private ulong _opcode;
- public InstImadR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Hilo => (_opcode & 0x40000000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 51) & 0x3);
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool X => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- struct InstImadI
- {
- private ulong _opcode;
- public InstImadI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Hilo => (_opcode & 0x40000000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 51) & 0x3);
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool X => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- struct InstImadC
- {
- private ulong _opcode;
- public InstImadC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Hilo => (_opcode & 0x40000000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 51) & 0x3);
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool X => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- struct InstImadRc
- {
- private ulong _opcode;
- public InstImadRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Hilo => (_opcode & 0x40000000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 51) & 0x3);
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool X => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- struct InstImad32i
- {
- private ulong _opcode;
- public InstImad32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool BSigned => (_opcode & 0x200000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 55) & 0x3);
- public bool ASigned => (_opcode & 0x40000000000000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public bool Hilo => (_opcode & 0x20000000000000) != 0;
- }
- struct InstImadspR
- {
- private ulong _opcode;
- public InstImadspR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ImadspASelect ASelect => (ImadspASelect)((_opcode >> 48) & 0x7);
- public ImadspBSelect BSelect => (ImadspBSelect)((_opcode >> 53) & 0x3);
- public ImadspASelect CSelect => (ImadspASelect)((int)((_opcode >> 50) & 0x6) | (int)((_opcode >> 48) & 0x1));
- }
- struct InstImadspI
- {
- private ulong _opcode;
- public InstImadspI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ImadspASelect ASelect => (ImadspASelect)((_opcode >> 48) & 0x7);
- public ImadspBSelect BSelect => (ImadspBSelect)((_opcode >> 53) & 0x3);
- public ImadspASelect CSelect => (ImadspASelect)((int)((_opcode >> 50) & 0x6) | (int)((_opcode >> 48) & 0x1));
- }
- struct InstImadspC
- {
- private ulong _opcode;
- public InstImadspC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ImadspASelect ASelect => (ImadspASelect)((_opcode >> 48) & 0x7);
- public ImadspBSelect BSelect => (ImadspBSelect)((_opcode >> 53) & 0x3);
- public ImadspASelect CSelect => (ImadspASelect)((int)((_opcode >> 50) & 0x6) | (int)((_opcode >> 48) & 0x1));
- }
- struct InstImadspRc
- {
- private ulong _opcode;
- public InstImadspRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ImadspASelect ASelect => (ImadspASelect)((_opcode >> 48) & 0x7);
- public ImadspBSelect BSelect => (ImadspBSelect)((_opcode >> 53) & 0x3);
- public ImadspASelect CSelect => (ImadspASelect)((int)((_opcode >> 50) & 0x6) | (int)((_opcode >> 48) & 0x1));
- }
- struct InstImnmxR
- {
- private ulong _opcode;
- public InstImnmxR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstImnmxI
- {
- private ulong _opcode;
- public InstImnmxI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstImnmxC
- {
- private ulong _opcode;
- public InstImnmxC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstImulR
- {
- private ulong _opcode;
- public InstImulR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool ASigned => (_opcode & 0x10000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000) != 0;
- public bool Hilo => (_opcode & 0x8000000000) != 0;
- }
- struct InstImulI
- {
- private ulong _opcode;
- public InstImulI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool ASigned => (_opcode & 0x10000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000) != 0;
- public bool Hilo => (_opcode & 0x8000000000) != 0;
- }
- struct InstImulC
- {
- private ulong _opcode;
- public InstImulC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool ASigned => (_opcode & 0x10000000000) != 0;
- public bool BSigned => (_opcode & 0x20000000000) != 0;
- public bool Hilo => (_opcode & 0x8000000000) != 0;
- }
- struct InstImul32i
- {
- private ulong _opcode;
- public InstImul32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool ASigned => (_opcode & 0x40000000000000) != 0;
- public bool BSigned => (_opcode & 0x80000000000000) != 0;
- public bool Hilo => (_opcode & 0x20000000000000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- }
- struct InstIpa
- {
- private ulong _opcode;
- public InstIpa(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IpaOp IpaOp => (IpaOp)((_opcode >> 54) & 0x3);
- public int Msi => (int)((_opcode >> 52) & 0x3);
- public bool Sat => (_opcode & 0x8000000000000) != 0;
- public bool Idx => (_opcode & 0x4000000000) != 0;
- public int Imm10 => (int)((_opcode >> 28) & 0x3FF);
- public int SrcPred => (int)((_opcode >> 47) & 0x7);
- public bool SrcPredInv => (_opcode & 0x4000000000000) != 0;
- }
- struct InstIsberd
- {
- private ulong _opcode;
- public InstIsberd(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public AlSize AlSize => (AlSize)((_opcode >> 47) & 0x3);
- public IBase IBase => (IBase)((_opcode >> 33) & 0x3);
- public bool O => (_opcode & 0x100000000) != 0;
- public bool P => (_opcode & 0x80000000) != 0;
- }
- struct InstIscaddR
- {
- private ulong _opcode;
- public InstIscaddR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int Imm5 => (int)((_opcode >> 39) & 0x1F);
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- }
- struct InstIscaddI
- {
- private ulong _opcode;
- public InstIscaddI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int Imm5 => (int)((_opcode >> 39) & 0x1F);
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- }
- struct InstIscaddC
- {
- private ulong _opcode;
- public InstIscaddC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int Imm5 => (int)((_opcode >> 39) & 0x1F);
- public AvgMode AvgMode => (AvgMode)((_opcode >> 48) & 0x3);
- }
- struct InstIscadd32i
- {
- private ulong _opcode;
- public InstIscadd32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public int Imm5 => (int)((_opcode >> 53) & 0x1F);
- }
- struct InstIsetR
- {
- private ulong _opcode;
- public InstIsetR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool BVal => (_opcode & 0x100000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIsetI
- {
- private ulong _opcode;
- public InstIsetI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool BVal => (_opcode & 0x100000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIsetC
- {
- private ulong _opcode;
- public InstIsetC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public bool BVal => (_opcode & 0x100000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- }
- struct InstIsetpR
- {
- private ulong _opcode;
- public InstIsetpR(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstIsetpI
- {
- private ulong _opcode;
- public InstIsetpI(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstIsetpC
- {
- private ulong _opcode;
- public InstIsetpC(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public IComp IComp => (IComp)((_opcode >> 49) & 0x7);
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public BoolOp Bop => (BoolOp)((_opcode >> 45) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- }
- struct InstJcal
- {
- private ulong _opcode;
- public InstJcal(ulong opcode) => _opcode = opcode;
- public int Imm32 => (int)(_opcode >> 20);
- public bool Ca => (_opcode & 0x20) != 0;
- public bool Inc => (_opcode & 0x40) != 0;
- }
- struct InstJmp
- {
- private ulong _opcode;
- public InstJmp(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- public bool Ca => (_opcode & 0x20) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool Lmt => (_opcode & 0x40) != 0;
- public bool U => (_opcode & 0x80) != 0;
- }
- struct InstJmx
- {
- private ulong _opcode;
- public InstJmx(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- public bool Ca => (_opcode & 0x20) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool Lmt => (_opcode & 0x40) != 0;
- }
- struct InstKil
- {
- private ulong _opcode;
- public InstKil(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstLd
- {
- private ulong _opcode;
- public InstLd(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 58) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 56) & 0x3);
- public LsSize LsSize => (LsSize)((_opcode >> 53) & 0x7);
- public bool E => (_opcode & 0x10000000000000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- }
- struct InstLdc
- {
- private ulong _opcode;
- public InstLdc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public AddressMode AddressMode => (AddressMode)((_opcode >> 44) & 0x3);
- public int CbufSlot => (int)((_opcode >> 36) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0xFFFF);
- }
- struct InstLdg
- {
- private ulong _opcode;
- public InstLdg(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize LsSize => (LsSize)((_opcode >> 48) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 46) & 0x3);
- public bool E => (_opcode & 0x200000000000) != 0;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstLdl
- {
- private ulong _opcode;
- public InstLdl(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public CacheOp2 CacheOp => (CacheOp2)((_opcode >> 44) & 0x3);
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstLds
- {
- private ulong _opcode;
- public InstLds(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public bool U => (_opcode & 0x100000000000) != 0;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstLeaR
- {
- private ulong _opcode;
- public InstLeaR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x400000000000) != 0;
- public bool NegA => (_opcode & 0x200000000000) != 0;
- public int ImmU5 => (int)((_opcode >> 39) & 0x1F);
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstLeaI
- {
- private ulong _opcode;
- public InstLeaI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x400000000000) != 0;
- public bool NegA => (_opcode & 0x200000000000) != 0;
- public int ImmU5 => (int)((_opcode >> 39) & 0x1F);
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstLeaC
- {
- private ulong _opcode;
- public InstLeaC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x400000000000) != 0;
- public bool NegA => (_opcode & 0x200000000000) != 0;
- public int ImmU5 => (int)((_opcode >> 39) & 0x1F);
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstLeaHiR
- {
- private ulong _opcode;
- public InstLeaHiR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x4000000000) != 0;
- public bool NegA => (_opcode & 0x2000000000) != 0;
- public int ImmU5 => (int)((_opcode >> 28) & 0x1F);
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstLeaHiC
- {
- private ulong _opcode;
- public InstLeaHiC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x200000000000000) != 0;
- public bool NegA => (_opcode & 0x100000000000000) != 0;
- public int ImmU5 => (int)((_opcode >> 51) & 0x1F);
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstLepc
- {
- private ulong _opcode;
- public InstLepc(ulong opcode) => _opcode = opcode;
- }
- struct InstLongjmp
- {
- private ulong _opcode;
- public InstLongjmp(ulong opcode) => _opcode = opcode;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstLopR
- {
- private ulong _opcode;
- public InstLopR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- public PredicateOp PredicateOp => (PredicateOp)((_opcode >> 44) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public LogicOp Lop => (LogicOp)((_opcode >> 41) & 0x3);
- public bool NegA => (_opcode & 0x8000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstLopI
- {
- private ulong _opcode;
- public InstLopI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- public PredicateOp PredicateOp => (PredicateOp)((_opcode >> 44) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public LogicOp LogicOp => (LogicOp)((_opcode >> 41) & 0x3);
- public bool NegA => (_opcode & 0x8000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstLopC
- {
- private ulong _opcode;
- public InstLopC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- public PredicateOp PredicateOp => (PredicateOp)((_opcode >> 44) & 0x3);
- public bool X => (_opcode & 0x80000000000) != 0;
- public LogicOp LogicOp => (LogicOp)((_opcode >> 41) & 0x3);
- public bool NegA => (_opcode & 0x8000000000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstLop3R
- {
- private ulong _opcode;
- public InstLop3R(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- public PredicateOp PredicateOp => (PredicateOp)((_opcode >> 36) & 0x3);
- public bool X => (_opcode & 0x4000000000) != 0;
- public int Imm => (int)((_opcode >> 28) & 0xFF);
- }
- struct InstLop3I
- {
- private ulong _opcode;
- public InstLop3I(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x200000000000000) != 0;
- public int Imm => (int)((_opcode >> 48) & 0xFF);
- }
- struct InstLop3C
- {
- private ulong _opcode;
- public InstLop3C(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x100000000000000) != 0;
- public int Imm => (int)((_opcode >> 48) & 0xFF);
- }
- struct InstLop32i
- {
- private ulong _opcode;
- public InstLop32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x10000000000000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- public bool X => (_opcode & 0x200000000000000) != 0;
- public LogicOp LogicOp => (LogicOp)((_opcode >> 53) & 0x3);
- public bool NegA => (_opcode & 0x80000000000000) != 0;
- public bool NegB => (_opcode & 0x100000000000000) != 0;
- }
- struct InstMembar
- {
- private ulong _opcode;
- public InstMembar(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Membar Membar => (Membar)((_opcode >> 8) & 0x3);
- public Ivall Ivall => (Ivall)((_opcode >> 0) & 0x3);
- }
- struct InstMovR
- {
- private ulong _opcode;
- public InstMovR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int QuadMask => (int)((_opcode >> 39) & 0xF);
- }
- struct InstMovI
- {
- private ulong _opcode;
- public InstMovI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int QuadMask => (int)((_opcode >> 39) & 0xF);
- }
- struct InstMovC
- {
- private ulong _opcode;
- public InstMovC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int QuadMask => (int)((_opcode >> 39) & 0xF);
- }
- struct InstMov32i
- {
- private ulong _opcode;
- public InstMov32i(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm32 => (int)(_opcode >> 20);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int QuadMask => (int)((_opcode >> 12) & 0xF);
- }
- struct InstMufu
- {
- private ulong _opcode;
- public InstMufu(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public MufuOp MufuOp => (MufuOp)((_opcode >> 20) & 0xF);
- public bool AbsA => (_opcode & 0x400000000000) != 0;
- public bool NegA => (_opcode & 0x1000000000000) != 0;
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- }
- struct InstNop
- {
- private ulong _opcode;
- public InstNop(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm16 => (int)((_opcode >> 20) & 0xFFFF);
- public bool Trig => (_opcode & 0x2000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 8) & 0x1F);
- }
- struct InstOutR
- {
- private ulong _opcode;
- public InstOutR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public OutType OutType => (OutType)((_opcode >> 39) & 0x3);
- }
- struct InstOutI
- {
- private ulong _opcode;
- public InstOutI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public OutType OutType => (OutType)((_opcode >> 39) & 0x3);
- }
- struct InstOutC
- {
- private ulong _opcode;
- public InstOutC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public OutType OutType => (OutType)((_opcode >> 39) & 0x3);
- }
- struct InstP2rR
- {
- private ulong _opcode;
- public InstP2rR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstP2rI
- {
- private ulong _opcode;
- public InstP2rI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstP2rC
- {
- private ulong _opcode;
- public InstP2rC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstPbk
- {
- private ulong _opcode;
- public InstPbk(ulong opcode) => _opcode = opcode;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- }
- struct InstPcnt
- {
- private ulong _opcode;
- public InstPcnt(ulong opcode) => _opcode = opcode;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- }
- struct InstPexit
- {
- private ulong _opcode;
- public InstPexit(ulong opcode) => _opcode = opcode;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstPixld
- {
- private ulong _opcode;
- public InstPixld(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int DestPred => (int)((_opcode >> 45) & 0x7);
- public PixMode PixMode => (PixMode)((_opcode >> 31) & 0x7);
- public int Imm8 => (int)((_opcode >> 20) & 0xFF);
- }
- struct InstPlongjmp
- {
- private ulong _opcode;
- public InstPlongjmp(ulong opcode) => _opcode = opcode;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- }
- struct InstPopcR
- {
- private ulong _opcode;
- public InstPopcR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstPopcI
- {
- private ulong _opcode;
- public InstPopcI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstPopcC
- {
- private ulong _opcode;
- public InstPopcC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool NegB => (_opcode & 0x10000000000) != 0;
- }
- struct InstPret
- {
- private ulong _opcode;
- public InstPret(ulong opcode) => _opcode = opcode;
- public bool Ca => (_opcode & 0x20) != 0;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Inc => (_opcode & 0x40) != 0;
- }
- struct InstPrmtR
- {
- private ulong _opcode;
- public InstPrmtR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public PMode PMode => (PMode)((_opcode >> 48) & 0xF);
- }
- struct InstPrmtI
- {
- private ulong _opcode;
- public InstPrmtI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public PMode PMode => (PMode)((_opcode >> 48) & 0xF);
- }
- struct InstPrmtC
- {
- private ulong _opcode;
- public InstPrmtC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public PMode PMode => (PMode)((_opcode >> 48) & 0xF);
- }
- struct InstPrmtRc
- {
- private ulong _opcode;
- public InstPrmtRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public PMode PMode => (PMode)((_opcode >> 48) & 0xF);
- }
- struct InstPset
- {
- private ulong _opcode;
- public InstPset(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int Src2Pred => (int)((_opcode >> 12) & 0x7);
- public bool Src2PredInv => (_opcode & 0x8000) != 0;
- public int Src1Pred => (int)((_opcode >> 29) & 0x7);
- public bool Src1PredInv => (_opcode & 0x100000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp BoolOpAB => (BoolOp)((_opcode >> 24) & 0x3);
- public BoolOp BoolOpC => (BoolOp)((_opcode >> 45) & 0x3);
- public bool BVal => (_opcode & 0x100000000000) != 0;
- }
- struct InstPsetp
- {
- private ulong _opcode;
- public InstPsetp(ulong opcode) => _opcode = opcode;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public int Src2Pred => (int)((_opcode >> 12) & 0x7);
- public bool Src2PredInv => (_opcode & 0x8000) != 0;
- public int Src1Pred => (int)((_opcode >> 29) & 0x7);
- public bool Src1PredInv => (_opcode & 0x100000000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public BoolOp BoolOpAB => (BoolOp)((_opcode >> 24) & 0x3);
- public BoolOp BoolOpC => (BoolOp)((_opcode >> 45) & 0x3);
- }
- struct InstR2b
- {
- private ulong _opcode;
- public InstR2b(ulong opcode) => _opcode = opcode;
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public BarMode Mode => (BarMode)((_opcode >> 32) & 0x3);
- public int Name => (int)((_opcode >> 28) & 0xF);
- }
- struct InstR2pR
- {
- private ulong _opcode;
- public InstR2pR(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstR2pI
- {
- private ulong _opcode;
- public InstR2pI(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstR2pC
- {
- private ulong _opcode;
- public InstR2pC(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ByteSel ByteSel => (ByteSel)((_opcode >> 41) & 0x3);
- public bool Ccpr => (_opcode & 0x10000000000) != 0;
- }
- struct InstRam
- {
- private ulong _opcode;
- public InstRam(ulong opcode) => _opcode = opcode;
- }
- struct InstRed
- {
- private ulong _opcode;
- public InstRed(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int Imm20 => (int)((_opcode >> 28) & 0xFFFFF);
- public AtomSize RedSize => (AtomSize)((_opcode >> 20) & 0x7);
- public RedOp RedOp => (RedOp)((_opcode >> 23) & 0x7);
- public bool E => (_opcode & 0x1000000000000) != 0;
- }
- struct InstRet
- {
- private ulong _opcode;
- public InstRet(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstRroR
- {
- private ulong _opcode;
- public InstRroR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool RroOp => (_opcode & 0x8000000000) != 0;
- }
- struct InstRroI
- {
- private ulong _opcode;
- public InstRroI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool RroOp => (_opcode & 0x8000000000) != 0;
- }
- struct InstRroC
- {
- private ulong _opcode;
- public InstRroC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool AbsB => (_opcode & 0x2000000000000) != 0;
- public bool NegB => (_opcode & 0x200000000000) != 0;
- public bool RroOp => (_opcode & 0x8000000000) != 0;
- }
- struct InstRtt
- {
- private ulong _opcode;
- public InstRtt(ulong opcode) => _opcode = opcode;
- }
- struct InstS2r
- {
- private ulong _opcode;
- public InstS2r(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public SReg SReg => (SReg)((_opcode >> 20) & 0xFF);
- }
- struct InstSam
- {
- private ulong _opcode;
- public InstSam(ulong opcode) => _opcode = opcode;
- }
- struct InstSelR
- {
- private ulong _opcode;
- public InstSelR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstSelI
- {
- private ulong _opcode;
- public InstSelI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstSelC
- {
- private ulong _opcode;
- public InstSelC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- }
- struct InstSetcrsptr
- {
- private ulong _opcode;
- public InstSetcrsptr(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- }
- struct InstSetlmembase
- {
- private ulong _opcode;
- public InstSetlmembase(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- }
- struct InstShfLR
- {
- private ulong _opcode;
- public InstShfLR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool M => (_opcode & 0x4000000000000) != 0;
- public XModeShf XModeShf => (XModeShf)((_opcode >> 48) & 0x3);
- public MaxShift MaxShift => (MaxShift)((_opcode >> 37) & 0x3);
- }
- struct InstShfRR
- {
- private ulong _opcode;
- public InstShfRR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool M => (_opcode & 0x4000000000000) != 0;
- public XModeShf XModeShf => (XModeShf)((_opcode >> 48) & 0x3);
- public MaxShift MaxShift => (MaxShift)((_opcode >> 37) & 0x3);
- }
- struct InstShfLI
- {
- private ulong _opcode;
- public InstShfLI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool M => (_opcode & 0x4000000000000) != 0;
- public XModeShf XModeShf => (XModeShf)((_opcode >> 48) & 0x3);
- public MaxShift MaxShift => (MaxShift)((_opcode >> 37) & 0x3);
- public int Imm6 => (int)((_opcode >> 20) & 0x3F);
- }
- struct InstShfRI
- {
- private ulong _opcode;
- public InstShfRI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool M => (_opcode & 0x4000000000000) != 0;
- public XModeShf XModeShf => (XModeShf)((_opcode >> 48) & 0x3);
- public MaxShift MaxShift => (MaxShift)((_opcode >> 37) & 0x3);
- public int Imm6 => (int)((_opcode >> 20) & 0x3F);
- }
- struct InstShfl
- {
- private ulong _opcode;
- public InstShfl(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int SrcBImm => (int)((_opcode >> 20) & 0x1F);
- public int SrcCImm => (int)((_opcode >> 34) & 0x1FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public ShflMode ShflMode => (ShflMode)((_opcode >> 30) & 0x3);
- public bool CFixShfl => (_opcode & 0x20000000) != 0;
- public bool BFixShfl => (_opcode & 0x10000000) != 0;
- public int DestPred => (int)((_opcode >> 48) & 0x7);
- }
- struct InstShlR
- {
- private ulong _opcode;
- public InstShlR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x80000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstShlI
- {
- private ulong _opcode;
- public InstShlI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x80000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstShlC
- {
- private ulong _opcode;
- public InstShlC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x80000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstShrR
- {
- private ulong _opcode;
- public InstShrR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public bool Brev => (_opcode & 0x10000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstShrI
- {
- private ulong _opcode;
- public InstShrI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Imm20 => (int)((_opcode >> 37) & 0x80000) | (int)((_opcode >> 20) & 0x7FFFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public bool Brev => (_opcode & 0x10000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstShrC
- {
- private ulong _opcode;
- public InstShrC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Signed => (_opcode & 0x1000000000000) != 0;
- public XMode XMode => (XMode)((_opcode >> 43) & 0x3);
- public bool Brev => (_opcode & 0x10000000000) != 0;
- public bool M => (_opcode & 0x8000000000) != 0;
- }
- struct InstSsy
- {
- private ulong _opcode;
- public InstSsy(ulong opcode) => _opcode = opcode;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- public bool Ca => (_opcode & 0x20) != 0;
- }
- struct InstSt
- {
- private ulong _opcode;
- public InstSt(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 58) & 0x7);
- public CacheOp Cop => (CacheOp)((_opcode >> 56) & 0x3);
- public LsSize LsSize => (LsSize)((_opcode >> 53) & 0x7);
- public bool E => (_opcode & 0x10000000000000) != 0;
- public int Imm32 => (int)(_opcode >> 20);
- }
- struct InstStg
- {
- private ulong _opcode;
- public InstStg(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 46) & 0x3);
- public bool E => (_opcode & 0x200000000000) != 0;
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstStl
- {
- private ulong _opcode;
- public InstStl(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public CacheOp2 CacheOp => (CacheOp2)((_opcode >> 44) & 0x3);
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstStp
- {
- private ulong _opcode;
- public InstStp(ulong opcode) => _opcode = opcode;
- public bool Wait => (_opcode & 0x80000000) != 0;
- public int Imm8 => (int)((_opcode >> 20) & 0xFF);
- }
- struct InstSts
- {
- private ulong _opcode;
- public InstSts(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public LsSize2 LsSize => (LsSize2)((_opcode >> 48) & 0x7);
- public int Imm24 => (int)((_opcode >> 20) & 0xFFFFFF);
- }
- struct InstSuatomB
- {
- private ulong _opcode;
- public InstSuatomB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuatomSize Size => (SuatomSize)((_opcode >> 36) & 0x7);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public SuatomOp Op => (SuatomOp)((_opcode >> 29) & 0xF);
- public bool Ba => (_opcode & 0x10000000) != 0;
- }
- struct InstSuatom
- {
- private ulong _opcode;
- public InstSuatom(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public SuatomSize Size => (SuatomSize)((_opcode >> 51) & 0x7);
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public SuatomOp Op => (SuatomOp)((_opcode >> 29) & 0xF);
- public bool Ba => (_opcode & 0x10000000) != 0;
- }
- struct InstSuatomB2
- {
- private ulong _opcode;
- public InstSuatomB2(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuatomSize Size => (SuatomSize)((_opcode >> 36) & 0x7);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public SuatomOp Op => (SuatomOp)((_opcode >> 29) & 0xF);
- public bool Ba => (_opcode & 0x10000000) != 0;
- }
- struct InstSuatomCasB
- {
- private ulong _opcode;
- public InstSuatomCasB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuatomSize Size => (SuatomSize)((_opcode >> 36) & 0x7);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred => (int)((_opcode >> 30) & 0x7);
- public bool Ba => (_opcode & 0x10000000) != 0;
- }
- struct InstSuatomCas
- {
- private ulong _opcode;
- public InstSuatomCas(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public SuatomSize Size => (SuatomSize)((_opcode >> 51) & 0x7);
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred => (int)((_opcode >> 30) & 0x7);
- public bool Ba => (_opcode & 0x10000000) != 0;
- }
- struct InstSuldDB
- {
- private ulong _opcode;
- public InstSuldDB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred2 => (int)((_opcode >> 30) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuSize Size => (SuSize)((_opcode >> 20) & 0x7);
- }
- struct InstSuldD
- {
- private ulong _opcode;
- public InstSuldD(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred2 => (int)((_opcode >> 30) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuSize Size => (SuSize)((_opcode >> 20) & 0x7);
- }
- struct InstSuldB
- {
- private ulong _opcode;
- public InstSuldB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred2 => (int)((_opcode >> 30) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public SuRgba Rgba => (SuRgba)((_opcode >> 20) & 0xF);
- }
- struct InstSuld
- {
- private ulong _opcode;
- public InstSuld(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public int DestPred2 => (int)((_opcode >> 30) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public SuRgba Rgba => (SuRgba)((_opcode >> 20) & 0xF);
- }
- struct InstSuredB
- {
- private ulong _opcode;
- public InstSuredB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public RedOp Op => (RedOp)((_opcode >> 24) & 0x7);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuatomSize Size => (SuatomSize)((_opcode >> 20) & 0x7);
- }
- struct InstSured
- {
- private ulong _opcode;
- public InstSured(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public RedOp Op => (RedOp)((_opcode >> 24) & 0x7);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuatomSize Size => (SuatomSize)((_opcode >> 20) & 0x7);
- }
- struct InstSustDB
- {
- private ulong _opcode;
- public InstSustDB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuSize Size => (SuSize)((_opcode >> 20) & 0x7);
- }
- struct InstSustD
- {
- private ulong _opcode;
- public InstSustD(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public bool Ba => (_opcode & 0x800000) != 0;
- public SuSize Size => (SuSize)((_opcode >> 20) & 0x7);
- }
- struct InstSustB
- {
- private ulong _opcode;
- public InstSustB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public SuRgba Rgba => (SuRgba)((_opcode >> 20) & 0xF);
- }
- struct InstSust
- {
- private ulong _opcode;
- public InstSust(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Clamp Clamp => (Clamp)((_opcode >> 49) & 0x3);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public SuDim Dim => (SuDim)((_opcode >> 33) & 0x7);
- public CacheOp CacheOp => (CacheOp)((_opcode >> 24) & 0x3);
- public SuRgba Rgba => (SuRgba)((_opcode >> 20) & 0xF);
- }
- struct InstSync
- {
- private ulong _opcode;
- public InstSync(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public Ccc Ccc => (Ccc)((_opcode >> 0) & 0x1F);
- }
- struct InstTex
- {
- private ulong _opcode;
- public InstTex(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Lc => (_opcode & 0x400000000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public Lod Lod => (Lod)((_opcode >> 55) & 0x7);
- public bool Aoffi => (_opcode & 0x40000000000000) != 0;
- public bool Dc => (_opcode & 0x4000000000000) != 0;
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- }
- struct InstTexB
- {
- private ulong _opcode;
- public InstTexB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Lcb => (_opcode & 0x10000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public Lod Lodb => (Lod)((_opcode >> 37) & 0x7);
- public bool Aoffib => (_opcode & 0x1000000000) != 0;
- public bool Dc => (_opcode & 0x4000000000000) != 0;
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- }
- struct InstTexs
- {
- private ulong _opcode;
- public InstTexs(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public TexsTarget Target => (TexsTarget)((_opcode >> 53) & 0xF);
- public int WMask => (int)((_opcode >> 50) & 0x7);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int Dest2 => (int)((_opcode >> 28) & 0xFF);
- }
- struct InstTld
- {
- private ulong _opcode;
- public InstTld(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Lod => (_opcode & 0x80000000000000) != 0;
- public bool Toff => (_opcode & 0x800000000) != 0;
- public bool Ms => (_opcode & 0x4000000000000) != 0;
- public bool Cl => (_opcode & 0x40000000000000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTldB
- {
- private ulong _opcode;
- public InstTldB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Lod => (_opcode & 0x80000000000000) != 0;
- public bool Toff => (_opcode & 0x800000000) != 0;
- public bool Ms => (_opcode & 0x4000000000000) != 0;
- public bool Cl => (_opcode & 0x40000000000000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTlds
- {
- private ulong _opcode;
- public InstTlds(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public TldsTarget Target => (TldsTarget)((_opcode >> 53) & 0xF);
- public int WMask => (int)((_opcode >> 50) & 0x7);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int Dest2 => (int)((_opcode >> 28) & 0xFF);
- }
- struct InstTld4
- {
- private ulong _opcode;
- public InstTld4(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Lc => (_opcode & 0x400000000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public TexComp TexComp => (TexComp)((_opcode >> 56) & 0x3);
- public TexOffset Toff => (TexOffset)((_opcode >> 54) & 0x3);
- public bool Dc => (_opcode & 0x4000000000000) != 0;
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- }
- struct InstTld4B
- {
- private ulong _opcode;
- public InstTld4B(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Lc => (_opcode & 0x10000000000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public TexComp TexComp => (TexComp)((_opcode >> 38) & 0x3);
- public TexOffset Toff => (TexOffset)((_opcode >> 36) & 0x3);
- public bool Dc => (_opcode & 0x4000000000000) != 0;
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- }
- struct InstTld4s
- {
- private ulong _opcode;
- public InstTld4s(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public TexComp TexComp => (TexComp)((_opcode >> 52) & 0x3);
- public bool Aoffi => (_opcode & 0x8000000000000) != 0;
- public bool Dc => (_opcode & 0x4000000000000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int Dest2 => (int)((_opcode >> 28) & 0xFF);
- }
- struct InstTmml
- {
- private ulong _opcode;
- public InstTmml(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTmmlB
- {
- private ulong _opcode;
- public InstTmmlB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTxa
- {
- private ulong _opcode;
- public InstTxa(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public bool Ndv => (_opcode & 0x800000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- }
- struct InstTxd
- {
- private ulong _opcode;
- public InstTxd(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public bool Lc => (_opcode & 0x4000000000000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public bool Toff => (_opcode & 0x800000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTxdB
- {
- private ulong _opcode;
- public InstTxdB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int DestPred => (int)((_opcode >> 51) & 0x7);
- public bool Lc => (_opcode & 0x4000000000000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public bool Toff => (_opcode & 0x800000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexDim Dim => (TexDim)((_opcode >> 28) & 0x7);
- }
- struct InstTxq
- {
- private ulong _opcode;
- public InstTxq(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int TidB => (int)((_opcode >> 36) & 0x1FFF);
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexQuery TexQuery => (TexQuery)((_opcode >> 22) & 0x3F);
- }
- struct InstTxqB
- {
- private ulong _opcode;
- public InstTxqB(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool Nodep => (_opcode & 0x2000000000000) != 0;
- public int WMask => (int)((_opcode >> 31) & 0xF);
- public TexQuery TexQuery => (TexQuery)((_opcode >> 22) & 0x3F);
- }
- struct InstVabsdiff
- {
- private ulong _opcode;
- public InstVabsdiff(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool DFormat => (_opcode & 0x40000000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVabsdiff4
- {
- private ulong _opcode;
- public InstVabsdiff4(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public VideoRed VRed => (VideoRed)((_opcode >> 53) & 0x3);
- public LaneMask4 LaneMask4 => (LaneMask4)((int)((_opcode >> 49) & 0xC) | (int)((_opcode >> 36) & 0x3));
- public bool Sat => (_opcode & 0x4000000000000) != 0;
- public bool SrcBFmt => (_opcode & 0x2000000000000) != 0;
- public bool SrcAFmt => (_opcode & 0x1000000000000) != 0;
- public bool DFormat => (_opcode & 0x4000000000) != 0;
- public ASelect4 Asel4 => (ASelect4)((_opcode >> 32) & 0xF);
- public BSelect4 Bsel4 => (BSelect4)((_opcode >> 28) & 0xF);
- }
- struct InstVadd
- {
- private ulong _opcode;
- public InstVadd(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 56) & 0x3);
- public bool DFormat => (_opcode & 0x40000000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVmad
- {
- private ulong _opcode;
- public InstVmad(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public AvgMode AvgMode => (AvgMode)((_opcode >> 53) & 0x3);
- public VideoScale VideoScale => (VideoScale)((_opcode >> 51) & 0x3);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVmnmx
- {
- private ulong _opcode;
- public InstVmnmx(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public int Imm16 => (int)((_opcode >> 20) & 0xFFFF);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool DFormat => (_opcode & 0x40000000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool Mn => (_opcode & 0x100000000000000) != 0;
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVote
- {
- private ulong _opcode;
- public InstVote(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public VoteMode VoteMode => (VoteMode)((_opcode >> 48) & 0x3);
- public int VpDest => (int)((_opcode >> 45) & 0x7);
- }
- struct InstVotevtg
- {
- private ulong _opcode;
- public InstVotevtg(ulong opcode) => _opcode = opcode;
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public VoteMode VoteMode => (VoteMode)((_opcode >> 48) & 0x3);
- public int Imm28 => (int)((_opcode >> 20) & 0xFFFFFFF);
- }
- struct InstVset
- {
- private ulong _opcode;
- public InstVset(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public IComp VComp => (IComp)((_opcode >> 54) & 0x7);
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVsetp
- {
- private ulong _opcode;
- public InstVsetp(ulong opcode) => _opcode = opcode;
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((int)((_opcode >> 46) & 0x8) | (int)((_opcode >> 28) & 0x7));
- public IComp VComp => (IComp)((int)((_opcode >> 45) & 0x4) | (int)((_opcode >> 43) & 0x3));
- public BoolOp BoolOp => (BoolOp)((_opcode >> 45) & 0x3);
- public int SrcPred => (int)((_opcode >> 39) & 0x7);
- public bool SrcPredInv => (_opcode & 0x40000000000) != 0;
- public int DestPred => (int)((_opcode >> 3) & 0x7);
- public int DestPredInv => (int)((_opcode >> 0) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVshl
- {
- private ulong _opcode;
- public InstVshl(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Mv => (_opcode & 0x2000000000000) != 0;
- public bool DFormat => (_opcode & 0x40000000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((_opcode >> 28) & 0x7);
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstVshr
- {
- private ulong _opcode;
- public InstVshr(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Mv => (_opcode & 0x2000000000000) != 0;
- public bool DFormat => (_opcode & 0x40000000000000) != 0;
- public VectorSelect ASelect => (VectorSelect)((int)((_opcode >> 45) & 0x8) | (int)((_opcode >> 36) & 0x7));
- public VectorSelect BSelect => (VectorSelect)((_opcode >> 28) & 0x7);
- public bool Sat => (_opcode & 0x80000000000000) != 0;
- public VideoOp VideoOp => (VideoOp)((_opcode >> 51) & 0x7);
- public bool BVideo => (_opcode & 0x4000000000000) != 0;
- }
- struct InstXmadR
- {
- private ulong _opcode;
- public InstXmadR(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcB => (int)((_opcode >> 20) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool HiloA => (_opcode & 0x20000000000000) != 0;
- public XmadCop XmadCop => (XmadCop)((_opcode >> 50) & 0x7);
- public bool BSigned => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- public bool X => (_opcode & 0x4000000000) != 0;
- public bool Mrg => (_opcode & 0x2000000000) != 0;
- public bool Psl => (_opcode & 0x1000000000) != 0;
- public bool HiloB => (_opcode & 0x800000000) != 0;
- }
- struct InstXmadI
- {
- private ulong _opcode;
- public InstXmadI(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public int Imm16 => (int)((_opcode >> 20) & 0xFFFF);
- public bool HiloA => (_opcode & 0x20000000000000) != 0;
- public XmadCop XmadCop => (XmadCop)((_opcode >> 50) & 0x7);
- public bool BSigned => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- public bool X => (_opcode & 0x4000000000) != 0;
- public bool Mrg => (_opcode & 0x2000000000) != 0;
- public bool Psl => (_opcode & 0x1000000000) != 0;
- }
- struct InstXmadC
- {
- private ulong _opcode;
- public InstXmadC(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool Mrg => (_opcode & 0x100000000000000) != 0;
- public bool Psl => (_opcode & 0x80000000000000) != 0;
- public bool X => (_opcode & 0x40000000000000) != 0;
- public bool HiloA => (_opcode & 0x20000000000000) != 0;
- public bool HiloB => (_opcode & 0x10000000000000) != 0;
- public XmadCop2 XmadCop => (XmadCop2)((_opcode >> 50) & 0x3);
- public bool BSigned => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- struct InstXmadRc
- {
- private ulong _opcode;
- public InstXmadRc(ulong opcode) => _opcode = opcode;
- public int Dest => (int)((_opcode >> 0) & 0xFF);
- public int SrcA => (int)((_opcode >> 8) & 0xFF);
- public int SrcC => (int)((_opcode >> 39) & 0xFF);
- public int CbufSlot => (int)((_opcode >> 34) & 0x1F);
- public int CbufOffset => (int)((_opcode >> 20) & 0x3FFF);
- public int Pred => (int)((_opcode >> 16) & 0x7);
- public bool PredInv => (_opcode & 0x80000) != 0;
- public bool WriteCC => (_opcode & 0x800000000000) != 0;
- public bool X => (_opcode & 0x40000000000000) != 0;
- public bool HiloA => (_opcode & 0x20000000000000) != 0;
- public bool HiloB => (_opcode & 0x10000000000000) != 0;
- public XmadCop2 XmadCop => (XmadCop2)((_opcode >> 50) & 0x3);
- public bool BSigned => (_opcode & 0x2000000000000) != 0;
- public bool ASigned => (_opcode & 0x1000000000000) != 0;
- }
- }
|