insn-flags.h 1.1 MB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205112061120711208112091121011211112121121311214112151121611217112181121911220112211122211223112241122511226112271122811229112301123111232112331123411235112361123711238112391124011241112421124311244112451124611247112481124911250112511125211253112541125511256112571125811259112601126111262112631126411265112661126711268112691127011271112721127311274112751127611277112781127911280112811128211283112841128511286112871128811289112901129111292112931129411295112961129711298112991130011301113021130311304113051130611307113081130911310113111131211313113141131511316113171131811319113201132111322113231132411325113261132711328113291133011331113321133311334113351133611337113381133911340113411134211343113441134511346113471134811349113501135111352113531135411355113561135711358113591136011361113621136311364113651136611367113681136911370113711137211373113741137511376113771137811379113801138111382113831138411385113861138711388113891139011391113921139311394113951139611397113981139911400114011140211403114041140511406114071140811409114101141111412114131141411415114161141711418114191142011421114221142311424114251142611427114281142911430114311143211433114341143511436114371143811439114401144111442114431144411445114461144711448114491145011451114521145311454114551145611457114581145911460114611146211463114641146511466114671146811469114701147111472114731147411475114761147711478114791148011481114821148311484114851148611487114881148911490114911149211493114941149511496114971149811499115001150111502115031150411505115061150711508115091151011511115121151311514115151151611517115181151911520115211152211523115241152511526115271152811529115301153111532115331153411535115361153711538115391154011541115421154311544115451154611547115481154911550115511155211553115541155511556115571155811559115601156111562115631156411565115661156711568115691157011571115721157311574115751157611577115781157911580115811158211583115841158511586115871158811589115901159111592115931159411595115961159711598115991160011601116021160311604116051160611607116081160911610116111161211613116141161511616116171161811619116201162111622116231162411625116261162711628116291163011631116321163311634116351163611637116381163911640116411164211643116441164511646116471164811649116501165111652116531165411655116561165711658116591166011661116621166311664116651166611667116681166911670116711167211673116741167511676116771167811679116801168111682116831168411685116861168711688116891169011691116921169311694116951169611697116981169911700117011170211703117041170511706117071170811709117101171111712117131171411715117161171711718117191172011721117221172311724117251172611727117281172911730117311173211733117341173511736117371173811739117401174111742117431174411745117461174711748117491175011751117521175311754117551175611757117581175911760117611176211763117641176511766117671176811769117701177111772117731177411775117761177711778117791178011781117821178311784117851178611787117881178911790117911179211793117941179511796117971179811799118001180111802118031180411805118061180711808118091181011811118121181311814118151181611817118181181911820118211182211823118241182511826118271182811829118301183111832118331183411835118361183711838118391184011841118421184311844118451184611847118481184911850118511185211853118541185511856118571185811859118601186111862118631186411865118661186711868118691187011871118721187311874118751187611877118781187911880118811188211883118841188511886118871188811889118901189111892118931189411895118961189711898118991190011901119021190311904119051190611907119081190911910119111191211913119141191511916119171191811919119201192111922119231192411925119261192711928119291193011931119321193311934119351193611937119381193911940119411194211943119441194511946119471194811949119501195111952119531195411955119561195711958119591196011961119621196311964119651196611967119681196911970119711197211973119741197511976119771197811979119801198111982119831198411985119861198711988119891199011991119921199311994119951199611997119981199912000120011200212003120041200512006120071200812009120101201112012120131201412015120161201712018120191202012021120221202312024120251202612027120281202912030120311203212033120341203512036120371203812039120401204112042120431204412045120461204712048120491205012051120521205312054120551205612057120581205912060120611206212063120641206512066120671206812069120701207112072120731207412075120761207712078120791208012081120821208312084120851208612087120881208912090120911209212093120941209512096120971209812099121001210112102121031210412105121061210712108121091211012111121121211312114121151211612117121181211912120121211212212123121241212512126121271212812129121301213112132121331213412135121361213712138121391214012141121421214312144121451214612147121481214912150121511215212153121541215512156121571215812159121601216112162121631216412165121661216712168121691217012171121721217312174121751217612177121781217912180121811218212183121841218512186121871218812189121901219112192121931219412195121961219712198121991220012201122021220312204122051220612207122081220912210122111221212213122141221512216122171221812219122201222112222122231222412225122261222712228122291223012231122321223312234122351223612237122381223912240122411224212243122441224512246122471224812249122501225112252122531225412255122561225712258122591226012261122621226312264122651226612267122681226912270122711227212273122741227512276122771227812279122801228112282122831228412285122861228712288122891229012291122921229312294122951229612297122981229912300123011230212303123041230512306123071230812309123101231112312123131231412315123161231712318123191232012321123221232312324123251232612327123281232912330123311233212333123341233512336123371233812339123401234112342123431234412345123461234712348123491235012351123521235312354123551235612357123581235912360123611236212363123641236512366123671236812369123701237112372123731237412375123761237712378123791238012381123821238312384123851238612387123881238912390123911239212393123941239512396123971239812399124001240112402124031240412405124061240712408124091241012411124121241312414124151241612417124181241912420124211242212423124241242512426124271242812429124301243112432124331243412435124361243712438124391244012441124421244312444124451244612447124481244912450124511245212453124541245512456124571245812459124601246112462124631246412465124661246712468124691247012471124721247312474124751247612477124781247912480124811248212483124841248512486124871248812489124901249112492124931249412495124961249712498124991250012501125021250312504125051250612507125081250912510125111251212513125141251512516125171251812519125201252112522125231252412525125261252712528125291253012531125321253312534125351253612537125381253912540125411254212543125441254512546125471254812549125501255112552125531255412555125561255712558125591256012561125621256312564125651256612567125681256912570125711257212573125741257512576125771257812579125801258112582125831258412585125861258712588125891259012591125921259312594125951259612597125981259912600126011260212603126041260512606126071260812609126101261112612126131261412615126161261712618126191262012621126221262312624126251262612627126281262912630126311263212633126341263512636126371263812639126401264112642126431264412645126461264712648126491265012651126521265312654126551265612657126581265912660126611266212663126641266512666126671266812669126701267112672126731267412675126761267712678126791268012681126821268312684126851268612687126881268912690126911269212693126941269512696126971269812699127001270112702127031270412705127061270712708127091271012711127121271312714127151271612717127181271912720127211272212723127241272512726127271272812729127301273112732127331273412735127361273712738127391274012741127421274312744127451274612747127481274912750127511275212753127541275512756127571275812759127601276112762127631276412765127661276712768127691277012771127721277312774127751277612777127781277912780127811278212783127841278512786127871278812789127901279112792127931279412795127961279712798127991280012801128021280312804128051280612807128081280912810128111281212813128141281512816128171281812819128201282112822128231282412825128261282712828128291283012831128321283312834128351283612837128381283912840128411284212843128441284512846128471284812849128501285112852128531285412855128561285712858128591286012861128621286312864128651286612867128681286912870128711287212873128741287512876128771287812879128801288112882128831288412885128861288712888128891289012891128921289312894128951289612897128981289912900129011290212903129041290512906129071290812909129101291112912129131291412915129161291712918129191292012921129221292312924129251292612927129281292912930129311293212933129341293512936129371293812939129401294112942129431294412945129461294712948129491295012951129521295312954129551295612957129581295912960129611296212963129641296512966129671296812969129701297112972129731297412975129761297712978129791298012981129821298312984129851298612987129881298912990129911299212993129941299512996129971299812999130001300113002130031300413005130061300713008130091301013011130121301313014130151301613017130181301913020130211302213023130241302513026130271302813029130301303113032130331303413035130361303713038130391304013041130421304313044130451304613047130481304913050130511305213053130541305513056130571305813059130601306113062130631306413065130661306713068130691307013071130721307313074130751307613077130781307913080130811308213083130841308513086130871308813089130901309113092130931309413095130961309713098130991310013101131021310313104131051310613107131081310913110131111311213113131141311513116131171311813119131201312113122131231312413125131261312713128131291313013131131321313313134131351313613137131381313913140131411314213143131441314513146131471314813149131501315113152131531315413155131561315713158131591316013161131621316313164131651316613167131681316913170131711317213173131741317513176131771317813179131801318113182131831318413185131861318713188131891319013191131921319313194131951319613197131981319913200132011320213203132041320513206132071320813209132101321113212132131321413215132161321713218132191322013221132221322313224132251322613227132281322913230132311323213233132341323513236132371323813239132401324113242132431324413245132461324713248132491325013251132521325313254132551325613257132581325913260132611326213263132641326513266132671326813269132701327113272132731327413275132761327713278132791328013281132821328313284132851328613287132881328913290132911329213293132941329513296132971329813299133001330113302133031330413305133061330713308133091331013311133121331313314133151331613317133181331913320133211332213323133241332513326133271332813329133301333113332133331333413335133361333713338133391334013341133421334313344133451334613347133481334913350133511335213353133541335513356133571335813359133601336113362133631336413365133661336713368133691337013371133721337313374133751337613377133781337913380133811338213383133841338513386133871338813389133901339113392133931339413395133961339713398133991340013401134021340313404134051340613407134081340913410134111341213413134141341513416134171341813419134201342113422134231342413425134261342713428134291343013431134321343313434134351343613437134381343913440134411344213443134441344513446134471344813449134501345113452134531345413455134561345713458134591346013461134621346313464134651346613467134681346913470134711347213473134741347513476134771347813479134801348113482134831348413485134861348713488134891349013491134921349313494134951349613497134981349913500135011350213503135041350513506135071350813509135101351113512135131351413515135161351713518135191352013521135221352313524135251352613527135281352913530135311353213533135341353513536135371353813539135401354113542135431354413545135461354713548135491355013551135521355313554135551355613557135581355913560135611356213563135641356513566135671356813569135701357113572135731357413575135761357713578135791358013581135821358313584135851358613587135881358913590135911359213593135941359513596135971359813599136001360113602136031360413605136061360713608136091361013611136121361313614136151361613617136181361913620136211362213623136241362513626136271362813629136301363113632136331363413635136361363713638136391364013641136421364313644136451364613647136481364913650136511365213653136541365513656136571365813659136601366113662136631366413665136661366713668136691367013671136721367313674136751367613677136781367913680136811368213683136841368513686136871368813689136901369113692136931369413695136961369713698136991370013701137021370313704137051370613707137081370913710137111371213713137141371513716137171371813719137201372113722137231372413725137261372713728137291373013731137321373313734137351373613737137381373913740137411374213743137441374513746137471374813749137501375113752137531375413755137561375713758137591376013761137621376313764137651376613767137681376913770137711377213773137741377513776137771377813779137801378113782137831378413785137861378713788137891379013791137921379313794137951379613797137981379913800138011380213803138041380513806138071380813809138101381113812138131381413815138161381713818138191382013821138221382313824138251382613827138281382913830138311383213833138341383513836138371383813839138401384113842138431384413845138461384713848138491385013851138521385313854138551385613857138581385913860138611386213863138641386513866138671386813869138701387113872138731387413875138761387713878138791388013881138821388313884138851388613887138881388913890138911389213893138941389513896138971389813899139001390113902139031390413905139061390713908139091391013911139121391313914139151391613917139181391913920139211392213923139241392513926139271392813929139301393113932139331393413935139361393713938139391394013941139421394313944139451394613947139481394913950139511395213953139541395513956139571395813959139601396113962139631396413965139661396713968139691397013971139721397313974139751397613977139781397913980139811398213983139841398513986139871398813989139901399113992139931399413995139961399713998139991400014001140021400314004140051400614007140081400914010140111401214013140141401514016140171401814019140201402114022140231402414025140261402714028140291403014031140321403314034140351403614037140381403914040140411404214043140441404514046140471404814049140501405114052140531405414055140561405714058140591406014061140621406314064140651406614067140681406914070140711407214073140741407514076140771407814079140801408114082140831408414085140861408714088140891409014091140921409314094140951409614097140981409914100141011410214103141041410514106141071410814109141101411114112141131411414115141161411714118141191412014121141221412314124141251412614127141281412914130141311413214133141341413514136141371413814139141401414114142141431414414145141461414714148141491415014151141521415314154141551415614157141581415914160141611416214163141641416514166141671416814169141701417114172141731417414175141761417714178141791418014181141821418314184141851418614187141881418914190141911419214193141941419514196141971419814199142001420114202142031420414205142061420714208142091421014211142121421314214142151421614217142181421914220142211422214223142241422514226142271422814229142301423114232142331423414235142361423714238142391424014241142421424314244142451424614247142481424914250142511425214253142541425514256142571425814259142601426114262142631426414265142661426714268142691427014271142721427314274142751427614277142781427914280142811428214283142841428514286142871428814289142901429114292142931429414295142961429714298142991430014301143021430314304143051430614307143081430914310143111431214313143141431514316143171431814319143201432114322143231432414325143261432714328143291433014331143321433314334143351433614337143381433914340143411434214343143441434514346143471434814349143501435114352143531435414355143561435714358143591436014361143621436314364143651436614367143681436914370143711437214373143741437514376143771437814379143801438114382143831438414385143861438714388143891439014391143921439314394143951439614397143981439914400144011440214403144041440514406144071440814409144101441114412144131441414415144161441714418144191442014421144221442314424144251442614427144281442914430144311443214433144341443514436144371443814439144401444114442144431444414445144461444714448144491445014451144521445314454144551445614457144581445914460144611446214463144641446514466144671446814469144701447114472144731447414475144761447714478144791448014481144821448314484144851448614487144881448914490144911449214493144941449514496144971449814499145001450114502145031450414505145061450714508145091451014511145121451314514145151451614517145181451914520145211452214523145241452514526145271452814529145301453114532145331453414535145361453714538145391454014541145421454314544145451454614547145481454914550145511455214553145541455514556145571455814559145601456114562145631456414565145661456714568145691457014571145721457314574145751457614577145781457914580145811458214583145841458514586145871458814589145901459114592145931459414595145961459714598145991460014601146021460314604146051460614607146081460914610146111461214613146141461514616146171461814619146201462114622146231462414625146261462714628146291463014631146321463314634146351463614637146381463914640146411464214643146441464514646146471464814649146501465114652146531465414655146561465714658146591466014661146621466314664146651466614667146681466914670146711467214673146741467514676146771467814679146801468114682146831468414685146861468714688146891469014691146921469314694146951469614697146981469914700147011470214703147041470514706147071470814709147101471114712147131471414715147161471714718147191472014721147221472314724147251472614727147281472914730147311473214733147341473514736147371473814739147401474114742147431474414745147461474714748147491475014751147521475314754147551475614757147581475914760147611476214763147641476514766147671476814769147701477114772147731477414775147761477714778147791478014781147821478314784147851478614787147881478914790147911479214793147941479514796147971479814799148001480114802148031480414805148061480714808148091481014811148121481314814148151481614817148181481914820148211482214823148241482514826148271482814829148301483114832148331483414835148361483714838148391484014841148421484314844148451484614847148481484914850148511485214853148541485514856148571485814859148601486114862148631486414865148661486714868148691487014871148721487314874148751487614877148781487914880148811488214883148841488514886148871488814889148901489114892148931489414895148961489714898148991490014901149021490314904149051490614907149081490914910149111491214913149141491514916149171491814919149201492114922149231492414925149261492714928149291493014931149321493314934149351493614937149381493914940149411494214943149441494514946149471494814949149501495114952149531495414955149561495714958149591496014961149621496314964149651496614967149681496914970149711497214973149741497514976149771497814979149801498114982149831498414985149861498714988149891499014991149921499314994149951499614997149981499915000150011500215003150041500515006150071500815009150101501115012150131501415015150161501715018150191502015021150221502315024150251502615027150281502915030150311503215033150341503515036150371503815039150401504115042150431504415045150461504715048150491505015051150521505315054150551505615057150581505915060150611506215063150641506515066150671506815069150701507115072150731507415075150761507715078150791508015081150821508315084150851508615087150881508915090150911509215093150941509515096150971509815099151001510115102151031510415105151061510715108151091511015111151121511315114151151511615117151181511915120151211512215123151241512515126151271512815129151301513115132151331513415135151361513715138151391514015141151421514315144151451514615147151481514915150151511515215153151541515515156151571515815159151601516115162151631516415165151661516715168151691517015171151721517315174151751517615177151781517915180151811518215183151841518515186151871518815189151901519115192151931519415195151961519715198151991520015201152021520315204152051520615207152081520915210152111521215213152141521515216152171521815219152201522115222152231522415225152261522715228152291523015231152321523315234152351523615237152381523915240152411524215243152441524515246152471524815249152501525115252152531525415255152561525715258152591526015261152621526315264152651526615267152681526915270152711527215273152741527515276152771527815279152801528115282152831528415285152861528715288152891529015291152921529315294152951529615297152981529915300153011530215303153041530515306153071530815309153101531115312153131531415315153161531715318153191532015321153221532315324153251532615327153281532915330153311533215333153341533515336153371533815339153401534115342153431534415345153461534715348153491535015351153521535315354153551535615357153581535915360153611536215363153641536515366153671536815369153701537115372153731537415375153761537715378153791538015381153821538315384153851538615387153881538915390153911539215393153941539515396153971539815399154001540115402154031540415405154061540715408154091541015411154121541315414154151541615417154181541915420154211542215423154241542515426154271542815429154301543115432154331543415435154361543715438154391544015441154421544315444154451544615447154481544915450154511545215453154541545515456154571545815459154601546115462154631546415465154661546715468154691547015471154721547315474154751547615477154781547915480154811548215483154841548515486154871548815489154901549115492154931549415495154961549715498154991550015501155021550315504155051550615507155081550915510155111551215513155141551515516155171551815519155201552115522155231552415525155261552715528155291553015531155321553315534155351553615537155381553915540155411554215543155441554515546155471554815549155501555115552155531555415555155561555715558155591556015561155621556315564155651556615567155681556915570155711557215573155741557515576155771557815579155801558115582155831558415585155861558715588155891559015591155921559315594155951559615597155981559915600156011560215603156041560515606156071560815609156101561115612156131561415615156161561715618156191562015621156221562315624156251562615627156281562915630156311563215633156341563515636156371563815639156401564115642156431564415645156461564715648156491565015651156521565315654156551565615657156581565915660156611566215663156641566515666156671566815669156701567115672156731567415675156761567715678156791568015681156821568315684156851568615687156881568915690156911569215693156941569515696156971569815699157001570115702157031570415705157061570715708157091571015711157121571315714157151571615717157181571915720157211572215723157241572515726157271572815729157301573115732157331573415735157361573715738157391574015741157421574315744157451574615747157481574915750157511575215753157541575515756157571575815759157601576115762157631576415765157661576715768157691577015771157721577315774157751577615777157781577915780157811578215783157841578515786157871578815789157901579115792157931579415795157961579715798157991580015801158021580315804158051580615807158081580915810158111581215813158141581515816158171581815819158201582115822158231582415825158261582715828158291583015831158321583315834158351583615837158381583915840158411584215843158441584515846158471584815849158501585115852158531585415855158561585715858158591586015861158621586315864158651586615867158681586915870158711587215873158741587515876158771587815879158801588115882158831588415885158861588715888158891589015891158921589315894158951589615897158981589915900159011590215903159041590515906159071590815909159101591115912159131591415915159161591715918159191592015921159221592315924159251592615927159281592915930159311593215933159341593515936159371593815939159401594115942159431594415945159461594715948159491595015951159521595315954159551595615957159581595915960159611596215963159641596515966159671596815969159701597115972159731597415975159761597715978159791598015981159821598315984159851598615987159881598915990159911599215993159941599515996159971599815999160001600116002160031600416005160061600716008160091601016011160121601316014160151601616017160181601916020160211602216023160241602516026160271602816029160301603116032160331603416035160361603716038160391604016041160421604316044160451604616047160481604916050160511605216053160541605516056160571605816059160601606116062160631606416065160661606716068160691607016071160721607316074160751607616077160781607916080160811608216083160841608516086160871608816089160901609116092160931609416095160961609716098160991610016101161021610316104161051610616107161081610916110161111611216113161141611516116161171611816119161201612116122161231612416125161261612716128161291613016131161321613316134161351613616137161381613916140161411614216143161441614516146161471614816149161501615116152161531615416155161561615716158161591616016161161621616316164161651616616167161681616916170161711617216173161741617516176161771617816179161801618116182161831618416185161861618716188161891619016191161921619316194161951619616197161981619916200162011620216203162041620516206162071620816209162101621116212162131621416215162161621716218162191622016221162221622316224162251622616227162281622916230162311623216233162341623516236162371623816239162401624116242162431624416245162461624716248162491625016251162521625316254162551625616257162581625916260162611626216263162641626516266162671626816269162701627116272162731627416275162761627716278162791628016281162821628316284162851628616287162881628916290162911629216293162941629516296162971629816299163001630116302163031630416305163061630716308163091631016311163121631316314163151631616317163181631916320163211632216323163241632516326163271632816329163301633116332163331633416335163361633716338163391634016341163421634316344163451634616347163481634916350163511635216353163541635516356163571635816359163601636116362163631636416365163661636716368163691637016371163721637316374163751637616377163781637916380163811638216383163841638516386163871638816389163901639116392163931639416395163961639716398163991640016401164021640316404164051640616407164081640916410164111641216413164141641516416164171641816419164201642116422164231642416425164261642716428164291643016431164321643316434164351643616437164381643916440164411644216443164441644516446164471644816449164501645116452164531645416455164561645716458164591646016461164621646316464164651646616467164681646916470164711647216473164741647516476164771647816479164801648116482164831648416485164861648716488164891649016491164921649316494164951649616497164981649916500165011650216503165041650516506165071650816509165101651116512165131651416515165161651716518165191652016521165221652316524165251652616527165281652916530165311653216533165341653516536165371653816539165401654116542165431654416545165461654716548165491655016551165521655316554165551655616557165581655916560165611656216563165641656516566165671656816569165701657116572165731657416575165761657716578165791658016581165821658316584165851658616587165881658916590165911659216593165941659516596165971659816599166001660116602166031660416605166061660716608166091661016611166121661316614166151661616617166181661916620166211662216623166241662516626166271662816629166301663116632166331663416635166361663716638166391664016641166421664316644166451664616647166481664916650166511665216653166541665516656166571665816659166601666116662166631666416665166661666716668166691667016671166721667316674166751667616677166781667916680166811668216683166841668516686166871668816689166901669116692166931669416695166961669716698166991670016701167021670316704167051670616707167081670916710167111671216713167141671516716167171671816719167201672116722167231672416725167261672716728167291673016731167321673316734167351673616737167381673916740167411674216743167441674516746167471674816749167501675116752167531675416755167561675716758167591676016761167621676316764167651676616767167681676916770167711677216773167741677516776167771677816779167801678116782167831678416785167861678716788167891679016791167921679316794167951679616797167981679916800168011680216803168041680516806168071680816809168101681116812168131681416815168161681716818168191682016821168221682316824168251682616827168281682916830168311683216833168341683516836168371683816839168401684116842168431684416845168461684716848168491685016851168521685316854168551685616857168581685916860168611686216863168641686516866168671686816869168701687116872168731687416875168761687716878168791688016881168821688316884168851688616887168881688916890168911689216893168941689516896168971689816899169001690116902169031690416905169061690716908169091691016911169121691316914169151691616917169181691916920169211692216923169241692516926169271692816929169301693116932169331693416935169361693716938169391694016941169421694316944169451694616947169481694916950169511695216953169541695516956169571695816959169601696116962169631696416965169661696716968169691697016971169721697316974169751697616977169781697916980169811698216983169841698516986169871698816989169901699116992169931699416995169961699716998169991700017001170021700317004170051700617007170081700917010170111701217013170141701517016170171701817019170201702117022170231702417025170261702717028170291703017031170321703317034170351703617037170381703917040170411704217043170441704517046170471704817049170501705117052170531705417055170561705717058170591706017061170621706317064170651706617067170681706917070170711707217073170741707517076170771707817079170801708117082170831708417085170861708717088170891709017091170921709317094170951709617097170981709917100171011710217103171041710517106171071710817109171101711117112171131711417115171161711717118171191712017121171221712317124171251712617127171281712917130171311713217133171341713517136171371713817139171401714117142171431714417145171461714717148171491715017151171521715317154171551715617157171581715917160171611716217163171641716517166171671716817169171701717117172171731717417175171761717717178171791718017181171821718317184171851718617187171881718917190171911719217193171941719517196171971719817199172001720117202172031720417205172061720717208172091721017211172121721317214172151721617217172181721917220172211722217223172241722517226172271722817229172301723117232172331723417235172361723717238172391724017241172421724317244172451724617247172481724917250172511725217253172541725517256172571725817259172601726117262172631726417265172661726717268172691727017271172721727317274172751727617277172781727917280172811728217283172841728517286172871728817289172901729117292172931729417295172961729717298172991730017301173021730317304173051730617307173081730917310173111731217313173141731517316173171731817319173201732117322173231732417325173261732717328173291733017331173321733317334173351733617337173381733917340173411734217343173441734517346173471734817349173501735117352173531735417355173561735717358173591736017361173621736317364173651736617367173681736917370173711737217373173741737517376173771737817379173801738117382173831738417385173861738717388173891739017391173921739317394173951739617397173981739917400174011740217403174041740517406174071740817409174101741117412174131741417415174161741717418174191742017421174221742317424174251742617427174281742917430174311743217433174341743517436174371743817439174401744117442174431744417445174461744717448174491745017451174521745317454174551745617457174581745917460174611746217463174641746517466174671746817469174701747117472174731747417475174761747717478174791748017481174821748317484174851748617487174881748917490174911749217493174941749517496174971749817499175001750117502175031750417505175061750717508175091751017511175121751317514175151751617517175181751917520175211752217523175241752517526175271752817529175301753117532175331753417535175361753717538175391754017541175421754317544175451754617547175481754917550175511755217553175541755517556175571755817559175601756117562175631756417565175661756717568175691757017571175721757317574175751757617577175781757917580175811758217583175841758517586175871758817589175901759117592175931759417595175961759717598175991760017601176021760317604176051760617607176081760917610176111761217613176141761517616176171761817619176201762117622176231762417625176261762717628176291763017631176321763317634176351763617637176381763917640176411764217643176441764517646176471764817649176501765117652176531765417655176561765717658176591766017661176621766317664176651766617667176681766917670176711767217673176741767517676176771767817679176801768117682176831768417685176861768717688176891769017691176921769317694176951769617697176981769917700177011770217703177041770517706177071770817709177101771117712177131771417715177161771717718177191772017721177221772317724177251772617727177281772917730177311773217733177341773517736177371773817739177401774117742177431774417745177461774717748177491775017751177521775317754177551775617757177581775917760177611776217763177641776517766177671776817769177701777117772177731777417775177761777717778177791778017781177821778317784177851778617787177881778917790177911779217793177941779517796177971779817799178001780117802178031780417805178061780717808178091781017811178121781317814178151781617817178181781917820178211782217823178241782517826178271782817829178301783117832178331783417835178361783717838178391784017841178421784317844178451784617847178481784917850178511785217853178541785517856178571785817859178601786117862178631786417865178661786717868178691787017871178721787317874178751787617877178781787917880178811788217883178841788517886178871788817889178901789117892178931789417895178961789717898178991790017901179021790317904179051790617907179081790917910179111791217913179141791517916179171791817919179201792117922179231792417925179261792717928179291793017931179321793317934179351793617937179381793917940179411794217943179441794517946179471794817949179501795117952179531795417955179561795717958179591796017961179621796317964179651796617967179681796917970179711797217973179741797517976179771797817979179801798117982179831798417985179861798717988179891799017991179921799317994179951799617997179981799918000180011800218003180041800518006180071800818009
  1. /* Generated automatically by the program `genflags'
  2. from the machine description file `md'. */
  3. #ifndef GCC_INSN_FLAGS_H
  4. #define GCC_INSN_FLAGS_H
  5. #define HAVE_indirect_jump 1
  6. #define HAVE_jump 1
  7. #define HAVE_ccmpccsi 1
  8. #define HAVE_ccmpccdi 1
  9. #define HAVE_ccmpccfpsf (TARGET_FLOAT)
  10. #define HAVE_ccmpccfpdf (TARGET_FLOAT)
  11. #define HAVE_ccmpccfpesf (TARGET_FLOAT)
  12. #define HAVE_ccmpccfpedf (TARGET_FLOAT)
  13. #define HAVE_ccmpccsi_rev 1
  14. #define HAVE_ccmpccdi_rev 1
  15. #define HAVE_ccmpccfpsf_rev (TARGET_FLOAT)
  16. #define HAVE_ccmpccfpdf_rev (TARGET_FLOAT)
  17. #define HAVE_ccmpccfpesf_rev (TARGET_FLOAT)
  18. #define HAVE_ccmpccfpedf_rev (TARGET_FLOAT)
  19. #define HAVE_condjump 1
  20. #define HAVE_nop 1
  21. #define HAVE_prefetch 1
  22. #define HAVE_trap 1
  23. #define HAVE_simple_return 1
  24. #define HAVE_insv_immsi (UINTVAL (operands[1]) < GET_MODE_BITSIZE (SImode) \
  25. && UINTVAL (operands[1]) % 16 == 0)
  26. #define HAVE_insv_immdi (UINTVAL (operands[1]) < GET_MODE_BITSIZE (DImode) \
  27. && UINTVAL (operands[1]) % 16 == 0)
  28. #define HAVE_aarch64_movksi (aarch64_movk_shift (rtx_mode_t (operands[2], SImode), \
  29. rtx_mode_t (operands[3], SImode)) >= 0)
  30. #define HAVE_aarch64_movkdi (aarch64_movk_shift (rtx_mode_t (operands[2], DImode), \
  31. rtx_mode_t (operands[3], DImode)) >= 0)
  32. #define HAVE_load_pair_sw_sisi (rtx_equal_p (XEXP (operands[3], 0), \
  33. plus_constant (Pmode, \
  34. XEXP (operands[1], 0), \
  35. GET_MODE_SIZE (SImode))))
  36. #define HAVE_load_pair_sw_sfsi (rtx_equal_p (XEXP (operands[3], 0), \
  37. plus_constant (Pmode, \
  38. XEXP (operands[1], 0), \
  39. GET_MODE_SIZE (SFmode))))
  40. #define HAVE_load_pair_sw_sisf (rtx_equal_p (XEXP (operands[3], 0), \
  41. plus_constant (Pmode, \
  42. XEXP (operands[1], 0), \
  43. GET_MODE_SIZE (SImode))))
  44. #define HAVE_load_pair_sw_sfsf (rtx_equal_p (XEXP (operands[3], 0), \
  45. plus_constant (Pmode, \
  46. XEXP (operands[1], 0), \
  47. GET_MODE_SIZE (SFmode))))
  48. #define HAVE_load_pair_dw_didi (rtx_equal_p (XEXP (operands[3], 0), \
  49. plus_constant (Pmode, \
  50. XEXP (operands[1], 0), \
  51. GET_MODE_SIZE (DImode))))
  52. #define HAVE_load_pair_dw_didf (rtx_equal_p (XEXP (operands[3], 0), \
  53. plus_constant (Pmode, \
  54. XEXP (operands[1], 0), \
  55. GET_MODE_SIZE (DImode))))
  56. #define HAVE_load_pair_dw_dfdi (rtx_equal_p (XEXP (operands[3], 0), \
  57. plus_constant (Pmode, \
  58. XEXP (operands[1], 0), \
  59. GET_MODE_SIZE (DFmode))))
  60. #define HAVE_load_pair_dw_dfdf (rtx_equal_p (XEXP (operands[3], 0), \
  61. plus_constant (Pmode, \
  62. XEXP (operands[1], 0), \
  63. GET_MODE_SIZE (DFmode))))
  64. #define HAVE_load_pair_dw_tftf (TARGET_SIMD \
  65. && rtx_equal_p (XEXP (operands[3], 0), \
  66. plus_constant (Pmode, \
  67. XEXP (operands[1], 0), \
  68. GET_MODE_SIZE (TFmode))))
  69. #define HAVE_store_pair_sw_sisi (rtx_equal_p (XEXP (operands[2], 0), \
  70. plus_constant (Pmode, \
  71. XEXP (operands[0], 0), \
  72. GET_MODE_SIZE (SImode))))
  73. #define HAVE_store_pair_sw_sfsi (rtx_equal_p (XEXP (operands[2], 0), \
  74. plus_constant (Pmode, \
  75. XEXP (operands[0], 0), \
  76. GET_MODE_SIZE (SFmode))))
  77. #define HAVE_store_pair_sw_sisf (rtx_equal_p (XEXP (operands[2], 0), \
  78. plus_constant (Pmode, \
  79. XEXP (operands[0], 0), \
  80. GET_MODE_SIZE (SImode))))
  81. #define HAVE_store_pair_sw_sfsf (rtx_equal_p (XEXP (operands[2], 0), \
  82. plus_constant (Pmode, \
  83. XEXP (operands[0], 0), \
  84. GET_MODE_SIZE (SFmode))))
  85. #define HAVE_store_pair_dw_didi (rtx_equal_p (XEXP (operands[2], 0), \
  86. plus_constant (Pmode, \
  87. XEXP (operands[0], 0), \
  88. GET_MODE_SIZE (DImode))))
  89. #define HAVE_store_pair_dw_didf (rtx_equal_p (XEXP (operands[2], 0), \
  90. plus_constant (Pmode, \
  91. XEXP (operands[0], 0), \
  92. GET_MODE_SIZE (DImode))))
  93. #define HAVE_store_pair_dw_dfdi (rtx_equal_p (XEXP (operands[2], 0), \
  94. plus_constant (Pmode, \
  95. XEXP (operands[0], 0), \
  96. GET_MODE_SIZE (DFmode))))
  97. #define HAVE_store_pair_dw_dfdf (rtx_equal_p (XEXP (operands[2], 0), \
  98. plus_constant (Pmode, \
  99. XEXP (operands[0], 0), \
  100. GET_MODE_SIZE (DFmode))))
  101. #define HAVE_store_pair_dw_tftf (TARGET_SIMD && \
  102. rtx_equal_p (XEXP (operands[2], 0), \
  103. plus_constant (Pmode, \
  104. XEXP (operands[0], 0), \
  105. GET_MODE_SIZE (TFmode))))
  106. #define HAVE_loadwb_pairsi_si ((INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && (ptr_mode == SImode || Pmode == SImode))
  107. #define HAVE_loadwb_pairsi_di ((INTVAL (operands[5]) == GET_MODE_SIZE (SImode)) && (ptr_mode == DImode || Pmode == DImode))
  108. #define HAVE_loadwb_pairdi_si ((INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && (ptr_mode == SImode || Pmode == SImode))
  109. #define HAVE_loadwb_pairdi_di ((INTVAL (operands[5]) == GET_MODE_SIZE (DImode)) && (ptr_mode == DImode || Pmode == DImode))
  110. #define HAVE_loadwb_pairsf_si ((INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && (ptr_mode == SImode || Pmode == SImode))
  111. #define HAVE_loadwb_pairdf_si ((INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && (ptr_mode == SImode || Pmode == SImode))
  112. #define HAVE_loadwb_pairsf_di ((INTVAL (operands[5]) == GET_MODE_SIZE (SFmode)) && (ptr_mode == DImode || Pmode == DImode))
  113. #define HAVE_loadwb_pairdf_di ((INTVAL (operands[5]) == GET_MODE_SIZE (DFmode)) && (ptr_mode == DImode || Pmode == DImode))
  114. #define HAVE_loadwb_pairti_si ((TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TImode)) && (ptr_mode == SImode || Pmode == SImode))
  115. #define HAVE_loadwb_pairtf_si ((TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TFmode)) && (ptr_mode == SImode || Pmode == SImode))
  116. #define HAVE_loadwb_pairti_di ((TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TImode)) && (ptr_mode == DImode || Pmode == DImode))
  117. #define HAVE_loadwb_pairtf_di ((TARGET_SIMD && INTVAL (operands[5]) == GET_MODE_SIZE (TFmode)) && (ptr_mode == DImode || Pmode == DImode))
  118. #define HAVE_storewb_pairsi_si ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && (ptr_mode == SImode || Pmode == SImode))
  119. #define HAVE_storewb_pairsi_di ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SImode)) && (ptr_mode == DImode || Pmode == DImode))
  120. #define HAVE_storewb_pairdi_si ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && (ptr_mode == SImode || Pmode == SImode))
  121. #define HAVE_storewb_pairdi_di ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DImode)) && (ptr_mode == DImode || Pmode == DImode))
  122. #define HAVE_storewb_pairsf_si ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && (ptr_mode == SImode || Pmode == SImode))
  123. #define HAVE_storewb_pairdf_si ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && (ptr_mode == SImode || Pmode == SImode))
  124. #define HAVE_storewb_pairsf_di ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (SFmode)) && (ptr_mode == DImode || Pmode == DImode))
  125. #define HAVE_storewb_pairdf_di ((INTVAL (operands[5]) == INTVAL (operands[4]) + GET_MODE_SIZE (DFmode)) && (ptr_mode == DImode || Pmode == DImode))
  126. #define HAVE_storewb_pairti_si ((TARGET_SIMD \
  127. && INTVAL (operands[5]) \
  128. == INTVAL (operands[4]) + GET_MODE_SIZE (TImode)) && (ptr_mode == SImode || Pmode == SImode))
  129. #define HAVE_storewb_pairtf_si ((TARGET_SIMD \
  130. && INTVAL (operands[5]) \
  131. == INTVAL (operands[4]) + GET_MODE_SIZE (TFmode)) && (ptr_mode == SImode || Pmode == SImode))
  132. #define HAVE_storewb_pairti_di ((TARGET_SIMD \
  133. && INTVAL (operands[5]) \
  134. == INTVAL (operands[4]) + GET_MODE_SIZE (TImode)) && (ptr_mode == DImode || Pmode == DImode))
  135. #define HAVE_storewb_pairtf_di ((TARGET_SIMD \
  136. && INTVAL (operands[5]) \
  137. == INTVAL (operands[4]) + GET_MODE_SIZE (TFmode)) && (ptr_mode == DImode || Pmode == DImode))
  138. #define HAVE_addsi3_compare0 1
  139. #define HAVE_adddi3_compare0 1
  140. #define HAVE_addsi3_compareC 1
  141. #define HAVE_adddi3_compareC 1
  142. #define HAVE_addsi3_compareV_imm 1
  143. #define HAVE_adddi3_compareV_imm 1
  144. #define HAVE_addsi3_compareV 1
  145. #define HAVE_adddi3_compareV 1
  146. #define HAVE_aarch64_subsi_compare0 1
  147. #define HAVE_aarch64_subdi_compare0 1
  148. #define HAVE_subsi3 1
  149. #define HAVE_subdi3 1
  150. #define HAVE_subvsi_insn 1
  151. #define HAVE_subvdi_insn 1
  152. #define HAVE_subvsi_imm 1
  153. #define HAVE_subvdi_imm 1
  154. #define HAVE_negvsi_insn 1
  155. #define HAVE_negvdi_insn 1
  156. #define HAVE_negvsi_cmp_only 1
  157. #define HAVE_negvdi_cmp_only 1
  158. #define HAVE_negdi_carryout 1
  159. #define HAVE_negvdi_carryinV 1
  160. #define HAVE_subsi3_compare1_imm (UINTVAL (operands[2]) == -UINTVAL (operands[3]))
  161. #define HAVE_subdi3_compare1_imm (UINTVAL (operands[2]) == -UINTVAL (operands[3]))
  162. #define HAVE_subsi3_compare1 1
  163. #define HAVE_subdi3_compare1 1
  164. #define HAVE_negsi2 1
  165. #define HAVE_negdi2 1
  166. #define HAVE_negsi2_compare0 1
  167. #define HAVE_negdi2_compare0 1
  168. #define HAVE_mulsi3 1
  169. #define HAVE_muldi3 1
  170. #define HAVE_maddsi 1
  171. #define HAVE_madddi 1
  172. #define HAVE_mulsidi3 1
  173. #define HAVE_umulsidi3 1
  174. #define HAVE_maddsidi4 1
  175. #define HAVE_umaddsidi4 1
  176. #define HAVE_msubsidi4 1
  177. #define HAVE_umsubsidi4 1
  178. #define HAVE_smuldi3_highpart 1
  179. #define HAVE_umuldi3_highpart 1
  180. #define HAVE_divsi3 1
  181. #define HAVE_udivsi3 1
  182. #define HAVE_divdi3 1
  183. #define HAVE_udivdi3 1
  184. #define HAVE_cmpsi 1
  185. #define HAVE_cmpdi 1
  186. #define HAVE_fcmpsf (TARGET_FLOAT)
  187. #define HAVE_fcmpdf (TARGET_FLOAT)
  188. #define HAVE_fcmpesf (TARGET_FLOAT)
  189. #define HAVE_fcmpedf (TARGET_FLOAT)
  190. #define HAVE_aarch64_cstoreqi 1
  191. #define HAVE_aarch64_cstorehi 1
  192. #define HAVE_aarch64_cstoresi 1
  193. #define HAVE_aarch64_cstoredi 1
  194. #define HAVE_cstoreqi_neg 1
  195. #define HAVE_cstorehi_neg 1
  196. #define HAVE_cstoresi_neg 1
  197. #define HAVE_cstoredi_neg 1
  198. #define HAVE_aarch64_crc32b (TARGET_CRC32)
  199. #define HAVE_aarch64_crc32h (TARGET_CRC32)
  200. #define HAVE_aarch64_crc32w (TARGET_CRC32)
  201. #define HAVE_aarch64_crc32x (TARGET_CRC32)
  202. #define HAVE_aarch64_crc32cb (TARGET_CRC32)
  203. #define HAVE_aarch64_crc32ch (TARGET_CRC32)
  204. #define HAVE_aarch64_crc32cw (TARGET_CRC32)
  205. #define HAVE_aarch64_crc32cx (TARGET_CRC32)
  206. #define HAVE_csinc3si_insn 1
  207. #define HAVE_csinc3di_insn 1
  208. #define HAVE_csneg3_uxtw_insn 1
  209. #define HAVE_csneg3si_insn 1
  210. #define HAVE_csneg3di_insn 1
  211. #define HAVE_aarch64_uqdecsi (TARGET_SVE)
  212. #define HAVE_aarch64_uqdecdi (TARGET_SVE)
  213. #define HAVE_andsi3 1
  214. #define HAVE_iorsi3 1
  215. #define HAVE_xorsi3 1
  216. #define HAVE_anddi3 1
  217. #define HAVE_iordi3 1
  218. #define HAVE_xordi3 1
  219. #define HAVE_one_cmplsi2 1
  220. #define HAVE_one_cmpldi2 1
  221. #define HAVE_and_one_cmpl_ashlsi3 1
  222. #define HAVE_ior_one_cmpl_ashlsi3 1
  223. #define HAVE_xor_one_cmpl_ashlsi3 1
  224. #define HAVE_and_one_cmpl_ashrsi3 1
  225. #define HAVE_ior_one_cmpl_ashrsi3 1
  226. #define HAVE_xor_one_cmpl_ashrsi3 1
  227. #define HAVE_and_one_cmpl_lshrsi3 1
  228. #define HAVE_ior_one_cmpl_lshrsi3 1
  229. #define HAVE_xor_one_cmpl_lshrsi3 1
  230. #define HAVE_and_one_cmpl_rotrsi3 1
  231. #define HAVE_ior_one_cmpl_rotrsi3 1
  232. #define HAVE_xor_one_cmpl_rotrsi3 1
  233. #define HAVE_and_one_cmpl_ashldi3 1
  234. #define HAVE_ior_one_cmpl_ashldi3 1
  235. #define HAVE_xor_one_cmpl_ashldi3 1
  236. #define HAVE_and_one_cmpl_ashrdi3 1
  237. #define HAVE_ior_one_cmpl_ashrdi3 1
  238. #define HAVE_xor_one_cmpl_ashrdi3 1
  239. #define HAVE_and_one_cmpl_lshrdi3 1
  240. #define HAVE_ior_one_cmpl_lshrdi3 1
  241. #define HAVE_xor_one_cmpl_lshrdi3 1
  242. #define HAVE_and_one_cmpl_rotrdi3 1
  243. #define HAVE_ior_one_cmpl_rotrdi3 1
  244. #define HAVE_xor_one_cmpl_rotrdi3 1
  245. #define HAVE_clzsi2 1
  246. #define HAVE_clzdi2 1
  247. #define HAVE_clrsbsi2 1
  248. #define HAVE_clrsbdi2 1
  249. #define HAVE_rbitsi2 1
  250. #define HAVE_rbitdi2 1
  251. #define HAVE_ctzsi2 1
  252. #define HAVE_ctzdi2 1
  253. #define HAVE_bswapsi2 1
  254. #define HAVE_bswapdi2 1
  255. #define HAVE_bswaphi2 1
  256. #define HAVE_rev16si2 (aarch_rev16_shleft_mask_imm_p (operands[3], SImode) \
  257. && aarch_rev16_shright_mask_imm_p (operands[2], SImode))
  258. #define HAVE_rev16di2 (aarch_rev16_shleft_mask_imm_p (operands[3], DImode) \
  259. && aarch_rev16_shright_mask_imm_p (operands[2], DImode))
  260. #define HAVE_rev16si2_alt (aarch_rev16_shleft_mask_imm_p (operands[3], SImode) \
  261. && aarch_rev16_shright_mask_imm_p (operands[2], SImode))
  262. #define HAVE_rev16di2_alt (aarch_rev16_shleft_mask_imm_p (operands[3], DImode) \
  263. && aarch_rev16_shright_mask_imm_p (operands[2], DImode))
  264. #define HAVE_btrunchf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  265. #define HAVE_ceilhf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  266. #define HAVE_floorhf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  267. #define HAVE_frintnhf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  268. #define HAVE_nearbyinthf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  269. #define HAVE_rinthf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  270. #define HAVE_roundhf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  271. #define HAVE_btruncsf2 (TARGET_FLOAT)
  272. #define HAVE_ceilsf2 (TARGET_FLOAT)
  273. #define HAVE_floorsf2 (TARGET_FLOAT)
  274. #define HAVE_frintnsf2 (TARGET_FLOAT)
  275. #define HAVE_nearbyintsf2 (TARGET_FLOAT)
  276. #define HAVE_rintsf2 (TARGET_FLOAT)
  277. #define HAVE_roundsf2 (TARGET_FLOAT)
  278. #define HAVE_btruncdf2 (TARGET_FLOAT)
  279. #define HAVE_ceildf2 (TARGET_FLOAT)
  280. #define HAVE_floordf2 (TARGET_FLOAT)
  281. #define HAVE_frintndf2 (TARGET_FLOAT)
  282. #define HAVE_nearbyintdf2 (TARGET_FLOAT)
  283. #define HAVE_rintdf2 (TARGET_FLOAT)
  284. #define HAVE_rounddf2 (TARGET_FLOAT)
  285. #define HAVE_lbtrunchfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  286. #define HAVE_lceilhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  287. #define HAVE_lfloorhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  288. #define HAVE_lroundhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  289. #define HAVE_lfrintnhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  290. #define HAVE_lbtruncuhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  291. #define HAVE_lceiluhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  292. #define HAVE_lflooruhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  293. #define HAVE_lrounduhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  294. #define HAVE_lfrintnuhfsi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  295. #define HAVE_lbtruncsfsi2 (TARGET_FLOAT)
  296. #define HAVE_lceilsfsi2 (TARGET_FLOAT)
  297. #define HAVE_lfloorsfsi2 (TARGET_FLOAT)
  298. #define HAVE_lroundsfsi2 (TARGET_FLOAT)
  299. #define HAVE_lfrintnsfsi2 (TARGET_FLOAT)
  300. #define HAVE_lbtruncusfsi2 (TARGET_FLOAT)
  301. #define HAVE_lceilusfsi2 (TARGET_FLOAT)
  302. #define HAVE_lfloorusfsi2 (TARGET_FLOAT)
  303. #define HAVE_lroundusfsi2 (TARGET_FLOAT)
  304. #define HAVE_lfrintnusfsi2 (TARGET_FLOAT)
  305. #define HAVE_lbtruncdfsi2 (TARGET_FLOAT)
  306. #define HAVE_lceildfsi2 (TARGET_FLOAT)
  307. #define HAVE_lfloordfsi2 (TARGET_FLOAT)
  308. #define HAVE_lrounddfsi2 (TARGET_FLOAT)
  309. #define HAVE_lfrintndfsi2 (TARGET_FLOAT)
  310. #define HAVE_lbtruncudfsi2 (TARGET_FLOAT)
  311. #define HAVE_lceiludfsi2 (TARGET_FLOAT)
  312. #define HAVE_lfloorudfsi2 (TARGET_FLOAT)
  313. #define HAVE_lroundudfsi2 (TARGET_FLOAT)
  314. #define HAVE_lfrintnudfsi2 (TARGET_FLOAT)
  315. #define HAVE_lbtrunchfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  316. #define HAVE_lceilhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  317. #define HAVE_lfloorhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  318. #define HAVE_lroundhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  319. #define HAVE_lfrintnhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  320. #define HAVE_lbtruncuhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  321. #define HAVE_lceiluhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  322. #define HAVE_lflooruhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  323. #define HAVE_lrounduhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  324. #define HAVE_lfrintnuhfdi2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  325. #define HAVE_lbtruncsfdi2 (TARGET_FLOAT)
  326. #define HAVE_lceilsfdi2 (TARGET_FLOAT)
  327. #define HAVE_lfloorsfdi2 (TARGET_FLOAT)
  328. #define HAVE_lroundsfdi2 (TARGET_FLOAT)
  329. #define HAVE_lfrintnsfdi2 (TARGET_FLOAT)
  330. #define HAVE_lbtruncusfdi2 (TARGET_FLOAT)
  331. #define HAVE_lceilusfdi2 (TARGET_FLOAT)
  332. #define HAVE_lfloorusfdi2 (TARGET_FLOAT)
  333. #define HAVE_lroundusfdi2 (TARGET_FLOAT)
  334. #define HAVE_lfrintnusfdi2 (TARGET_FLOAT)
  335. #define HAVE_lbtruncdfdi2 (TARGET_FLOAT)
  336. #define HAVE_lceildfdi2 (TARGET_FLOAT)
  337. #define HAVE_lfloordfdi2 (TARGET_FLOAT)
  338. #define HAVE_lrounddfdi2 (TARGET_FLOAT)
  339. #define HAVE_lfrintndfdi2 (TARGET_FLOAT)
  340. #define HAVE_lbtruncudfdi2 (TARGET_FLOAT)
  341. #define HAVE_lceiludfdi2 (TARGET_FLOAT)
  342. #define HAVE_lfloorudfdi2 (TARGET_FLOAT)
  343. #define HAVE_lroundudfdi2 (TARGET_FLOAT)
  344. #define HAVE_lfrintnudfdi2 (TARGET_FLOAT)
  345. #define HAVE_extendsfdf2 (TARGET_FLOAT)
  346. #define HAVE_extendhfsf2 (TARGET_FLOAT)
  347. #define HAVE_extendhfdf2 (TARGET_FLOAT)
  348. #define HAVE_truncdfsf2 (TARGET_FLOAT)
  349. #define HAVE_truncsfhf2 (TARGET_FLOAT)
  350. #define HAVE_truncdfhf2 (TARGET_FLOAT)
  351. #define HAVE_fix_truncsfsi2 (TARGET_FLOAT)
  352. #define HAVE_fixuns_truncsfsi2 (TARGET_FLOAT)
  353. #define HAVE_fix_truncdfdi2 (TARGET_FLOAT)
  354. #define HAVE_fixuns_truncdfdi2 (TARGET_FLOAT)
  355. #define HAVE_fix_trunchfsi2 (TARGET_FP_F16INST)
  356. #define HAVE_fixuns_trunchfsi2 (TARGET_FP_F16INST)
  357. #define HAVE_fix_trunchfdi2 (TARGET_FP_F16INST)
  358. #define HAVE_fixuns_trunchfdi2 (TARGET_FP_F16INST)
  359. #define HAVE_fix_truncdfsi2 (TARGET_FLOAT)
  360. #define HAVE_fixuns_truncdfsi2 (TARGET_FLOAT)
  361. #define HAVE_fix_truncsfdi2 (TARGET_FLOAT)
  362. #define HAVE_fixuns_truncsfdi2 (TARGET_FLOAT)
  363. #define HAVE_floatsisf2 (TARGET_FLOAT)
  364. #define HAVE_floatunssisf2 (TARGET_FLOAT)
  365. #define HAVE_floatdidf2 (TARGET_FLOAT)
  366. #define HAVE_floatunsdidf2 (TARGET_FLOAT)
  367. #define HAVE_floatdisf2 (TARGET_FLOAT)
  368. #define HAVE_floatunsdisf2 (TARGET_FLOAT)
  369. #define HAVE_floatsidf2 (TARGET_FLOAT)
  370. #define HAVE_floatunssidf2 (TARGET_FLOAT)
  371. #define HAVE_aarch64_fp16_floatsihf2 (TARGET_FP_F16INST)
  372. #define HAVE_aarch64_fp16_floatunssihf2 (TARGET_FP_F16INST)
  373. #define HAVE_aarch64_fp16_floatdihf2 (TARGET_FP_F16INST)
  374. #define HAVE_aarch64_fp16_floatunsdihf2 (TARGET_FP_F16INST)
  375. #define HAVE_fcvtzssf3 1
  376. #define HAVE_fcvtzusf3 1
  377. #define HAVE_fcvtzsdf3 1
  378. #define HAVE_fcvtzudf3 1
  379. #define HAVE_scvtfsi3 1
  380. #define HAVE_ucvtfsi3 1
  381. #define HAVE_scvtfdi3 1
  382. #define HAVE_ucvtfdi3 1
  383. #define HAVE_fcvtzshfsi3 (TARGET_FP_F16INST)
  384. #define HAVE_fcvtzuhfsi3 (TARGET_FP_F16INST)
  385. #define HAVE_fcvtzshfdi3 (TARGET_FP_F16INST)
  386. #define HAVE_fcvtzuhfdi3 (TARGET_FP_F16INST)
  387. #define HAVE_scvtfsihf3 (TARGET_FP_F16INST)
  388. #define HAVE_ucvtfsihf3 (TARGET_FP_F16INST)
  389. #define HAVE_scvtfdihf3 (TARGET_FP_F16INST)
  390. #define HAVE_ucvtfdihf3 (TARGET_FP_F16INST)
  391. #define HAVE_fcvtzshf3 (TARGET_SIMD)
  392. #define HAVE_fcvtzuhf3 (TARGET_SIMD)
  393. #define HAVE_scvtfhi3 (TARGET_SIMD)
  394. #define HAVE_ucvtfhi3 (TARGET_SIMD)
  395. #define HAVE_addhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  396. #define HAVE_addsf3 (TARGET_FLOAT)
  397. #define HAVE_adddf3 (TARGET_FLOAT)
  398. #define HAVE_subhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  399. #define HAVE_subsf3 (TARGET_FLOAT)
  400. #define HAVE_subdf3 (TARGET_FLOAT)
  401. #define HAVE_mulhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  402. #define HAVE_mulsf3 (TARGET_FLOAT)
  403. #define HAVE_muldf3 (TARGET_FLOAT)
  404. #define HAVE_neghf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  405. #define HAVE_negsf2 (TARGET_FLOAT)
  406. #define HAVE_negdf2 (TARGET_FLOAT)
  407. #define HAVE_abshf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  408. #define HAVE_abssf2 (TARGET_FLOAT)
  409. #define HAVE_absdf2 (TARGET_FLOAT)
  410. #define HAVE_smaxsf3 (TARGET_FLOAT)
  411. #define HAVE_smaxdf3 (TARGET_FLOAT)
  412. #define HAVE_sminsf3 (TARGET_FLOAT)
  413. #define HAVE_smindf3 (TARGET_FLOAT)
  414. #define HAVE_smax_nanhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  415. #define HAVE_smin_nanhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  416. #define HAVE_fmaxhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  417. #define HAVE_fminhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  418. #define HAVE_smax_nansf3 (TARGET_FLOAT)
  419. #define HAVE_smin_nansf3 (TARGET_FLOAT)
  420. #define HAVE_fmaxsf3 (TARGET_FLOAT)
  421. #define HAVE_fminsf3 (TARGET_FLOAT)
  422. #define HAVE_smax_nandf3 (TARGET_FLOAT)
  423. #define HAVE_smin_nandf3 (TARGET_FLOAT)
  424. #define HAVE_fmaxdf3 (TARGET_FLOAT)
  425. #define HAVE_fmindf3 (TARGET_FLOAT)
  426. #define HAVE_copysignsf3_insn (TARGET_FLOAT && TARGET_SIMD)
  427. #define HAVE_copysigndf3_insn (TARGET_FLOAT && TARGET_SIMD)
  428. #define HAVE_aarch64_movdi_tilow (TARGET_FLOAT && (reload_completed || reload_in_progress))
  429. #define HAVE_aarch64_movdi_tflow (TARGET_FLOAT && (reload_completed || reload_in_progress))
  430. #define HAVE_aarch64_movdi_tihigh (TARGET_FLOAT && (reload_completed || reload_in_progress))
  431. #define HAVE_aarch64_movdi_tfhigh (TARGET_FLOAT && (reload_completed || reload_in_progress))
  432. #define HAVE_aarch64_movtihigh_di (TARGET_FLOAT && (reload_completed || reload_in_progress))
  433. #define HAVE_aarch64_movtfhigh_di (TARGET_FLOAT && (reload_completed || reload_in_progress))
  434. #define HAVE_aarch64_movtilow_di (TARGET_FLOAT && (reload_completed || reload_in_progress))
  435. #define HAVE_aarch64_movtflow_di (TARGET_FLOAT && (reload_completed || reload_in_progress))
  436. #define HAVE_aarch64_movtilow_tilow (TARGET_FLOAT && (reload_completed || reload_in_progress))
  437. #define HAVE_add_losym_si (ptr_mode == SImode || Pmode == SImode)
  438. #define HAVE_add_losym_di (ptr_mode == DImode || Pmode == DImode)
  439. #define HAVE_ldr_got_small_si (ptr_mode == SImode)
  440. #define HAVE_ldr_got_small_di (ptr_mode == DImode)
  441. #define HAVE_ldr_got_small_sidi (TARGET_ILP32)
  442. #define HAVE_ldr_got_small_28k_si (ptr_mode == SImode)
  443. #define HAVE_ldr_got_small_28k_di (ptr_mode == DImode)
  444. #define HAVE_ldr_got_small_28k_sidi (TARGET_ILP32)
  445. #define HAVE_ldr_got_tiny_si (ptr_mode == SImode)
  446. #define HAVE_ldr_got_tiny_di (ptr_mode == DImode)
  447. #define HAVE_ldr_got_tiny_sidi (TARGET_ILP32)
  448. #define HAVE_aarch64_load_tp_hard 1
  449. #define HAVE_tlsie_small_si (ptr_mode == SImode)
  450. #define HAVE_tlsie_small_di (ptr_mode == DImode)
  451. #define HAVE_tlsie_small_sidi 1
  452. #define HAVE_tlsie_tiny_si (ptr_mode == SImode)
  453. #define HAVE_tlsie_tiny_di (ptr_mode == DImode)
  454. #define HAVE_tlsie_tiny_sidi 1
  455. #define HAVE_tlsle12_si (ptr_mode == SImode || Pmode == SImode)
  456. #define HAVE_tlsle12_di (ptr_mode == DImode || Pmode == DImode)
  457. #define HAVE_tlsle24_si (ptr_mode == SImode || Pmode == SImode)
  458. #define HAVE_tlsle24_di (ptr_mode == DImode || Pmode == DImode)
  459. #define HAVE_tlsle32_si (ptr_mode == SImode || Pmode == SImode)
  460. #define HAVE_tlsle32_di (ptr_mode == DImode || Pmode == DImode)
  461. #define HAVE_tlsle48_si (ptr_mode == SImode || Pmode == SImode)
  462. #define HAVE_tlsle48_di (ptr_mode == DImode || Pmode == DImode)
  463. #define HAVE_tlsdesc_small_advsimd_si ((TARGET_TLS_DESC && !TARGET_SVE) && (ptr_mode == SImode))
  464. #define HAVE_tlsdesc_small_advsimd_di ((TARGET_TLS_DESC && !TARGET_SVE) && (ptr_mode == DImode))
  465. #define HAVE_tlsdesc_small_sve_si ((TARGET_TLS_DESC && TARGET_SVE) && (ptr_mode == SImode))
  466. #define HAVE_tlsdesc_small_sve_di ((TARGET_TLS_DESC && TARGET_SVE) && (ptr_mode == DImode))
  467. #define HAVE_stack_tie 1
  468. #define HAVE_aarch64_fjcvtzs (TARGET_JSCVT)
  469. #define HAVE_paciasp 1
  470. #define HAVE_autiasp 1
  471. #define HAVE_pacibsp 1
  472. #define HAVE_autibsp 1
  473. #define HAVE_pacia1716 1
  474. #define HAVE_autia1716 1
  475. #define HAVE_pacib1716 1
  476. #define HAVE_autib1716 1
  477. #define HAVE_xpaclri 1
  478. #define HAVE_blockage 1
  479. #define HAVE_probe_stack_range 1
  480. #define HAVE_probe_sve_stack_clash_si ((TARGET_SVE) && (ptr_mode == SImode || Pmode == SImode))
  481. #define HAVE_probe_sve_stack_clash_di ((TARGET_SVE) && (ptr_mode == DImode || Pmode == DImode))
  482. #define HAVE_reg_stack_protect_address_si ((aarch64_stack_protector_guard != SSP_GLOBAL) && (ptr_mode == SImode))
  483. #define HAVE_reg_stack_protect_address_di ((aarch64_stack_protector_guard != SSP_GLOBAL) && (ptr_mode == DImode))
  484. #define HAVE_stack_protect_set_si (ptr_mode == SImode)
  485. #define HAVE_stack_protect_set_di (ptr_mode == DImode)
  486. #define HAVE_stack_protect_test_si (ptr_mode == SImode)
  487. #define HAVE_stack_protect_test_di (ptr_mode == DImode)
  488. #define HAVE_set_fpcr 1
  489. #define HAVE_get_fpcr 1
  490. #define HAVE_set_fpsr 1
  491. #define HAVE_get_fpsr 1
  492. #define HAVE_speculation_tracker 1
  493. #define HAVE_speculation_tracker_rev 1
  494. #define HAVE_bti_noarg 1
  495. #define HAVE_bti_c 1
  496. #define HAVE_bti_j 1
  497. #define HAVE_bti_jc 1
  498. #define HAVE_speculation_barrier 1
  499. #define HAVE_despeculate_simpleqi 1
  500. #define HAVE_despeculate_simplehi 1
  501. #define HAVE_despeculate_simplesi 1
  502. #define HAVE_despeculate_simpledi 1
  503. #define HAVE_despeculate_simpleti 1
  504. #define HAVE_aarch64_frint32zv2sf (TARGET_FRINT && TARGET_FLOAT \
  505. && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD))
  506. #define HAVE_aarch64_frint32xv2sf (TARGET_FRINT && TARGET_FLOAT \
  507. && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD))
  508. #define HAVE_aarch64_frint64zv2sf (TARGET_FRINT && TARGET_FLOAT \
  509. && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD))
  510. #define HAVE_aarch64_frint64xv2sf (TARGET_FRINT && TARGET_FLOAT \
  511. && !(VECTOR_MODE_P (V2SFmode) && !TARGET_SIMD))
  512. #define HAVE_aarch64_frint32zv4sf (TARGET_FRINT && TARGET_FLOAT \
  513. && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD))
  514. #define HAVE_aarch64_frint32xv4sf (TARGET_FRINT && TARGET_FLOAT \
  515. && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD))
  516. #define HAVE_aarch64_frint64zv4sf (TARGET_FRINT && TARGET_FLOAT \
  517. && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD))
  518. #define HAVE_aarch64_frint64xv4sf (TARGET_FRINT && TARGET_FLOAT \
  519. && !(VECTOR_MODE_P (V4SFmode) && !TARGET_SIMD))
  520. #define HAVE_aarch64_frint32zv2df (TARGET_FRINT && TARGET_FLOAT \
  521. && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD))
  522. #define HAVE_aarch64_frint32xv2df (TARGET_FRINT && TARGET_FLOAT \
  523. && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD))
  524. #define HAVE_aarch64_frint64zv2df (TARGET_FRINT && TARGET_FLOAT \
  525. && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD))
  526. #define HAVE_aarch64_frint64xv2df (TARGET_FRINT && TARGET_FLOAT \
  527. && !(VECTOR_MODE_P (V2DFmode) && !TARGET_SIMD))
  528. #define HAVE_aarch64_frint32zdf (TARGET_FRINT && TARGET_FLOAT \
  529. && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD))
  530. #define HAVE_aarch64_frint32xdf (TARGET_FRINT && TARGET_FLOAT \
  531. && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD))
  532. #define HAVE_aarch64_frint64zdf (TARGET_FRINT && TARGET_FLOAT \
  533. && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD))
  534. #define HAVE_aarch64_frint64xdf (TARGET_FRINT && TARGET_FLOAT \
  535. && !(VECTOR_MODE_P (DFmode) && !TARGET_SIMD))
  536. #define HAVE_aarch64_frint32zsf (TARGET_FRINT && TARGET_FLOAT \
  537. && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD))
  538. #define HAVE_aarch64_frint32xsf (TARGET_FRINT && TARGET_FLOAT \
  539. && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD))
  540. #define HAVE_aarch64_frint64zsf (TARGET_FRINT && TARGET_FLOAT \
  541. && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD))
  542. #define HAVE_aarch64_frint64xsf (TARGET_FRINT && TARGET_FLOAT \
  543. && !(VECTOR_MODE_P (SFmode) && !TARGET_SIMD))
  544. #define HAVE_tstart (TARGET_TME)
  545. #define HAVE_ttest (TARGET_TME)
  546. #define HAVE_tcommit (TARGET_TME)
  547. #define HAVE_tcancel (TARGET_TME && (UINTVAL (operands[0]) <= 65535))
  548. #define HAVE_aarch64_rndr (TARGET_RNG)
  549. #define HAVE_aarch64_rndrrs (TARGET_RNG)
  550. #define HAVE_irg (TARGET_MEMTAG)
  551. #define HAVE_gmi (TARGET_MEMTAG)
  552. #define HAVE_addg (TARGET_MEMTAG)
  553. #define HAVE_subp (TARGET_MEMTAG)
  554. #define HAVE_ldg (TARGET_MEMTAG)
  555. #define HAVE_stg (TARGET_MEMTAG)
  556. #define HAVE_aarch64_simd_dupv8qi (TARGET_SIMD)
  557. #define HAVE_aarch64_simd_dupv16qi (TARGET_SIMD)
  558. #define HAVE_aarch64_simd_dupv4hi (TARGET_SIMD)
  559. #define HAVE_aarch64_simd_dupv8hi (TARGET_SIMD)
  560. #define HAVE_aarch64_simd_dupv2si (TARGET_SIMD)
  561. #define HAVE_aarch64_simd_dupv4si (TARGET_SIMD)
  562. #define HAVE_aarch64_simd_dupv2di (TARGET_SIMD)
  563. #define HAVE_aarch64_simd_dupv4hf (TARGET_SIMD)
  564. #define HAVE_aarch64_simd_dupv8hf (TARGET_SIMD)
  565. #define HAVE_aarch64_simd_dupv2sf (TARGET_SIMD)
  566. #define HAVE_aarch64_simd_dupv4sf (TARGET_SIMD)
  567. #define HAVE_aarch64_simd_dupv2df (TARGET_SIMD)
  568. #define HAVE_aarch64_simd_dupv4bf (TARGET_SIMD)
  569. #define HAVE_aarch64_simd_dupv8bf (TARGET_SIMD)
  570. #define HAVE_aarch64_dup_lanev8qi (TARGET_SIMD)
  571. #define HAVE_aarch64_dup_lanev16qi (TARGET_SIMD)
  572. #define HAVE_aarch64_dup_lanev4hi (TARGET_SIMD)
  573. #define HAVE_aarch64_dup_lanev8hi (TARGET_SIMD)
  574. #define HAVE_aarch64_dup_lanev2si (TARGET_SIMD)
  575. #define HAVE_aarch64_dup_lanev4si (TARGET_SIMD)
  576. #define HAVE_aarch64_dup_lanev2di (TARGET_SIMD)
  577. #define HAVE_aarch64_dup_lanev4hf (TARGET_SIMD)
  578. #define HAVE_aarch64_dup_lanev8hf (TARGET_SIMD)
  579. #define HAVE_aarch64_dup_lanev4bf (TARGET_SIMD)
  580. #define HAVE_aarch64_dup_lanev8bf (TARGET_SIMD)
  581. #define HAVE_aarch64_dup_lanev2sf (TARGET_SIMD)
  582. #define HAVE_aarch64_dup_lanev4sf (TARGET_SIMD)
  583. #define HAVE_aarch64_dup_lanev2df (TARGET_SIMD)
  584. #define HAVE_aarch64_dup_lane_to_128v8qi (TARGET_SIMD)
  585. #define HAVE_aarch64_dup_lane_to_64v16qi (TARGET_SIMD)
  586. #define HAVE_aarch64_dup_lane_to_128v4hi (TARGET_SIMD)
  587. #define HAVE_aarch64_dup_lane_to_64v8hi (TARGET_SIMD)
  588. #define HAVE_aarch64_dup_lane_to_128v2si (TARGET_SIMD)
  589. #define HAVE_aarch64_dup_lane_to_64v4si (TARGET_SIMD)
  590. #define HAVE_aarch64_dup_lane_to_128v4hf (TARGET_SIMD)
  591. #define HAVE_aarch64_dup_lane_to_64v8hf (TARGET_SIMD)
  592. #define HAVE_aarch64_dup_lane_to_128v2sf (TARGET_SIMD)
  593. #define HAVE_aarch64_dup_lane_to_64v4sf (TARGET_SIMD)
  594. #define HAVE_aarch64_store_lane0v8qi (TARGET_SIMD \
  595. && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)
  596. #define HAVE_aarch64_store_lane0v16qi (TARGET_SIMD \
  597. && ENDIAN_LANE_N (16, INTVAL (operands[2])) == 0)
  598. #define HAVE_aarch64_store_lane0v4hi (TARGET_SIMD \
  599. && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)
  600. #define HAVE_aarch64_store_lane0v8hi (TARGET_SIMD \
  601. && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)
  602. #define HAVE_aarch64_store_lane0v2si (TARGET_SIMD \
  603. && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)
  604. #define HAVE_aarch64_store_lane0v4si (TARGET_SIMD \
  605. && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)
  606. #define HAVE_aarch64_store_lane0v2di (TARGET_SIMD \
  607. && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)
  608. #define HAVE_aarch64_store_lane0v4hf (TARGET_SIMD \
  609. && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)
  610. #define HAVE_aarch64_store_lane0v8hf (TARGET_SIMD \
  611. && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)
  612. #define HAVE_aarch64_store_lane0v4bf (TARGET_SIMD \
  613. && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)
  614. #define HAVE_aarch64_store_lane0v8bf (TARGET_SIMD \
  615. && ENDIAN_LANE_N (8, INTVAL (operands[2])) == 0)
  616. #define HAVE_aarch64_store_lane0v2sf (TARGET_SIMD \
  617. && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)
  618. #define HAVE_aarch64_store_lane0v4sf (TARGET_SIMD \
  619. && ENDIAN_LANE_N (4, INTVAL (operands[2])) == 0)
  620. #define HAVE_aarch64_store_lane0v2df (TARGET_SIMD \
  621. && ENDIAN_LANE_N (2, INTVAL (operands[2])) == 0)
  622. #define HAVE_load_pairv8qiv8qi (TARGET_SIMD \
  623. && rtx_equal_p (XEXP (operands[3], 0), \
  624. plus_constant (Pmode, \
  625. XEXP (operands[1], 0), \
  626. GET_MODE_SIZE (V8QImode))))
  627. #define HAVE_load_pairv4hiv8qi (TARGET_SIMD \
  628. && rtx_equal_p (XEXP (operands[3], 0), \
  629. plus_constant (Pmode, \
  630. XEXP (operands[1], 0), \
  631. GET_MODE_SIZE (V4HImode))))
  632. #define HAVE_load_pairv4hfv8qi (TARGET_SIMD \
  633. && rtx_equal_p (XEXP (operands[3], 0), \
  634. plus_constant (Pmode, \
  635. XEXP (operands[1], 0), \
  636. GET_MODE_SIZE (V4HFmode))))
  637. #define HAVE_load_pairv2siv8qi (TARGET_SIMD \
  638. && rtx_equal_p (XEXP (operands[3], 0), \
  639. plus_constant (Pmode, \
  640. XEXP (operands[1], 0), \
  641. GET_MODE_SIZE (V2SImode))))
  642. #define HAVE_load_pairv2sfv8qi (TARGET_SIMD \
  643. && rtx_equal_p (XEXP (operands[3], 0), \
  644. plus_constant (Pmode, \
  645. XEXP (operands[1], 0), \
  646. GET_MODE_SIZE (V2SFmode))))
  647. #define HAVE_load_pairdfv8qi (TARGET_SIMD \
  648. && rtx_equal_p (XEXP (operands[3], 0), \
  649. plus_constant (Pmode, \
  650. XEXP (operands[1], 0), \
  651. GET_MODE_SIZE (DFmode))))
  652. #define HAVE_load_pairv8qiv4hi (TARGET_SIMD \
  653. && rtx_equal_p (XEXP (operands[3], 0), \
  654. plus_constant (Pmode, \
  655. XEXP (operands[1], 0), \
  656. GET_MODE_SIZE (V8QImode))))
  657. #define HAVE_load_pairv4hiv4hi (TARGET_SIMD \
  658. && rtx_equal_p (XEXP (operands[3], 0), \
  659. plus_constant (Pmode, \
  660. XEXP (operands[1], 0), \
  661. GET_MODE_SIZE (V4HImode))))
  662. #define HAVE_load_pairv4hfv4hi (TARGET_SIMD \
  663. && rtx_equal_p (XEXP (operands[3], 0), \
  664. plus_constant (Pmode, \
  665. XEXP (operands[1], 0), \
  666. GET_MODE_SIZE (V4HFmode))))
  667. #define HAVE_load_pairv2siv4hi (TARGET_SIMD \
  668. && rtx_equal_p (XEXP (operands[3], 0), \
  669. plus_constant (Pmode, \
  670. XEXP (operands[1], 0), \
  671. GET_MODE_SIZE (V2SImode))))
  672. #define HAVE_load_pairv2sfv4hi (TARGET_SIMD \
  673. && rtx_equal_p (XEXP (operands[3], 0), \
  674. plus_constant (Pmode, \
  675. XEXP (operands[1], 0), \
  676. GET_MODE_SIZE (V2SFmode))))
  677. #define HAVE_load_pairdfv4hi (TARGET_SIMD \
  678. && rtx_equal_p (XEXP (operands[3], 0), \
  679. plus_constant (Pmode, \
  680. XEXP (operands[1], 0), \
  681. GET_MODE_SIZE (DFmode))))
  682. #define HAVE_load_pairv8qiv4hf (TARGET_SIMD \
  683. && rtx_equal_p (XEXP (operands[3], 0), \
  684. plus_constant (Pmode, \
  685. XEXP (operands[1], 0), \
  686. GET_MODE_SIZE (V8QImode))))
  687. #define HAVE_load_pairv4hiv4hf (TARGET_SIMD \
  688. && rtx_equal_p (XEXP (operands[3], 0), \
  689. plus_constant (Pmode, \
  690. XEXP (operands[1], 0), \
  691. GET_MODE_SIZE (V4HImode))))
  692. #define HAVE_load_pairv4hfv4hf (TARGET_SIMD \
  693. && rtx_equal_p (XEXP (operands[3], 0), \
  694. plus_constant (Pmode, \
  695. XEXP (operands[1], 0), \
  696. GET_MODE_SIZE (V4HFmode))))
  697. #define HAVE_load_pairv2siv4hf (TARGET_SIMD \
  698. && rtx_equal_p (XEXP (operands[3], 0), \
  699. plus_constant (Pmode, \
  700. XEXP (operands[1], 0), \
  701. GET_MODE_SIZE (V2SImode))))
  702. #define HAVE_load_pairv2sfv4hf (TARGET_SIMD \
  703. && rtx_equal_p (XEXP (operands[3], 0), \
  704. plus_constant (Pmode, \
  705. XEXP (operands[1], 0), \
  706. GET_MODE_SIZE (V2SFmode))))
  707. #define HAVE_load_pairdfv4hf (TARGET_SIMD \
  708. && rtx_equal_p (XEXP (operands[3], 0), \
  709. plus_constant (Pmode, \
  710. XEXP (operands[1], 0), \
  711. GET_MODE_SIZE (DFmode))))
  712. #define HAVE_load_pairv8qiv2si (TARGET_SIMD \
  713. && rtx_equal_p (XEXP (operands[3], 0), \
  714. plus_constant (Pmode, \
  715. XEXP (operands[1], 0), \
  716. GET_MODE_SIZE (V8QImode))))
  717. #define HAVE_load_pairv4hiv2si (TARGET_SIMD \
  718. && rtx_equal_p (XEXP (operands[3], 0), \
  719. plus_constant (Pmode, \
  720. XEXP (operands[1], 0), \
  721. GET_MODE_SIZE (V4HImode))))
  722. #define HAVE_load_pairv4hfv2si (TARGET_SIMD \
  723. && rtx_equal_p (XEXP (operands[3], 0), \
  724. plus_constant (Pmode, \
  725. XEXP (operands[1], 0), \
  726. GET_MODE_SIZE (V4HFmode))))
  727. #define HAVE_load_pairv2siv2si (TARGET_SIMD \
  728. && rtx_equal_p (XEXP (operands[3], 0), \
  729. plus_constant (Pmode, \
  730. XEXP (operands[1], 0), \
  731. GET_MODE_SIZE (V2SImode))))
  732. #define HAVE_load_pairv2sfv2si (TARGET_SIMD \
  733. && rtx_equal_p (XEXP (operands[3], 0), \
  734. plus_constant (Pmode, \
  735. XEXP (operands[1], 0), \
  736. GET_MODE_SIZE (V2SFmode))))
  737. #define HAVE_load_pairdfv2si (TARGET_SIMD \
  738. && rtx_equal_p (XEXP (operands[3], 0), \
  739. plus_constant (Pmode, \
  740. XEXP (operands[1], 0), \
  741. GET_MODE_SIZE (DFmode))))
  742. #define HAVE_load_pairv8qiv2sf (TARGET_SIMD \
  743. && rtx_equal_p (XEXP (operands[3], 0), \
  744. plus_constant (Pmode, \
  745. XEXP (operands[1], 0), \
  746. GET_MODE_SIZE (V8QImode))))
  747. #define HAVE_load_pairv4hiv2sf (TARGET_SIMD \
  748. && rtx_equal_p (XEXP (operands[3], 0), \
  749. plus_constant (Pmode, \
  750. XEXP (operands[1], 0), \
  751. GET_MODE_SIZE (V4HImode))))
  752. #define HAVE_load_pairv4hfv2sf (TARGET_SIMD \
  753. && rtx_equal_p (XEXP (operands[3], 0), \
  754. plus_constant (Pmode, \
  755. XEXP (operands[1], 0), \
  756. GET_MODE_SIZE (V4HFmode))))
  757. #define HAVE_load_pairv2siv2sf (TARGET_SIMD \
  758. && rtx_equal_p (XEXP (operands[3], 0), \
  759. plus_constant (Pmode, \
  760. XEXP (operands[1], 0), \
  761. GET_MODE_SIZE (V2SImode))))
  762. #define HAVE_load_pairv2sfv2sf (TARGET_SIMD \
  763. && rtx_equal_p (XEXP (operands[3], 0), \
  764. plus_constant (Pmode, \
  765. XEXP (operands[1], 0), \
  766. GET_MODE_SIZE (V2SFmode))))
  767. #define HAVE_load_pairdfv2sf (TARGET_SIMD \
  768. && rtx_equal_p (XEXP (operands[3], 0), \
  769. plus_constant (Pmode, \
  770. XEXP (operands[1], 0), \
  771. GET_MODE_SIZE (DFmode))))
  772. #define HAVE_load_pairv8qidf (TARGET_SIMD \
  773. && rtx_equal_p (XEXP (operands[3], 0), \
  774. plus_constant (Pmode, \
  775. XEXP (operands[1], 0), \
  776. GET_MODE_SIZE (V8QImode))))
  777. #define HAVE_load_pairv4hidf (TARGET_SIMD \
  778. && rtx_equal_p (XEXP (operands[3], 0), \
  779. plus_constant (Pmode, \
  780. XEXP (operands[1], 0), \
  781. GET_MODE_SIZE (V4HImode))))
  782. #define HAVE_load_pairv4hfdf (TARGET_SIMD \
  783. && rtx_equal_p (XEXP (operands[3], 0), \
  784. plus_constant (Pmode, \
  785. XEXP (operands[1], 0), \
  786. GET_MODE_SIZE (V4HFmode))))
  787. #define HAVE_load_pairv2sidf (TARGET_SIMD \
  788. && rtx_equal_p (XEXP (operands[3], 0), \
  789. plus_constant (Pmode, \
  790. XEXP (operands[1], 0), \
  791. GET_MODE_SIZE (V2SImode))))
  792. #define HAVE_load_pairv2sfdf (TARGET_SIMD \
  793. && rtx_equal_p (XEXP (operands[3], 0), \
  794. plus_constant (Pmode, \
  795. XEXP (operands[1], 0), \
  796. GET_MODE_SIZE (V2SFmode))))
  797. #define HAVE_load_pairdfdf (TARGET_SIMD \
  798. && rtx_equal_p (XEXP (operands[3], 0), \
  799. plus_constant (Pmode, \
  800. XEXP (operands[1], 0), \
  801. GET_MODE_SIZE (DFmode))))
  802. #define HAVE_vec_store_pairv8qiv8qi (TARGET_SIMD \
  803. && rtx_equal_p (XEXP (operands[2], 0), \
  804. plus_constant (Pmode, \
  805. XEXP (operands[0], 0), \
  806. GET_MODE_SIZE (V8QImode))))
  807. #define HAVE_vec_store_pairv4hiv8qi (TARGET_SIMD \
  808. && rtx_equal_p (XEXP (operands[2], 0), \
  809. plus_constant (Pmode, \
  810. XEXP (operands[0], 0), \
  811. GET_MODE_SIZE (V4HImode))))
  812. #define HAVE_vec_store_pairv4hfv8qi (TARGET_SIMD \
  813. && rtx_equal_p (XEXP (operands[2], 0), \
  814. plus_constant (Pmode, \
  815. XEXP (operands[0], 0), \
  816. GET_MODE_SIZE (V4HFmode))))
  817. #define HAVE_vec_store_pairv2siv8qi (TARGET_SIMD \
  818. && rtx_equal_p (XEXP (operands[2], 0), \
  819. plus_constant (Pmode, \
  820. XEXP (operands[0], 0), \
  821. GET_MODE_SIZE (V2SImode))))
  822. #define HAVE_vec_store_pairv2sfv8qi (TARGET_SIMD \
  823. && rtx_equal_p (XEXP (operands[2], 0), \
  824. plus_constant (Pmode, \
  825. XEXP (operands[0], 0), \
  826. GET_MODE_SIZE (V2SFmode))))
  827. #define HAVE_vec_store_pairdfv8qi (TARGET_SIMD \
  828. && rtx_equal_p (XEXP (operands[2], 0), \
  829. plus_constant (Pmode, \
  830. XEXP (operands[0], 0), \
  831. GET_MODE_SIZE (DFmode))))
  832. #define HAVE_vec_store_pairv8qiv4hi (TARGET_SIMD \
  833. && rtx_equal_p (XEXP (operands[2], 0), \
  834. plus_constant (Pmode, \
  835. XEXP (operands[0], 0), \
  836. GET_MODE_SIZE (V8QImode))))
  837. #define HAVE_vec_store_pairv4hiv4hi (TARGET_SIMD \
  838. && rtx_equal_p (XEXP (operands[2], 0), \
  839. plus_constant (Pmode, \
  840. XEXP (operands[0], 0), \
  841. GET_MODE_SIZE (V4HImode))))
  842. #define HAVE_vec_store_pairv4hfv4hi (TARGET_SIMD \
  843. && rtx_equal_p (XEXP (operands[2], 0), \
  844. plus_constant (Pmode, \
  845. XEXP (operands[0], 0), \
  846. GET_MODE_SIZE (V4HFmode))))
  847. #define HAVE_vec_store_pairv2siv4hi (TARGET_SIMD \
  848. && rtx_equal_p (XEXP (operands[2], 0), \
  849. plus_constant (Pmode, \
  850. XEXP (operands[0], 0), \
  851. GET_MODE_SIZE (V2SImode))))
  852. #define HAVE_vec_store_pairv2sfv4hi (TARGET_SIMD \
  853. && rtx_equal_p (XEXP (operands[2], 0), \
  854. plus_constant (Pmode, \
  855. XEXP (operands[0], 0), \
  856. GET_MODE_SIZE (V2SFmode))))
  857. #define HAVE_vec_store_pairdfv4hi (TARGET_SIMD \
  858. && rtx_equal_p (XEXP (operands[2], 0), \
  859. plus_constant (Pmode, \
  860. XEXP (operands[0], 0), \
  861. GET_MODE_SIZE (DFmode))))
  862. #define HAVE_vec_store_pairv8qiv4hf (TARGET_SIMD \
  863. && rtx_equal_p (XEXP (operands[2], 0), \
  864. plus_constant (Pmode, \
  865. XEXP (operands[0], 0), \
  866. GET_MODE_SIZE (V8QImode))))
  867. #define HAVE_vec_store_pairv4hiv4hf (TARGET_SIMD \
  868. && rtx_equal_p (XEXP (operands[2], 0), \
  869. plus_constant (Pmode, \
  870. XEXP (operands[0], 0), \
  871. GET_MODE_SIZE (V4HImode))))
  872. #define HAVE_vec_store_pairv4hfv4hf (TARGET_SIMD \
  873. && rtx_equal_p (XEXP (operands[2], 0), \
  874. plus_constant (Pmode, \
  875. XEXP (operands[0], 0), \
  876. GET_MODE_SIZE (V4HFmode))))
  877. #define HAVE_vec_store_pairv2siv4hf (TARGET_SIMD \
  878. && rtx_equal_p (XEXP (operands[2], 0), \
  879. plus_constant (Pmode, \
  880. XEXP (operands[0], 0), \
  881. GET_MODE_SIZE (V2SImode))))
  882. #define HAVE_vec_store_pairv2sfv4hf (TARGET_SIMD \
  883. && rtx_equal_p (XEXP (operands[2], 0), \
  884. plus_constant (Pmode, \
  885. XEXP (operands[0], 0), \
  886. GET_MODE_SIZE (V2SFmode))))
  887. #define HAVE_vec_store_pairdfv4hf (TARGET_SIMD \
  888. && rtx_equal_p (XEXP (operands[2], 0), \
  889. plus_constant (Pmode, \
  890. XEXP (operands[0], 0), \
  891. GET_MODE_SIZE (DFmode))))
  892. #define HAVE_vec_store_pairv8qiv2si (TARGET_SIMD \
  893. && rtx_equal_p (XEXP (operands[2], 0), \
  894. plus_constant (Pmode, \
  895. XEXP (operands[0], 0), \
  896. GET_MODE_SIZE (V8QImode))))
  897. #define HAVE_vec_store_pairv4hiv2si (TARGET_SIMD \
  898. && rtx_equal_p (XEXP (operands[2], 0), \
  899. plus_constant (Pmode, \
  900. XEXP (operands[0], 0), \
  901. GET_MODE_SIZE (V4HImode))))
  902. #define HAVE_vec_store_pairv4hfv2si (TARGET_SIMD \
  903. && rtx_equal_p (XEXP (operands[2], 0), \
  904. plus_constant (Pmode, \
  905. XEXP (operands[0], 0), \
  906. GET_MODE_SIZE (V4HFmode))))
  907. #define HAVE_vec_store_pairv2siv2si (TARGET_SIMD \
  908. && rtx_equal_p (XEXP (operands[2], 0), \
  909. plus_constant (Pmode, \
  910. XEXP (operands[0], 0), \
  911. GET_MODE_SIZE (V2SImode))))
  912. #define HAVE_vec_store_pairv2sfv2si (TARGET_SIMD \
  913. && rtx_equal_p (XEXP (operands[2], 0), \
  914. plus_constant (Pmode, \
  915. XEXP (operands[0], 0), \
  916. GET_MODE_SIZE (V2SFmode))))
  917. #define HAVE_vec_store_pairdfv2si (TARGET_SIMD \
  918. && rtx_equal_p (XEXP (operands[2], 0), \
  919. plus_constant (Pmode, \
  920. XEXP (operands[0], 0), \
  921. GET_MODE_SIZE (DFmode))))
  922. #define HAVE_vec_store_pairv8qiv2sf (TARGET_SIMD \
  923. && rtx_equal_p (XEXP (operands[2], 0), \
  924. plus_constant (Pmode, \
  925. XEXP (operands[0], 0), \
  926. GET_MODE_SIZE (V8QImode))))
  927. #define HAVE_vec_store_pairv4hiv2sf (TARGET_SIMD \
  928. && rtx_equal_p (XEXP (operands[2], 0), \
  929. plus_constant (Pmode, \
  930. XEXP (operands[0], 0), \
  931. GET_MODE_SIZE (V4HImode))))
  932. #define HAVE_vec_store_pairv4hfv2sf (TARGET_SIMD \
  933. && rtx_equal_p (XEXP (operands[2], 0), \
  934. plus_constant (Pmode, \
  935. XEXP (operands[0], 0), \
  936. GET_MODE_SIZE (V4HFmode))))
  937. #define HAVE_vec_store_pairv2siv2sf (TARGET_SIMD \
  938. && rtx_equal_p (XEXP (operands[2], 0), \
  939. plus_constant (Pmode, \
  940. XEXP (operands[0], 0), \
  941. GET_MODE_SIZE (V2SImode))))
  942. #define HAVE_vec_store_pairv2sfv2sf (TARGET_SIMD \
  943. && rtx_equal_p (XEXP (operands[2], 0), \
  944. plus_constant (Pmode, \
  945. XEXP (operands[0], 0), \
  946. GET_MODE_SIZE (V2SFmode))))
  947. #define HAVE_vec_store_pairdfv2sf (TARGET_SIMD \
  948. && rtx_equal_p (XEXP (operands[2], 0), \
  949. plus_constant (Pmode, \
  950. XEXP (operands[0], 0), \
  951. GET_MODE_SIZE (DFmode))))
  952. #define HAVE_vec_store_pairv8qidf (TARGET_SIMD \
  953. && rtx_equal_p (XEXP (operands[2], 0), \
  954. plus_constant (Pmode, \
  955. XEXP (operands[0], 0), \
  956. GET_MODE_SIZE (V8QImode))))
  957. #define HAVE_vec_store_pairv4hidf (TARGET_SIMD \
  958. && rtx_equal_p (XEXP (operands[2], 0), \
  959. plus_constant (Pmode, \
  960. XEXP (operands[0], 0), \
  961. GET_MODE_SIZE (V4HImode))))
  962. #define HAVE_vec_store_pairv4hfdf (TARGET_SIMD \
  963. && rtx_equal_p (XEXP (operands[2], 0), \
  964. plus_constant (Pmode, \
  965. XEXP (operands[0], 0), \
  966. GET_MODE_SIZE (V4HFmode))))
  967. #define HAVE_vec_store_pairv2sidf (TARGET_SIMD \
  968. && rtx_equal_p (XEXP (operands[2], 0), \
  969. plus_constant (Pmode, \
  970. XEXP (operands[0], 0), \
  971. GET_MODE_SIZE (V2SImode))))
  972. #define HAVE_vec_store_pairv2sfdf (TARGET_SIMD \
  973. && rtx_equal_p (XEXP (operands[2], 0), \
  974. plus_constant (Pmode, \
  975. XEXP (operands[0], 0), \
  976. GET_MODE_SIZE (V2SFmode))))
  977. #define HAVE_vec_store_pairdfdf (TARGET_SIMD \
  978. && rtx_equal_p (XEXP (operands[2], 0), \
  979. plus_constant (Pmode, \
  980. XEXP (operands[0], 0), \
  981. GET_MODE_SIZE (DFmode))))
  982. #define HAVE_load_pairv16qiv16qi (TARGET_SIMD \
  983. && rtx_equal_p (XEXP (operands[3], 0), \
  984. plus_constant (Pmode, \
  985. XEXP (operands[1], 0), \
  986. GET_MODE_SIZE (V16QImode))))
  987. #define HAVE_load_pairv16qiv8hi (TARGET_SIMD \
  988. && rtx_equal_p (XEXP (operands[3], 0), \
  989. plus_constant (Pmode, \
  990. XEXP (operands[1], 0), \
  991. GET_MODE_SIZE (V16QImode))))
  992. #define HAVE_load_pairv16qiv4si (TARGET_SIMD \
  993. && rtx_equal_p (XEXP (operands[3], 0), \
  994. plus_constant (Pmode, \
  995. XEXP (operands[1], 0), \
  996. GET_MODE_SIZE (V16QImode))))
  997. #define HAVE_load_pairv16qiv2di (TARGET_SIMD \
  998. && rtx_equal_p (XEXP (operands[3], 0), \
  999. plus_constant (Pmode, \
  1000. XEXP (operands[1], 0), \
  1001. GET_MODE_SIZE (V16QImode))))
  1002. #define HAVE_load_pairv16qiv8hf (TARGET_SIMD \
  1003. && rtx_equal_p (XEXP (operands[3], 0), \
  1004. plus_constant (Pmode, \
  1005. XEXP (operands[1], 0), \
  1006. GET_MODE_SIZE (V16QImode))))
  1007. #define HAVE_load_pairv16qiv8bf (TARGET_SIMD \
  1008. && rtx_equal_p (XEXP (operands[3], 0), \
  1009. plus_constant (Pmode, \
  1010. XEXP (operands[1], 0), \
  1011. GET_MODE_SIZE (V16QImode))))
  1012. #define HAVE_load_pairv16qiv4sf (TARGET_SIMD \
  1013. && rtx_equal_p (XEXP (operands[3], 0), \
  1014. plus_constant (Pmode, \
  1015. XEXP (operands[1], 0), \
  1016. GET_MODE_SIZE (V16QImode))))
  1017. #define HAVE_load_pairv16qiv2df (TARGET_SIMD \
  1018. && rtx_equal_p (XEXP (operands[3], 0), \
  1019. plus_constant (Pmode, \
  1020. XEXP (operands[1], 0), \
  1021. GET_MODE_SIZE (V16QImode))))
  1022. #define HAVE_load_pairv8hiv16qi (TARGET_SIMD \
  1023. && rtx_equal_p (XEXP (operands[3], 0), \
  1024. plus_constant (Pmode, \
  1025. XEXP (operands[1], 0), \
  1026. GET_MODE_SIZE (V8HImode))))
  1027. #define HAVE_load_pairv8hiv8hi (TARGET_SIMD \
  1028. && rtx_equal_p (XEXP (operands[3], 0), \
  1029. plus_constant (Pmode, \
  1030. XEXP (operands[1], 0), \
  1031. GET_MODE_SIZE (V8HImode))))
  1032. #define HAVE_load_pairv8hiv4si (TARGET_SIMD \
  1033. && rtx_equal_p (XEXP (operands[3], 0), \
  1034. plus_constant (Pmode, \
  1035. XEXP (operands[1], 0), \
  1036. GET_MODE_SIZE (V8HImode))))
  1037. #define HAVE_load_pairv8hiv2di (TARGET_SIMD \
  1038. && rtx_equal_p (XEXP (operands[3], 0), \
  1039. plus_constant (Pmode, \
  1040. XEXP (operands[1], 0), \
  1041. GET_MODE_SIZE (V8HImode))))
  1042. #define HAVE_load_pairv8hiv8hf (TARGET_SIMD \
  1043. && rtx_equal_p (XEXP (operands[3], 0), \
  1044. plus_constant (Pmode, \
  1045. XEXP (operands[1], 0), \
  1046. GET_MODE_SIZE (V8HImode))))
  1047. #define HAVE_load_pairv8hiv8bf (TARGET_SIMD \
  1048. && rtx_equal_p (XEXP (operands[3], 0), \
  1049. plus_constant (Pmode, \
  1050. XEXP (operands[1], 0), \
  1051. GET_MODE_SIZE (V8HImode))))
  1052. #define HAVE_load_pairv8hiv4sf (TARGET_SIMD \
  1053. && rtx_equal_p (XEXP (operands[3], 0), \
  1054. plus_constant (Pmode, \
  1055. XEXP (operands[1], 0), \
  1056. GET_MODE_SIZE (V8HImode))))
  1057. #define HAVE_load_pairv8hiv2df (TARGET_SIMD \
  1058. && rtx_equal_p (XEXP (operands[3], 0), \
  1059. plus_constant (Pmode, \
  1060. XEXP (operands[1], 0), \
  1061. GET_MODE_SIZE (V8HImode))))
  1062. #define HAVE_load_pairv4siv16qi (TARGET_SIMD \
  1063. && rtx_equal_p (XEXP (operands[3], 0), \
  1064. plus_constant (Pmode, \
  1065. XEXP (operands[1], 0), \
  1066. GET_MODE_SIZE (V4SImode))))
  1067. #define HAVE_load_pairv4siv8hi (TARGET_SIMD \
  1068. && rtx_equal_p (XEXP (operands[3], 0), \
  1069. plus_constant (Pmode, \
  1070. XEXP (operands[1], 0), \
  1071. GET_MODE_SIZE (V4SImode))))
  1072. #define HAVE_load_pairv4siv4si (TARGET_SIMD \
  1073. && rtx_equal_p (XEXP (operands[3], 0), \
  1074. plus_constant (Pmode, \
  1075. XEXP (operands[1], 0), \
  1076. GET_MODE_SIZE (V4SImode))))
  1077. #define HAVE_load_pairv4siv2di (TARGET_SIMD \
  1078. && rtx_equal_p (XEXP (operands[3], 0), \
  1079. plus_constant (Pmode, \
  1080. XEXP (operands[1], 0), \
  1081. GET_MODE_SIZE (V4SImode))))
  1082. #define HAVE_load_pairv4siv8hf (TARGET_SIMD \
  1083. && rtx_equal_p (XEXP (operands[3], 0), \
  1084. plus_constant (Pmode, \
  1085. XEXP (operands[1], 0), \
  1086. GET_MODE_SIZE (V4SImode))))
  1087. #define HAVE_load_pairv4siv8bf (TARGET_SIMD \
  1088. && rtx_equal_p (XEXP (operands[3], 0), \
  1089. plus_constant (Pmode, \
  1090. XEXP (operands[1], 0), \
  1091. GET_MODE_SIZE (V4SImode))))
  1092. #define HAVE_load_pairv4siv4sf (TARGET_SIMD \
  1093. && rtx_equal_p (XEXP (operands[3], 0), \
  1094. plus_constant (Pmode, \
  1095. XEXP (operands[1], 0), \
  1096. GET_MODE_SIZE (V4SImode))))
  1097. #define HAVE_load_pairv4siv2df (TARGET_SIMD \
  1098. && rtx_equal_p (XEXP (operands[3], 0), \
  1099. plus_constant (Pmode, \
  1100. XEXP (operands[1], 0), \
  1101. GET_MODE_SIZE (V4SImode))))
  1102. #define HAVE_load_pairv2div16qi (TARGET_SIMD \
  1103. && rtx_equal_p (XEXP (operands[3], 0), \
  1104. plus_constant (Pmode, \
  1105. XEXP (operands[1], 0), \
  1106. GET_MODE_SIZE (V2DImode))))
  1107. #define HAVE_load_pairv2div8hi (TARGET_SIMD \
  1108. && rtx_equal_p (XEXP (operands[3], 0), \
  1109. plus_constant (Pmode, \
  1110. XEXP (operands[1], 0), \
  1111. GET_MODE_SIZE (V2DImode))))
  1112. #define HAVE_load_pairv2div4si (TARGET_SIMD \
  1113. && rtx_equal_p (XEXP (operands[3], 0), \
  1114. plus_constant (Pmode, \
  1115. XEXP (operands[1], 0), \
  1116. GET_MODE_SIZE (V2DImode))))
  1117. #define HAVE_load_pairv2div2di (TARGET_SIMD \
  1118. && rtx_equal_p (XEXP (operands[3], 0), \
  1119. plus_constant (Pmode, \
  1120. XEXP (operands[1], 0), \
  1121. GET_MODE_SIZE (V2DImode))))
  1122. #define HAVE_load_pairv2div8hf (TARGET_SIMD \
  1123. && rtx_equal_p (XEXP (operands[3], 0), \
  1124. plus_constant (Pmode, \
  1125. XEXP (operands[1], 0), \
  1126. GET_MODE_SIZE (V2DImode))))
  1127. #define HAVE_load_pairv2div8bf (TARGET_SIMD \
  1128. && rtx_equal_p (XEXP (operands[3], 0), \
  1129. plus_constant (Pmode, \
  1130. XEXP (operands[1], 0), \
  1131. GET_MODE_SIZE (V2DImode))))
  1132. #define HAVE_load_pairv2div4sf (TARGET_SIMD \
  1133. && rtx_equal_p (XEXP (operands[3], 0), \
  1134. plus_constant (Pmode, \
  1135. XEXP (operands[1], 0), \
  1136. GET_MODE_SIZE (V2DImode))))
  1137. #define HAVE_load_pairv2div2df (TARGET_SIMD \
  1138. && rtx_equal_p (XEXP (operands[3], 0), \
  1139. plus_constant (Pmode, \
  1140. XEXP (operands[1], 0), \
  1141. GET_MODE_SIZE (V2DImode))))
  1142. #define HAVE_load_pairv8hfv16qi (TARGET_SIMD \
  1143. && rtx_equal_p (XEXP (operands[3], 0), \
  1144. plus_constant (Pmode, \
  1145. XEXP (operands[1], 0), \
  1146. GET_MODE_SIZE (V8HFmode))))
  1147. #define HAVE_load_pairv8hfv8hi (TARGET_SIMD \
  1148. && rtx_equal_p (XEXP (operands[3], 0), \
  1149. plus_constant (Pmode, \
  1150. XEXP (operands[1], 0), \
  1151. GET_MODE_SIZE (V8HFmode))))
  1152. #define HAVE_load_pairv8hfv4si (TARGET_SIMD \
  1153. && rtx_equal_p (XEXP (operands[3], 0), \
  1154. plus_constant (Pmode, \
  1155. XEXP (operands[1], 0), \
  1156. GET_MODE_SIZE (V8HFmode))))
  1157. #define HAVE_load_pairv8hfv2di (TARGET_SIMD \
  1158. && rtx_equal_p (XEXP (operands[3], 0), \
  1159. plus_constant (Pmode, \
  1160. XEXP (operands[1], 0), \
  1161. GET_MODE_SIZE (V8HFmode))))
  1162. #define HAVE_load_pairv8hfv8hf (TARGET_SIMD \
  1163. && rtx_equal_p (XEXP (operands[3], 0), \
  1164. plus_constant (Pmode, \
  1165. XEXP (operands[1], 0), \
  1166. GET_MODE_SIZE (V8HFmode))))
  1167. #define HAVE_load_pairv8hfv8bf (TARGET_SIMD \
  1168. && rtx_equal_p (XEXP (operands[3], 0), \
  1169. plus_constant (Pmode, \
  1170. XEXP (operands[1], 0), \
  1171. GET_MODE_SIZE (V8HFmode))))
  1172. #define HAVE_load_pairv8hfv4sf (TARGET_SIMD \
  1173. && rtx_equal_p (XEXP (operands[3], 0), \
  1174. plus_constant (Pmode, \
  1175. XEXP (operands[1], 0), \
  1176. GET_MODE_SIZE (V8HFmode))))
  1177. #define HAVE_load_pairv8hfv2df (TARGET_SIMD \
  1178. && rtx_equal_p (XEXP (operands[3], 0), \
  1179. plus_constant (Pmode, \
  1180. XEXP (operands[1], 0), \
  1181. GET_MODE_SIZE (V8HFmode))))
  1182. #define HAVE_load_pairv4sfv16qi (TARGET_SIMD \
  1183. && rtx_equal_p (XEXP (operands[3], 0), \
  1184. plus_constant (Pmode, \
  1185. XEXP (operands[1], 0), \
  1186. GET_MODE_SIZE (V4SFmode))))
  1187. #define HAVE_load_pairv4sfv8hi (TARGET_SIMD \
  1188. && rtx_equal_p (XEXP (operands[3], 0), \
  1189. plus_constant (Pmode, \
  1190. XEXP (operands[1], 0), \
  1191. GET_MODE_SIZE (V4SFmode))))
  1192. #define HAVE_load_pairv4sfv4si (TARGET_SIMD \
  1193. && rtx_equal_p (XEXP (operands[3], 0), \
  1194. plus_constant (Pmode, \
  1195. XEXP (operands[1], 0), \
  1196. GET_MODE_SIZE (V4SFmode))))
  1197. #define HAVE_load_pairv4sfv2di (TARGET_SIMD \
  1198. && rtx_equal_p (XEXP (operands[3], 0), \
  1199. plus_constant (Pmode, \
  1200. XEXP (operands[1], 0), \
  1201. GET_MODE_SIZE (V4SFmode))))
  1202. #define HAVE_load_pairv4sfv8hf (TARGET_SIMD \
  1203. && rtx_equal_p (XEXP (operands[3], 0), \
  1204. plus_constant (Pmode, \
  1205. XEXP (operands[1], 0), \
  1206. GET_MODE_SIZE (V4SFmode))))
  1207. #define HAVE_load_pairv4sfv8bf (TARGET_SIMD \
  1208. && rtx_equal_p (XEXP (operands[3], 0), \
  1209. plus_constant (Pmode, \
  1210. XEXP (operands[1], 0), \
  1211. GET_MODE_SIZE (V4SFmode))))
  1212. #define HAVE_load_pairv4sfv4sf (TARGET_SIMD \
  1213. && rtx_equal_p (XEXP (operands[3], 0), \
  1214. plus_constant (Pmode, \
  1215. XEXP (operands[1], 0), \
  1216. GET_MODE_SIZE (V4SFmode))))
  1217. #define HAVE_load_pairv4sfv2df (TARGET_SIMD \
  1218. && rtx_equal_p (XEXP (operands[3], 0), \
  1219. plus_constant (Pmode, \
  1220. XEXP (operands[1], 0), \
  1221. GET_MODE_SIZE (V4SFmode))))
  1222. #define HAVE_load_pairv2dfv16qi (TARGET_SIMD \
  1223. && rtx_equal_p (XEXP (operands[3], 0), \
  1224. plus_constant (Pmode, \
  1225. XEXP (operands[1], 0), \
  1226. GET_MODE_SIZE (V2DFmode))))
  1227. #define HAVE_load_pairv2dfv8hi (TARGET_SIMD \
  1228. && rtx_equal_p (XEXP (operands[3], 0), \
  1229. plus_constant (Pmode, \
  1230. XEXP (operands[1], 0), \
  1231. GET_MODE_SIZE (V2DFmode))))
  1232. #define HAVE_load_pairv2dfv4si (TARGET_SIMD \
  1233. && rtx_equal_p (XEXP (operands[3], 0), \
  1234. plus_constant (Pmode, \
  1235. XEXP (operands[1], 0), \
  1236. GET_MODE_SIZE (V2DFmode))))
  1237. #define HAVE_load_pairv2dfv2di (TARGET_SIMD \
  1238. && rtx_equal_p (XEXP (operands[3], 0), \
  1239. plus_constant (Pmode, \
  1240. XEXP (operands[1], 0), \
  1241. GET_MODE_SIZE (V2DFmode))))
  1242. #define HAVE_load_pairv2dfv8hf (TARGET_SIMD \
  1243. && rtx_equal_p (XEXP (operands[3], 0), \
  1244. plus_constant (Pmode, \
  1245. XEXP (operands[1], 0), \
  1246. GET_MODE_SIZE (V2DFmode))))
  1247. #define HAVE_load_pairv2dfv8bf (TARGET_SIMD \
  1248. && rtx_equal_p (XEXP (operands[3], 0), \
  1249. plus_constant (Pmode, \
  1250. XEXP (operands[1], 0), \
  1251. GET_MODE_SIZE (V2DFmode))))
  1252. #define HAVE_load_pairv2dfv4sf (TARGET_SIMD \
  1253. && rtx_equal_p (XEXP (operands[3], 0), \
  1254. plus_constant (Pmode, \
  1255. XEXP (operands[1], 0), \
  1256. GET_MODE_SIZE (V2DFmode))))
  1257. #define HAVE_load_pairv2dfv2df (TARGET_SIMD \
  1258. && rtx_equal_p (XEXP (operands[3], 0), \
  1259. plus_constant (Pmode, \
  1260. XEXP (operands[1], 0), \
  1261. GET_MODE_SIZE (V2DFmode))))
  1262. #define HAVE_load_pairv8bfv16qi (TARGET_SIMD \
  1263. && rtx_equal_p (XEXP (operands[3], 0), \
  1264. plus_constant (Pmode, \
  1265. XEXP (operands[1], 0), \
  1266. GET_MODE_SIZE (V8BFmode))))
  1267. #define HAVE_load_pairv8bfv8hi (TARGET_SIMD \
  1268. && rtx_equal_p (XEXP (operands[3], 0), \
  1269. plus_constant (Pmode, \
  1270. XEXP (operands[1], 0), \
  1271. GET_MODE_SIZE (V8BFmode))))
  1272. #define HAVE_load_pairv8bfv4si (TARGET_SIMD \
  1273. && rtx_equal_p (XEXP (operands[3], 0), \
  1274. plus_constant (Pmode, \
  1275. XEXP (operands[1], 0), \
  1276. GET_MODE_SIZE (V8BFmode))))
  1277. #define HAVE_load_pairv8bfv2di (TARGET_SIMD \
  1278. && rtx_equal_p (XEXP (operands[3], 0), \
  1279. plus_constant (Pmode, \
  1280. XEXP (operands[1], 0), \
  1281. GET_MODE_SIZE (V8BFmode))))
  1282. #define HAVE_load_pairv8bfv8hf (TARGET_SIMD \
  1283. && rtx_equal_p (XEXP (operands[3], 0), \
  1284. plus_constant (Pmode, \
  1285. XEXP (operands[1], 0), \
  1286. GET_MODE_SIZE (V8BFmode))))
  1287. #define HAVE_load_pairv8bfv8bf (TARGET_SIMD \
  1288. && rtx_equal_p (XEXP (operands[3], 0), \
  1289. plus_constant (Pmode, \
  1290. XEXP (operands[1], 0), \
  1291. GET_MODE_SIZE (V8BFmode))))
  1292. #define HAVE_load_pairv8bfv4sf (TARGET_SIMD \
  1293. && rtx_equal_p (XEXP (operands[3], 0), \
  1294. plus_constant (Pmode, \
  1295. XEXP (operands[1], 0), \
  1296. GET_MODE_SIZE (V8BFmode))))
  1297. #define HAVE_load_pairv8bfv2df (TARGET_SIMD \
  1298. && rtx_equal_p (XEXP (operands[3], 0), \
  1299. plus_constant (Pmode, \
  1300. XEXP (operands[1], 0), \
  1301. GET_MODE_SIZE (V8BFmode))))
  1302. #define HAVE_vec_store_pairv16qiv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1303. plus_constant (Pmode, \
  1304. XEXP (operands[0], 0), \
  1305. GET_MODE_SIZE (V16QImode))))
  1306. #define HAVE_vec_store_pairv16qiv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1307. plus_constant (Pmode, \
  1308. XEXP (operands[0], 0), \
  1309. GET_MODE_SIZE (V16QImode))))
  1310. #define HAVE_vec_store_pairv16qiv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1311. plus_constant (Pmode, \
  1312. XEXP (operands[0], 0), \
  1313. GET_MODE_SIZE (V16QImode))))
  1314. #define HAVE_vec_store_pairv16qiv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1315. plus_constant (Pmode, \
  1316. XEXP (operands[0], 0), \
  1317. GET_MODE_SIZE (V16QImode))))
  1318. #define HAVE_vec_store_pairv16qiv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1319. plus_constant (Pmode, \
  1320. XEXP (operands[0], 0), \
  1321. GET_MODE_SIZE (V16QImode))))
  1322. #define HAVE_vec_store_pairv16qiv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1323. plus_constant (Pmode, \
  1324. XEXP (operands[0], 0), \
  1325. GET_MODE_SIZE (V16QImode))))
  1326. #define HAVE_vec_store_pairv16qiv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1327. plus_constant (Pmode, \
  1328. XEXP (operands[0], 0), \
  1329. GET_MODE_SIZE (V16QImode))))
  1330. #define HAVE_vec_store_pairv16qiv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1331. plus_constant (Pmode, \
  1332. XEXP (operands[0], 0), \
  1333. GET_MODE_SIZE (V16QImode))))
  1334. #define HAVE_vec_store_pairv8hiv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1335. plus_constant (Pmode, \
  1336. XEXP (operands[0], 0), \
  1337. GET_MODE_SIZE (V8HImode))))
  1338. #define HAVE_vec_store_pairv8hiv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1339. plus_constant (Pmode, \
  1340. XEXP (operands[0], 0), \
  1341. GET_MODE_SIZE (V8HImode))))
  1342. #define HAVE_vec_store_pairv8hiv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1343. plus_constant (Pmode, \
  1344. XEXP (operands[0], 0), \
  1345. GET_MODE_SIZE (V8HImode))))
  1346. #define HAVE_vec_store_pairv8hiv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1347. plus_constant (Pmode, \
  1348. XEXP (operands[0], 0), \
  1349. GET_MODE_SIZE (V8HImode))))
  1350. #define HAVE_vec_store_pairv8hiv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1351. plus_constant (Pmode, \
  1352. XEXP (operands[0], 0), \
  1353. GET_MODE_SIZE (V8HImode))))
  1354. #define HAVE_vec_store_pairv8hiv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1355. plus_constant (Pmode, \
  1356. XEXP (operands[0], 0), \
  1357. GET_MODE_SIZE (V8HImode))))
  1358. #define HAVE_vec_store_pairv8hiv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1359. plus_constant (Pmode, \
  1360. XEXP (operands[0], 0), \
  1361. GET_MODE_SIZE (V8HImode))))
  1362. #define HAVE_vec_store_pairv8hiv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1363. plus_constant (Pmode, \
  1364. XEXP (operands[0], 0), \
  1365. GET_MODE_SIZE (V8HImode))))
  1366. #define HAVE_vec_store_pairv4siv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1367. plus_constant (Pmode, \
  1368. XEXP (operands[0], 0), \
  1369. GET_MODE_SIZE (V4SImode))))
  1370. #define HAVE_vec_store_pairv4siv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1371. plus_constant (Pmode, \
  1372. XEXP (operands[0], 0), \
  1373. GET_MODE_SIZE (V4SImode))))
  1374. #define HAVE_vec_store_pairv4siv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1375. plus_constant (Pmode, \
  1376. XEXP (operands[0], 0), \
  1377. GET_MODE_SIZE (V4SImode))))
  1378. #define HAVE_vec_store_pairv4siv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1379. plus_constant (Pmode, \
  1380. XEXP (operands[0], 0), \
  1381. GET_MODE_SIZE (V4SImode))))
  1382. #define HAVE_vec_store_pairv4siv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1383. plus_constant (Pmode, \
  1384. XEXP (operands[0], 0), \
  1385. GET_MODE_SIZE (V4SImode))))
  1386. #define HAVE_vec_store_pairv4siv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1387. plus_constant (Pmode, \
  1388. XEXP (operands[0], 0), \
  1389. GET_MODE_SIZE (V4SImode))))
  1390. #define HAVE_vec_store_pairv4siv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1391. plus_constant (Pmode, \
  1392. XEXP (operands[0], 0), \
  1393. GET_MODE_SIZE (V4SImode))))
  1394. #define HAVE_vec_store_pairv4siv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1395. plus_constant (Pmode, \
  1396. XEXP (operands[0], 0), \
  1397. GET_MODE_SIZE (V4SImode))))
  1398. #define HAVE_vec_store_pairv2div16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1399. plus_constant (Pmode, \
  1400. XEXP (operands[0], 0), \
  1401. GET_MODE_SIZE (V2DImode))))
  1402. #define HAVE_vec_store_pairv2div8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1403. plus_constant (Pmode, \
  1404. XEXP (operands[0], 0), \
  1405. GET_MODE_SIZE (V2DImode))))
  1406. #define HAVE_vec_store_pairv2div4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1407. plus_constant (Pmode, \
  1408. XEXP (operands[0], 0), \
  1409. GET_MODE_SIZE (V2DImode))))
  1410. #define HAVE_vec_store_pairv2div2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1411. plus_constant (Pmode, \
  1412. XEXP (operands[0], 0), \
  1413. GET_MODE_SIZE (V2DImode))))
  1414. #define HAVE_vec_store_pairv2div8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1415. plus_constant (Pmode, \
  1416. XEXP (operands[0], 0), \
  1417. GET_MODE_SIZE (V2DImode))))
  1418. #define HAVE_vec_store_pairv2div8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1419. plus_constant (Pmode, \
  1420. XEXP (operands[0], 0), \
  1421. GET_MODE_SIZE (V2DImode))))
  1422. #define HAVE_vec_store_pairv2div4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1423. plus_constant (Pmode, \
  1424. XEXP (operands[0], 0), \
  1425. GET_MODE_SIZE (V2DImode))))
  1426. #define HAVE_vec_store_pairv2div2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1427. plus_constant (Pmode, \
  1428. XEXP (operands[0], 0), \
  1429. GET_MODE_SIZE (V2DImode))))
  1430. #define HAVE_vec_store_pairv8hfv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1431. plus_constant (Pmode, \
  1432. XEXP (operands[0], 0), \
  1433. GET_MODE_SIZE (V8HFmode))))
  1434. #define HAVE_vec_store_pairv8hfv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1435. plus_constant (Pmode, \
  1436. XEXP (operands[0], 0), \
  1437. GET_MODE_SIZE (V8HFmode))))
  1438. #define HAVE_vec_store_pairv8hfv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1439. plus_constant (Pmode, \
  1440. XEXP (operands[0], 0), \
  1441. GET_MODE_SIZE (V8HFmode))))
  1442. #define HAVE_vec_store_pairv8hfv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1443. plus_constant (Pmode, \
  1444. XEXP (operands[0], 0), \
  1445. GET_MODE_SIZE (V8HFmode))))
  1446. #define HAVE_vec_store_pairv8hfv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1447. plus_constant (Pmode, \
  1448. XEXP (operands[0], 0), \
  1449. GET_MODE_SIZE (V8HFmode))))
  1450. #define HAVE_vec_store_pairv8hfv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1451. plus_constant (Pmode, \
  1452. XEXP (operands[0], 0), \
  1453. GET_MODE_SIZE (V8HFmode))))
  1454. #define HAVE_vec_store_pairv8hfv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1455. plus_constant (Pmode, \
  1456. XEXP (operands[0], 0), \
  1457. GET_MODE_SIZE (V8HFmode))))
  1458. #define HAVE_vec_store_pairv8hfv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1459. plus_constant (Pmode, \
  1460. XEXP (operands[0], 0), \
  1461. GET_MODE_SIZE (V8HFmode))))
  1462. #define HAVE_vec_store_pairv4sfv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1463. plus_constant (Pmode, \
  1464. XEXP (operands[0], 0), \
  1465. GET_MODE_SIZE (V4SFmode))))
  1466. #define HAVE_vec_store_pairv4sfv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1467. plus_constant (Pmode, \
  1468. XEXP (operands[0], 0), \
  1469. GET_MODE_SIZE (V4SFmode))))
  1470. #define HAVE_vec_store_pairv4sfv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1471. plus_constant (Pmode, \
  1472. XEXP (operands[0], 0), \
  1473. GET_MODE_SIZE (V4SFmode))))
  1474. #define HAVE_vec_store_pairv4sfv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1475. plus_constant (Pmode, \
  1476. XEXP (operands[0], 0), \
  1477. GET_MODE_SIZE (V4SFmode))))
  1478. #define HAVE_vec_store_pairv4sfv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1479. plus_constant (Pmode, \
  1480. XEXP (operands[0], 0), \
  1481. GET_MODE_SIZE (V4SFmode))))
  1482. #define HAVE_vec_store_pairv4sfv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1483. plus_constant (Pmode, \
  1484. XEXP (operands[0], 0), \
  1485. GET_MODE_SIZE (V4SFmode))))
  1486. #define HAVE_vec_store_pairv4sfv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1487. plus_constant (Pmode, \
  1488. XEXP (operands[0], 0), \
  1489. GET_MODE_SIZE (V4SFmode))))
  1490. #define HAVE_vec_store_pairv4sfv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1491. plus_constant (Pmode, \
  1492. XEXP (operands[0], 0), \
  1493. GET_MODE_SIZE (V4SFmode))))
  1494. #define HAVE_vec_store_pairv2dfv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1495. plus_constant (Pmode, \
  1496. XEXP (operands[0], 0), \
  1497. GET_MODE_SIZE (V2DFmode))))
  1498. #define HAVE_vec_store_pairv2dfv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1499. plus_constant (Pmode, \
  1500. XEXP (operands[0], 0), \
  1501. GET_MODE_SIZE (V2DFmode))))
  1502. #define HAVE_vec_store_pairv2dfv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1503. plus_constant (Pmode, \
  1504. XEXP (operands[0], 0), \
  1505. GET_MODE_SIZE (V2DFmode))))
  1506. #define HAVE_vec_store_pairv2dfv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1507. plus_constant (Pmode, \
  1508. XEXP (operands[0], 0), \
  1509. GET_MODE_SIZE (V2DFmode))))
  1510. #define HAVE_vec_store_pairv2dfv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1511. plus_constant (Pmode, \
  1512. XEXP (operands[0], 0), \
  1513. GET_MODE_SIZE (V2DFmode))))
  1514. #define HAVE_vec_store_pairv2dfv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1515. plus_constant (Pmode, \
  1516. XEXP (operands[0], 0), \
  1517. GET_MODE_SIZE (V2DFmode))))
  1518. #define HAVE_vec_store_pairv2dfv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1519. plus_constant (Pmode, \
  1520. XEXP (operands[0], 0), \
  1521. GET_MODE_SIZE (V2DFmode))))
  1522. #define HAVE_vec_store_pairv2dfv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1523. plus_constant (Pmode, \
  1524. XEXP (operands[0], 0), \
  1525. GET_MODE_SIZE (V2DFmode))))
  1526. #define HAVE_vec_store_pairv8bfv16qi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1527. plus_constant (Pmode, \
  1528. XEXP (operands[0], 0), \
  1529. GET_MODE_SIZE (V8BFmode))))
  1530. #define HAVE_vec_store_pairv8bfv8hi (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1531. plus_constant (Pmode, \
  1532. XEXP (operands[0], 0), \
  1533. GET_MODE_SIZE (V8BFmode))))
  1534. #define HAVE_vec_store_pairv8bfv4si (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1535. plus_constant (Pmode, \
  1536. XEXP (operands[0], 0), \
  1537. GET_MODE_SIZE (V8BFmode))))
  1538. #define HAVE_vec_store_pairv8bfv2di (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1539. plus_constant (Pmode, \
  1540. XEXP (operands[0], 0), \
  1541. GET_MODE_SIZE (V8BFmode))))
  1542. #define HAVE_vec_store_pairv8bfv8hf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1543. plus_constant (Pmode, \
  1544. XEXP (operands[0], 0), \
  1545. GET_MODE_SIZE (V8BFmode))))
  1546. #define HAVE_vec_store_pairv8bfv8bf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1547. plus_constant (Pmode, \
  1548. XEXP (operands[0], 0), \
  1549. GET_MODE_SIZE (V8BFmode))))
  1550. #define HAVE_vec_store_pairv8bfv4sf (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1551. plus_constant (Pmode, \
  1552. XEXP (operands[0], 0), \
  1553. GET_MODE_SIZE (V8BFmode))))
  1554. #define HAVE_vec_store_pairv8bfv2df (TARGET_SIMD && rtx_equal_p (XEXP (operands[2], 0), \
  1555. plus_constant (Pmode, \
  1556. XEXP (operands[0], 0), \
  1557. GET_MODE_SIZE (V8BFmode))))
  1558. #define HAVE_aarch64_simd_mov_from_v16qilow (TARGET_SIMD)
  1559. #define HAVE_aarch64_simd_mov_from_v8hilow (TARGET_SIMD)
  1560. #define HAVE_aarch64_simd_mov_from_v4silow (TARGET_SIMD)
  1561. #define HAVE_aarch64_simd_mov_from_v8hflow (TARGET_SIMD)
  1562. #define HAVE_aarch64_simd_mov_from_v8bflow (TARGET_SIMD)
  1563. #define HAVE_aarch64_simd_mov_from_v4sflow (TARGET_SIMD)
  1564. #define HAVE_aarch64_simd_mov_from_v16qihigh (TARGET_SIMD)
  1565. #define HAVE_aarch64_simd_mov_from_v8hihigh (TARGET_SIMD)
  1566. #define HAVE_aarch64_simd_mov_from_v4sihigh (TARGET_SIMD)
  1567. #define HAVE_aarch64_simd_mov_from_v8hfhigh (TARGET_SIMD)
  1568. #define HAVE_aarch64_simd_mov_from_v8bfhigh (TARGET_SIMD)
  1569. #define HAVE_aarch64_simd_mov_from_v4sfhigh (TARGET_SIMD)
  1570. #define HAVE_ornv8qi3 (TARGET_SIMD)
  1571. #define HAVE_ornv16qi3 (TARGET_SIMD)
  1572. #define HAVE_ornv4hi3 (TARGET_SIMD)
  1573. #define HAVE_ornv8hi3 (TARGET_SIMD)
  1574. #define HAVE_ornv2si3 (TARGET_SIMD)
  1575. #define HAVE_ornv4si3 (TARGET_SIMD)
  1576. #define HAVE_ornv2di3 (TARGET_SIMD)
  1577. #define HAVE_bicv8qi3 (TARGET_SIMD)
  1578. #define HAVE_bicv16qi3 (TARGET_SIMD)
  1579. #define HAVE_bicv4hi3 (TARGET_SIMD)
  1580. #define HAVE_bicv8hi3 (TARGET_SIMD)
  1581. #define HAVE_bicv2si3 (TARGET_SIMD)
  1582. #define HAVE_bicv4si3 (TARGET_SIMD)
  1583. #define HAVE_bicv2di3 (TARGET_SIMD)
  1584. #define HAVE_addv8qi3 (TARGET_SIMD)
  1585. #define HAVE_addv16qi3 (TARGET_SIMD)
  1586. #define HAVE_addv4hi3 (TARGET_SIMD)
  1587. #define HAVE_addv8hi3 (TARGET_SIMD)
  1588. #define HAVE_addv2si3 (TARGET_SIMD)
  1589. #define HAVE_addv4si3 (TARGET_SIMD)
  1590. #define HAVE_addv2di3 (TARGET_SIMD)
  1591. #define HAVE_subv8qi3 (TARGET_SIMD)
  1592. #define HAVE_subv16qi3 (TARGET_SIMD)
  1593. #define HAVE_subv4hi3 (TARGET_SIMD)
  1594. #define HAVE_subv8hi3 (TARGET_SIMD)
  1595. #define HAVE_subv2si3 (TARGET_SIMD)
  1596. #define HAVE_subv4si3 (TARGET_SIMD)
  1597. #define HAVE_subv2di3 (TARGET_SIMD)
  1598. #define HAVE_mulv8qi3 (TARGET_SIMD)
  1599. #define HAVE_mulv16qi3 (TARGET_SIMD)
  1600. #define HAVE_mulv4hi3 (TARGET_SIMD)
  1601. #define HAVE_mulv8hi3 (TARGET_SIMD)
  1602. #define HAVE_mulv2si3 (TARGET_SIMD)
  1603. #define HAVE_mulv4si3 (TARGET_SIMD)
  1604. #define HAVE_bswapv4hi2 (TARGET_SIMD)
  1605. #define HAVE_bswapv8hi2 (TARGET_SIMD)
  1606. #define HAVE_bswapv2si2 (TARGET_SIMD)
  1607. #define HAVE_bswapv4si2 (TARGET_SIMD)
  1608. #define HAVE_bswapv2di2 (TARGET_SIMD)
  1609. #define HAVE_aarch64_rbitv8qi (TARGET_SIMD)
  1610. #define HAVE_aarch64_rbitv16qi (TARGET_SIMD)
  1611. #define HAVE_aarch64_fcadd90v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1612. #define HAVE_aarch64_fcadd270v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1613. #define HAVE_aarch64_fcadd90v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1614. #define HAVE_aarch64_fcadd270v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1615. #define HAVE_aarch64_fcadd90v2sf (TARGET_COMPLEX)
  1616. #define HAVE_aarch64_fcadd270v2sf (TARGET_COMPLEX)
  1617. #define HAVE_aarch64_fcadd90v4sf (TARGET_COMPLEX)
  1618. #define HAVE_aarch64_fcadd270v4sf (TARGET_COMPLEX)
  1619. #define HAVE_aarch64_fcadd90v2df (TARGET_COMPLEX)
  1620. #define HAVE_aarch64_fcadd270v2df (TARGET_COMPLEX)
  1621. #define HAVE_aarch64_fcmla0v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1622. #define HAVE_aarch64_fcmla90v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1623. #define HAVE_aarch64_fcmla180v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1624. #define HAVE_aarch64_fcmla270v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1625. #define HAVE_aarch64_fcmla0v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1626. #define HAVE_aarch64_fcmla90v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1627. #define HAVE_aarch64_fcmla180v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1628. #define HAVE_aarch64_fcmla270v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1629. #define HAVE_aarch64_fcmla0v2sf (TARGET_COMPLEX)
  1630. #define HAVE_aarch64_fcmla90v2sf (TARGET_COMPLEX)
  1631. #define HAVE_aarch64_fcmla180v2sf (TARGET_COMPLEX)
  1632. #define HAVE_aarch64_fcmla270v2sf (TARGET_COMPLEX)
  1633. #define HAVE_aarch64_fcmla0v4sf (TARGET_COMPLEX)
  1634. #define HAVE_aarch64_fcmla90v4sf (TARGET_COMPLEX)
  1635. #define HAVE_aarch64_fcmla180v4sf (TARGET_COMPLEX)
  1636. #define HAVE_aarch64_fcmla270v4sf (TARGET_COMPLEX)
  1637. #define HAVE_aarch64_fcmla0v2df (TARGET_COMPLEX)
  1638. #define HAVE_aarch64_fcmla90v2df (TARGET_COMPLEX)
  1639. #define HAVE_aarch64_fcmla180v2df (TARGET_COMPLEX)
  1640. #define HAVE_aarch64_fcmla270v2df (TARGET_COMPLEX)
  1641. #define HAVE_aarch64_fcmla_lane0v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1642. #define HAVE_aarch64_fcmla_lane90v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1643. #define HAVE_aarch64_fcmla_lane180v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1644. #define HAVE_aarch64_fcmla_lane270v4hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1645. #define HAVE_aarch64_fcmla_lane0v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1646. #define HAVE_aarch64_fcmla_lane90v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1647. #define HAVE_aarch64_fcmla_lane180v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1648. #define HAVE_aarch64_fcmla_lane270v8hf ((TARGET_COMPLEX) && (TARGET_SIMD_F16INST))
  1649. #define HAVE_aarch64_fcmla_lane0v2sf (TARGET_COMPLEX)
  1650. #define HAVE_aarch64_fcmla_lane90v2sf (TARGET_COMPLEX)
  1651. #define HAVE_aarch64_fcmla_lane180v2sf (TARGET_COMPLEX)
  1652. #define HAVE_aarch64_fcmla_lane270v2sf (TARGET_COMPLEX)
  1653. #define HAVE_aarch64_fcmla_lane0v4sf (TARGET_COMPLEX)
  1654. #define HAVE_aarch64_fcmla_lane90v4sf (TARGET_COMPLEX)
  1655. #define HAVE_aarch64_fcmla_lane180v4sf (TARGET_COMPLEX)
  1656. #define HAVE_aarch64_fcmla_lane270v4sf (TARGET_COMPLEX)
  1657. #define HAVE_aarch64_fcmla_lane0v2df (TARGET_COMPLEX)
  1658. #define HAVE_aarch64_fcmla_lane90v2df (TARGET_COMPLEX)
  1659. #define HAVE_aarch64_fcmla_lane180v2df (TARGET_COMPLEX)
  1660. #define HAVE_aarch64_fcmla_lane270v2df (TARGET_COMPLEX)
  1661. #define HAVE_aarch64_fcmla_laneq0v4hf (TARGET_COMPLEX)
  1662. #define HAVE_aarch64_fcmla_laneq90v4hf (TARGET_COMPLEX)
  1663. #define HAVE_aarch64_fcmla_laneq180v4hf (TARGET_COMPLEX)
  1664. #define HAVE_aarch64_fcmla_laneq270v4hf (TARGET_COMPLEX)
  1665. #define HAVE_aarch64_fcmlaq_lane0v8hf (TARGET_COMPLEX)
  1666. #define HAVE_aarch64_fcmlaq_lane90v8hf (TARGET_COMPLEX)
  1667. #define HAVE_aarch64_fcmlaq_lane180v8hf (TARGET_COMPLEX)
  1668. #define HAVE_aarch64_fcmlaq_lane270v8hf (TARGET_COMPLEX)
  1669. #define HAVE_aarch64_fcmlaq_lane0v4sf (TARGET_COMPLEX)
  1670. #define HAVE_aarch64_fcmlaq_lane90v4sf (TARGET_COMPLEX)
  1671. #define HAVE_aarch64_fcmlaq_lane180v4sf (TARGET_COMPLEX)
  1672. #define HAVE_aarch64_fcmlaq_lane270v4sf (TARGET_COMPLEX)
  1673. #define HAVE_aarch64_sdotv8qi (TARGET_DOTPROD)
  1674. #define HAVE_aarch64_udotv8qi (TARGET_DOTPROD)
  1675. #define HAVE_aarch64_sdotv16qi (TARGET_DOTPROD)
  1676. #define HAVE_aarch64_udotv16qi (TARGET_DOTPROD)
  1677. #define HAVE_aarch64_usdotv8qi (TARGET_I8MM)
  1678. #define HAVE_aarch64_usdotv16qi (TARGET_I8MM)
  1679. #define HAVE_aarch64_sdot_lanev8qi (TARGET_DOTPROD)
  1680. #define HAVE_aarch64_udot_lanev8qi (TARGET_DOTPROD)
  1681. #define HAVE_aarch64_sdot_lanev16qi (TARGET_DOTPROD)
  1682. #define HAVE_aarch64_udot_lanev16qi (TARGET_DOTPROD)
  1683. #define HAVE_aarch64_sdot_laneqv8qi (TARGET_DOTPROD)
  1684. #define HAVE_aarch64_udot_laneqv8qi (TARGET_DOTPROD)
  1685. #define HAVE_aarch64_sdot_laneqv16qi (TARGET_DOTPROD)
  1686. #define HAVE_aarch64_udot_laneqv16qi (TARGET_DOTPROD)
  1687. #define HAVE_aarch64_usdot_lanev8qi (TARGET_I8MM)
  1688. #define HAVE_aarch64_sudot_lanev8qi (TARGET_I8MM)
  1689. #define HAVE_aarch64_usdot_lanev16qi (TARGET_I8MM)
  1690. #define HAVE_aarch64_sudot_lanev16qi (TARGET_I8MM)
  1691. #define HAVE_aarch64_usdot_laneqv8qi (TARGET_I8MM)
  1692. #define HAVE_aarch64_sudot_laneqv8qi (TARGET_I8MM)
  1693. #define HAVE_aarch64_usdot_laneqv16qi (TARGET_I8MM)
  1694. #define HAVE_aarch64_sudot_laneqv16qi (TARGET_I8MM)
  1695. #define HAVE_aarch64_rsqrtev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1696. #define HAVE_aarch64_rsqrtev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1697. #define HAVE_aarch64_rsqrtev2sf (TARGET_SIMD)
  1698. #define HAVE_aarch64_rsqrtev4sf (TARGET_SIMD)
  1699. #define HAVE_aarch64_rsqrtev2df (TARGET_SIMD)
  1700. #define HAVE_aarch64_rsqrtehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1701. #define HAVE_aarch64_rsqrtesf (TARGET_SIMD)
  1702. #define HAVE_aarch64_rsqrtedf (TARGET_SIMD)
  1703. #define HAVE_aarch64_rsqrtsv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1704. #define HAVE_aarch64_rsqrtsv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1705. #define HAVE_aarch64_rsqrtsv2sf (TARGET_SIMD)
  1706. #define HAVE_aarch64_rsqrtsv4sf (TARGET_SIMD)
  1707. #define HAVE_aarch64_rsqrtsv2df (TARGET_SIMD)
  1708. #define HAVE_aarch64_rsqrtshf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1709. #define HAVE_aarch64_rsqrtssf (TARGET_SIMD)
  1710. #define HAVE_aarch64_rsqrtsdf (TARGET_SIMD)
  1711. #define HAVE_negv8qi2 (TARGET_SIMD)
  1712. #define HAVE_negv16qi2 (TARGET_SIMD)
  1713. #define HAVE_negv4hi2 (TARGET_SIMD)
  1714. #define HAVE_negv8hi2 (TARGET_SIMD)
  1715. #define HAVE_negv2si2 (TARGET_SIMD)
  1716. #define HAVE_negv4si2 (TARGET_SIMD)
  1717. #define HAVE_negv2di2 (TARGET_SIMD)
  1718. #define HAVE_absv8qi2 (TARGET_SIMD)
  1719. #define HAVE_absv16qi2 (TARGET_SIMD)
  1720. #define HAVE_absv4hi2 (TARGET_SIMD)
  1721. #define HAVE_absv8hi2 (TARGET_SIMD)
  1722. #define HAVE_absv2si2 (TARGET_SIMD)
  1723. #define HAVE_absv4si2 (TARGET_SIMD)
  1724. #define HAVE_absv2di2 (TARGET_SIMD)
  1725. #define HAVE_aarch64_absv8qi (TARGET_SIMD)
  1726. #define HAVE_aarch64_absv16qi (TARGET_SIMD)
  1727. #define HAVE_aarch64_absv4hi (TARGET_SIMD)
  1728. #define HAVE_aarch64_absv8hi (TARGET_SIMD)
  1729. #define HAVE_aarch64_absv2si (TARGET_SIMD)
  1730. #define HAVE_aarch64_absv4si (TARGET_SIMD)
  1731. #define HAVE_aarch64_absv2di (TARGET_SIMD)
  1732. #define HAVE_aarch64_absdi (TARGET_SIMD)
  1733. #define HAVE_aarch64_sabdv8qi_3 (TARGET_SIMD)
  1734. #define HAVE_aarch64_uabdv8qi_3 (TARGET_SIMD)
  1735. #define HAVE_aarch64_sabdv16qi_3 (TARGET_SIMD)
  1736. #define HAVE_aarch64_uabdv16qi_3 (TARGET_SIMD)
  1737. #define HAVE_aarch64_sabdv4hi_3 (TARGET_SIMD)
  1738. #define HAVE_aarch64_uabdv4hi_3 (TARGET_SIMD)
  1739. #define HAVE_aarch64_sabdv8hi_3 (TARGET_SIMD)
  1740. #define HAVE_aarch64_uabdv8hi_3 (TARGET_SIMD)
  1741. #define HAVE_aarch64_sabdv2si_3 (TARGET_SIMD)
  1742. #define HAVE_aarch64_uabdv2si_3 (TARGET_SIMD)
  1743. #define HAVE_aarch64_sabdv4si_3 (TARGET_SIMD)
  1744. #define HAVE_aarch64_uabdv4si_3 (TARGET_SIMD)
  1745. #define HAVE_aarch64_sabdl2v8qi_3 (TARGET_SIMD)
  1746. #define HAVE_aarch64_uabdl2v8qi_3 (TARGET_SIMD)
  1747. #define HAVE_aarch64_sabdl2v16qi_3 (TARGET_SIMD)
  1748. #define HAVE_aarch64_uabdl2v16qi_3 (TARGET_SIMD)
  1749. #define HAVE_aarch64_sabdl2v4hi_3 (TARGET_SIMD)
  1750. #define HAVE_aarch64_uabdl2v4hi_3 (TARGET_SIMD)
  1751. #define HAVE_aarch64_sabdl2v8hi_3 (TARGET_SIMD)
  1752. #define HAVE_aarch64_uabdl2v8hi_3 (TARGET_SIMD)
  1753. #define HAVE_aarch64_sabdl2v4si_3 (TARGET_SIMD)
  1754. #define HAVE_aarch64_uabdl2v4si_3 (TARGET_SIMD)
  1755. #define HAVE_aarch64_sabalv8qi_4 (TARGET_SIMD)
  1756. #define HAVE_aarch64_uabalv8qi_4 (TARGET_SIMD)
  1757. #define HAVE_aarch64_sabalv16qi_4 (TARGET_SIMD)
  1758. #define HAVE_aarch64_uabalv16qi_4 (TARGET_SIMD)
  1759. #define HAVE_aarch64_sabalv4hi_4 (TARGET_SIMD)
  1760. #define HAVE_aarch64_uabalv4hi_4 (TARGET_SIMD)
  1761. #define HAVE_aarch64_sabalv8hi_4 (TARGET_SIMD)
  1762. #define HAVE_aarch64_uabalv8hi_4 (TARGET_SIMD)
  1763. #define HAVE_aarch64_sabalv4si_4 (TARGET_SIMD)
  1764. #define HAVE_aarch64_uabalv4si_4 (TARGET_SIMD)
  1765. #define HAVE_aarch64_sadalpv8qi_3 (TARGET_SIMD)
  1766. #define HAVE_aarch64_uadalpv8qi_3 (TARGET_SIMD)
  1767. #define HAVE_aarch64_sadalpv16qi_3 (TARGET_SIMD)
  1768. #define HAVE_aarch64_uadalpv16qi_3 (TARGET_SIMD)
  1769. #define HAVE_aarch64_sadalpv4hi_3 (TARGET_SIMD)
  1770. #define HAVE_aarch64_uadalpv4hi_3 (TARGET_SIMD)
  1771. #define HAVE_aarch64_sadalpv8hi_3 (TARGET_SIMD)
  1772. #define HAVE_aarch64_uadalpv8hi_3 (TARGET_SIMD)
  1773. #define HAVE_aarch64_sadalpv4si_3 (TARGET_SIMD)
  1774. #define HAVE_aarch64_uadalpv4si_3 (TARGET_SIMD)
  1775. #define HAVE_abav8qi_3 (TARGET_SIMD)
  1776. #define HAVE_abav16qi_3 (TARGET_SIMD)
  1777. #define HAVE_abav4hi_3 (TARGET_SIMD)
  1778. #define HAVE_abav8hi_3 (TARGET_SIMD)
  1779. #define HAVE_abav2si_3 (TARGET_SIMD)
  1780. #define HAVE_abav4si_3 (TARGET_SIMD)
  1781. #define HAVE_fabdv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1782. #define HAVE_fabdv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1783. #define HAVE_fabdv2sf3 (TARGET_SIMD)
  1784. #define HAVE_fabdv4sf3 (TARGET_SIMD)
  1785. #define HAVE_fabdv2df3 (TARGET_SIMD)
  1786. #define HAVE_fabdhf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1787. #define HAVE_fabdsf3 (TARGET_SIMD)
  1788. #define HAVE_fabddf3 (TARGET_SIMD)
  1789. #define HAVE_andv8qi3 (TARGET_SIMD)
  1790. #define HAVE_andv16qi3 (TARGET_SIMD)
  1791. #define HAVE_andv4hi3 (TARGET_SIMD)
  1792. #define HAVE_andv8hi3 (TARGET_SIMD)
  1793. #define HAVE_andv2si3 (TARGET_SIMD)
  1794. #define HAVE_andv4si3 (TARGET_SIMD)
  1795. #define HAVE_andv2di3 (TARGET_SIMD)
  1796. #define HAVE_iorv8qi3 (TARGET_SIMD)
  1797. #define HAVE_iorv16qi3 (TARGET_SIMD)
  1798. #define HAVE_iorv4hi3 (TARGET_SIMD)
  1799. #define HAVE_iorv8hi3 (TARGET_SIMD)
  1800. #define HAVE_iorv2si3 (TARGET_SIMD)
  1801. #define HAVE_iorv4si3 (TARGET_SIMD)
  1802. #define HAVE_iorv2di3 (TARGET_SIMD)
  1803. #define HAVE_xorv8qi3 (TARGET_SIMD)
  1804. #define HAVE_xorv16qi3 (TARGET_SIMD)
  1805. #define HAVE_xorv4hi3 (TARGET_SIMD)
  1806. #define HAVE_xorv8hi3 (TARGET_SIMD)
  1807. #define HAVE_xorv2si3 (TARGET_SIMD)
  1808. #define HAVE_xorv4si3 (TARGET_SIMD)
  1809. #define HAVE_xorv2di3 (TARGET_SIMD)
  1810. #define HAVE_one_cmplv8qi2 (TARGET_SIMD)
  1811. #define HAVE_one_cmplv16qi2 (TARGET_SIMD)
  1812. #define HAVE_one_cmplv4hi2 (TARGET_SIMD)
  1813. #define HAVE_one_cmplv8hi2 (TARGET_SIMD)
  1814. #define HAVE_one_cmplv2si2 (TARGET_SIMD)
  1815. #define HAVE_one_cmplv4si2 (TARGET_SIMD)
  1816. #define HAVE_one_cmplv2di2 (TARGET_SIMD)
  1817. #define HAVE_aarch64_simd_vec_setv8qi (TARGET_SIMD)
  1818. #define HAVE_aarch64_simd_vec_setv16qi (TARGET_SIMD)
  1819. #define HAVE_aarch64_simd_vec_setv4hi (TARGET_SIMD)
  1820. #define HAVE_aarch64_simd_vec_setv8hi (TARGET_SIMD)
  1821. #define HAVE_aarch64_simd_vec_setv2si (TARGET_SIMD)
  1822. #define HAVE_aarch64_simd_vec_setv4si (TARGET_SIMD)
  1823. #define HAVE_aarch64_simd_vec_setv2di (TARGET_SIMD)
  1824. #define HAVE_aarch64_simd_vec_setv4hf (TARGET_SIMD)
  1825. #define HAVE_aarch64_simd_vec_setv8hf (TARGET_SIMD)
  1826. #define HAVE_aarch64_simd_vec_setv4bf (TARGET_SIMD)
  1827. #define HAVE_aarch64_simd_vec_setv8bf (TARGET_SIMD)
  1828. #define HAVE_aarch64_simd_vec_setv2sf (TARGET_SIMD)
  1829. #define HAVE_aarch64_simd_vec_setv4sf (TARGET_SIMD)
  1830. #define HAVE_aarch64_simd_vec_setv2df (TARGET_SIMD)
  1831. #define HAVE_aarch64_simd_lshrv8qi (TARGET_SIMD)
  1832. #define HAVE_aarch64_simd_lshrv16qi (TARGET_SIMD)
  1833. #define HAVE_aarch64_simd_lshrv4hi (TARGET_SIMD)
  1834. #define HAVE_aarch64_simd_lshrv8hi (TARGET_SIMD)
  1835. #define HAVE_aarch64_simd_lshrv2si (TARGET_SIMD)
  1836. #define HAVE_aarch64_simd_lshrv4si (TARGET_SIMD)
  1837. #define HAVE_aarch64_simd_lshrv2di (TARGET_SIMD)
  1838. #define HAVE_aarch64_simd_ashrv8qi (TARGET_SIMD)
  1839. #define HAVE_aarch64_simd_ashrv16qi (TARGET_SIMD)
  1840. #define HAVE_aarch64_simd_ashrv4hi (TARGET_SIMD)
  1841. #define HAVE_aarch64_simd_ashrv8hi (TARGET_SIMD)
  1842. #define HAVE_aarch64_simd_ashrv2si (TARGET_SIMD)
  1843. #define HAVE_aarch64_simd_ashrv4si (TARGET_SIMD)
  1844. #define HAVE_aarch64_simd_ashrv2di (TARGET_SIMD)
  1845. #define HAVE_aarch64_simd_imm_shlv8qi (TARGET_SIMD)
  1846. #define HAVE_aarch64_simd_imm_shlv16qi (TARGET_SIMD)
  1847. #define HAVE_aarch64_simd_imm_shlv4hi (TARGET_SIMD)
  1848. #define HAVE_aarch64_simd_imm_shlv8hi (TARGET_SIMD)
  1849. #define HAVE_aarch64_simd_imm_shlv2si (TARGET_SIMD)
  1850. #define HAVE_aarch64_simd_imm_shlv4si (TARGET_SIMD)
  1851. #define HAVE_aarch64_simd_imm_shlv2di (TARGET_SIMD)
  1852. #define HAVE_aarch64_simd_reg_sshlv8qi (TARGET_SIMD)
  1853. #define HAVE_aarch64_simd_reg_sshlv16qi (TARGET_SIMD)
  1854. #define HAVE_aarch64_simd_reg_sshlv4hi (TARGET_SIMD)
  1855. #define HAVE_aarch64_simd_reg_sshlv8hi (TARGET_SIMD)
  1856. #define HAVE_aarch64_simd_reg_sshlv2si (TARGET_SIMD)
  1857. #define HAVE_aarch64_simd_reg_sshlv4si (TARGET_SIMD)
  1858. #define HAVE_aarch64_simd_reg_sshlv2di (TARGET_SIMD)
  1859. #define HAVE_aarch64_simd_reg_shlv8qi_unsigned (TARGET_SIMD)
  1860. #define HAVE_aarch64_simd_reg_shlv16qi_unsigned (TARGET_SIMD)
  1861. #define HAVE_aarch64_simd_reg_shlv4hi_unsigned (TARGET_SIMD)
  1862. #define HAVE_aarch64_simd_reg_shlv8hi_unsigned (TARGET_SIMD)
  1863. #define HAVE_aarch64_simd_reg_shlv2si_unsigned (TARGET_SIMD)
  1864. #define HAVE_aarch64_simd_reg_shlv4si_unsigned (TARGET_SIMD)
  1865. #define HAVE_aarch64_simd_reg_shlv2di_unsigned (TARGET_SIMD)
  1866. #define HAVE_aarch64_simd_reg_shlv8qi_signed (TARGET_SIMD)
  1867. #define HAVE_aarch64_simd_reg_shlv16qi_signed (TARGET_SIMD)
  1868. #define HAVE_aarch64_simd_reg_shlv4hi_signed (TARGET_SIMD)
  1869. #define HAVE_aarch64_simd_reg_shlv8hi_signed (TARGET_SIMD)
  1870. #define HAVE_aarch64_simd_reg_shlv2si_signed (TARGET_SIMD)
  1871. #define HAVE_aarch64_simd_reg_shlv4si_signed (TARGET_SIMD)
  1872. #define HAVE_aarch64_simd_reg_shlv2di_signed (TARGET_SIMD)
  1873. #define HAVE_vec_shr_v8qi (TARGET_SIMD)
  1874. #define HAVE_vec_shr_v4hi (TARGET_SIMD)
  1875. #define HAVE_vec_shr_v4hf (TARGET_SIMD)
  1876. #define HAVE_vec_shr_v2si (TARGET_SIMD)
  1877. #define HAVE_vec_shr_v2sf (TARGET_SIMD)
  1878. #define HAVE_vec_shr_v4bf (TARGET_SIMD)
  1879. #define HAVE_aarch64_mlav8qi (TARGET_SIMD)
  1880. #define HAVE_aarch64_mlav16qi (TARGET_SIMD)
  1881. #define HAVE_aarch64_mlav4hi (TARGET_SIMD)
  1882. #define HAVE_aarch64_mlav8hi (TARGET_SIMD)
  1883. #define HAVE_aarch64_mlav2si (TARGET_SIMD)
  1884. #define HAVE_aarch64_mlav4si (TARGET_SIMD)
  1885. #define HAVE_aarch64_mlsv8qi (TARGET_SIMD)
  1886. #define HAVE_aarch64_mlsv16qi (TARGET_SIMD)
  1887. #define HAVE_aarch64_mlsv4hi (TARGET_SIMD)
  1888. #define HAVE_aarch64_mlsv8hi (TARGET_SIMD)
  1889. #define HAVE_aarch64_mlsv2si (TARGET_SIMD)
  1890. #define HAVE_aarch64_mlsv4si (TARGET_SIMD)
  1891. #define HAVE_smaxv8qi3 (TARGET_SIMD)
  1892. #define HAVE_sminv8qi3 (TARGET_SIMD)
  1893. #define HAVE_umaxv8qi3 (TARGET_SIMD)
  1894. #define HAVE_uminv8qi3 (TARGET_SIMD)
  1895. #define HAVE_smaxv16qi3 (TARGET_SIMD)
  1896. #define HAVE_sminv16qi3 (TARGET_SIMD)
  1897. #define HAVE_umaxv16qi3 (TARGET_SIMD)
  1898. #define HAVE_uminv16qi3 (TARGET_SIMD)
  1899. #define HAVE_smaxv4hi3 (TARGET_SIMD)
  1900. #define HAVE_sminv4hi3 (TARGET_SIMD)
  1901. #define HAVE_umaxv4hi3 (TARGET_SIMD)
  1902. #define HAVE_uminv4hi3 (TARGET_SIMD)
  1903. #define HAVE_smaxv8hi3 (TARGET_SIMD)
  1904. #define HAVE_sminv8hi3 (TARGET_SIMD)
  1905. #define HAVE_umaxv8hi3 (TARGET_SIMD)
  1906. #define HAVE_uminv8hi3 (TARGET_SIMD)
  1907. #define HAVE_smaxv2si3 (TARGET_SIMD)
  1908. #define HAVE_sminv2si3 (TARGET_SIMD)
  1909. #define HAVE_umaxv2si3 (TARGET_SIMD)
  1910. #define HAVE_uminv2si3 (TARGET_SIMD)
  1911. #define HAVE_smaxv4si3 (TARGET_SIMD)
  1912. #define HAVE_sminv4si3 (TARGET_SIMD)
  1913. #define HAVE_umaxv4si3 (TARGET_SIMD)
  1914. #define HAVE_uminv4si3 (TARGET_SIMD)
  1915. #define HAVE_aarch64_umaxpv8qi (TARGET_SIMD)
  1916. #define HAVE_aarch64_uminpv8qi (TARGET_SIMD)
  1917. #define HAVE_aarch64_smaxpv8qi (TARGET_SIMD)
  1918. #define HAVE_aarch64_sminpv8qi (TARGET_SIMD)
  1919. #define HAVE_aarch64_umaxpv16qi (TARGET_SIMD)
  1920. #define HAVE_aarch64_uminpv16qi (TARGET_SIMD)
  1921. #define HAVE_aarch64_smaxpv16qi (TARGET_SIMD)
  1922. #define HAVE_aarch64_sminpv16qi (TARGET_SIMD)
  1923. #define HAVE_aarch64_umaxpv4hi (TARGET_SIMD)
  1924. #define HAVE_aarch64_uminpv4hi (TARGET_SIMD)
  1925. #define HAVE_aarch64_smaxpv4hi (TARGET_SIMD)
  1926. #define HAVE_aarch64_sminpv4hi (TARGET_SIMD)
  1927. #define HAVE_aarch64_umaxpv8hi (TARGET_SIMD)
  1928. #define HAVE_aarch64_uminpv8hi (TARGET_SIMD)
  1929. #define HAVE_aarch64_smaxpv8hi (TARGET_SIMD)
  1930. #define HAVE_aarch64_sminpv8hi (TARGET_SIMD)
  1931. #define HAVE_aarch64_umaxpv2si (TARGET_SIMD)
  1932. #define HAVE_aarch64_uminpv2si (TARGET_SIMD)
  1933. #define HAVE_aarch64_smaxpv2si (TARGET_SIMD)
  1934. #define HAVE_aarch64_sminpv2si (TARGET_SIMD)
  1935. #define HAVE_aarch64_umaxpv4si (TARGET_SIMD)
  1936. #define HAVE_aarch64_uminpv4si (TARGET_SIMD)
  1937. #define HAVE_aarch64_smaxpv4si (TARGET_SIMD)
  1938. #define HAVE_aarch64_sminpv4si (TARGET_SIMD)
  1939. #define HAVE_aarch64_smax_nanpv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1940. #define HAVE_aarch64_smin_nanpv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1941. #define HAVE_aarch64_smaxpv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1942. #define HAVE_aarch64_sminpv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1943. #define HAVE_aarch64_smax_nanpv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1944. #define HAVE_aarch64_smin_nanpv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1945. #define HAVE_aarch64_smaxpv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1946. #define HAVE_aarch64_sminpv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  1947. #define HAVE_aarch64_smax_nanpv2sf (TARGET_SIMD)
  1948. #define HAVE_aarch64_smin_nanpv2sf (TARGET_SIMD)
  1949. #define HAVE_aarch64_smaxpv2sf (TARGET_SIMD)
  1950. #define HAVE_aarch64_sminpv2sf (TARGET_SIMD)
  1951. #define HAVE_aarch64_smax_nanpv4sf (TARGET_SIMD)
  1952. #define HAVE_aarch64_smin_nanpv4sf (TARGET_SIMD)
  1953. #define HAVE_aarch64_smaxpv4sf (TARGET_SIMD)
  1954. #define HAVE_aarch64_sminpv4sf (TARGET_SIMD)
  1955. #define HAVE_aarch64_smax_nanpv2df (TARGET_SIMD)
  1956. #define HAVE_aarch64_smin_nanpv2df (TARGET_SIMD)
  1957. #define HAVE_aarch64_smaxpv2df (TARGET_SIMD)
  1958. #define HAVE_aarch64_sminpv2df (TARGET_SIMD)
  1959. #define HAVE_move_lo_quad_internal_v16qi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1960. #define HAVE_move_lo_quad_internal_v8hi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1961. #define HAVE_move_lo_quad_internal_v4si (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1962. #define HAVE_move_lo_quad_internal_v2di (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1963. #define HAVE_move_lo_quad_internal_v8hf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1964. #define HAVE_move_lo_quad_internal_v8bf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1965. #define HAVE_move_lo_quad_internal_v4sf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1966. #define HAVE_move_lo_quad_internal_v2df (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1967. #define HAVE_move_lo_quad_internal_be_v16qi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1968. #define HAVE_move_lo_quad_internal_be_v8hi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1969. #define HAVE_move_lo_quad_internal_be_v4si (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1970. #define HAVE_move_lo_quad_internal_be_v2di (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1971. #define HAVE_move_lo_quad_internal_be_v8hf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1972. #define HAVE_move_lo_quad_internal_be_v8bf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1973. #define HAVE_move_lo_quad_internal_be_v4sf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1974. #define HAVE_move_lo_quad_internal_be_v2df (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1975. #define HAVE_aarch64_simd_move_hi_quad_v16qi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1976. #define HAVE_aarch64_simd_move_hi_quad_v8hi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1977. #define HAVE_aarch64_simd_move_hi_quad_v4si (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1978. #define HAVE_aarch64_simd_move_hi_quad_v2di (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1979. #define HAVE_aarch64_simd_move_hi_quad_v8hf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1980. #define HAVE_aarch64_simd_move_hi_quad_v8bf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1981. #define HAVE_aarch64_simd_move_hi_quad_v4sf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1982. #define HAVE_aarch64_simd_move_hi_quad_v2df (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  1983. #define HAVE_aarch64_simd_move_hi_quad_be_v16qi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1984. #define HAVE_aarch64_simd_move_hi_quad_be_v8hi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1985. #define HAVE_aarch64_simd_move_hi_quad_be_v4si (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1986. #define HAVE_aarch64_simd_move_hi_quad_be_v2di (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1987. #define HAVE_aarch64_simd_move_hi_quad_be_v8hf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1988. #define HAVE_aarch64_simd_move_hi_quad_be_v8bf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1989. #define HAVE_aarch64_simd_move_hi_quad_be_v4sf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1990. #define HAVE_aarch64_simd_move_hi_quad_be_v2df (TARGET_SIMD && BYTES_BIG_ENDIAN)
  1991. #define HAVE_aarch64_simd_vec_pack_trunc_v8hi (TARGET_SIMD)
  1992. #define HAVE_aarch64_simd_vec_pack_trunc_v4si (TARGET_SIMD)
  1993. #define HAVE_aarch64_simd_vec_pack_trunc_v2di (TARGET_SIMD)
  1994. #define HAVE_vec_pack_trunc_v8hi (TARGET_SIMD)
  1995. #define HAVE_vec_pack_trunc_v4si (TARGET_SIMD)
  1996. #define HAVE_vec_pack_trunc_v2di (TARGET_SIMD)
  1997. #define HAVE_aarch64_simd_vec_unpacks_lo_v16qi (TARGET_SIMD)
  1998. #define HAVE_aarch64_simd_vec_unpacku_lo_v16qi (TARGET_SIMD)
  1999. #define HAVE_aarch64_simd_vec_unpacks_lo_v8hi (TARGET_SIMD)
  2000. #define HAVE_aarch64_simd_vec_unpacku_lo_v8hi (TARGET_SIMD)
  2001. #define HAVE_aarch64_simd_vec_unpacks_lo_v4si (TARGET_SIMD)
  2002. #define HAVE_aarch64_simd_vec_unpacku_lo_v4si (TARGET_SIMD)
  2003. #define HAVE_aarch64_simd_vec_unpacks_hi_v16qi (TARGET_SIMD)
  2004. #define HAVE_aarch64_simd_vec_unpacku_hi_v16qi (TARGET_SIMD)
  2005. #define HAVE_aarch64_simd_vec_unpacks_hi_v8hi (TARGET_SIMD)
  2006. #define HAVE_aarch64_simd_vec_unpacku_hi_v8hi (TARGET_SIMD)
  2007. #define HAVE_aarch64_simd_vec_unpacks_hi_v4si (TARGET_SIMD)
  2008. #define HAVE_aarch64_simd_vec_unpacku_hi_v4si (TARGET_SIMD)
  2009. #define HAVE_aarch64_simd_vec_smult_lo_v16qi (TARGET_SIMD)
  2010. #define HAVE_aarch64_simd_vec_umult_lo_v16qi (TARGET_SIMD)
  2011. #define HAVE_aarch64_simd_vec_smult_lo_v8hi (TARGET_SIMD)
  2012. #define HAVE_aarch64_simd_vec_umult_lo_v8hi (TARGET_SIMD)
  2013. #define HAVE_aarch64_simd_vec_smult_lo_v4si (TARGET_SIMD)
  2014. #define HAVE_aarch64_simd_vec_umult_lo_v4si (TARGET_SIMD)
  2015. #define HAVE_aarch64_intrinsic_vec_smult_lo_v8qi (TARGET_SIMD)
  2016. #define HAVE_aarch64_intrinsic_vec_umult_lo_v8qi (TARGET_SIMD)
  2017. #define HAVE_aarch64_intrinsic_vec_smult_lo_v4hi (TARGET_SIMD)
  2018. #define HAVE_aarch64_intrinsic_vec_umult_lo_v4hi (TARGET_SIMD)
  2019. #define HAVE_aarch64_intrinsic_vec_smult_lo_v2si (TARGET_SIMD)
  2020. #define HAVE_aarch64_intrinsic_vec_umult_lo_v2si (TARGET_SIMD)
  2021. #define HAVE_aarch64_simd_vec_smult_hi_v16qi (TARGET_SIMD)
  2022. #define HAVE_aarch64_simd_vec_umult_hi_v16qi (TARGET_SIMD)
  2023. #define HAVE_aarch64_simd_vec_smult_hi_v8hi (TARGET_SIMD)
  2024. #define HAVE_aarch64_simd_vec_umult_hi_v8hi (TARGET_SIMD)
  2025. #define HAVE_aarch64_simd_vec_smult_hi_v4si (TARGET_SIMD)
  2026. #define HAVE_aarch64_simd_vec_umult_hi_v4si (TARGET_SIMD)
  2027. #define HAVE_aarch64_vec_smult_lane_v4hi (TARGET_SIMD)
  2028. #define HAVE_aarch64_vec_umult_lane_v4hi (TARGET_SIMD)
  2029. #define HAVE_aarch64_vec_smult_laneq_v4hi (TARGET_SIMD)
  2030. #define HAVE_aarch64_vec_umult_laneq_v4hi (TARGET_SIMD)
  2031. #define HAVE_aarch64_vec_smult_lane_v2si (TARGET_SIMD)
  2032. #define HAVE_aarch64_vec_umult_lane_v2si (TARGET_SIMD)
  2033. #define HAVE_aarch64_vec_smult_laneq_v2si (TARGET_SIMD)
  2034. #define HAVE_aarch64_vec_umult_laneq_v2si (TARGET_SIMD)
  2035. #define HAVE_aarch64_vec_smlal_lane_v4hi (TARGET_SIMD)
  2036. #define HAVE_aarch64_vec_umlal_lane_v4hi (TARGET_SIMD)
  2037. #define HAVE_aarch64_vec_smlal_laneq_v4hi (TARGET_SIMD)
  2038. #define HAVE_aarch64_vec_umlal_laneq_v4hi (TARGET_SIMD)
  2039. #define HAVE_aarch64_vec_smlal_lane_v2si (TARGET_SIMD)
  2040. #define HAVE_aarch64_vec_umlal_lane_v2si (TARGET_SIMD)
  2041. #define HAVE_aarch64_vec_smlal_laneq_v2si (TARGET_SIMD)
  2042. #define HAVE_aarch64_vec_umlal_laneq_v2si (TARGET_SIMD)
  2043. #define HAVE_addv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2044. #define HAVE_addv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2045. #define HAVE_addv2sf3 (TARGET_SIMD)
  2046. #define HAVE_addv4sf3 (TARGET_SIMD)
  2047. #define HAVE_addv2df3 (TARGET_SIMD)
  2048. #define HAVE_subv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2049. #define HAVE_subv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2050. #define HAVE_subv2sf3 (TARGET_SIMD)
  2051. #define HAVE_subv4sf3 (TARGET_SIMD)
  2052. #define HAVE_subv2df3 (TARGET_SIMD)
  2053. #define HAVE_mulv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2054. #define HAVE_mulv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2055. #define HAVE_mulv2sf3 (TARGET_SIMD)
  2056. #define HAVE_mulv4sf3 (TARGET_SIMD)
  2057. #define HAVE_mulv2df3 (TARGET_SIMD)
  2058. #define HAVE_negv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2059. #define HAVE_negv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2060. #define HAVE_negv2sf2 (TARGET_SIMD)
  2061. #define HAVE_negv4sf2 (TARGET_SIMD)
  2062. #define HAVE_negv2df2 (TARGET_SIMD)
  2063. #define HAVE_absv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2064. #define HAVE_absv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2065. #define HAVE_absv2sf2 (TARGET_SIMD)
  2066. #define HAVE_absv4sf2 (TARGET_SIMD)
  2067. #define HAVE_absv2df2 (TARGET_SIMD)
  2068. #define HAVE_fmav4hf4 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2069. #define HAVE_fmav8hf4 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2070. #define HAVE_fmav2sf4 (TARGET_SIMD)
  2071. #define HAVE_fmav4sf4 (TARGET_SIMD)
  2072. #define HAVE_fmav2df4 (TARGET_SIMD)
  2073. #define HAVE_fnmav4hf4 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2074. #define HAVE_fnmav8hf4 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2075. #define HAVE_fnmav2sf4 (TARGET_SIMD)
  2076. #define HAVE_fnmav4sf4 (TARGET_SIMD)
  2077. #define HAVE_fnmav2df4 (TARGET_SIMD)
  2078. #define HAVE_btruncv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2079. #define HAVE_ceilv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2080. #define HAVE_floorv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2081. #define HAVE_frintnv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2082. #define HAVE_nearbyintv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2083. #define HAVE_rintv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2084. #define HAVE_roundv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2085. #define HAVE_btruncv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2086. #define HAVE_ceilv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2087. #define HAVE_floorv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2088. #define HAVE_frintnv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2089. #define HAVE_nearbyintv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2090. #define HAVE_rintv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2091. #define HAVE_roundv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2092. #define HAVE_btruncv2sf2 (TARGET_SIMD)
  2093. #define HAVE_ceilv2sf2 (TARGET_SIMD)
  2094. #define HAVE_floorv2sf2 (TARGET_SIMD)
  2095. #define HAVE_frintnv2sf2 (TARGET_SIMD)
  2096. #define HAVE_nearbyintv2sf2 (TARGET_SIMD)
  2097. #define HAVE_rintv2sf2 (TARGET_SIMD)
  2098. #define HAVE_roundv2sf2 (TARGET_SIMD)
  2099. #define HAVE_btruncv4sf2 (TARGET_SIMD)
  2100. #define HAVE_ceilv4sf2 (TARGET_SIMD)
  2101. #define HAVE_floorv4sf2 (TARGET_SIMD)
  2102. #define HAVE_frintnv4sf2 (TARGET_SIMD)
  2103. #define HAVE_nearbyintv4sf2 (TARGET_SIMD)
  2104. #define HAVE_rintv4sf2 (TARGET_SIMD)
  2105. #define HAVE_roundv4sf2 (TARGET_SIMD)
  2106. #define HAVE_btruncv2df2 (TARGET_SIMD)
  2107. #define HAVE_ceilv2df2 (TARGET_SIMD)
  2108. #define HAVE_floorv2df2 (TARGET_SIMD)
  2109. #define HAVE_frintnv2df2 (TARGET_SIMD)
  2110. #define HAVE_nearbyintv2df2 (TARGET_SIMD)
  2111. #define HAVE_rintv2df2 (TARGET_SIMD)
  2112. #define HAVE_roundv2df2 (TARGET_SIMD)
  2113. #define HAVE_lbtruncv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2114. #define HAVE_lceilv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2115. #define HAVE_lfloorv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2116. #define HAVE_lroundv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2117. #define HAVE_lfrintnv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2118. #define HAVE_lbtruncuv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2119. #define HAVE_lceiluv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2120. #define HAVE_lflooruv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2121. #define HAVE_lrounduv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2122. #define HAVE_lfrintnuv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2123. #define HAVE_lbtruncv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2124. #define HAVE_lceilv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2125. #define HAVE_lfloorv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2126. #define HAVE_lroundv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2127. #define HAVE_lfrintnv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2128. #define HAVE_lbtruncuv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2129. #define HAVE_lceiluv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2130. #define HAVE_lflooruv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2131. #define HAVE_lrounduv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2132. #define HAVE_lfrintnuv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2133. #define HAVE_lbtruncv2sfv2si2 (TARGET_SIMD)
  2134. #define HAVE_lceilv2sfv2si2 (TARGET_SIMD)
  2135. #define HAVE_lfloorv2sfv2si2 (TARGET_SIMD)
  2136. #define HAVE_lroundv2sfv2si2 (TARGET_SIMD)
  2137. #define HAVE_lfrintnv2sfv2si2 (TARGET_SIMD)
  2138. #define HAVE_lbtruncuv2sfv2si2 (TARGET_SIMD)
  2139. #define HAVE_lceiluv2sfv2si2 (TARGET_SIMD)
  2140. #define HAVE_lflooruv2sfv2si2 (TARGET_SIMD)
  2141. #define HAVE_lrounduv2sfv2si2 (TARGET_SIMD)
  2142. #define HAVE_lfrintnuv2sfv2si2 (TARGET_SIMD)
  2143. #define HAVE_lbtruncv4sfv4si2 (TARGET_SIMD)
  2144. #define HAVE_lceilv4sfv4si2 (TARGET_SIMD)
  2145. #define HAVE_lfloorv4sfv4si2 (TARGET_SIMD)
  2146. #define HAVE_lroundv4sfv4si2 (TARGET_SIMD)
  2147. #define HAVE_lfrintnv4sfv4si2 (TARGET_SIMD)
  2148. #define HAVE_lbtruncuv4sfv4si2 (TARGET_SIMD)
  2149. #define HAVE_lceiluv4sfv4si2 (TARGET_SIMD)
  2150. #define HAVE_lflooruv4sfv4si2 (TARGET_SIMD)
  2151. #define HAVE_lrounduv4sfv4si2 (TARGET_SIMD)
  2152. #define HAVE_lfrintnuv4sfv4si2 (TARGET_SIMD)
  2153. #define HAVE_lbtruncv2dfv2di2 (TARGET_SIMD)
  2154. #define HAVE_lceilv2dfv2di2 (TARGET_SIMD)
  2155. #define HAVE_lfloorv2dfv2di2 (TARGET_SIMD)
  2156. #define HAVE_lroundv2dfv2di2 (TARGET_SIMD)
  2157. #define HAVE_lfrintnv2dfv2di2 (TARGET_SIMD)
  2158. #define HAVE_lbtruncuv2dfv2di2 (TARGET_SIMD)
  2159. #define HAVE_lceiluv2dfv2di2 (TARGET_SIMD)
  2160. #define HAVE_lflooruv2dfv2di2 (TARGET_SIMD)
  2161. #define HAVE_lrounduv2dfv2di2 (TARGET_SIMD)
  2162. #define HAVE_lfrintnuv2dfv2di2 (TARGET_SIMD)
  2163. #define HAVE_lbtrunchfhi2 (TARGET_SIMD_F16INST)
  2164. #define HAVE_lceilhfhi2 (TARGET_SIMD_F16INST)
  2165. #define HAVE_lfloorhfhi2 (TARGET_SIMD_F16INST)
  2166. #define HAVE_lroundhfhi2 (TARGET_SIMD_F16INST)
  2167. #define HAVE_lfrintnhfhi2 (TARGET_SIMD_F16INST)
  2168. #define HAVE_lbtruncuhfhi2 (TARGET_SIMD_F16INST)
  2169. #define HAVE_lceiluhfhi2 (TARGET_SIMD_F16INST)
  2170. #define HAVE_lflooruhfhi2 (TARGET_SIMD_F16INST)
  2171. #define HAVE_lrounduhfhi2 (TARGET_SIMD_F16INST)
  2172. #define HAVE_lfrintnuhfhi2 (TARGET_SIMD_F16INST)
  2173. #define HAVE_fix_trunchfhi2 (TARGET_SIMD_F16INST)
  2174. #define HAVE_fixuns_trunchfhi2 (TARGET_SIMD_F16INST)
  2175. #define HAVE_floathihf2 (TARGET_SIMD_F16INST)
  2176. #define HAVE_floatunshihf2 (TARGET_SIMD_F16INST)
  2177. #define HAVE_floatv4hiv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2178. #define HAVE_floatunsv4hiv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2179. #define HAVE_floatv8hiv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2180. #define HAVE_floatunsv8hiv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2181. #define HAVE_floatv2siv2sf2 (TARGET_SIMD)
  2182. #define HAVE_floatunsv2siv2sf2 (TARGET_SIMD)
  2183. #define HAVE_floatv4siv4sf2 (TARGET_SIMD)
  2184. #define HAVE_floatunsv4siv4sf2 (TARGET_SIMD)
  2185. #define HAVE_floatv2div2df2 (TARGET_SIMD)
  2186. #define HAVE_floatunsv2div2df2 (TARGET_SIMD)
  2187. #define HAVE_aarch64_simd_vec_unpacks_lo_v8hf (TARGET_SIMD)
  2188. #define HAVE_aarch64_simd_vec_unpacks_lo_v4sf (TARGET_SIMD)
  2189. #define HAVE_fcvtzsv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2190. #define HAVE_fcvtzuv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2191. #define HAVE_fcvtzsv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2192. #define HAVE_fcvtzuv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2193. #define HAVE_fcvtzsv2sf3 (TARGET_SIMD)
  2194. #define HAVE_fcvtzuv2sf3 (TARGET_SIMD)
  2195. #define HAVE_fcvtzsv4sf3 (TARGET_SIMD)
  2196. #define HAVE_fcvtzuv4sf3 (TARGET_SIMD)
  2197. #define HAVE_fcvtzsv2df3 (TARGET_SIMD)
  2198. #define HAVE_fcvtzuv2df3 (TARGET_SIMD)
  2199. #define HAVE_scvtfv4hi3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2200. #define HAVE_ucvtfv4hi3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2201. #define HAVE_scvtfv8hi3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2202. #define HAVE_ucvtfv8hi3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2203. #define HAVE_scvtfv2si3 (TARGET_SIMD)
  2204. #define HAVE_ucvtfv2si3 (TARGET_SIMD)
  2205. #define HAVE_scvtfv4si3 (TARGET_SIMD)
  2206. #define HAVE_ucvtfv4si3 (TARGET_SIMD)
  2207. #define HAVE_scvtfv2di3 (TARGET_SIMD)
  2208. #define HAVE_ucvtfv2di3 (TARGET_SIMD)
  2209. #define HAVE_aarch64_simd_vec_unpacks_hi_v8hf (TARGET_SIMD)
  2210. #define HAVE_aarch64_simd_vec_unpacks_hi_v4sf (TARGET_SIMD)
  2211. #define HAVE_aarch64_float_extend_lo_v2df (TARGET_SIMD)
  2212. #define HAVE_aarch64_float_extend_lo_v4sf (TARGET_SIMD)
  2213. #define HAVE_aarch64_float_truncate_lo_v2sf (TARGET_SIMD)
  2214. #define HAVE_aarch64_float_truncate_lo_v4hf (TARGET_SIMD)
  2215. #define HAVE_aarch64_float_truncate_hi_v4sf_le (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2216. #define HAVE_aarch64_float_truncate_hi_v8hf_le (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2217. #define HAVE_aarch64_float_truncate_hi_v4sf_be (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2218. #define HAVE_aarch64_float_truncate_hi_v8hf_be (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2219. #define HAVE_smaxv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2220. #define HAVE_sminv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2221. #define HAVE_smaxv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2222. #define HAVE_sminv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2223. #define HAVE_smaxv2sf3 (TARGET_SIMD)
  2224. #define HAVE_sminv2sf3 (TARGET_SIMD)
  2225. #define HAVE_smaxv4sf3 (TARGET_SIMD)
  2226. #define HAVE_sminv4sf3 (TARGET_SIMD)
  2227. #define HAVE_smaxv2df3 (TARGET_SIMD)
  2228. #define HAVE_sminv2df3 (TARGET_SIMD)
  2229. #define HAVE_smax_nanv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2230. #define HAVE_smin_nanv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2231. #define HAVE_fmaxv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2232. #define HAVE_fminv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2233. #define HAVE_smax_nanv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2234. #define HAVE_smin_nanv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2235. #define HAVE_fmaxv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2236. #define HAVE_fminv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2237. #define HAVE_smax_nanv2sf3 (TARGET_SIMD)
  2238. #define HAVE_smin_nanv2sf3 (TARGET_SIMD)
  2239. #define HAVE_fmaxv2sf3 (TARGET_SIMD)
  2240. #define HAVE_fminv2sf3 (TARGET_SIMD)
  2241. #define HAVE_smax_nanv4sf3 (TARGET_SIMD)
  2242. #define HAVE_smin_nanv4sf3 (TARGET_SIMD)
  2243. #define HAVE_fmaxv4sf3 (TARGET_SIMD)
  2244. #define HAVE_fminv4sf3 (TARGET_SIMD)
  2245. #define HAVE_smax_nanv2df3 (TARGET_SIMD)
  2246. #define HAVE_smin_nanv2df3 (TARGET_SIMD)
  2247. #define HAVE_fmaxv2df3 (TARGET_SIMD)
  2248. #define HAVE_fminv2df3 (TARGET_SIMD)
  2249. #define HAVE_aarch64_faddpv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2250. #define HAVE_aarch64_faddpv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2251. #define HAVE_aarch64_faddpv2sf (TARGET_SIMD)
  2252. #define HAVE_aarch64_faddpv4sf (TARGET_SIMD)
  2253. #define HAVE_aarch64_faddpv2df (TARGET_SIMD)
  2254. #define HAVE_aarch64_reduc_plus_internalv8qi (TARGET_SIMD)
  2255. #define HAVE_aarch64_reduc_plus_internalv16qi (TARGET_SIMD)
  2256. #define HAVE_aarch64_reduc_plus_internalv4hi (TARGET_SIMD)
  2257. #define HAVE_aarch64_reduc_plus_internalv8hi (TARGET_SIMD)
  2258. #define HAVE_aarch64_reduc_plus_internalv4si (TARGET_SIMD)
  2259. #define HAVE_aarch64_reduc_plus_internalv2di (TARGET_SIMD)
  2260. #define HAVE_aarch64_zero_extendsi_reduc_plus_v8qi (TARGET_SIMD)
  2261. #define HAVE_aarch64_zero_extenddi_reduc_plus_v8qi (TARGET_SIMD)
  2262. #define HAVE_aarch64_zero_extendsi_reduc_plus_v16qi (TARGET_SIMD)
  2263. #define HAVE_aarch64_zero_extenddi_reduc_plus_v16qi (TARGET_SIMD)
  2264. #define HAVE_aarch64_zero_extendsi_reduc_plus_v4hi (TARGET_SIMD)
  2265. #define HAVE_aarch64_zero_extenddi_reduc_plus_v4hi (TARGET_SIMD)
  2266. #define HAVE_aarch64_zero_extendsi_reduc_plus_v8hi (TARGET_SIMD)
  2267. #define HAVE_aarch64_zero_extenddi_reduc_plus_v8hi (TARGET_SIMD)
  2268. #define HAVE_aarch64_reduc_plus_internalv2si (TARGET_SIMD)
  2269. #define HAVE_reduc_plus_scal_v2sf (TARGET_SIMD)
  2270. #define HAVE_reduc_plus_scal_v2df (TARGET_SIMD)
  2271. #define HAVE_clrsbv8qi2 (TARGET_SIMD)
  2272. #define HAVE_clrsbv16qi2 (TARGET_SIMD)
  2273. #define HAVE_clrsbv4hi2 (TARGET_SIMD)
  2274. #define HAVE_clrsbv8hi2 (TARGET_SIMD)
  2275. #define HAVE_clrsbv2si2 (TARGET_SIMD)
  2276. #define HAVE_clrsbv4si2 (TARGET_SIMD)
  2277. #define HAVE_clzv8qi2 (TARGET_SIMD)
  2278. #define HAVE_clzv16qi2 (TARGET_SIMD)
  2279. #define HAVE_clzv4hi2 (TARGET_SIMD)
  2280. #define HAVE_clzv8hi2 (TARGET_SIMD)
  2281. #define HAVE_clzv2si2 (TARGET_SIMD)
  2282. #define HAVE_clzv4si2 (TARGET_SIMD)
  2283. #define HAVE_popcountv8qi2 (TARGET_SIMD)
  2284. #define HAVE_popcountv16qi2 (TARGET_SIMD)
  2285. #define HAVE_aarch64_reduc_umax_internalv8qi (TARGET_SIMD)
  2286. #define HAVE_aarch64_reduc_umin_internalv8qi (TARGET_SIMD)
  2287. #define HAVE_aarch64_reduc_smax_internalv8qi (TARGET_SIMD)
  2288. #define HAVE_aarch64_reduc_smin_internalv8qi (TARGET_SIMD)
  2289. #define HAVE_aarch64_reduc_umax_internalv16qi (TARGET_SIMD)
  2290. #define HAVE_aarch64_reduc_umin_internalv16qi (TARGET_SIMD)
  2291. #define HAVE_aarch64_reduc_smax_internalv16qi (TARGET_SIMD)
  2292. #define HAVE_aarch64_reduc_smin_internalv16qi (TARGET_SIMD)
  2293. #define HAVE_aarch64_reduc_umax_internalv4hi (TARGET_SIMD)
  2294. #define HAVE_aarch64_reduc_umin_internalv4hi (TARGET_SIMD)
  2295. #define HAVE_aarch64_reduc_smax_internalv4hi (TARGET_SIMD)
  2296. #define HAVE_aarch64_reduc_smin_internalv4hi (TARGET_SIMD)
  2297. #define HAVE_aarch64_reduc_umax_internalv8hi (TARGET_SIMD)
  2298. #define HAVE_aarch64_reduc_umin_internalv8hi (TARGET_SIMD)
  2299. #define HAVE_aarch64_reduc_smax_internalv8hi (TARGET_SIMD)
  2300. #define HAVE_aarch64_reduc_smin_internalv8hi (TARGET_SIMD)
  2301. #define HAVE_aarch64_reduc_umax_internalv4si (TARGET_SIMD)
  2302. #define HAVE_aarch64_reduc_umin_internalv4si (TARGET_SIMD)
  2303. #define HAVE_aarch64_reduc_smax_internalv4si (TARGET_SIMD)
  2304. #define HAVE_aarch64_reduc_smin_internalv4si (TARGET_SIMD)
  2305. #define HAVE_aarch64_reduc_umax_internalv2si (TARGET_SIMD)
  2306. #define HAVE_aarch64_reduc_umin_internalv2si (TARGET_SIMD)
  2307. #define HAVE_aarch64_reduc_smax_internalv2si (TARGET_SIMD)
  2308. #define HAVE_aarch64_reduc_smin_internalv2si (TARGET_SIMD)
  2309. #define HAVE_aarch64_reduc_smax_nan_internalv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2310. #define HAVE_aarch64_reduc_smin_nan_internalv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2311. #define HAVE_aarch64_reduc_smax_internalv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2312. #define HAVE_aarch64_reduc_smin_internalv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2313. #define HAVE_aarch64_reduc_smax_nan_internalv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2314. #define HAVE_aarch64_reduc_smin_nan_internalv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2315. #define HAVE_aarch64_reduc_smax_internalv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2316. #define HAVE_aarch64_reduc_smin_internalv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2317. #define HAVE_aarch64_reduc_smax_nan_internalv2sf (TARGET_SIMD)
  2318. #define HAVE_aarch64_reduc_smin_nan_internalv2sf (TARGET_SIMD)
  2319. #define HAVE_aarch64_reduc_smax_internalv2sf (TARGET_SIMD)
  2320. #define HAVE_aarch64_reduc_smin_internalv2sf (TARGET_SIMD)
  2321. #define HAVE_aarch64_reduc_smax_nan_internalv4sf (TARGET_SIMD)
  2322. #define HAVE_aarch64_reduc_smin_nan_internalv4sf (TARGET_SIMD)
  2323. #define HAVE_aarch64_reduc_smax_internalv4sf (TARGET_SIMD)
  2324. #define HAVE_aarch64_reduc_smin_internalv4sf (TARGET_SIMD)
  2325. #define HAVE_aarch64_reduc_smax_nan_internalv2df (TARGET_SIMD)
  2326. #define HAVE_aarch64_reduc_smin_nan_internalv2df (TARGET_SIMD)
  2327. #define HAVE_aarch64_reduc_smax_internalv2df (TARGET_SIMD)
  2328. #define HAVE_aarch64_reduc_smin_internalv2df (TARGET_SIMD)
  2329. #define HAVE_aarch64_simd_bslv8qi_internal (TARGET_SIMD)
  2330. #define HAVE_aarch64_simd_bslv16qi_internal (TARGET_SIMD)
  2331. #define HAVE_aarch64_simd_bslv4hi_internal (TARGET_SIMD)
  2332. #define HAVE_aarch64_simd_bslv8hi_internal (TARGET_SIMD)
  2333. #define HAVE_aarch64_simd_bslv2si_internal (TARGET_SIMD)
  2334. #define HAVE_aarch64_simd_bslv4si_internal (TARGET_SIMD)
  2335. #define HAVE_aarch64_simd_bslv2di_internal (TARGET_SIMD)
  2336. #define HAVE_aarch64_simd_bsldi_internal (TARGET_SIMD)
  2337. #define HAVE_aarch64_simd_bsldi_alt (TARGET_SIMD)
  2338. #define HAVE_aarch64_get_lanev8qi (TARGET_SIMD)
  2339. #define HAVE_aarch64_get_lanev16qi (TARGET_SIMD)
  2340. #define HAVE_aarch64_get_lanev4hi (TARGET_SIMD)
  2341. #define HAVE_aarch64_get_lanev8hi (TARGET_SIMD)
  2342. #define HAVE_aarch64_get_lanev2si (TARGET_SIMD)
  2343. #define HAVE_aarch64_get_lanev4si (TARGET_SIMD)
  2344. #define HAVE_aarch64_get_lanev2di (TARGET_SIMD)
  2345. #define HAVE_aarch64_get_lanev4hf (TARGET_SIMD)
  2346. #define HAVE_aarch64_get_lanev8hf (TARGET_SIMD)
  2347. #define HAVE_aarch64_get_lanev4bf (TARGET_SIMD)
  2348. #define HAVE_aarch64_get_lanev8bf (TARGET_SIMD)
  2349. #define HAVE_aarch64_get_lanev2sf (TARGET_SIMD)
  2350. #define HAVE_aarch64_get_lanev4sf (TARGET_SIMD)
  2351. #define HAVE_aarch64_get_lanev2df (TARGET_SIMD)
  2352. #define HAVE_load_pair_lanesv8qi (TARGET_SIMD && !STRICT_ALIGNMENT \
  2353. && rtx_equal_p (XEXP (operands[2], 0), \
  2354. plus_constant (Pmode, \
  2355. XEXP (operands[1], 0), \
  2356. GET_MODE_SIZE (V8QImode))))
  2357. #define HAVE_load_pair_lanesv4hi (TARGET_SIMD && !STRICT_ALIGNMENT \
  2358. && rtx_equal_p (XEXP (operands[2], 0), \
  2359. plus_constant (Pmode, \
  2360. XEXP (operands[1], 0), \
  2361. GET_MODE_SIZE (V4HImode))))
  2362. #define HAVE_load_pair_lanesv4bf (TARGET_SIMD && !STRICT_ALIGNMENT \
  2363. && rtx_equal_p (XEXP (operands[2], 0), \
  2364. plus_constant (Pmode, \
  2365. XEXP (operands[1], 0), \
  2366. GET_MODE_SIZE (V4BFmode))))
  2367. #define HAVE_load_pair_lanesv4hf (TARGET_SIMD && !STRICT_ALIGNMENT \
  2368. && rtx_equal_p (XEXP (operands[2], 0), \
  2369. plus_constant (Pmode, \
  2370. XEXP (operands[1], 0), \
  2371. GET_MODE_SIZE (V4HFmode))))
  2372. #define HAVE_load_pair_lanesv2si (TARGET_SIMD && !STRICT_ALIGNMENT \
  2373. && rtx_equal_p (XEXP (operands[2], 0), \
  2374. plus_constant (Pmode, \
  2375. XEXP (operands[1], 0), \
  2376. GET_MODE_SIZE (V2SImode))))
  2377. #define HAVE_load_pair_lanesv2sf (TARGET_SIMD && !STRICT_ALIGNMENT \
  2378. && rtx_equal_p (XEXP (operands[2], 0), \
  2379. plus_constant (Pmode, \
  2380. XEXP (operands[1], 0), \
  2381. GET_MODE_SIZE (V2SFmode))))
  2382. #define HAVE_load_pair_lanesdi (TARGET_SIMD && !STRICT_ALIGNMENT \
  2383. && rtx_equal_p (XEXP (operands[2], 0), \
  2384. plus_constant (Pmode, \
  2385. XEXP (operands[1], 0), \
  2386. GET_MODE_SIZE (DImode))))
  2387. #define HAVE_load_pair_lanesdf (TARGET_SIMD && !STRICT_ALIGNMENT \
  2388. && rtx_equal_p (XEXP (operands[2], 0), \
  2389. plus_constant (Pmode, \
  2390. XEXP (operands[1], 0), \
  2391. GET_MODE_SIZE (DFmode))))
  2392. #define HAVE_store_pair_lanesv8qi (TARGET_SIMD)
  2393. #define HAVE_store_pair_lanesv4hi (TARGET_SIMD)
  2394. #define HAVE_store_pair_lanesv4bf (TARGET_SIMD)
  2395. #define HAVE_store_pair_lanesv4hf (TARGET_SIMD)
  2396. #define HAVE_store_pair_lanesv2si (TARGET_SIMD)
  2397. #define HAVE_store_pair_lanesv2sf (TARGET_SIMD)
  2398. #define HAVE_store_pair_lanesdi (TARGET_SIMD)
  2399. #define HAVE_store_pair_lanesdf (TARGET_SIMD)
  2400. #define HAVE_aarch64_combinezv8qi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2401. #define HAVE_aarch64_combinezv4hi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2402. #define HAVE_aarch64_combinezv4bf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2403. #define HAVE_aarch64_combinezv4hf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2404. #define HAVE_aarch64_combinezv2si (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2405. #define HAVE_aarch64_combinezv2sf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2406. #define HAVE_aarch64_combinezdi (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2407. #define HAVE_aarch64_combinezdf (TARGET_SIMD && !BYTES_BIG_ENDIAN)
  2408. #define HAVE_aarch64_combinez_bev8qi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2409. #define HAVE_aarch64_combinez_bev4hi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2410. #define HAVE_aarch64_combinez_bev4bf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2411. #define HAVE_aarch64_combinez_bev4hf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2412. #define HAVE_aarch64_combinez_bev2si (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2413. #define HAVE_aarch64_combinez_bev2sf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2414. #define HAVE_aarch64_combinez_bedi (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2415. #define HAVE_aarch64_combinez_bedf (TARGET_SIMD && BYTES_BIG_ENDIAN)
  2416. #define HAVE_aarch64_saddlv16qi_hi_internal (TARGET_SIMD)
  2417. #define HAVE_aarch64_ssublv16qi_hi_internal (TARGET_SIMD)
  2418. #define HAVE_aarch64_uaddlv16qi_hi_internal (TARGET_SIMD)
  2419. #define HAVE_aarch64_usublv16qi_hi_internal (TARGET_SIMD)
  2420. #define HAVE_aarch64_saddlv8hi_hi_internal (TARGET_SIMD)
  2421. #define HAVE_aarch64_ssublv8hi_hi_internal (TARGET_SIMD)
  2422. #define HAVE_aarch64_uaddlv8hi_hi_internal (TARGET_SIMD)
  2423. #define HAVE_aarch64_usublv8hi_hi_internal (TARGET_SIMD)
  2424. #define HAVE_aarch64_saddlv4si_hi_internal (TARGET_SIMD)
  2425. #define HAVE_aarch64_ssublv4si_hi_internal (TARGET_SIMD)
  2426. #define HAVE_aarch64_uaddlv4si_hi_internal (TARGET_SIMD)
  2427. #define HAVE_aarch64_usublv4si_hi_internal (TARGET_SIMD)
  2428. #define HAVE_aarch64_saddlv16qi_lo_internal (TARGET_SIMD)
  2429. #define HAVE_aarch64_ssublv16qi_lo_internal (TARGET_SIMD)
  2430. #define HAVE_aarch64_uaddlv16qi_lo_internal (TARGET_SIMD)
  2431. #define HAVE_aarch64_usublv16qi_lo_internal (TARGET_SIMD)
  2432. #define HAVE_aarch64_saddlv8hi_lo_internal (TARGET_SIMD)
  2433. #define HAVE_aarch64_ssublv8hi_lo_internal (TARGET_SIMD)
  2434. #define HAVE_aarch64_uaddlv8hi_lo_internal (TARGET_SIMD)
  2435. #define HAVE_aarch64_usublv8hi_lo_internal (TARGET_SIMD)
  2436. #define HAVE_aarch64_saddlv4si_lo_internal (TARGET_SIMD)
  2437. #define HAVE_aarch64_ssublv4si_lo_internal (TARGET_SIMD)
  2438. #define HAVE_aarch64_uaddlv4si_lo_internal (TARGET_SIMD)
  2439. #define HAVE_aarch64_usublv4si_lo_internal (TARGET_SIMD)
  2440. #define HAVE_aarch64_saddlv8qi (TARGET_SIMD)
  2441. #define HAVE_aarch64_ssublv8qi (TARGET_SIMD)
  2442. #define HAVE_aarch64_uaddlv8qi (TARGET_SIMD)
  2443. #define HAVE_aarch64_usublv8qi (TARGET_SIMD)
  2444. #define HAVE_aarch64_saddlv4hi (TARGET_SIMD)
  2445. #define HAVE_aarch64_ssublv4hi (TARGET_SIMD)
  2446. #define HAVE_aarch64_uaddlv4hi (TARGET_SIMD)
  2447. #define HAVE_aarch64_usublv4hi (TARGET_SIMD)
  2448. #define HAVE_aarch64_saddlv2si (TARGET_SIMD)
  2449. #define HAVE_aarch64_ssublv2si (TARGET_SIMD)
  2450. #define HAVE_aarch64_uaddlv2si (TARGET_SIMD)
  2451. #define HAVE_aarch64_usublv2si (TARGET_SIMD)
  2452. #define HAVE_aarch64_ssubwv8qi (TARGET_SIMD)
  2453. #define HAVE_aarch64_usubwv8qi (TARGET_SIMD)
  2454. #define HAVE_aarch64_ssubwv4hi (TARGET_SIMD)
  2455. #define HAVE_aarch64_usubwv4hi (TARGET_SIMD)
  2456. #define HAVE_aarch64_ssubwv2si (TARGET_SIMD)
  2457. #define HAVE_aarch64_usubwv2si (TARGET_SIMD)
  2458. #define HAVE_aarch64_ssubwv16qi_internal (TARGET_SIMD)
  2459. #define HAVE_aarch64_usubwv16qi_internal (TARGET_SIMD)
  2460. #define HAVE_aarch64_ssubwv8hi_internal (TARGET_SIMD)
  2461. #define HAVE_aarch64_usubwv8hi_internal (TARGET_SIMD)
  2462. #define HAVE_aarch64_ssubwv4si_internal (TARGET_SIMD)
  2463. #define HAVE_aarch64_usubwv4si_internal (TARGET_SIMD)
  2464. #define HAVE_aarch64_ssubw2v16qi_internal (TARGET_SIMD)
  2465. #define HAVE_aarch64_usubw2v16qi_internal (TARGET_SIMD)
  2466. #define HAVE_aarch64_ssubw2v8hi_internal (TARGET_SIMD)
  2467. #define HAVE_aarch64_usubw2v8hi_internal (TARGET_SIMD)
  2468. #define HAVE_aarch64_ssubw2v4si_internal (TARGET_SIMD)
  2469. #define HAVE_aarch64_usubw2v4si_internal (TARGET_SIMD)
  2470. #define HAVE_aarch64_saddwv8qi (TARGET_SIMD)
  2471. #define HAVE_aarch64_uaddwv8qi (TARGET_SIMD)
  2472. #define HAVE_aarch64_saddwv4hi (TARGET_SIMD)
  2473. #define HAVE_aarch64_uaddwv4hi (TARGET_SIMD)
  2474. #define HAVE_aarch64_saddwv2si (TARGET_SIMD)
  2475. #define HAVE_aarch64_uaddwv2si (TARGET_SIMD)
  2476. #define HAVE_aarch64_saddwv16qi_internal (TARGET_SIMD)
  2477. #define HAVE_aarch64_uaddwv16qi_internal (TARGET_SIMD)
  2478. #define HAVE_aarch64_saddwv8hi_internal (TARGET_SIMD)
  2479. #define HAVE_aarch64_uaddwv8hi_internal (TARGET_SIMD)
  2480. #define HAVE_aarch64_saddwv4si_internal (TARGET_SIMD)
  2481. #define HAVE_aarch64_uaddwv4si_internal (TARGET_SIMD)
  2482. #define HAVE_aarch64_saddw2v16qi_internal (TARGET_SIMD)
  2483. #define HAVE_aarch64_uaddw2v16qi_internal (TARGET_SIMD)
  2484. #define HAVE_aarch64_saddw2v8hi_internal (TARGET_SIMD)
  2485. #define HAVE_aarch64_uaddw2v8hi_internal (TARGET_SIMD)
  2486. #define HAVE_aarch64_saddw2v4si_internal (TARGET_SIMD)
  2487. #define HAVE_aarch64_uaddw2v4si_internal (TARGET_SIMD)
  2488. #define HAVE_aarch64_shaddv8qi (TARGET_SIMD)
  2489. #define HAVE_aarch64_uhaddv8qi (TARGET_SIMD)
  2490. #define HAVE_aarch64_srhaddv8qi (TARGET_SIMD)
  2491. #define HAVE_aarch64_urhaddv8qi (TARGET_SIMD)
  2492. #define HAVE_aarch64_shsubv8qi (TARGET_SIMD)
  2493. #define HAVE_aarch64_uhsubv8qi (TARGET_SIMD)
  2494. #define HAVE_aarch64_shaddv16qi (TARGET_SIMD)
  2495. #define HAVE_aarch64_uhaddv16qi (TARGET_SIMD)
  2496. #define HAVE_aarch64_srhaddv16qi (TARGET_SIMD)
  2497. #define HAVE_aarch64_urhaddv16qi (TARGET_SIMD)
  2498. #define HAVE_aarch64_shsubv16qi (TARGET_SIMD)
  2499. #define HAVE_aarch64_uhsubv16qi (TARGET_SIMD)
  2500. #define HAVE_aarch64_shaddv4hi (TARGET_SIMD)
  2501. #define HAVE_aarch64_uhaddv4hi (TARGET_SIMD)
  2502. #define HAVE_aarch64_srhaddv4hi (TARGET_SIMD)
  2503. #define HAVE_aarch64_urhaddv4hi (TARGET_SIMD)
  2504. #define HAVE_aarch64_shsubv4hi (TARGET_SIMD)
  2505. #define HAVE_aarch64_uhsubv4hi (TARGET_SIMD)
  2506. #define HAVE_aarch64_shaddv8hi (TARGET_SIMD)
  2507. #define HAVE_aarch64_uhaddv8hi (TARGET_SIMD)
  2508. #define HAVE_aarch64_srhaddv8hi (TARGET_SIMD)
  2509. #define HAVE_aarch64_urhaddv8hi (TARGET_SIMD)
  2510. #define HAVE_aarch64_shsubv8hi (TARGET_SIMD)
  2511. #define HAVE_aarch64_uhsubv8hi (TARGET_SIMD)
  2512. #define HAVE_aarch64_shaddv2si (TARGET_SIMD)
  2513. #define HAVE_aarch64_uhaddv2si (TARGET_SIMD)
  2514. #define HAVE_aarch64_srhaddv2si (TARGET_SIMD)
  2515. #define HAVE_aarch64_urhaddv2si (TARGET_SIMD)
  2516. #define HAVE_aarch64_shsubv2si (TARGET_SIMD)
  2517. #define HAVE_aarch64_uhsubv2si (TARGET_SIMD)
  2518. #define HAVE_aarch64_shaddv4si (TARGET_SIMD)
  2519. #define HAVE_aarch64_uhaddv4si (TARGET_SIMD)
  2520. #define HAVE_aarch64_srhaddv4si (TARGET_SIMD)
  2521. #define HAVE_aarch64_urhaddv4si (TARGET_SIMD)
  2522. #define HAVE_aarch64_shsubv4si (TARGET_SIMD)
  2523. #define HAVE_aarch64_uhsubv4si (TARGET_SIMD)
  2524. #define HAVE_aarch64_addhnv8hi (TARGET_SIMD)
  2525. #define HAVE_aarch64_raddhnv8hi (TARGET_SIMD)
  2526. #define HAVE_aarch64_subhnv8hi (TARGET_SIMD)
  2527. #define HAVE_aarch64_rsubhnv8hi (TARGET_SIMD)
  2528. #define HAVE_aarch64_addhnv4si (TARGET_SIMD)
  2529. #define HAVE_aarch64_raddhnv4si (TARGET_SIMD)
  2530. #define HAVE_aarch64_subhnv4si (TARGET_SIMD)
  2531. #define HAVE_aarch64_rsubhnv4si (TARGET_SIMD)
  2532. #define HAVE_aarch64_addhnv2di (TARGET_SIMD)
  2533. #define HAVE_aarch64_raddhnv2di (TARGET_SIMD)
  2534. #define HAVE_aarch64_subhnv2di (TARGET_SIMD)
  2535. #define HAVE_aarch64_rsubhnv2di (TARGET_SIMD)
  2536. #define HAVE_aarch64_addhn2v8hi (TARGET_SIMD)
  2537. #define HAVE_aarch64_raddhn2v8hi (TARGET_SIMD)
  2538. #define HAVE_aarch64_subhn2v8hi (TARGET_SIMD)
  2539. #define HAVE_aarch64_rsubhn2v8hi (TARGET_SIMD)
  2540. #define HAVE_aarch64_addhn2v4si (TARGET_SIMD)
  2541. #define HAVE_aarch64_raddhn2v4si (TARGET_SIMD)
  2542. #define HAVE_aarch64_subhn2v4si (TARGET_SIMD)
  2543. #define HAVE_aarch64_rsubhn2v4si (TARGET_SIMD)
  2544. #define HAVE_aarch64_addhn2v2di (TARGET_SIMD)
  2545. #define HAVE_aarch64_raddhn2v2di (TARGET_SIMD)
  2546. #define HAVE_aarch64_subhn2v2di (TARGET_SIMD)
  2547. #define HAVE_aarch64_rsubhn2v2di (TARGET_SIMD)
  2548. #define HAVE_aarch64_pmulv8qi (TARGET_SIMD)
  2549. #define HAVE_aarch64_pmulv16qi (TARGET_SIMD)
  2550. #define HAVE_aarch64_fmulxv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2551. #define HAVE_aarch64_fmulxv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2552. #define HAVE_aarch64_fmulxv2sf (TARGET_SIMD)
  2553. #define HAVE_aarch64_fmulxv4sf (TARGET_SIMD)
  2554. #define HAVE_aarch64_fmulxv2df (TARGET_SIMD)
  2555. #define HAVE_aarch64_fmulxhf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  2556. #define HAVE_aarch64_fmulxsf (TARGET_SIMD)
  2557. #define HAVE_aarch64_fmulxdf (TARGET_SIMD)
  2558. #define HAVE_aarch64_sqaddv8qi (TARGET_SIMD)
  2559. #define HAVE_aarch64_uqaddv8qi (TARGET_SIMD)
  2560. #define HAVE_aarch64_sqsubv8qi (TARGET_SIMD)
  2561. #define HAVE_aarch64_uqsubv8qi (TARGET_SIMD)
  2562. #define HAVE_aarch64_sqaddv16qi (TARGET_SIMD)
  2563. #define HAVE_aarch64_uqaddv16qi (TARGET_SIMD)
  2564. #define HAVE_aarch64_sqsubv16qi (TARGET_SIMD)
  2565. #define HAVE_aarch64_uqsubv16qi (TARGET_SIMD)
  2566. #define HAVE_aarch64_sqaddv4hi (TARGET_SIMD)
  2567. #define HAVE_aarch64_uqaddv4hi (TARGET_SIMD)
  2568. #define HAVE_aarch64_sqsubv4hi (TARGET_SIMD)
  2569. #define HAVE_aarch64_uqsubv4hi (TARGET_SIMD)
  2570. #define HAVE_aarch64_sqaddv8hi (TARGET_SIMD)
  2571. #define HAVE_aarch64_uqaddv8hi (TARGET_SIMD)
  2572. #define HAVE_aarch64_sqsubv8hi (TARGET_SIMD)
  2573. #define HAVE_aarch64_uqsubv8hi (TARGET_SIMD)
  2574. #define HAVE_aarch64_sqaddv2si (TARGET_SIMD)
  2575. #define HAVE_aarch64_uqaddv2si (TARGET_SIMD)
  2576. #define HAVE_aarch64_sqsubv2si (TARGET_SIMD)
  2577. #define HAVE_aarch64_uqsubv2si (TARGET_SIMD)
  2578. #define HAVE_aarch64_sqaddv4si (TARGET_SIMD)
  2579. #define HAVE_aarch64_uqaddv4si (TARGET_SIMD)
  2580. #define HAVE_aarch64_sqsubv4si (TARGET_SIMD)
  2581. #define HAVE_aarch64_uqsubv4si (TARGET_SIMD)
  2582. #define HAVE_aarch64_sqaddv2di (TARGET_SIMD)
  2583. #define HAVE_aarch64_uqaddv2di (TARGET_SIMD)
  2584. #define HAVE_aarch64_sqsubv2di (TARGET_SIMD)
  2585. #define HAVE_aarch64_uqsubv2di (TARGET_SIMD)
  2586. #define HAVE_aarch64_sqaddqi (TARGET_SIMD)
  2587. #define HAVE_aarch64_uqaddqi (TARGET_SIMD)
  2588. #define HAVE_aarch64_sqsubqi (TARGET_SIMD)
  2589. #define HAVE_aarch64_uqsubqi (TARGET_SIMD)
  2590. #define HAVE_aarch64_sqaddhi (TARGET_SIMD)
  2591. #define HAVE_aarch64_uqaddhi (TARGET_SIMD)
  2592. #define HAVE_aarch64_sqsubhi (TARGET_SIMD)
  2593. #define HAVE_aarch64_uqsubhi (TARGET_SIMD)
  2594. #define HAVE_aarch64_sqaddsi (TARGET_SIMD)
  2595. #define HAVE_aarch64_uqaddsi (TARGET_SIMD)
  2596. #define HAVE_aarch64_sqsubsi (TARGET_SIMD)
  2597. #define HAVE_aarch64_uqsubsi (TARGET_SIMD)
  2598. #define HAVE_aarch64_sqadddi (TARGET_SIMD)
  2599. #define HAVE_aarch64_uqadddi (TARGET_SIMD)
  2600. #define HAVE_aarch64_sqsubdi (TARGET_SIMD)
  2601. #define HAVE_aarch64_uqsubdi (TARGET_SIMD)
  2602. #define HAVE_aarch64_suqaddv8qi (TARGET_SIMD)
  2603. #define HAVE_aarch64_usqaddv8qi (TARGET_SIMD)
  2604. #define HAVE_aarch64_suqaddv16qi (TARGET_SIMD)
  2605. #define HAVE_aarch64_usqaddv16qi (TARGET_SIMD)
  2606. #define HAVE_aarch64_suqaddv4hi (TARGET_SIMD)
  2607. #define HAVE_aarch64_usqaddv4hi (TARGET_SIMD)
  2608. #define HAVE_aarch64_suqaddv8hi (TARGET_SIMD)
  2609. #define HAVE_aarch64_usqaddv8hi (TARGET_SIMD)
  2610. #define HAVE_aarch64_suqaddv2si (TARGET_SIMD)
  2611. #define HAVE_aarch64_usqaddv2si (TARGET_SIMD)
  2612. #define HAVE_aarch64_suqaddv4si (TARGET_SIMD)
  2613. #define HAVE_aarch64_usqaddv4si (TARGET_SIMD)
  2614. #define HAVE_aarch64_suqaddv2di (TARGET_SIMD)
  2615. #define HAVE_aarch64_usqaddv2di (TARGET_SIMD)
  2616. #define HAVE_aarch64_suqaddqi (TARGET_SIMD)
  2617. #define HAVE_aarch64_usqaddqi (TARGET_SIMD)
  2618. #define HAVE_aarch64_suqaddhi (TARGET_SIMD)
  2619. #define HAVE_aarch64_usqaddhi (TARGET_SIMD)
  2620. #define HAVE_aarch64_suqaddsi (TARGET_SIMD)
  2621. #define HAVE_aarch64_usqaddsi (TARGET_SIMD)
  2622. #define HAVE_aarch64_suqadddi (TARGET_SIMD)
  2623. #define HAVE_aarch64_usqadddi (TARGET_SIMD)
  2624. #define HAVE_aarch64_sqmovunv8hi (TARGET_SIMD)
  2625. #define HAVE_aarch64_sqmovunv4si (TARGET_SIMD)
  2626. #define HAVE_aarch64_sqmovunv2di (TARGET_SIMD)
  2627. #define HAVE_aarch64_sqmovunhi (TARGET_SIMD)
  2628. #define HAVE_aarch64_sqmovunsi (TARGET_SIMD)
  2629. #define HAVE_aarch64_sqmovundi (TARGET_SIMD)
  2630. #define HAVE_aarch64_sqmovnv8hi (TARGET_SIMD)
  2631. #define HAVE_aarch64_uqmovnv8hi (TARGET_SIMD)
  2632. #define HAVE_aarch64_sqmovnv4si (TARGET_SIMD)
  2633. #define HAVE_aarch64_uqmovnv4si (TARGET_SIMD)
  2634. #define HAVE_aarch64_sqmovnv2di (TARGET_SIMD)
  2635. #define HAVE_aarch64_uqmovnv2di (TARGET_SIMD)
  2636. #define HAVE_aarch64_sqmovnhi (TARGET_SIMD)
  2637. #define HAVE_aarch64_uqmovnhi (TARGET_SIMD)
  2638. #define HAVE_aarch64_sqmovnsi (TARGET_SIMD)
  2639. #define HAVE_aarch64_uqmovnsi (TARGET_SIMD)
  2640. #define HAVE_aarch64_sqmovndi (TARGET_SIMD)
  2641. #define HAVE_aarch64_uqmovndi (TARGET_SIMD)
  2642. #define HAVE_aarch64_sqnegv8qi (TARGET_SIMD)
  2643. #define HAVE_aarch64_sqabsv8qi (TARGET_SIMD)
  2644. #define HAVE_aarch64_sqnegv16qi (TARGET_SIMD)
  2645. #define HAVE_aarch64_sqabsv16qi (TARGET_SIMD)
  2646. #define HAVE_aarch64_sqnegv4hi (TARGET_SIMD)
  2647. #define HAVE_aarch64_sqabsv4hi (TARGET_SIMD)
  2648. #define HAVE_aarch64_sqnegv8hi (TARGET_SIMD)
  2649. #define HAVE_aarch64_sqabsv8hi (TARGET_SIMD)
  2650. #define HAVE_aarch64_sqnegv2si (TARGET_SIMD)
  2651. #define HAVE_aarch64_sqabsv2si (TARGET_SIMD)
  2652. #define HAVE_aarch64_sqnegv4si (TARGET_SIMD)
  2653. #define HAVE_aarch64_sqabsv4si (TARGET_SIMD)
  2654. #define HAVE_aarch64_sqnegv2di (TARGET_SIMD)
  2655. #define HAVE_aarch64_sqabsv2di (TARGET_SIMD)
  2656. #define HAVE_aarch64_sqnegqi (TARGET_SIMD)
  2657. #define HAVE_aarch64_sqabsqi (TARGET_SIMD)
  2658. #define HAVE_aarch64_sqneghi (TARGET_SIMD)
  2659. #define HAVE_aarch64_sqabshi (TARGET_SIMD)
  2660. #define HAVE_aarch64_sqnegsi (TARGET_SIMD)
  2661. #define HAVE_aarch64_sqabssi (TARGET_SIMD)
  2662. #define HAVE_aarch64_sqnegdi (TARGET_SIMD)
  2663. #define HAVE_aarch64_sqabsdi (TARGET_SIMD)
  2664. #define HAVE_aarch64_sqdmulhv4hi (TARGET_SIMD)
  2665. #define HAVE_aarch64_sqrdmulhv4hi (TARGET_SIMD)
  2666. #define HAVE_aarch64_sqdmulhv8hi (TARGET_SIMD)
  2667. #define HAVE_aarch64_sqrdmulhv8hi (TARGET_SIMD)
  2668. #define HAVE_aarch64_sqdmulhv2si (TARGET_SIMD)
  2669. #define HAVE_aarch64_sqrdmulhv2si (TARGET_SIMD)
  2670. #define HAVE_aarch64_sqdmulhv4si (TARGET_SIMD)
  2671. #define HAVE_aarch64_sqrdmulhv4si (TARGET_SIMD)
  2672. #define HAVE_aarch64_sqdmulhhi (TARGET_SIMD)
  2673. #define HAVE_aarch64_sqrdmulhhi (TARGET_SIMD)
  2674. #define HAVE_aarch64_sqdmulhsi (TARGET_SIMD)
  2675. #define HAVE_aarch64_sqrdmulhsi (TARGET_SIMD)
  2676. #define HAVE_aarch64_sqdmulh_lanev4hi (TARGET_SIMD)
  2677. #define HAVE_aarch64_sqrdmulh_lanev4hi (TARGET_SIMD)
  2678. #define HAVE_aarch64_sqdmulh_lanev8hi (TARGET_SIMD)
  2679. #define HAVE_aarch64_sqrdmulh_lanev8hi (TARGET_SIMD)
  2680. #define HAVE_aarch64_sqdmulh_lanev2si (TARGET_SIMD)
  2681. #define HAVE_aarch64_sqrdmulh_lanev2si (TARGET_SIMD)
  2682. #define HAVE_aarch64_sqdmulh_lanev4si (TARGET_SIMD)
  2683. #define HAVE_aarch64_sqrdmulh_lanev4si (TARGET_SIMD)
  2684. #define HAVE_aarch64_sqdmulh_laneqv4hi (TARGET_SIMD)
  2685. #define HAVE_aarch64_sqrdmulh_laneqv4hi (TARGET_SIMD)
  2686. #define HAVE_aarch64_sqdmulh_laneqv8hi (TARGET_SIMD)
  2687. #define HAVE_aarch64_sqrdmulh_laneqv8hi (TARGET_SIMD)
  2688. #define HAVE_aarch64_sqdmulh_laneqv2si (TARGET_SIMD)
  2689. #define HAVE_aarch64_sqrdmulh_laneqv2si (TARGET_SIMD)
  2690. #define HAVE_aarch64_sqdmulh_laneqv4si (TARGET_SIMD)
  2691. #define HAVE_aarch64_sqrdmulh_laneqv4si (TARGET_SIMD)
  2692. #define HAVE_aarch64_sqdmulh_lanehi (TARGET_SIMD)
  2693. #define HAVE_aarch64_sqrdmulh_lanehi (TARGET_SIMD)
  2694. #define HAVE_aarch64_sqdmulh_lanesi (TARGET_SIMD)
  2695. #define HAVE_aarch64_sqrdmulh_lanesi (TARGET_SIMD)
  2696. #define HAVE_aarch64_sqdmulh_laneqhi (TARGET_SIMD)
  2697. #define HAVE_aarch64_sqrdmulh_laneqhi (TARGET_SIMD)
  2698. #define HAVE_aarch64_sqdmulh_laneqsi (TARGET_SIMD)
  2699. #define HAVE_aarch64_sqrdmulh_laneqsi (TARGET_SIMD)
  2700. #define HAVE_aarch64_sqrdmlahv4hi (TARGET_SIMD_RDMA)
  2701. #define HAVE_aarch64_sqrdmlshv4hi (TARGET_SIMD_RDMA)
  2702. #define HAVE_aarch64_sqrdmlahv8hi (TARGET_SIMD_RDMA)
  2703. #define HAVE_aarch64_sqrdmlshv8hi (TARGET_SIMD_RDMA)
  2704. #define HAVE_aarch64_sqrdmlahv2si (TARGET_SIMD_RDMA)
  2705. #define HAVE_aarch64_sqrdmlshv2si (TARGET_SIMD_RDMA)
  2706. #define HAVE_aarch64_sqrdmlahv4si (TARGET_SIMD_RDMA)
  2707. #define HAVE_aarch64_sqrdmlshv4si (TARGET_SIMD_RDMA)
  2708. #define HAVE_aarch64_sqrdmlahhi (TARGET_SIMD_RDMA)
  2709. #define HAVE_aarch64_sqrdmlshhi (TARGET_SIMD_RDMA)
  2710. #define HAVE_aarch64_sqrdmlahsi (TARGET_SIMD_RDMA)
  2711. #define HAVE_aarch64_sqrdmlshsi (TARGET_SIMD_RDMA)
  2712. #define HAVE_aarch64_sqrdmlah_lanev4hi (TARGET_SIMD_RDMA)
  2713. #define HAVE_aarch64_sqrdmlsh_lanev4hi (TARGET_SIMD_RDMA)
  2714. #define HAVE_aarch64_sqrdmlah_lanev8hi (TARGET_SIMD_RDMA)
  2715. #define HAVE_aarch64_sqrdmlsh_lanev8hi (TARGET_SIMD_RDMA)
  2716. #define HAVE_aarch64_sqrdmlah_lanev2si (TARGET_SIMD_RDMA)
  2717. #define HAVE_aarch64_sqrdmlsh_lanev2si (TARGET_SIMD_RDMA)
  2718. #define HAVE_aarch64_sqrdmlah_lanev4si (TARGET_SIMD_RDMA)
  2719. #define HAVE_aarch64_sqrdmlsh_lanev4si (TARGET_SIMD_RDMA)
  2720. #define HAVE_aarch64_sqrdmlah_lanehi (TARGET_SIMD_RDMA)
  2721. #define HAVE_aarch64_sqrdmlsh_lanehi (TARGET_SIMD_RDMA)
  2722. #define HAVE_aarch64_sqrdmlah_lanesi (TARGET_SIMD_RDMA)
  2723. #define HAVE_aarch64_sqrdmlsh_lanesi (TARGET_SIMD_RDMA)
  2724. #define HAVE_aarch64_sqrdmlah_laneqv4hi (TARGET_SIMD_RDMA)
  2725. #define HAVE_aarch64_sqrdmlsh_laneqv4hi (TARGET_SIMD_RDMA)
  2726. #define HAVE_aarch64_sqrdmlah_laneqv8hi (TARGET_SIMD_RDMA)
  2727. #define HAVE_aarch64_sqrdmlsh_laneqv8hi (TARGET_SIMD_RDMA)
  2728. #define HAVE_aarch64_sqrdmlah_laneqv2si (TARGET_SIMD_RDMA)
  2729. #define HAVE_aarch64_sqrdmlsh_laneqv2si (TARGET_SIMD_RDMA)
  2730. #define HAVE_aarch64_sqrdmlah_laneqv4si (TARGET_SIMD_RDMA)
  2731. #define HAVE_aarch64_sqrdmlsh_laneqv4si (TARGET_SIMD_RDMA)
  2732. #define HAVE_aarch64_sqrdmlah_laneqhi (TARGET_SIMD_RDMA)
  2733. #define HAVE_aarch64_sqrdmlsh_laneqhi (TARGET_SIMD_RDMA)
  2734. #define HAVE_aarch64_sqrdmlah_laneqsi (TARGET_SIMD_RDMA)
  2735. #define HAVE_aarch64_sqrdmlsh_laneqsi (TARGET_SIMD_RDMA)
  2736. #define HAVE_aarch64_sqdmlalv4hi (TARGET_SIMD)
  2737. #define HAVE_aarch64_sqdmlslv4hi (TARGET_SIMD)
  2738. #define HAVE_aarch64_sqdmlalv2si (TARGET_SIMD)
  2739. #define HAVE_aarch64_sqdmlslv2si (TARGET_SIMD)
  2740. #define HAVE_aarch64_sqdmlalhi (TARGET_SIMD)
  2741. #define HAVE_aarch64_sqdmlslhi (TARGET_SIMD)
  2742. #define HAVE_aarch64_sqdmlalsi (TARGET_SIMD)
  2743. #define HAVE_aarch64_sqdmlslsi (TARGET_SIMD)
  2744. #define HAVE_aarch64_sqdmlal_lanev4hi (TARGET_SIMD)
  2745. #define HAVE_aarch64_sqdmlsl_lanev4hi (TARGET_SIMD)
  2746. #define HAVE_aarch64_sqdmlal_lanev2si (TARGET_SIMD)
  2747. #define HAVE_aarch64_sqdmlsl_lanev2si (TARGET_SIMD)
  2748. #define HAVE_aarch64_sqdmlal_laneqv4hi (TARGET_SIMD)
  2749. #define HAVE_aarch64_sqdmlsl_laneqv4hi (TARGET_SIMD)
  2750. #define HAVE_aarch64_sqdmlal_laneqv2si (TARGET_SIMD)
  2751. #define HAVE_aarch64_sqdmlsl_laneqv2si (TARGET_SIMD)
  2752. #define HAVE_aarch64_sqdmlal_lanehi (TARGET_SIMD)
  2753. #define HAVE_aarch64_sqdmlsl_lanehi (TARGET_SIMD)
  2754. #define HAVE_aarch64_sqdmlal_lanesi (TARGET_SIMD)
  2755. #define HAVE_aarch64_sqdmlsl_lanesi (TARGET_SIMD)
  2756. #define HAVE_aarch64_sqdmlal_laneqhi (TARGET_SIMD)
  2757. #define HAVE_aarch64_sqdmlsl_laneqhi (TARGET_SIMD)
  2758. #define HAVE_aarch64_sqdmlal_laneqsi (TARGET_SIMD)
  2759. #define HAVE_aarch64_sqdmlsl_laneqsi (TARGET_SIMD)
  2760. #define HAVE_aarch64_sqdmlal_nv4hi (TARGET_SIMD)
  2761. #define HAVE_aarch64_sqdmlsl_nv4hi (TARGET_SIMD)
  2762. #define HAVE_aarch64_sqdmlal_nv2si (TARGET_SIMD)
  2763. #define HAVE_aarch64_sqdmlsl_nv2si (TARGET_SIMD)
  2764. #define HAVE_aarch64_sqdmlal2v8hi_internal (TARGET_SIMD)
  2765. #define HAVE_aarch64_sqdmlsl2v8hi_internal (TARGET_SIMD)
  2766. #define HAVE_aarch64_sqdmlal2v4si_internal (TARGET_SIMD)
  2767. #define HAVE_aarch64_sqdmlsl2v4si_internal (TARGET_SIMD)
  2768. #define HAVE_aarch64_sqdmlal2_lanev8hi_internal (TARGET_SIMD)
  2769. #define HAVE_aarch64_sqdmlsl2_lanev8hi_internal (TARGET_SIMD)
  2770. #define HAVE_aarch64_sqdmlal2_lanev4si_internal (TARGET_SIMD)
  2771. #define HAVE_aarch64_sqdmlsl2_lanev4si_internal (TARGET_SIMD)
  2772. #define HAVE_aarch64_sqdmlal2_laneqv8hi_internal (TARGET_SIMD)
  2773. #define HAVE_aarch64_sqdmlsl2_laneqv8hi_internal (TARGET_SIMD)
  2774. #define HAVE_aarch64_sqdmlal2_laneqv4si_internal (TARGET_SIMD)
  2775. #define HAVE_aarch64_sqdmlsl2_laneqv4si_internal (TARGET_SIMD)
  2776. #define HAVE_aarch64_sqdmlal2_nv8hi_internal (TARGET_SIMD)
  2777. #define HAVE_aarch64_sqdmlsl2_nv8hi_internal (TARGET_SIMD)
  2778. #define HAVE_aarch64_sqdmlal2_nv4si_internal (TARGET_SIMD)
  2779. #define HAVE_aarch64_sqdmlsl2_nv4si_internal (TARGET_SIMD)
  2780. #define HAVE_aarch64_sqdmullv4hi (TARGET_SIMD)
  2781. #define HAVE_aarch64_sqdmullv2si (TARGET_SIMD)
  2782. #define HAVE_aarch64_sqdmullhi (TARGET_SIMD)
  2783. #define HAVE_aarch64_sqdmullsi (TARGET_SIMD)
  2784. #define HAVE_aarch64_sqdmull_lanev4hi (TARGET_SIMD)
  2785. #define HAVE_aarch64_sqdmull_lanev2si (TARGET_SIMD)
  2786. #define HAVE_aarch64_sqdmull_laneqv4hi (TARGET_SIMD)
  2787. #define HAVE_aarch64_sqdmull_laneqv2si (TARGET_SIMD)
  2788. #define HAVE_aarch64_sqdmull_lanehi (TARGET_SIMD)
  2789. #define HAVE_aarch64_sqdmull_lanesi (TARGET_SIMD)
  2790. #define HAVE_aarch64_sqdmull_laneqhi (TARGET_SIMD)
  2791. #define HAVE_aarch64_sqdmull_laneqsi (TARGET_SIMD)
  2792. #define HAVE_aarch64_sqdmull_nv4hi (TARGET_SIMD)
  2793. #define HAVE_aarch64_sqdmull_nv2si (TARGET_SIMD)
  2794. #define HAVE_aarch64_sqdmull2v8hi_internal (TARGET_SIMD)
  2795. #define HAVE_aarch64_sqdmull2v4si_internal (TARGET_SIMD)
  2796. #define HAVE_aarch64_sqdmull2_lanev8hi_internal (TARGET_SIMD)
  2797. #define HAVE_aarch64_sqdmull2_lanev4si_internal (TARGET_SIMD)
  2798. #define HAVE_aarch64_sqdmull2_laneqv8hi_internal (TARGET_SIMD)
  2799. #define HAVE_aarch64_sqdmull2_laneqv4si_internal (TARGET_SIMD)
  2800. #define HAVE_aarch64_sqdmull2_nv8hi_internal (TARGET_SIMD)
  2801. #define HAVE_aarch64_sqdmull2_nv4si_internal (TARGET_SIMD)
  2802. #define HAVE_aarch64_sshlv8qi (TARGET_SIMD)
  2803. #define HAVE_aarch64_ushlv8qi (TARGET_SIMD)
  2804. #define HAVE_aarch64_srshlv8qi (TARGET_SIMD)
  2805. #define HAVE_aarch64_urshlv8qi (TARGET_SIMD)
  2806. #define HAVE_aarch64_sshlv16qi (TARGET_SIMD)
  2807. #define HAVE_aarch64_ushlv16qi (TARGET_SIMD)
  2808. #define HAVE_aarch64_srshlv16qi (TARGET_SIMD)
  2809. #define HAVE_aarch64_urshlv16qi (TARGET_SIMD)
  2810. #define HAVE_aarch64_sshlv4hi (TARGET_SIMD)
  2811. #define HAVE_aarch64_ushlv4hi (TARGET_SIMD)
  2812. #define HAVE_aarch64_srshlv4hi (TARGET_SIMD)
  2813. #define HAVE_aarch64_urshlv4hi (TARGET_SIMD)
  2814. #define HAVE_aarch64_sshlv8hi (TARGET_SIMD)
  2815. #define HAVE_aarch64_ushlv8hi (TARGET_SIMD)
  2816. #define HAVE_aarch64_srshlv8hi (TARGET_SIMD)
  2817. #define HAVE_aarch64_urshlv8hi (TARGET_SIMD)
  2818. #define HAVE_aarch64_sshlv2si (TARGET_SIMD)
  2819. #define HAVE_aarch64_ushlv2si (TARGET_SIMD)
  2820. #define HAVE_aarch64_srshlv2si (TARGET_SIMD)
  2821. #define HAVE_aarch64_urshlv2si (TARGET_SIMD)
  2822. #define HAVE_aarch64_sshlv4si (TARGET_SIMD)
  2823. #define HAVE_aarch64_ushlv4si (TARGET_SIMD)
  2824. #define HAVE_aarch64_srshlv4si (TARGET_SIMD)
  2825. #define HAVE_aarch64_urshlv4si (TARGET_SIMD)
  2826. #define HAVE_aarch64_sshlv2di (TARGET_SIMD)
  2827. #define HAVE_aarch64_ushlv2di (TARGET_SIMD)
  2828. #define HAVE_aarch64_srshlv2di (TARGET_SIMD)
  2829. #define HAVE_aarch64_urshlv2di (TARGET_SIMD)
  2830. #define HAVE_aarch64_sshldi (TARGET_SIMD)
  2831. #define HAVE_aarch64_ushldi (TARGET_SIMD)
  2832. #define HAVE_aarch64_srshldi (TARGET_SIMD)
  2833. #define HAVE_aarch64_urshldi (TARGET_SIMD)
  2834. #define HAVE_aarch64_sqshlv8qi (TARGET_SIMD)
  2835. #define HAVE_aarch64_uqshlv8qi (TARGET_SIMD)
  2836. #define HAVE_aarch64_sqrshlv8qi (TARGET_SIMD)
  2837. #define HAVE_aarch64_uqrshlv8qi (TARGET_SIMD)
  2838. #define HAVE_aarch64_sqshlv16qi (TARGET_SIMD)
  2839. #define HAVE_aarch64_uqshlv16qi (TARGET_SIMD)
  2840. #define HAVE_aarch64_sqrshlv16qi (TARGET_SIMD)
  2841. #define HAVE_aarch64_uqrshlv16qi (TARGET_SIMD)
  2842. #define HAVE_aarch64_sqshlv4hi (TARGET_SIMD)
  2843. #define HAVE_aarch64_uqshlv4hi (TARGET_SIMD)
  2844. #define HAVE_aarch64_sqrshlv4hi (TARGET_SIMD)
  2845. #define HAVE_aarch64_uqrshlv4hi (TARGET_SIMD)
  2846. #define HAVE_aarch64_sqshlv8hi (TARGET_SIMD)
  2847. #define HAVE_aarch64_uqshlv8hi (TARGET_SIMD)
  2848. #define HAVE_aarch64_sqrshlv8hi (TARGET_SIMD)
  2849. #define HAVE_aarch64_uqrshlv8hi (TARGET_SIMD)
  2850. #define HAVE_aarch64_sqshlv2si (TARGET_SIMD)
  2851. #define HAVE_aarch64_uqshlv2si (TARGET_SIMD)
  2852. #define HAVE_aarch64_sqrshlv2si (TARGET_SIMD)
  2853. #define HAVE_aarch64_uqrshlv2si (TARGET_SIMD)
  2854. #define HAVE_aarch64_sqshlv4si (TARGET_SIMD)
  2855. #define HAVE_aarch64_uqshlv4si (TARGET_SIMD)
  2856. #define HAVE_aarch64_sqrshlv4si (TARGET_SIMD)
  2857. #define HAVE_aarch64_uqrshlv4si (TARGET_SIMD)
  2858. #define HAVE_aarch64_sqshlv2di (TARGET_SIMD)
  2859. #define HAVE_aarch64_uqshlv2di (TARGET_SIMD)
  2860. #define HAVE_aarch64_sqrshlv2di (TARGET_SIMD)
  2861. #define HAVE_aarch64_uqrshlv2di (TARGET_SIMD)
  2862. #define HAVE_aarch64_sqshlqi (TARGET_SIMD)
  2863. #define HAVE_aarch64_uqshlqi (TARGET_SIMD)
  2864. #define HAVE_aarch64_sqrshlqi (TARGET_SIMD)
  2865. #define HAVE_aarch64_uqrshlqi (TARGET_SIMD)
  2866. #define HAVE_aarch64_sqshlhi (TARGET_SIMD)
  2867. #define HAVE_aarch64_uqshlhi (TARGET_SIMD)
  2868. #define HAVE_aarch64_sqrshlhi (TARGET_SIMD)
  2869. #define HAVE_aarch64_uqrshlhi (TARGET_SIMD)
  2870. #define HAVE_aarch64_sqshlsi (TARGET_SIMD)
  2871. #define HAVE_aarch64_uqshlsi (TARGET_SIMD)
  2872. #define HAVE_aarch64_sqrshlsi (TARGET_SIMD)
  2873. #define HAVE_aarch64_uqrshlsi (TARGET_SIMD)
  2874. #define HAVE_aarch64_sqshldi (TARGET_SIMD)
  2875. #define HAVE_aarch64_uqshldi (TARGET_SIMD)
  2876. #define HAVE_aarch64_sqrshldi (TARGET_SIMD)
  2877. #define HAVE_aarch64_uqrshldi (TARGET_SIMD)
  2878. #define HAVE_aarch64_sshll_nv8qi (TARGET_SIMD)
  2879. #define HAVE_aarch64_ushll_nv8qi (TARGET_SIMD)
  2880. #define HAVE_aarch64_sshll_nv4hi (TARGET_SIMD)
  2881. #define HAVE_aarch64_ushll_nv4hi (TARGET_SIMD)
  2882. #define HAVE_aarch64_sshll_nv2si (TARGET_SIMD)
  2883. #define HAVE_aarch64_ushll_nv2si (TARGET_SIMD)
  2884. #define HAVE_aarch64_sshll2_nv16qi (TARGET_SIMD)
  2885. #define HAVE_aarch64_ushll2_nv16qi (TARGET_SIMD)
  2886. #define HAVE_aarch64_sshll2_nv8hi (TARGET_SIMD)
  2887. #define HAVE_aarch64_ushll2_nv8hi (TARGET_SIMD)
  2888. #define HAVE_aarch64_sshll2_nv4si (TARGET_SIMD)
  2889. #define HAVE_aarch64_ushll2_nv4si (TARGET_SIMD)
  2890. #define HAVE_aarch64_srshr_nv8qi (TARGET_SIMD)
  2891. #define HAVE_aarch64_urshr_nv8qi (TARGET_SIMD)
  2892. #define HAVE_aarch64_srshr_nv16qi (TARGET_SIMD)
  2893. #define HAVE_aarch64_urshr_nv16qi (TARGET_SIMD)
  2894. #define HAVE_aarch64_srshr_nv4hi (TARGET_SIMD)
  2895. #define HAVE_aarch64_urshr_nv4hi (TARGET_SIMD)
  2896. #define HAVE_aarch64_srshr_nv8hi (TARGET_SIMD)
  2897. #define HAVE_aarch64_urshr_nv8hi (TARGET_SIMD)
  2898. #define HAVE_aarch64_srshr_nv2si (TARGET_SIMD)
  2899. #define HAVE_aarch64_urshr_nv2si (TARGET_SIMD)
  2900. #define HAVE_aarch64_srshr_nv4si (TARGET_SIMD)
  2901. #define HAVE_aarch64_urshr_nv4si (TARGET_SIMD)
  2902. #define HAVE_aarch64_srshr_nv2di (TARGET_SIMD)
  2903. #define HAVE_aarch64_urshr_nv2di (TARGET_SIMD)
  2904. #define HAVE_aarch64_srshr_ndi (TARGET_SIMD)
  2905. #define HAVE_aarch64_urshr_ndi (TARGET_SIMD)
  2906. #define HAVE_aarch64_ssra_nv8qi (TARGET_SIMD)
  2907. #define HAVE_aarch64_usra_nv8qi (TARGET_SIMD)
  2908. #define HAVE_aarch64_srsra_nv8qi (TARGET_SIMD)
  2909. #define HAVE_aarch64_ursra_nv8qi (TARGET_SIMD)
  2910. #define HAVE_aarch64_ssra_nv16qi (TARGET_SIMD)
  2911. #define HAVE_aarch64_usra_nv16qi (TARGET_SIMD)
  2912. #define HAVE_aarch64_srsra_nv16qi (TARGET_SIMD)
  2913. #define HAVE_aarch64_ursra_nv16qi (TARGET_SIMD)
  2914. #define HAVE_aarch64_ssra_nv4hi (TARGET_SIMD)
  2915. #define HAVE_aarch64_usra_nv4hi (TARGET_SIMD)
  2916. #define HAVE_aarch64_srsra_nv4hi (TARGET_SIMD)
  2917. #define HAVE_aarch64_ursra_nv4hi (TARGET_SIMD)
  2918. #define HAVE_aarch64_ssra_nv8hi (TARGET_SIMD)
  2919. #define HAVE_aarch64_usra_nv8hi (TARGET_SIMD)
  2920. #define HAVE_aarch64_srsra_nv8hi (TARGET_SIMD)
  2921. #define HAVE_aarch64_ursra_nv8hi (TARGET_SIMD)
  2922. #define HAVE_aarch64_ssra_nv2si (TARGET_SIMD)
  2923. #define HAVE_aarch64_usra_nv2si (TARGET_SIMD)
  2924. #define HAVE_aarch64_srsra_nv2si (TARGET_SIMD)
  2925. #define HAVE_aarch64_ursra_nv2si (TARGET_SIMD)
  2926. #define HAVE_aarch64_ssra_nv4si (TARGET_SIMD)
  2927. #define HAVE_aarch64_usra_nv4si (TARGET_SIMD)
  2928. #define HAVE_aarch64_srsra_nv4si (TARGET_SIMD)
  2929. #define HAVE_aarch64_ursra_nv4si (TARGET_SIMD)
  2930. #define HAVE_aarch64_ssra_nv2di (TARGET_SIMD)
  2931. #define HAVE_aarch64_usra_nv2di (TARGET_SIMD)
  2932. #define HAVE_aarch64_srsra_nv2di (TARGET_SIMD)
  2933. #define HAVE_aarch64_ursra_nv2di (TARGET_SIMD)
  2934. #define HAVE_aarch64_ssra_ndi (TARGET_SIMD)
  2935. #define HAVE_aarch64_usra_ndi (TARGET_SIMD)
  2936. #define HAVE_aarch64_srsra_ndi (TARGET_SIMD)
  2937. #define HAVE_aarch64_ursra_ndi (TARGET_SIMD)
  2938. #define HAVE_aarch64_ssli_nv8qi (TARGET_SIMD)
  2939. #define HAVE_aarch64_usli_nv8qi (TARGET_SIMD)
  2940. #define HAVE_aarch64_ssri_nv8qi (TARGET_SIMD)
  2941. #define HAVE_aarch64_usri_nv8qi (TARGET_SIMD)
  2942. #define HAVE_aarch64_ssli_nv16qi (TARGET_SIMD)
  2943. #define HAVE_aarch64_usli_nv16qi (TARGET_SIMD)
  2944. #define HAVE_aarch64_ssri_nv16qi (TARGET_SIMD)
  2945. #define HAVE_aarch64_usri_nv16qi (TARGET_SIMD)
  2946. #define HAVE_aarch64_ssli_nv4hi (TARGET_SIMD)
  2947. #define HAVE_aarch64_usli_nv4hi (TARGET_SIMD)
  2948. #define HAVE_aarch64_ssri_nv4hi (TARGET_SIMD)
  2949. #define HAVE_aarch64_usri_nv4hi (TARGET_SIMD)
  2950. #define HAVE_aarch64_ssli_nv8hi (TARGET_SIMD)
  2951. #define HAVE_aarch64_usli_nv8hi (TARGET_SIMD)
  2952. #define HAVE_aarch64_ssri_nv8hi (TARGET_SIMD)
  2953. #define HAVE_aarch64_usri_nv8hi (TARGET_SIMD)
  2954. #define HAVE_aarch64_ssli_nv2si (TARGET_SIMD)
  2955. #define HAVE_aarch64_usli_nv2si (TARGET_SIMD)
  2956. #define HAVE_aarch64_ssri_nv2si (TARGET_SIMD)
  2957. #define HAVE_aarch64_usri_nv2si (TARGET_SIMD)
  2958. #define HAVE_aarch64_ssli_nv4si (TARGET_SIMD)
  2959. #define HAVE_aarch64_usli_nv4si (TARGET_SIMD)
  2960. #define HAVE_aarch64_ssri_nv4si (TARGET_SIMD)
  2961. #define HAVE_aarch64_usri_nv4si (TARGET_SIMD)
  2962. #define HAVE_aarch64_ssli_nv2di (TARGET_SIMD)
  2963. #define HAVE_aarch64_usli_nv2di (TARGET_SIMD)
  2964. #define HAVE_aarch64_ssri_nv2di (TARGET_SIMD)
  2965. #define HAVE_aarch64_usri_nv2di (TARGET_SIMD)
  2966. #define HAVE_aarch64_ssli_ndi (TARGET_SIMD)
  2967. #define HAVE_aarch64_usli_ndi (TARGET_SIMD)
  2968. #define HAVE_aarch64_ssri_ndi (TARGET_SIMD)
  2969. #define HAVE_aarch64_usri_ndi (TARGET_SIMD)
  2970. #define HAVE_aarch64_sqshlu_nv8qi (TARGET_SIMD)
  2971. #define HAVE_aarch64_sqshl_nv8qi (TARGET_SIMD)
  2972. #define HAVE_aarch64_uqshl_nv8qi (TARGET_SIMD)
  2973. #define HAVE_aarch64_sqshlu_nv16qi (TARGET_SIMD)
  2974. #define HAVE_aarch64_sqshl_nv16qi (TARGET_SIMD)
  2975. #define HAVE_aarch64_uqshl_nv16qi (TARGET_SIMD)
  2976. #define HAVE_aarch64_sqshlu_nv4hi (TARGET_SIMD)
  2977. #define HAVE_aarch64_sqshl_nv4hi (TARGET_SIMD)
  2978. #define HAVE_aarch64_uqshl_nv4hi (TARGET_SIMD)
  2979. #define HAVE_aarch64_sqshlu_nv8hi (TARGET_SIMD)
  2980. #define HAVE_aarch64_sqshl_nv8hi (TARGET_SIMD)
  2981. #define HAVE_aarch64_uqshl_nv8hi (TARGET_SIMD)
  2982. #define HAVE_aarch64_sqshlu_nv2si (TARGET_SIMD)
  2983. #define HAVE_aarch64_sqshl_nv2si (TARGET_SIMD)
  2984. #define HAVE_aarch64_uqshl_nv2si (TARGET_SIMD)
  2985. #define HAVE_aarch64_sqshlu_nv4si (TARGET_SIMD)
  2986. #define HAVE_aarch64_sqshl_nv4si (TARGET_SIMD)
  2987. #define HAVE_aarch64_uqshl_nv4si (TARGET_SIMD)
  2988. #define HAVE_aarch64_sqshlu_nv2di (TARGET_SIMD)
  2989. #define HAVE_aarch64_sqshl_nv2di (TARGET_SIMD)
  2990. #define HAVE_aarch64_uqshl_nv2di (TARGET_SIMD)
  2991. #define HAVE_aarch64_sqshlu_nqi (TARGET_SIMD)
  2992. #define HAVE_aarch64_sqshl_nqi (TARGET_SIMD)
  2993. #define HAVE_aarch64_uqshl_nqi (TARGET_SIMD)
  2994. #define HAVE_aarch64_sqshlu_nhi (TARGET_SIMD)
  2995. #define HAVE_aarch64_sqshl_nhi (TARGET_SIMD)
  2996. #define HAVE_aarch64_uqshl_nhi (TARGET_SIMD)
  2997. #define HAVE_aarch64_sqshlu_nsi (TARGET_SIMD)
  2998. #define HAVE_aarch64_sqshl_nsi (TARGET_SIMD)
  2999. #define HAVE_aarch64_uqshl_nsi (TARGET_SIMD)
  3000. #define HAVE_aarch64_sqshlu_ndi (TARGET_SIMD)
  3001. #define HAVE_aarch64_sqshl_ndi (TARGET_SIMD)
  3002. #define HAVE_aarch64_uqshl_ndi (TARGET_SIMD)
  3003. #define HAVE_aarch64_sqshrun_nv8hi (TARGET_SIMD)
  3004. #define HAVE_aarch64_sqrshrun_nv8hi (TARGET_SIMD)
  3005. #define HAVE_aarch64_sqshrn_nv8hi (TARGET_SIMD)
  3006. #define HAVE_aarch64_uqshrn_nv8hi (TARGET_SIMD)
  3007. #define HAVE_aarch64_sqrshrn_nv8hi (TARGET_SIMD)
  3008. #define HAVE_aarch64_uqrshrn_nv8hi (TARGET_SIMD)
  3009. #define HAVE_aarch64_sqshrun_nv4si (TARGET_SIMD)
  3010. #define HAVE_aarch64_sqrshrun_nv4si (TARGET_SIMD)
  3011. #define HAVE_aarch64_sqshrn_nv4si (TARGET_SIMD)
  3012. #define HAVE_aarch64_uqshrn_nv4si (TARGET_SIMD)
  3013. #define HAVE_aarch64_sqrshrn_nv4si (TARGET_SIMD)
  3014. #define HAVE_aarch64_uqrshrn_nv4si (TARGET_SIMD)
  3015. #define HAVE_aarch64_sqshrun_nv2di (TARGET_SIMD)
  3016. #define HAVE_aarch64_sqrshrun_nv2di (TARGET_SIMD)
  3017. #define HAVE_aarch64_sqshrn_nv2di (TARGET_SIMD)
  3018. #define HAVE_aarch64_uqshrn_nv2di (TARGET_SIMD)
  3019. #define HAVE_aarch64_sqrshrn_nv2di (TARGET_SIMD)
  3020. #define HAVE_aarch64_uqrshrn_nv2di (TARGET_SIMD)
  3021. #define HAVE_aarch64_sqshrun_nhi (TARGET_SIMD)
  3022. #define HAVE_aarch64_sqrshrun_nhi (TARGET_SIMD)
  3023. #define HAVE_aarch64_sqshrn_nhi (TARGET_SIMD)
  3024. #define HAVE_aarch64_uqshrn_nhi (TARGET_SIMD)
  3025. #define HAVE_aarch64_sqrshrn_nhi (TARGET_SIMD)
  3026. #define HAVE_aarch64_uqrshrn_nhi (TARGET_SIMD)
  3027. #define HAVE_aarch64_sqshrun_nsi (TARGET_SIMD)
  3028. #define HAVE_aarch64_sqrshrun_nsi (TARGET_SIMD)
  3029. #define HAVE_aarch64_sqshrn_nsi (TARGET_SIMD)
  3030. #define HAVE_aarch64_uqshrn_nsi (TARGET_SIMD)
  3031. #define HAVE_aarch64_sqrshrn_nsi (TARGET_SIMD)
  3032. #define HAVE_aarch64_uqrshrn_nsi (TARGET_SIMD)
  3033. #define HAVE_aarch64_sqshrun_ndi (TARGET_SIMD)
  3034. #define HAVE_aarch64_sqrshrun_ndi (TARGET_SIMD)
  3035. #define HAVE_aarch64_sqshrn_ndi (TARGET_SIMD)
  3036. #define HAVE_aarch64_uqshrn_ndi (TARGET_SIMD)
  3037. #define HAVE_aarch64_sqrshrn_ndi (TARGET_SIMD)
  3038. #define HAVE_aarch64_uqrshrn_ndi (TARGET_SIMD)
  3039. #define HAVE_aarch64_cmltv8qi (TARGET_SIMD)
  3040. #define HAVE_aarch64_cmlev8qi (TARGET_SIMD)
  3041. #define HAVE_aarch64_cmeqv8qi (TARGET_SIMD)
  3042. #define HAVE_aarch64_cmgev8qi (TARGET_SIMD)
  3043. #define HAVE_aarch64_cmgtv8qi (TARGET_SIMD)
  3044. #define HAVE_aarch64_cmltv16qi (TARGET_SIMD)
  3045. #define HAVE_aarch64_cmlev16qi (TARGET_SIMD)
  3046. #define HAVE_aarch64_cmeqv16qi (TARGET_SIMD)
  3047. #define HAVE_aarch64_cmgev16qi (TARGET_SIMD)
  3048. #define HAVE_aarch64_cmgtv16qi (TARGET_SIMD)
  3049. #define HAVE_aarch64_cmltv4hi (TARGET_SIMD)
  3050. #define HAVE_aarch64_cmlev4hi (TARGET_SIMD)
  3051. #define HAVE_aarch64_cmeqv4hi (TARGET_SIMD)
  3052. #define HAVE_aarch64_cmgev4hi (TARGET_SIMD)
  3053. #define HAVE_aarch64_cmgtv4hi (TARGET_SIMD)
  3054. #define HAVE_aarch64_cmltv8hi (TARGET_SIMD)
  3055. #define HAVE_aarch64_cmlev8hi (TARGET_SIMD)
  3056. #define HAVE_aarch64_cmeqv8hi (TARGET_SIMD)
  3057. #define HAVE_aarch64_cmgev8hi (TARGET_SIMD)
  3058. #define HAVE_aarch64_cmgtv8hi (TARGET_SIMD)
  3059. #define HAVE_aarch64_cmltv2si (TARGET_SIMD)
  3060. #define HAVE_aarch64_cmlev2si (TARGET_SIMD)
  3061. #define HAVE_aarch64_cmeqv2si (TARGET_SIMD)
  3062. #define HAVE_aarch64_cmgev2si (TARGET_SIMD)
  3063. #define HAVE_aarch64_cmgtv2si (TARGET_SIMD)
  3064. #define HAVE_aarch64_cmltv4si (TARGET_SIMD)
  3065. #define HAVE_aarch64_cmlev4si (TARGET_SIMD)
  3066. #define HAVE_aarch64_cmeqv4si (TARGET_SIMD)
  3067. #define HAVE_aarch64_cmgev4si (TARGET_SIMD)
  3068. #define HAVE_aarch64_cmgtv4si (TARGET_SIMD)
  3069. #define HAVE_aarch64_cmltv2di (TARGET_SIMD)
  3070. #define HAVE_aarch64_cmlev2di (TARGET_SIMD)
  3071. #define HAVE_aarch64_cmeqv2di (TARGET_SIMD)
  3072. #define HAVE_aarch64_cmgev2di (TARGET_SIMD)
  3073. #define HAVE_aarch64_cmgtv2di (TARGET_SIMD)
  3074. #define HAVE_aarch64_cmltdi (TARGET_SIMD)
  3075. #define HAVE_aarch64_cmledi (TARGET_SIMD)
  3076. #define HAVE_aarch64_cmeqdi (TARGET_SIMD)
  3077. #define HAVE_aarch64_cmgedi (TARGET_SIMD)
  3078. #define HAVE_aarch64_cmgtdi (TARGET_SIMD)
  3079. #define HAVE_aarch64_cmltuv8qi (TARGET_SIMD)
  3080. #define HAVE_aarch64_cmleuv8qi (TARGET_SIMD)
  3081. #define HAVE_aarch64_cmgeuv8qi (TARGET_SIMD)
  3082. #define HAVE_aarch64_cmgtuv8qi (TARGET_SIMD)
  3083. #define HAVE_aarch64_cmltuv16qi (TARGET_SIMD)
  3084. #define HAVE_aarch64_cmleuv16qi (TARGET_SIMD)
  3085. #define HAVE_aarch64_cmgeuv16qi (TARGET_SIMD)
  3086. #define HAVE_aarch64_cmgtuv16qi (TARGET_SIMD)
  3087. #define HAVE_aarch64_cmltuv4hi (TARGET_SIMD)
  3088. #define HAVE_aarch64_cmleuv4hi (TARGET_SIMD)
  3089. #define HAVE_aarch64_cmgeuv4hi (TARGET_SIMD)
  3090. #define HAVE_aarch64_cmgtuv4hi (TARGET_SIMD)
  3091. #define HAVE_aarch64_cmltuv8hi (TARGET_SIMD)
  3092. #define HAVE_aarch64_cmleuv8hi (TARGET_SIMD)
  3093. #define HAVE_aarch64_cmgeuv8hi (TARGET_SIMD)
  3094. #define HAVE_aarch64_cmgtuv8hi (TARGET_SIMD)
  3095. #define HAVE_aarch64_cmltuv2si (TARGET_SIMD)
  3096. #define HAVE_aarch64_cmleuv2si (TARGET_SIMD)
  3097. #define HAVE_aarch64_cmgeuv2si (TARGET_SIMD)
  3098. #define HAVE_aarch64_cmgtuv2si (TARGET_SIMD)
  3099. #define HAVE_aarch64_cmltuv4si (TARGET_SIMD)
  3100. #define HAVE_aarch64_cmleuv4si (TARGET_SIMD)
  3101. #define HAVE_aarch64_cmgeuv4si (TARGET_SIMD)
  3102. #define HAVE_aarch64_cmgtuv4si (TARGET_SIMD)
  3103. #define HAVE_aarch64_cmltuv2di (TARGET_SIMD)
  3104. #define HAVE_aarch64_cmleuv2di (TARGET_SIMD)
  3105. #define HAVE_aarch64_cmgeuv2di (TARGET_SIMD)
  3106. #define HAVE_aarch64_cmgtuv2di (TARGET_SIMD)
  3107. #define HAVE_aarch64_cmltudi (TARGET_SIMD)
  3108. #define HAVE_aarch64_cmleudi (TARGET_SIMD)
  3109. #define HAVE_aarch64_cmgeudi (TARGET_SIMD)
  3110. #define HAVE_aarch64_cmgtudi (TARGET_SIMD)
  3111. #define HAVE_aarch64_cmtstv8qi (TARGET_SIMD)
  3112. #define HAVE_aarch64_cmtstv16qi (TARGET_SIMD)
  3113. #define HAVE_aarch64_cmtstv4hi (TARGET_SIMD)
  3114. #define HAVE_aarch64_cmtstv8hi (TARGET_SIMD)
  3115. #define HAVE_aarch64_cmtstv2si (TARGET_SIMD)
  3116. #define HAVE_aarch64_cmtstv4si (TARGET_SIMD)
  3117. #define HAVE_aarch64_cmtstv2di (TARGET_SIMD)
  3118. #define HAVE_aarch64_cmtstdi (TARGET_SIMD)
  3119. #define HAVE_aarch64_cmltv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3120. #define HAVE_aarch64_cmlev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3121. #define HAVE_aarch64_cmeqv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3122. #define HAVE_aarch64_cmgev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3123. #define HAVE_aarch64_cmgtv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3124. #define HAVE_aarch64_cmltv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3125. #define HAVE_aarch64_cmlev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3126. #define HAVE_aarch64_cmeqv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3127. #define HAVE_aarch64_cmgev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3128. #define HAVE_aarch64_cmgtv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3129. #define HAVE_aarch64_cmltv2sf (TARGET_SIMD)
  3130. #define HAVE_aarch64_cmlev2sf (TARGET_SIMD)
  3131. #define HAVE_aarch64_cmeqv2sf (TARGET_SIMD)
  3132. #define HAVE_aarch64_cmgev2sf (TARGET_SIMD)
  3133. #define HAVE_aarch64_cmgtv2sf (TARGET_SIMD)
  3134. #define HAVE_aarch64_cmltv4sf (TARGET_SIMD)
  3135. #define HAVE_aarch64_cmlev4sf (TARGET_SIMD)
  3136. #define HAVE_aarch64_cmeqv4sf (TARGET_SIMD)
  3137. #define HAVE_aarch64_cmgev4sf (TARGET_SIMD)
  3138. #define HAVE_aarch64_cmgtv4sf (TARGET_SIMD)
  3139. #define HAVE_aarch64_cmltv2df (TARGET_SIMD)
  3140. #define HAVE_aarch64_cmlev2df (TARGET_SIMD)
  3141. #define HAVE_aarch64_cmeqv2df (TARGET_SIMD)
  3142. #define HAVE_aarch64_cmgev2df (TARGET_SIMD)
  3143. #define HAVE_aarch64_cmgtv2df (TARGET_SIMD)
  3144. #define HAVE_aarch64_cmlthf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3145. #define HAVE_aarch64_cmlehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3146. #define HAVE_aarch64_cmeqhf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3147. #define HAVE_aarch64_cmgehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3148. #define HAVE_aarch64_cmgthf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3149. #define HAVE_aarch64_cmltsf (TARGET_SIMD)
  3150. #define HAVE_aarch64_cmlesf (TARGET_SIMD)
  3151. #define HAVE_aarch64_cmeqsf (TARGET_SIMD)
  3152. #define HAVE_aarch64_cmgesf (TARGET_SIMD)
  3153. #define HAVE_aarch64_cmgtsf (TARGET_SIMD)
  3154. #define HAVE_aarch64_cmltdf (TARGET_SIMD)
  3155. #define HAVE_aarch64_cmledf (TARGET_SIMD)
  3156. #define HAVE_aarch64_cmeqdf (TARGET_SIMD)
  3157. #define HAVE_aarch64_cmgedf (TARGET_SIMD)
  3158. #define HAVE_aarch64_cmgtdf (TARGET_SIMD)
  3159. #define HAVE_aarch64_facltv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3160. #define HAVE_aarch64_faclev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3161. #define HAVE_aarch64_facgev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3162. #define HAVE_aarch64_facgtv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3163. #define HAVE_aarch64_facltv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3164. #define HAVE_aarch64_faclev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3165. #define HAVE_aarch64_facgev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3166. #define HAVE_aarch64_facgtv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3167. #define HAVE_aarch64_facltv2sf (TARGET_SIMD)
  3168. #define HAVE_aarch64_faclev2sf (TARGET_SIMD)
  3169. #define HAVE_aarch64_facgev2sf (TARGET_SIMD)
  3170. #define HAVE_aarch64_facgtv2sf (TARGET_SIMD)
  3171. #define HAVE_aarch64_facltv4sf (TARGET_SIMD)
  3172. #define HAVE_aarch64_faclev4sf (TARGET_SIMD)
  3173. #define HAVE_aarch64_facgev4sf (TARGET_SIMD)
  3174. #define HAVE_aarch64_facgtv4sf (TARGET_SIMD)
  3175. #define HAVE_aarch64_facltv2df (TARGET_SIMD)
  3176. #define HAVE_aarch64_faclev2df (TARGET_SIMD)
  3177. #define HAVE_aarch64_facgev2df (TARGET_SIMD)
  3178. #define HAVE_aarch64_facgtv2df (TARGET_SIMD)
  3179. #define HAVE_aarch64_faclthf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3180. #define HAVE_aarch64_faclehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3181. #define HAVE_aarch64_facgehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3182. #define HAVE_aarch64_facgthf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3183. #define HAVE_aarch64_facltsf (TARGET_SIMD)
  3184. #define HAVE_aarch64_faclesf (TARGET_SIMD)
  3185. #define HAVE_aarch64_facgesf (TARGET_SIMD)
  3186. #define HAVE_aarch64_facgtsf (TARGET_SIMD)
  3187. #define HAVE_aarch64_facltdf (TARGET_SIMD)
  3188. #define HAVE_aarch64_facledf (TARGET_SIMD)
  3189. #define HAVE_aarch64_facgedf (TARGET_SIMD)
  3190. #define HAVE_aarch64_facgtdf (TARGET_SIMD)
  3191. #define HAVE_aarch64_addpv8qi (TARGET_SIMD)
  3192. #define HAVE_aarch64_addpv4hi (TARGET_SIMD)
  3193. #define HAVE_aarch64_addpv2si (TARGET_SIMD)
  3194. #define HAVE_aarch64_addpdi (TARGET_SIMD)
  3195. #define HAVE_aarch64_simd_ld2v16qi (TARGET_SIMD)
  3196. #define HAVE_aarch64_simd_ld2v8hi (TARGET_SIMD)
  3197. #define HAVE_aarch64_simd_ld2v4si (TARGET_SIMD)
  3198. #define HAVE_aarch64_simd_ld2v2di (TARGET_SIMD)
  3199. #define HAVE_aarch64_simd_ld2v8hf (TARGET_SIMD)
  3200. #define HAVE_aarch64_simd_ld2v4sf (TARGET_SIMD)
  3201. #define HAVE_aarch64_simd_ld2v2df (TARGET_SIMD)
  3202. #define HAVE_aarch64_simd_ld2v8bf (TARGET_SIMD)
  3203. #define HAVE_aarch64_simd_ld2rv8qi (TARGET_SIMD)
  3204. #define HAVE_aarch64_simd_ld2rv16qi (TARGET_SIMD)
  3205. #define HAVE_aarch64_simd_ld2rv4hi (TARGET_SIMD)
  3206. #define HAVE_aarch64_simd_ld2rv8hi (TARGET_SIMD)
  3207. #define HAVE_aarch64_simd_ld2rv2si (TARGET_SIMD)
  3208. #define HAVE_aarch64_simd_ld2rv4si (TARGET_SIMD)
  3209. #define HAVE_aarch64_simd_ld2rv4bf (TARGET_SIMD)
  3210. #define HAVE_aarch64_simd_ld2rv8bf (TARGET_SIMD)
  3211. #define HAVE_aarch64_simd_ld2rv2di (TARGET_SIMD)
  3212. #define HAVE_aarch64_simd_ld2rv4hf (TARGET_SIMD)
  3213. #define HAVE_aarch64_simd_ld2rv8hf (TARGET_SIMD)
  3214. #define HAVE_aarch64_simd_ld2rv2sf (TARGET_SIMD)
  3215. #define HAVE_aarch64_simd_ld2rv4sf (TARGET_SIMD)
  3216. #define HAVE_aarch64_simd_ld2rv2df (TARGET_SIMD)
  3217. #define HAVE_aarch64_simd_ld2rdi (TARGET_SIMD)
  3218. #define HAVE_aarch64_simd_ld2rdf (TARGET_SIMD)
  3219. #define HAVE_aarch64_vec_load_lanesoi_lanev8qi (TARGET_SIMD)
  3220. #define HAVE_aarch64_vec_load_lanesoi_lanev16qi (TARGET_SIMD)
  3221. #define HAVE_aarch64_vec_load_lanesoi_lanev4hi (TARGET_SIMD)
  3222. #define HAVE_aarch64_vec_load_lanesoi_lanev8hi (TARGET_SIMD)
  3223. #define HAVE_aarch64_vec_load_lanesoi_lanev2si (TARGET_SIMD)
  3224. #define HAVE_aarch64_vec_load_lanesoi_lanev4si (TARGET_SIMD)
  3225. #define HAVE_aarch64_vec_load_lanesoi_lanev4bf (TARGET_SIMD)
  3226. #define HAVE_aarch64_vec_load_lanesoi_lanev8bf (TARGET_SIMD)
  3227. #define HAVE_aarch64_vec_load_lanesoi_lanev2di (TARGET_SIMD)
  3228. #define HAVE_aarch64_vec_load_lanesoi_lanev4hf (TARGET_SIMD)
  3229. #define HAVE_aarch64_vec_load_lanesoi_lanev8hf (TARGET_SIMD)
  3230. #define HAVE_aarch64_vec_load_lanesoi_lanev2sf (TARGET_SIMD)
  3231. #define HAVE_aarch64_vec_load_lanesoi_lanev4sf (TARGET_SIMD)
  3232. #define HAVE_aarch64_vec_load_lanesoi_lanev2df (TARGET_SIMD)
  3233. #define HAVE_aarch64_vec_load_lanesoi_lanedi (TARGET_SIMD)
  3234. #define HAVE_aarch64_vec_load_lanesoi_lanedf (TARGET_SIMD)
  3235. #define HAVE_aarch64_simd_st2v16qi (TARGET_SIMD)
  3236. #define HAVE_aarch64_simd_st2v8hi (TARGET_SIMD)
  3237. #define HAVE_aarch64_simd_st2v4si (TARGET_SIMD)
  3238. #define HAVE_aarch64_simd_st2v2di (TARGET_SIMD)
  3239. #define HAVE_aarch64_simd_st2v8hf (TARGET_SIMD)
  3240. #define HAVE_aarch64_simd_st2v4sf (TARGET_SIMD)
  3241. #define HAVE_aarch64_simd_st2v2df (TARGET_SIMD)
  3242. #define HAVE_aarch64_simd_st2v8bf (TARGET_SIMD)
  3243. #define HAVE_aarch64_vec_store_lanesoi_lanev8qi (TARGET_SIMD)
  3244. #define HAVE_aarch64_vec_store_lanesoi_lanev16qi (TARGET_SIMD)
  3245. #define HAVE_aarch64_vec_store_lanesoi_lanev4hi (TARGET_SIMD)
  3246. #define HAVE_aarch64_vec_store_lanesoi_lanev8hi (TARGET_SIMD)
  3247. #define HAVE_aarch64_vec_store_lanesoi_lanev2si (TARGET_SIMD)
  3248. #define HAVE_aarch64_vec_store_lanesoi_lanev4si (TARGET_SIMD)
  3249. #define HAVE_aarch64_vec_store_lanesoi_lanev4bf (TARGET_SIMD)
  3250. #define HAVE_aarch64_vec_store_lanesoi_lanev8bf (TARGET_SIMD)
  3251. #define HAVE_aarch64_vec_store_lanesoi_lanev2di (TARGET_SIMD)
  3252. #define HAVE_aarch64_vec_store_lanesoi_lanev4hf (TARGET_SIMD)
  3253. #define HAVE_aarch64_vec_store_lanesoi_lanev8hf (TARGET_SIMD)
  3254. #define HAVE_aarch64_vec_store_lanesoi_lanev2sf (TARGET_SIMD)
  3255. #define HAVE_aarch64_vec_store_lanesoi_lanev4sf (TARGET_SIMD)
  3256. #define HAVE_aarch64_vec_store_lanesoi_lanev2df (TARGET_SIMD)
  3257. #define HAVE_aarch64_vec_store_lanesoi_lanedi (TARGET_SIMD)
  3258. #define HAVE_aarch64_vec_store_lanesoi_lanedf (TARGET_SIMD)
  3259. #define HAVE_aarch64_simd_ld3v16qi (TARGET_SIMD)
  3260. #define HAVE_aarch64_simd_ld3v8hi (TARGET_SIMD)
  3261. #define HAVE_aarch64_simd_ld3v4si (TARGET_SIMD)
  3262. #define HAVE_aarch64_simd_ld3v2di (TARGET_SIMD)
  3263. #define HAVE_aarch64_simd_ld3v8hf (TARGET_SIMD)
  3264. #define HAVE_aarch64_simd_ld3v4sf (TARGET_SIMD)
  3265. #define HAVE_aarch64_simd_ld3v2df (TARGET_SIMD)
  3266. #define HAVE_aarch64_simd_ld3v8bf (TARGET_SIMD)
  3267. #define HAVE_aarch64_simd_ld3rv8qi (TARGET_SIMD)
  3268. #define HAVE_aarch64_simd_ld3rv16qi (TARGET_SIMD)
  3269. #define HAVE_aarch64_simd_ld3rv4hi (TARGET_SIMD)
  3270. #define HAVE_aarch64_simd_ld3rv8hi (TARGET_SIMD)
  3271. #define HAVE_aarch64_simd_ld3rv2si (TARGET_SIMD)
  3272. #define HAVE_aarch64_simd_ld3rv4si (TARGET_SIMD)
  3273. #define HAVE_aarch64_simd_ld3rv4bf (TARGET_SIMD)
  3274. #define HAVE_aarch64_simd_ld3rv8bf (TARGET_SIMD)
  3275. #define HAVE_aarch64_simd_ld3rv2di (TARGET_SIMD)
  3276. #define HAVE_aarch64_simd_ld3rv4hf (TARGET_SIMD)
  3277. #define HAVE_aarch64_simd_ld3rv8hf (TARGET_SIMD)
  3278. #define HAVE_aarch64_simd_ld3rv2sf (TARGET_SIMD)
  3279. #define HAVE_aarch64_simd_ld3rv4sf (TARGET_SIMD)
  3280. #define HAVE_aarch64_simd_ld3rv2df (TARGET_SIMD)
  3281. #define HAVE_aarch64_simd_ld3rdi (TARGET_SIMD)
  3282. #define HAVE_aarch64_simd_ld3rdf (TARGET_SIMD)
  3283. #define HAVE_aarch64_vec_load_lanesci_lanev8qi (TARGET_SIMD)
  3284. #define HAVE_aarch64_vec_load_lanesci_lanev16qi (TARGET_SIMD)
  3285. #define HAVE_aarch64_vec_load_lanesci_lanev4hi (TARGET_SIMD)
  3286. #define HAVE_aarch64_vec_load_lanesci_lanev8hi (TARGET_SIMD)
  3287. #define HAVE_aarch64_vec_load_lanesci_lanev2si (TARGET_SIMD)
  3288. #define HAVE_aarch64_vec_load_lanesci_lanev4si (TARGET_SIMD)
  3289. #define HAVE_aarch64_vec_load_lanesci_lanev4bf (TARGET_SIMD)
  3290. #define HAVE_aarch64_vec_load_lanesci_lanev8bf (TARGET_SIMD)
  3291. #define HAVE_aarch64_vec_load_lanesci_lanev2di (TARGET_SIMD)
  3292. #define HAVE_aarch64_vec_load_lanesci_lanev4hf (TARGET_SIMD)
  3293. #define HAVE_aarch64_vec_load_lanesci_lanev8hf (TARGET_SIMD)
  3294. #define HAVE_aarch64_vec_load_lanesci_lanev2sf (TARGET_SIMD)
  3295. #define HAVE_aarch64_vec_load_lanesci_lanev4sf (TARGET_SIMD)
  3296. #define HAVE_aarch64_vec_load_lanesci_lanev2df (TARGET_SIMD)
  3297. #define HAVE_aarch64_vec_load_lanesci_lanedi (TARGET_SIMD)
  3298. #define HAVE_aarch64_vec_load_lanesci_lanedf (TARGET_SIMD)
  3299. #define HAVE_aarch64_simd_st3v16qi (TARGET_SIMD)
  3300. #define HAVE_aarch64_simd_st3v8hi (TARGET_SIMD)
  3301. #define HAVE_aarch64_simd_st3v4si (TARGET_SIMD)
  3302. #define HAVE_aarch64_simd_st3v2di (TARGET_SIMD)
  3303. #define HAVE_aarch64_simd_st3v8hf (TARGET_SIMD)
  3304. #define HAVE_aarch64_simd_st3v4sf (TARGET_SIMD)
  3305. #define HAVE_aarch64_simd_st3v2df (TARGET_SIMD)
  3306. #define HAVE_aarch64_simd_st3v8bf (TARGET_SIMD)
  3307. #define HAVE_aarch64_vec_store_lanesci_lanev8qi (TARGET_SIMD)
  3308. #define HAVE_aarch64_vec_store_lanesci_lanev16qi (TARGET_SIMD)
  3309. #define HAVE_aarch64_vec_store_lanesci_lanev4hi (TARGET_SIMD)
  3310. #define HAVE_aarch64_vec_store_lanesci_lanev8hi (TARGET_SIMD)
  3311. #define HAVE_aarch64_vec_store_lanesci_lanev2si (TARGET_SIMD)
  3312. #define HAVE_aarch64_vec_store_lanesci_lanev4si (TARGET_SIMD)
  3313. #define HAVE_aarch64_vec_store_lanesci_lanev4bf (TARGET_SIMD)
  3314. #define HAVE_aarch64_vec_store_lanesci_lanev8bf (TARGET_SIMD)
  3315. #define HAVE_aarch64_vec_store_lanesci_lanev2di (TARGET_SIMD)
  3316. #define HAVE_aarch64_vec_store_lanesci_lanev4hf (TARGET_SIMD)
  3317. #define HAVE_aarch64_vec_store_lanesci_lanev8hf (TARGET_SIMD)
  3318. #define HAVE_aarch64_vec_store_lanesci_lanev2sf (TARGET_SIMD)
  3319. #define HAVE_aarch64_vec_store_lanesci_lanev4sf (TARGET_SIMD)
  3320. #define HAVE_aarch64_vec_store_lanesci_lanev2df (TARGET_SIMD)
  3321. #define HAVE_aarch64_vec_store_lanesci_lanedi (TARGET_SIMD)
  3322. #define HAVE_aarch64_vec_store_lanesci_lanedf (TARGET_SIMD)
  3323. #define HAVE_aarch64_simd_ld4v16qi (TARGET_SIMD)
  3324. #define HAVE_aarch64_simd_ld4v8hi (TARGET_SIMD)
  3325. #define HAVE_aarch64_simd_ld4v4si (TARGET_SIMD)
  3326. #define HAVE_aarch64_simd_ld4v2di (TARGET_SIMD)
  3327. #define HAVE_aarch64_simd_ld4v8hf (TARGET_SIMD)
  3328. #define HAVE_aarch64_simd_ld4v4sf (TARGET_SIMD)
  3329. #define HAVE_aarch64_simd_ld4v2df (TARGET_SIMD)
  3330. #define HAVE_aarch64_simd_ld4v8bf (TARGET_SIMD)
  3331. #define HAVE_aarch64_simd_ld4rv8qi (TARGET_SIMD)
  3332. #define HAVE_aarch64_simd_ld4rv16qi (TARGET_SIMD)
  3333. #define HAVE_aarch64_simd_ld4rv4hi (TARGET_SIMD)
  3334. #define HAVE_aarch64_simd_ld4rv8hi (TARGET_SIMD)
  3335. #define HAVE_aarch64_simd_ld4rv2si (TARGET_SIMD)
  3336. #define HAVE_aarch64_simd_ld4rv4si (TARGET_SIMD)
  3337. #define HAVE_aarch64_simd_ld4rv4bf (TARGET_SIMD)
  3338. #define HAVE_aarch64_simd_ld4rv8bf (TARGET_SIMD)
  3339. #define HAVE_aarch64_simd_ld4rv2di (TARGET_SIMD)
  3340. #define HAVE_aarch64_simd_ld4rv4hf (TARGET_SIMD)
  3341. #define HAVE_aarch64_simd_ld4rv8hf (TARGET_SIMD)
  3342. #define HAVE_aarch64_simd_ld4rv2sf (TARGET_SIMD)
  3343. #define HAVE_aarch64_simd_ld4rv4sf (TARGET_SIMD)
  3344. #define HAVE_aarch64_simd_ld4rv2df (TARGET_SIMD)
  3345. #define HAVE_aarch64_simd_ld4rdi (TARGET_SIMD)
  3346. #define HAVE_aarch64_simd_ld4rdf (TARGET_SIMD)
  3347. #define HAVE_aarch64_vec_load_lanesxi_lanev8qi (TARGET_SIMD)
  3348. #define HAVE_aarch64_vec_load_lanesxi_lanev16qi (TARGET_SIMD)
  3349. #define HAVE_aarch64_vec_load_lanesxi_lanev4hi (TARGET_SIMD)
  3350. #define HAVE_aarch64_vec_load_lanesxi_lanev8hi (TARGET_SIMD)
  3351. #define HAVE_aarch64_vec_load_lanesxi_lanev2si (TARGET_SIMD)
  3352. #define HAVE_aarch64_vec_load_lanesxi_lanev4si (TARGET_SIMD)
  3353. #define HAVE_aarch64_vec_load_lanesxi_lanev4bf (TARGET_SIMD)
  3354. #define HAVE_aarch64_vec_load_lanesxi_lanev8bf (TARGET_SIMD)
  3355. #define HAVE_aarch64_vec_load_lanesxi_lanev2di (TARGET_SIMD)
  3356. #define HAVE_aarch64_vec_load_lanesxi_lanev4hf (TARGET_SIMD)
  3357. #define HAVE_aarch64_vec_load_lanesxi_lanev8hf (TARGET_SIMD)
  3358. #define HAVE_aarch64_vec_load_lanesxi_lanev2sf (TARGET_SIMD)
  3359. #define HAVE_aarch64_vec_load_lanesxi_lanev4sf (TARGET_SIMD)
  3360. #define HAVE_aarch64_vec_load_lanesxi_lanev2df (TARGET_SIMD)
  3361. #define HAVE_aarch64_vec_load_lanesxi_lanedi (TARGET_SIMD)
  3362. #define HAVE_aarch64_vec_load_lanesxi_lanedf (TARGET_SIMD)
  3363. #define HAVE_aarch64_simd_st4v16qi (TARGET_SIMD)
  3364. #define HAVE_aarch64_simd_st4v8hi (TARGET_SIMD)
  3365. #define HAVE_aarch64_simd_st4v4si (TARGET_SIMD)
  3366. #define HAVE_aarch64_simd_st4v2di (TARGET_SIMD)
  3367. #define HAVE_aarch64_simd_st4v8hf (TARGET_SIMD)
  3368. #define HAVE_aarch64_simd_st4v4sf (TARGET_SIMD)
  3369. #define HAVE_aarch64_simd_st4v2df (TARGET_SIMD)
  3370. #define HAVE_aarch64_simd_st4v8bf (TARGET_SIMD)
  3371. #define HAVE_aarch64_vec_store_lanesxi_lanev8qi (TARGET_SIMD)
  3372. #define HAVE_aarch64_vec_store_lanesxi_lanev16qi (TARGET_SIMD)
  3373. #define HAVE_aarch64_vec_store_lanesxi_lanev4hi (TARGET_SIMD)
  3374. #define HAVE_aarch64_vec_store_lanesxi_lanev8hi (TARGET_SIMD)
  3375. #define HAVE_aarch64_vec_store_lanesxi_lanev2si (TARGET_SIMD)
  3376. #define HAVE_aarch64_vec_store_lanesxi_lanev4si (TARGET_SIMD)
  3377. #define HAVE_aarch64_vec_store_lanesxi_lanev4bf (TARGET_SIMD)
  3378. #define HAVE_aarch64_vec_store_lanesxi_lanev8bf (TARGET_SIMD)
  3379. #define HAVE_aarch64_vec_store_lanesxi_lanev2di (TARGET_SIMD)
  3380. #define HAVE_aarch64_vec_store_lanesxi_lanev4hf (TARGET_SIMD)
  3381. #define HAVE_aarch64_vec_store_lanesxi_lanev8hf (TARGET_SIMD)
  3382. #define HAVE_aarch64_vec_store_lanesxi_lanev2sf (TARGET_SIMD)
  3383. #define HAVE_aarch64_vec_store_lanesxi_lanev4sf (TARGET_SIMD)
  3384. #define HAVE_aarch64_vec_store_lanesxi_lanev2df (TARGET_SIMD)
  3385. #define HAVE_aarch64_vec_store_lanesxi_lanedi (TARGET_SIMD)
  3386. #define HAVE_aarch64_vec_store_lanesxi_lanedf (TARGET_SIMD)
  3387. #define HAVE_aarch64_rev_reglistoi (TARGET_SIMD)
  3388. #define HAVE_aarch64_rev_reglistci (TARGET_SIMD)
  3389. #define HAVE_aarch64_rev_reglistxi (TARGET_SIMD)
  3390. #define HAVE_aarch64_ld1_x3_v8qi (TARGET_SIMD)
  3391. #define HAVE_aarch64_ld1_x3_v16qi (TARGET_SIMD)
  3392. #define HAVE_aarch64_ld1_x3_v4hi (TARGET_SIMD)
  3393. #define HAVE_aarch64_ld1_x3_v8hi (TARGET_SIMD)
  3394. #define HAVE_aarch64_ld1_x3_v2si (TARGET_SIMD)
  3395. #define HAVE_aarch64_ld1_x3_v4si (TARGET_SIMD)
  3396. #define HAVE_aarch64_ld1_x3_v4bf (TARGET_SIMD)
  3397. #define HAVE_aarch64_ld1_x3_v8bf (TARGET_SIMD)
  3398. #define HAVE_aarch64_ld1_x3_v2di (TARGET_SIMD)
  3399. #define HAVE_aarch64_ld1_x3_v4hf (TARGET_SIMD)
  3400. #define HAVE_aarch64_ld1_x3_v8hf (TARGET_SIMD)
  3401. #define HAVE_aarch64_ld1_x3_v2sf (TARGET_SIMD)
  3402. #define HAVE_aarch64_ld1_x3_v4sf (TARGET_SIMD)
  3403. #define HAVE_aarch64_ld1_x3_v2df (TARGET_SIMD)
  3404. #define HAVE_aarch64_ld1_x3_di (TARGET_SIMD)
  3405. #define HAVE_aarch64_ld1_x3_df (TARGET_SIMD)
  3406. #define HAVE_aarch64_ld1_x4_v8qi (TARGET_SIMD)
  3407. #define HAVE_aarch64_ld1_x4_v16qi (TARGET_SIMD)
  3408. #define HAVE_aarch64_ld1_x4_v4hi (TARGET_SIMD)
  3409. #define HAVE_aarch64_ld1_x4_v8hi (TARGET_SIMD)
  3410. #define HAVE_aarch64_ld1_x4_v2si (TARGET_SIMD)
  3411. #define HAVE_aarch64_ld1_x4_v4si (TARGET_SIMD)
  3412. #define HAVE_aarch64_ld1_x4_v4bf (TARGET_SIMD)
  3413. #define HAVE_aarch64_ld1_x4_v8bf (TARGET_SIMD)
  3414. #define HAVE_aarch64_ld1_x4_v2di (TARGET_SIMD)
  3415. #define HAVE_aarch64_ld1_x4_v4hf (TARGET_SIMD)
  3416. #define HAVE_aarch64_ld1_x4_v8hf (TARGET_SIMD)
  3417. #define HAVE_aarch64_ld1_x4_v2sf (TARGET_SIMD)
  3418. #define HAVE_aarch64_ld1_x4_v4sf (TARGET_SIMD)
  3419. #define HAVE_aarch64_ld1_x4_v2df (TARGET_SIMD)
  3420. #define HAVE_aarch64_ld1_x4_di (TARGET_SIMD)
  3421. #define HAVE_aarch64_ld1_x4_df (TARGET_SIMD)
  3422. #define HAVE_aarch64_st1_x2_v8qi (TARGET_SIMD)
  3423. #define HAVE_aarch64_st1_x2_v16qi (TARGET_SIMD)
  3424. #define HAVE_aarch64_st1_x2_v4hi (TARGET_SIMD)
  3425. #define HAVE_aarch64_st1_x2_v8hi (TARGET_SIMD)
  3426. #define HAVE_aarch64_st1_x2_v2si (TARGET_SIMD)
  3427. #define HAVE_aarch64_st1_x2_v4si (TARGET_SIMD)
  3428. #define HAVE_aarch64_st1_x2_v4bf (TARGET_SIMD)
  3429. #define HAVE_aarch64_st1_x2_v8bf (TARGET_SIMD)
  3430. #define HAVE_aarch64_st1_x2_v2di (TARGET_SIMD)
  3431. #define HAVE_aarch64_st1_x2_v4hf (TARGET_SIMD)
  3432. #define HAVE_aarch64_st1_x2_v8hf (TARGET_SIMD)
  3433. #define HAVE_aarch64_st1_x2_v2sf (TARGET_SIMD)
  3434. #define HAVE_aarch64_st1_x2_v4sf (TARGET_SIMD)
  3435. #define HAVE_aarch64_st1_x2_v2df (TARGET_SIMD)
  3436. #define HAVE_aarch64_st1_x2_di (TARGET_SIMD)
  3437. #define HAVE_aarch64_st1_x2_df (TARGET_SIMD)
  3438. #define HAVE_aarch64_st1_x3_v8qi (TARGET_SIMD)
  3439. #define HAVE_aarch64_st1_x3_v16qi (TARGET_SIMD)
  3440. #define HAVE_aarch64_st1_x3_v4hi (TARGET_SIMD)
  3441. #define HAVE_aarch64_st1_x3_v8hi (TARGET_SIMD)
  3442. #define HAVE_aarch64_st1_x3_v2si (TARGET_SIMD)
  3443. #define HAVE_aarch64_st1_x3_v4si (TARGET_SIMD)
  3444. #define HAVE_aarch64_st1_x3_v4bf (TARGET_SIMD)
  3445. #define HAVE_aarch64_st1_x3_v8bf (TARGET_SIMD)
  3446. #define HAVE_aarch64_st1_x3_v2di (TARGET_SIMD)
  3447. #define HAVE_aarch64_st1_x3_v4hf (TARGET_SIMD)
  3448. #define HAVE_aarch64_st1_x3_v8hf (TARGET_SIMD)
  3449. #define HAVE_aarch64_st1_x3_v2sf (TARGET_SIMD)
  3450. #define HAVE_aarch64_st1_x3_v4sf (TARGET_SIMD)
  3451. #define HAVE_aarch64_st1_x3_v2df (TARGET_SIMD)
  3452. #define HAVE_aarch64_st1_x3_di (TARGET_SIMD)
  3453. #define HAVE_aarch64_st1_x3_df (TARGET_SIMD)
  3454. #define HAVE_aarch64_st1_x4_v8qi (TARGET_SIMD)
  3455. #define HAVE_aarch64_st1_x4_v16qi (TARGET_SIMD)
  3456. #define HAVE_aarch64_st1_x4_v4hi (TARGET_SIMD)
  3457. #define HAVE_aarch64_st1_x4_v8hi (TARGET_SIMD)
  3458. #define HAVE_aarch64_st1_x4_v2si (TARGET_SIMD)
  3459. #define HAVE_aarch64_st1_x4_v4si (TARGET_SIMD)
  3460. #define HAVE_aarch64_st1_x4_v4bf (TARGET_SIMD)
  3461. #define HAVE_aarch64_st1_x4_v8bf (TARGET_SIMD)
  3462. #define HAVE_aarch64_st1_x4_v2di (TARGET_SIMD)
  3463. #define HAVE_aarch64_st1_x4_v4hf (TARGET_SIMD)
  3464. #define HAVE_aarch64_st1_x4_v8hf (TARGET_SIMD)
  3465. #define HAVE_aarch64_st1_x4_v2sf (TARGET_SIMD)
  3466. #define HAVE_aarch64_st1_x4_v4sf (TARGET_SIMD)
  3467. #define HAVE_aarch64_st1_x4_v2df (TARGET_SIMD)
  3468. #define HAVE_aarch64_st1_x4_di (TARGET_SIMD)
  3469. #define HAVE_aarch64_st1_x4_df (TARGET_SIMD)
  3470. #define HAVE_aarch64_be_ld1v8qi (TARGET_SIMD)
  3471. #define HAVE_aarch64_be_ld1v16qi (TARGET_SIMD)
  3472. #define HAVE_aarch64_be_ld1v4hi (TARGET_SIMD)
  3473. #define HAVE_aarch64_be_ld1v8hi (TARGET_SIMD)
  3474. #define HAVE_aarch64_be_ld1v2si (TARGET_SIMD)
  3475. #define HAVE_aarch64_be_ld1v4si (TARGET_SIMD)
  3476. #define HAVE_aarch64_be_ld1v2di (TARGET_SIMD)
  3477. #define HAVE_aarch64_be_ld1v4hf (TARGET_SIMD)
  3478. #define HAVE_aarch64_be_ld1v8hf (TARGET_SIMD)
  3479. #define HAVE_aarch64_be_ld1v4bf (TARGET_SIMD)
  3480. #define HAVE_aarch64_be_ld1v8bf (TARGET_SIMD)
  3481. #define HAVE_aarch64_be_ld1v2sf (TARGET_SIMD)
  3482. #define HAVE_aarch64_be_ld1v4sf (TARGET_SIMD)
  3483. #define HAVE_aarch64_be_ld1v2df (TARGET_SIMD)
  3484. #define HAVE_aarch64_be_ld1di (TARGET_SIMD)
  3485. #define HAVE_aarch64_be_st1v8qi (TARGET_SIMD)
  3486. #define HAVE_aarch64_be_st1v16qi (TARGET_SIMD)
  3487. #define HAVE_aarch64_be_st1v4hi (TARGET_SIMD)
  3488. #define HAVE_aarch64_be_st1v8hi (TARGET_SIMD)
  3489. #define HAVE_aarch64_be_st1v2si (TARGET_SIMD)
  3490. #define HAVE_aarch64_be_st1v4si (TARGET_SIMD)
  3491. #define HAVE_aarch64_be_st1v2di (TARGET_SIMD)
  3492. #define HAVE_aarch64_be_st1v4hf (TARGET_SIMD)
  3493. #define HAVE_aarch64_be_st1v8hf (TARGET_SIMD)
  3494. #define HAVE_aarch64_be_st1v4bf (TARGET_SIMD)
  3495. #define HAVE_aarch64_be_st1v8bf (TARGET_SIMD)
  3496. #define HAVE_aarch64_be_st1v2sf (TARGET_SIMD)
  3497. #define HAVE_aarch64_be_st1v4sf (TARGET_SIMD)
  3498. #define HAVE_aarch64_be_st1v2df (TARGET_SIMD)
  3499. #define HAVE_aarch64_be_st1di (TARGET_SIMD)
  3500. #define HAVE_aarch64_ld2v8qi_dreg (TARGET_SIMD)
  3501. #define HAVE_aarch64_ld2v4hi_dreg (TARGET_SIMD)
  3502. #define HAVE_aarch64_ld2v4hf_dreg (TARGET_SIMD)
  3503. #define HAVE_aarch64_ld2v2si_dreg (TARGET_SIMD)
  3504. #define HAVE_aarch64_ld2v2sf_dreg (TARGET_SIMD)
  3505. #define HAVE_aarch64_ld2v4bf_dreg (TARGET_SIMD)
  3506. #define HAVE_aarch64_ld2di_dreg (TARGET_SIMD)
  3507. #define HAVE_aarch64_ld2df_dreg (TARGET_SIMD)
  3508. #define HAVE_aarch64_ld3v8qi_dreg (TARGET_SIMD)
  3509. #define HAVE_aarch64_ld3v4hi_dreg (TARGET_SIMD)
  3510. #define HAVE_aarch64_ld3v4hf_dreg (TARGET_SIMD)
  3511. #define HAVE_aarch64_ld3v2si_dreg (TARGET_SIMD)
  3512. #define HAVE_aarch64_ld3v2sf_dreg (TARGET_SIMD)
  3513. #define HAVE_aarch64_ld3v4bf_dreg (TARGET_SIMD)
  3514. #define HAVE_aarch64_ld3di_dreg (TARGET_SIMD)
  3515. #define HAVE_aarch64_ld3df_dreg (TARGET_SIMD)
  3516. #define HAVE_aarch64_ld4v8qi_dreg (TARGET_SIMD)
  3517. #define HAVE_aarch64_ld4v4hi_dreg (TARGET_SIMD)
  3518. #define HAVE_aarch64_ld4v4hf_dreg (TARGET_SIMD)
  3519. #define HAVE_aarch64_ld4v2si_dreg (TARGET_SIMD)
  3520. #define HAVE_aarch64_ld4v2sf_dreg (TARGET_SIMD)
  3521. #define HAVE_aarch64_ld4v4bf_dreg (TARGET_SIMD)
  3522. #define HAVE_aarch64_ld4di_dreg (TARGET_SIMD)
  3523. #define HAVE_aarch64_ld4df_dreg (TARGET_SIMD)
  3524. #define HAVE_aarch64_tbl1v8qi (TARGET_SIMD)
  3525. #define HAVE_aarch64_tbl1v16qi (TARGET_SIMD)
  3526. #define HAVE_aarch64_tbl2v16qi (TARGET_SIMD)
  3527. #define HAVE_aarch64_tbl3v8qi (TARGET_SIMD)
  3528. #define HAVE_aarch64_tbl3v16qi (TARGET_SIMD)
  3529. #define HAVE_aarch64_tbx4v8qi (TARGET_SIMD)
  3530. #define HAVE_aarch64_tbx4v16qi (TARGET_SIMD)
  3531. #define HAVE_aarch64_qtbl3v8qi (TARGET_SIMD)
  3532. #define HAVE_aarch64_qtbl3v16qi (TARGET_SIMD)
  3533. #define HAVE_aarch64_qtbx3v8qi (TARGET_SIMD)
  3534. #define HAVE_aarch64_qtbx3v16qi (TARGET_SIMD)
  3535. #define HAVE_aarch64_qtbl4v8qi (TARGET_SIMD)
  3536. #define HAVE_aarch64_qtbl4v16qi (TARGET_SIMD)
  3537. #define HAVE_aarch64_qtbx4v8qi (TARGET_SIMD)
  3538. #define HAVE_aarch64_qtbx4v16qi (TARGET_SIMD)
  3539. #define HAVE_aarch64_combinev16qi (TARGET_SIMD)
  3540. #define HAVE_aarch64_zip1v8qi (TARGET_SIMD)
  3541. #define HAVE_aarch64_zip2v8qi (TARGET_SIMD)
  3542. #define HAVE_aarch64_trn1v8qi (TARGET_SIMD)
  3543. #define HAVE_aarch64_trn2v8qi (TARGET_SIMD)
  3544. #define HAVE_aarch64_uzp1v8qi (TARGET_SIMD)
  3545. #define HAVE_aarch64_uzp2v8qi (TARGET_SIMD)
  3546. #define HAVE_aarch64_zip1v16qi (TARGET_SIMD)
  3547. #define HAVE_aarch64_zip2v16qi (TARGET_SIMD)
  3548. #define HAVE_aarch64_trn1v16qi (TARGET_SIMD)
  3549. #define HAVE_aarch64_trn2v16qi (TARGET_SIMD)
  3550. #define HAVE_aarch64_uzp1v16qi (TARGET_SIMD)
  3551. #define HAVE_aarch64_uzp2v16qi (TARGET_SIMD)
  3552. #define HAVE_aarch64_zip1v4hi (TARGET_SIMD)
  3553. #define HAVE_aarch64_zip2v4hi (TARGET_SIMD)
  3554. #define HAVE_aarch64_trn1v4hi (TARGET_SIMD)
  3555. #define HAVE_aarch64_trn2v4hi (TARGET_SIMD)
  3556. #define HAVE_aarch64_uzp1v4hi (TARGET_SIMD)
  3557. #define HAVE_aarch64_uzp2v4hi (TARGET_SIMD)
  3558. #define HAVE_aarch64_zip1v8hi (TARGET_SIMD)
  3559. #define HAVE_aarch64_zip2v8hi (TARGET_SIMD)
  3560. #define HAVE_aarch64_trn1v8hi (TARGET_SIMD)
  3561. #define HAVE_aarch64_trn2v8hi (TARGET_SIMD)
  3562. #define HAVE_aarch64_uzp1v8hi (TARGET_SIMD)
  3563. #define HAVE_aarch64_uzp2v8hi (TARGET_SIMD)
  3564. #define HAVE_aarch64_zip1v2si (TARGET_SIMD)
  3565. #define HAVE_aarch64_zip2v2si (TARGET_SIMD)
  3566. #define HAVE_aarch64_trn1v2si (TARGET_SIMD)
  3567. #define HAVE_aarch64_trn2v2si (TARGET_SIMD)
  3568. #define HAVE_aarch64_uzp1v2si (TARGET_SIMD)
  3569. #define HAVE_aarch64_uzp2v2si (TARGET_SIMD)
  3570. #define HAVE_aarch64_zip1v4si (TARGET_SIMD)
  3571. #define HAVE_aarch64_zip2v4si (TARGET_SIMD)
  3572. #define HAVE_aarch64_trn1v4si (TARGET_SIMD)
  3573. #define HAVE_aarch64_trn2v4si (TARGET_SIMD)
  3574. #define HAVE_aarch64_uzp1v4si (TARGET_SIMD)
  3575. #define HAVE_aarch64_uzp2v4si (TARGET_SIMD)
  3576. #define HAVE_aarch64_zip1v2di (TARGET_SIMD)
  3577. #define HAVE_aarch64_zip2v2di (TARGET_SIMD)
  3578. #define HAVE_aarch64_trn1v2di (TARGET_SIMD)
  3579. #define HAVE_aarch64_trn2v2di (TARGET_SIMD)
  3580. #define HAVE_aarch64_uzp1v2di (TARGET_SIMD)
  3581. #define HAVE_aarch64_uzp2v2di (TARGET_SIMD)
  3582. #define HAVE_aarch64_zip1v4hf (TARGET_SIMD)
  3583. #define HAVE_aarch64_zip2v4hf (TARGET_SIMD)
  3584. #define HAVE_aarch64_trn1v4hf (TARGET_SIMD)
  3585. #define HAVE_aarch64_trn2v4hf (TARGET_SIMD)
  3586. #define HAVE_aarch64_uzp1v4hf (TARGET_SIMD)
  3587. #define HAVE_aarch64_uzp2v4hf (TARGET_SIMD)
  3588. #define HAVE_aarch64_zip1v8hf (TARGET_SIMD)
  3589. #define HAVE_aarch64_zip2v8hf (TARGET_SIMD)
  3590. #define HAVE_aarch64_trn1v8hf (TARGET_SIMD)
  3591. #define HAVE_aarch64_trn2v8hf (TARGET_SIMD)
  3592. #define HAVE_aarch64_uzp1v8hf (TARGET_SIMD)
  3593. #define HAVE_aarch64_uzp2v8hf (TARGET_SIMD)
  3594. #define HAVE_aarch64_zip1v4bf (TARGET_SIMD)
  3595. #define HAVE_aarch64_zip2v4bf (TARGET_SIMD)
  3596. #define HAVE_aarch64_trn1v4bf (TARGET_SIMD)
  3597. #define HAVE_aarch64_trn2v4bf (TARGET_SIMD)
  3598. #define HAVE_aarch64_uzp1v4bf (TARGET_SIMD)
  3599. #define HAVE_aarch64_uzp2v4bf (TARGET_SIMD)
  3600. #define HAVE_aarch64_zip1v8bf (TARGET_SIMD)
  3601. #define HAVE_aarch64_zip2v8bf (TARGET_SIMD)
  3602. #define HAVE_aarch64_trn1v8bf (TARGET_SIMD)
  3603. #define HAVE_aarch64_trn2v8bf (TARGET_SIMD)
  3604. #define HAVE_aarch64_uzp1v8bf (TARGET_SIMD)
  3605. #define HAVE_aarch64_uzp2v8bf (TARGET_SIMD)
  3606. #define HAVE_aarch64_zip1v2sf (TARGET_SIMD)
  3607. #define HAVE_aarch64_zip2v2sf (TARGET_SIMD)
  3608. #define HAVE_aarch64_trn1v2sf (TARGET_SIMD)
  3609. #define HAVE_aarch64_trn2v2sf (TARGET_SIMD)
  3610. #define HAVE_aarch64_uzp1v2sf (TARGET_SIMD)
  3611. #define HAVE_aarch64_uzp2v2sf (TARGET_SIMD)
  3612. #define HAVE_aarch64_zip1v4sf (TARGET_SIMD)
  3613. #define HAVE_aarch64_zip2v4sf (TARGET_SIMD)
  3614. #define HAVE_aarch64_trn1v4sf (TARGET_SIMD)
  3615. #define HAVE_aarch64_trn2v4sf (TARGET_SIMD)
  3616. #define HAVE_aarch64_uzp1v4sf (TARGET_SIMD)
  3617. #define HAVE_aarch64_uzp2v4sf (TARGET_SIMD)
  3618. #define HAVE_aarch64_zip1v2df (TARGET_SIMD)
  3619. #define HAVE_aarch64_zip2v2df (TARGET_SIMD)
  3620. #define HAVE_aarch64_trn1v2df (TARGET_SIMD)
  3621. #define HAVE_aarch64_trn2v2df (TARGET_SIMD)
  3622. #define HAVE_aarch64_uzp1v2df (TARGET_SIMD)
  3623. #define HAVE_aarch64_uzp2v2df (TARGET_SIMD)
  3624. #define HAVE_aarch64_extv8qi (TARGET_SIMD)
  3625. #define HAVE_aarch64_extv16qi (TARGET_SIMD)
  3626. #define HAVE_aarch64_extv4hi (TARGET_SIMD)
  3627. #define HAVE_aarch64_extv8hi (TARGET_SIMD)
  3628. #define HAVE_aarch64_extv2si (TARGET_SIMD)
  3629. #define HAVE_aarch64_extv4si (TARGET_SIMD)
  3630. #define HAVE_aarch64_extv2di (TARGET_SIMD)
  3631. #define HAVE_aarch64_extv4hf (TARGET_SIMD)
  3632. #define HAVE_aarch64_extv8hf (TARGET_SIMD)
  3633. #define HAVE_aarch64_extv4bf (TARGET_SIMD)
  3634. #define HAVE_aarch64_extv8bf (TARGET_SIMD)
  3635. #define HAVE_aarch64_extv2sf (TARGET_SIMD)
  3636. #define HAVE_aarch64_extv4sf (TARGET_SIMD)
  3637. #define HAVE_aarch64_extv2df (TARGET_SIMD)
  3638. #define HAVE_aarch64_rev64v8qi (TARGET_SIMD)
  3639. #define HAVE_aarch64_rev32v8qi (TARGET_SIMD)
  3640. #define HAVE_aarch64_rev16v8qi (TARGET_SIMD)
  3641. #define HAVE_aarch64_rev64v16qi (TARGET_SIMD)
  3642. #define HAVE_aarch64_rev32v16qi (TARGET_SIMD)
  3643. #define HAVE_aarch64_rev16v16qi (TARGET_SIMD)
  3644. #define HAVE_aarch64_rev64v4hi (TARGET_SIMD)
  3645. #define HAVE_aarch64_rev32v4hi (TARGET_SIMD)
  3646. #define HAVE_aarch64_rev16v4hi (TARGET_SIMD)
  3647. #define HAVE_aarch64_rev64v8hi (TARGET_SIMD)
  3648. #define HAVE_aarch64_rev32v8hi (TARGET_SIMD)
  3649. #define HAVE_aarch64_rev16v8hi (TARGET_SIMD)
  3650. #define HAVE_aarch64_rev64v2si (TARGET_SIMD)
  3651. #define HAVE_aarch64_rev32v2si (TARGET_SIMD)
  3652. #define HAVE_aarch64_rev16v2si (TARGET_SIMD)
  3653. #define HAVE_aarch64_rev64v4si (TARGET_SIMD)
  3654. #define HAVE_aarch64_rev32v4si (TARGET_SIMD)
  3655. #define HAVE_aarch64_rev16v4si (TARGET_SIMD)
  3656. #define HAVE_aarch64_rev64v2di (TARGET_SIMD)
  3657. #define HAVE_aarch64_rev32v2di (TARGET_SIMD)
  3658. #define HAVE_aarch64_rev16v2di (TARGET_SIMD)
  3659. #define HAVE_aarch64_rev64v4hf (TARGET_SIMD)
  3660. #define HAVE_aarch64_rev32v4hf (TARGET_SIMD)
  3661. #define HAVE_aarch64_rev16v4hf (TARGET_SIMD)
  3662. #define HAVE_aarch64_rev64v8hf (TARGET_SIMD)
  3663. #define HAVE_aarch64_rev32v8hf (TARGET_SIMD)
  3664. #define HAVE_aarch64_rev16v8hf (TARGET_SIMD)
  3665. #define HAVE_aarch64_rev64v4bf (TARGET_SIMD)
  3666. #define HAVE_aarch64_rev32v4bf (TARGET_SIMD)
  3667. #define HAVE_aarch64_rev16v4bf (TARGET_SIMD)
  3668. #define HAVE_aarch64_rev64v8bf (TARGET_SIMD)
  3669. #define HAVE_aarch64_rev32v8bf (TARGET_SIMD)
  3670. #define HAVE_aarch64_rev16v8bf (TARGET_SIMD)
  3671. #define HAVE_aarch64_rev64v2sf (TARGET_SIMD)
  3672. #define HAVE_aarch64_rev32v2sf (TARGET_SIMD)
  3673. #define HAVE_aarch64_rev16v2sf (TARGET_SIMD)
  3674. #define HAVE_aarch64_rev64v4sf (TARGET_SIMD)
  3675. #define HAVE_aarch64_rev32v4sf (TARGET_SIMD)
  3676. #define HAVE_aarch64_rev16v4sf (TARGET_SIMD)
  3677. #define HAVE_aarch64_rev64v2df (TARGET_SIMD)
  3678. #define HAVE_aarch64_rev32v2df (TARGET_SIMD)
  3679. #define HAVE_aarch64_rev16v2df (TARGET_SIMD)
  3680. #define HAVE_aarch64_st2v8qi_dreg (TARGET_SIMD)
  3681. #define HAVE_aarch64_st2v4hi_dreg (TARGET_SIMD)
  3682. #define HAVE_aarch64_st2v4hf_dreg (TARGET_SIMD)
  3683. #define HAVE_aarch64_st2v2si_dreg (TARGET_SIMD)
  3684. #define HAVE_aarch64_st2v2sf_dreg (TARGET_SIMD)
  3685. #define HAVE_aarch64_st2v4bf_dreg (TARGET_SIMD)
  3686. #define HAVE_aarch64_st2di_dreg (TARGET_SIMD)
  3687. #define HAVE_aarch64_st2df_dreg (TARGET_SIMD)
  3688. #define HAVE_aarch64_st3v8qi_dreg (TARGET_SIMD)
  3689. #define HAVE_aarch64_st3v4hi_dreg (TARGET_SIMD)
  3690. #define HAVE_aarch64_st3v4hf_dreg (TARGET_SIMD)
  3691. #define HAVE_aarch64_st3v2si_dreg (TARGET_SIMD)
  3692. #define HAVE_aarch64_st3v2sf_dreg (TARGET_SIMD)
  3693. #define HAVE_aarch64_st3v4bf_dreg (TARGET_SIMD)
  3694. #define HAVE_aarch64_st3di_dreg (TARGET_SIMD)
  3695. #define HAVE_aarch64_st3df_dreg (TARGET_SIMD)
  3696. #define HAVE_aarch64_st4v8qi_dreg (TARGET_SIMD)
  3697. #define HAVE_aarch64_st4v4hi_dreg (TARGET_SIMD)
  3698. #define HAVE_aarch64_st4v4hf_dreg (TARGET_SIMD)
  3699. #define HAVE_aarch64_st4v2si_dreg (TARGET_SIMD)
  3700. #define HAVE_aarch64_st4v2sf_dreg (TARGET_SIMD)
  3701. #define HAVE_aarch64_st4v4bf_dreg (TARGET_SIMD)
  3702. #define HAVE_aarch64_st4di_dreg (TARGET_SIMD)
  3703. #define HAVE_aarch64_st4df_dreg (TARGET_SIMD)
  3704. #define HAVE_aarch64_simd_ld1v16qi_x2 (TARGET_SIMD)
  3705. #define HAVE_aarch64_simd_ld1v8hi_x2 (TARGET_SIMD)
  3706. #define HAVE_aarch64_simd_ld1v4si_x2 (TARGET_SIMD)
  3707. #define HAVE_aarch64_simd_ld1v2di_x2 (TARGET_SIMD)
  3708. #define HAVE_aarch64_simd_ld1v8hf_x2 (TARGET_SIMD)
  3709. #define HAVE_aarch64_simd_ld1v4sf_x2 (TARGET_SIMD)
  3710. #define HAVE_aarch64_simd_ld1v2df_x2 (TARGET_SIMD)
  3711. #define HAVE_aarch64_simd_ld1v8bf_x2 (TARGET_SIMD)
  3712. #define HAVE_aarch64_simd_ld1v8qi_x2 (TARGET_SIMD)
  3713. #define HAVE_aarch64_simd_ld1v4hi_x2 (TARGET_SIMD)
  3714. #define HAVE_aarch64_simd_ld1v4bf_x2 (TARGET_SIMD)
  3715. #define HAVE_aarch64_simd_ld1v4hf_x2 (TARGET_SIMD)
  3716. #define HAVE_aarch64_simd_ld1v2si_x2 (TARGET_SIMD)
  3717. #define HAVE_aarch64_simd_ld1v2sf_x2 (TARGET_SIMD)
  3718. #define HAVE_aarch64_simd_ld1di_x2 (TARGET_SIMD)
  3719. #define HAVE_aarch64_simd_ld1df_x2 (TARGET_SIMD)
  3720. #define HAVE_aarch64_frecpev4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3721. #define HAVE_aarch64_frecpev8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3722. #define HAVE_aarch64_frecpev2sf (TARGET_SIMD)
  3723. #define HAVE_aarch64_frecpev4sf (TARGET_SIMD)
  3724. #define HAVE_aarch64_frecpev2df (TARGET_SIMD)
  3725. #define HAVE_aarch64_frecpehf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3726. #define HAVE_aarch64_frecpesf (TARGET_SIMD)
  3727. #define HAVE_aarch64_frecpedf (TARGET_SIMD)
  3728. #define HAVE_aarch64_frecpxhf ((TARGET_SIMD) && (AARCH64_ISA_F16))
  3729. #define HAVE_aarch64_frecpxsf (TARGET_SIMD)
  3730. #define HAVE_aarch64_frecpxdf (TARGET_SIMD)
  3731. #define HAVE_aarch64_frecpsv4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3732. #define HAVE_aarch64_frecpsv8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3733. #define HAVE_aarch64_frecpsv2sf (TARGET_SIMD)
  3734. #define HAVE_aarch64_frecpsv4sf (TARGET_SIMD)
  3735. #define HAVE_aarch64_frecpsv2df (TARGET_SIMD)
  3736. #define HAVE_aarch64_frecpshf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  3737. #define HAVE_aarch64_frecpssf (TARGET_SIMD)
  3738. #define HAVE_aarch64_frecpsdf (TARGET_SIMD)
  3739. #define HAVE_aarch64_urecpev2si (TARGET_SIMD)
  3740. #define HAVE_aarch64_urecpev4si (TARGET_SIMD)
  3741. #define HAVE_aarch64_crypto_aesev16qi (TARGET_SIMD && TARGET_AES)
  3742. #define HAVE_aarch64_crypto_aesdv16qi (TARGET_SIMD && TARGET_AES)
  3743. #define HAVE_aarch64_crypto_aesmcv16qi (TARGET_SIMD && TARGET_AES)
  3744. #define HAVE_aarch64_crypto_aesimcv16qi (TARGET_SIMD && TARGET_AES)
  3745. #define HAVE_aarch64_crypto_sha1hsi (TARGET_SIMD && TARGET_SHA2)
  3746. #define HAVE_aarch64_crypto_sha1hv4si (TARGET_SIMD && TARGET_SHA2 && !BYTES_BIG_ENDIAN)
  3747. #define HAVE_aarch64_be_crypto_sha1hv4si (TARGET_SIMD && TARGET_SHA2 && BYTES_BIG_ENDIAN)
  3748. #define HAVE_aarch64_crypto_sha1su1v4si (TARGET_SIMD && TARGET_SHA2)
  3749. #define HAVE_aarch64_crypto_sha1cv4si (TARGET_SIMD && TARGET_SHA2)
  3750. #define HAVE_aarch64_crypto_sha1mv4si (TARGET_SIMD && TARGET_SHA2)
  3751. #define HAVE_aarch64_crypto_sha1pv4si (TARGET_SIMD && TARGET_SHA2)
  3752. #define HAVE_aarch64_crypto_sha1su0v4si (TARGET_SIMD && TARGET_SHA2)
  3753. #define HAVE_aarch64_crypto_sha256hv4si (TARGET_SIMD && TARGET_SHA2)
  3754. #define HAVE_aarch64_crypto_sha256h2v4si (TARGET_SIMD && TARGET_SHA2)
  3755. #define HAVE_aarch64_crypto_sha256su0v4si (TARGET_SIMD && TARGET_SHA2)
  3756. #define HAVE_aarch64_crypto_sha256su1v4si (TARGET_SIMD && TARGET_SHA2)
  3757. #define HAVE_aarch64_crypto_sha512hqv2di (TARGET_SIMD && TARGET_SHA3)
  3758. #define HAVE_aarch64_crypto_sha512h2qv2di (TARGET_SIMD && TARGET_SHA3)
  3759. #define HAVE_aarch64_crypto_sha512su0qv2di (TARGET_SIMD && TARGET_SHA3)
  3760. #define HAVE_aarch64_crypto_sha512su1qv2di (TARGET_SIMD && TARGET_SHA3)
  3761. #define HAVE_eor3qv16qi4 (TARGET_SIMD && TARGET_SHA3)
  3762. #define HAVE_eor3qv8hi4 (TARGET_SIMD && TARGET_SHA3)
  3763. #define HAVE_eor3qv4si4 (TARGET_SIMD && TARGET_SHA3)
  3764. #define HAVE_eor3qv2di4 (TARGET_SIMD && TARGET_SHA3)
  3765. #define HAVE_aarch64_rax1qv2di (TARGET_SIMD && TARGET_SHA3)
  3766. #define HAVE_aarch64_xarqv2di (TARGET_SIMD && TARGET_SHA3)
  3767. #define HAVE_bcaxqv16qi4 (TARGET_SIMD && TARGET_SHA3)
  3768. #define HAVE_bcaxqv8hi4 (TARGET_SIMD && TARGET_SHA3)
  3769. #define HAVE_bcaxqv4si4 (TARGET_SIMD && TARGET_SHA3)
  3770. #define HAVE_bcaxqv2di4 (TARGET_SIMD && TARGET_SHA3)
  3771. #define HAVE_aarch64_sm3ss1qv4si (TARGET_SIMD && TARGET_SM4)
  3772. #define HAVE_aarch64_sm3tt1aqv4si (TARGET_SIMD && TARGET_SM4)
  3773. #define HAVE_aarch64_sm3tt1bqv4si (TARGET_SIMD && TARGET_SM4)
  3774. #define HAVE_aarch64_sm3tt2aqv4si (TARGET_SIMD && TARGET_SM4)
  3775. #define HAVE_aarch64_sm3tt2bqv4si (TARGET_SIMD && TARGET_SM4)
  3776. #define HAVE_aarch64_sm3partw1qv4si (TARGET_SIMD && TARGET_SM4)
  3777. #define HAVE_aarch64_sm3partw2qv4si (TARGET_SIMD && TARGET_SM4)
  3778. #define HAVE_aarch64_sm4eqv4si (TARGET_SIMD && TARGET_SM4)
  3779. #define HAVE_aarch64_sm4ekeyqv4si (TARGET_SIMD && TARGET_SM4)
  3780. #define HAVE_aarch64_simd_fmlal_lowv2sf (TARGET_F16FML)
  3781. #define HAVE_aarch64_simd_fmlalq_lowv4sf (TARGET_F16FML)
  3782. #define HAVE_aarch64_simd_fmlsl_lowv2sf (TARGET_F16FML)
  3783. #define HAVE_aarch64_simd_fmlslq_lowv4sf (TARGET_F16FML)
  3784. #define HAVE_aarch64_simd_fmlal_highv2sf (TARGET_F16FML)
  3785. #define HAVE_aarch64_simd_fmlalq_highv4sf (TARGET_F16FML)
  3786. #define HAVE_aarch64_simd_fmlsl_highv2sf (TARGET_F16FML)
  3787. #define HAVE_aarch64_simd_fmlslq_highv4sf (TARGET_F16FML)
  3788. #define HAVE_aarch64_simd_fmlal_lane_lowv2sf (TARGET_F16FML)
  3789. #define HAVE_aarch64_simd_fmlsl_lane_lowv2sf (TARGET_F16FML)
  3790. #define HAVE_aarch64_simd_fmlal_lane_highv2sf (TARGET_F16FML)
  3791. #define HAVE_aarch64_simd_fmlsl_lane_highv2sf (TARGET_F16FML)
  3792. #define HAVE_aarch64_simd_fmlalq_laneq_lowv4sf (TARGET_F16FML)
  3793. #define HAVE_aarch64_simd_fmlslq_laneq_lowv4sf (TARGET_F16FML)
  3794. #define HAVE_aarch64_simd_fmlalq_laneq_highv4sf (TARGET_F16FML)
  3795. #define HAVE_aarch64_simd_fmlslq_laneq_highv4sf (TARGET_F16FML)
  3796. #define HAVE_aarch64_simd_fmlal_laneq_lowv2sf (TARGET_F16FML)
  3797. #define HAVE_aarch64_simd_fmlsl_laneq_lowv2sf (TARGET_F16FML)
  3798. #define HAVE_aarch64_simd_fmlal_laneq_highv2sf (TARGET_F16FML)
  3799. #define HAVE_aarch64_simd_fmlsl_laneq_highv2sf (TARGET_F16FML)
  3800. #define HAVE_aarch64_simd_fmlalq_lane_lowv4sf (TARGET_F16FML)
  3801. #define HAVE_aarch64_simd_fmlslq_lane_lowv4sf (TARGET_F16FML)
  3802. #define HAVE_aarch64_simd_fmlalq_lane_highv4sf (TARGET_F16FML)
  3803. #define HAVE_aarch64_simd_fmlslq_lane_highv4sf (TARGET_F16FML)
  3804. #define HAVE_aarch64_crypto_pmulldi (TARGET_SIMD && TARGET_AES)
  3805. #define HAVE_aarch64_crypto_pmullv2di (TARGET_SIMD && TARGET_AES)
  3806. #define HAVE_extendv8qiv8hi2 (TARGET_SIMD)
  3807. #define HAVE_zero_extendv8qiv8hi2 (TARGET_SIMD)
  3808. #define HAVE_extendv4hiv4si2 (TARGET_SIMD)
  3809. #define HAVE_zero_extendv4hiv4si2 (TARGET_SIMD)
  3810. #define HAVE_extendv2siv2di2 (TARGET_SIMD)
  3811. #define HAVE_zero_extendv2siv2di2 (TARGET_SIMD)
  3812. #define HAVE_truncv8hiv8qi2 (TARGET_SIMD)
  3813. #define HAVE_truncv4siv4hi2 (TARGET_SIMD)
  3814. #define HAVE_truncv2div2si2 (TARGET_SIMD)
  3815. #define HAVE_aarch64_bfdotv2sf (TARGET_BF16_SIMD)
  3816. #define HAVE_aarch64_bfdotv4sf (TARGET_BF16_SIMD)
  3817. #define HAVE_aarch64_bfdot_lanev2sf (TARGET_BF16_SIMD)
  3818. #define HAVE_aarch64_bfdot_laneqv2sf (TARGET_BF16_SIMD)
  3819. #define HAVE_aarch64_bfdot_lanev4sf (TARGET_BF16_SIMD)
  3820. #define HAVE_aarch64_bfdot_laneqv4sf (TARGET_BF16_SIMD)
  3821. #define HAVE_aarch64_bfmmlaqv4sf (TARGET_BF16_SIMD)
  3822. #define HAVE_aarch64_bfmlalbv4sf (TARGET_BF16_SIMD)
  3823. #define HAVE_aarch64_bfmlaltv4sf (TARGET_BF16_SIMD)
  3824. #define HAVE_aarch64_bfmlalb_lanev4sf (TARGET_BF16_SIMD)
  3825. #define HAVE_aarch64_bfmlalt_lanev4sf (TARGET_BF16_SIMD)
  3826. #define HAVE_aarch64_bfmlalb_lane_qv4sf (TARGET_BF16_SIMD)
  3827. #define HAVE_aarch64_bfmlalt_lane_qv4sf (TARGET_BF16_SIMD)
  3828. #define HAVE_aarch64_simd_smmlav16qi (TARGET_I8MM)
  3829. #define HAVE_aarch64_simd_ummlav16qi (TARGET_I8MM)
  3830. #define HAVE_aarch64_simd_usmmlav16qi (TARGET_I8MM)
  3831. #define HAVE_aarch64_bfcvtnv4bf (TARGET_BF16_SIMD)
  3832. #define HAVE_aarch64_bfcvtn_qv8bf (TARGET_BF16_SIMD)
  3833. #define HAVE_aarch64_bfcvtn2v8bf (TARGET_BF16_SIMD)
  3834. #define HAVE_aarch64_bfcvtbf (TARGET_BF16_FP)
  3835. #define HAVE_aarch64_vbfcvtv4bf (TARGET_BF16_SIMD)
  3836. #define HAVE_aarch64_vbfcvtv8bf (TARGET_BF16_SIMD)
  3837. #define HAVE_aarch64_vbfcvt_highv8bf (TARGET_BF16_SIMD)
  3838. #define HAVE_aarch64_bfcvtsf (TARGET_BF16_FP)
  3839. #define HAVE_aarch64_compare_and_swapqi 1
  3840. #define HAVE_aarch64_compare_and_swaphi 1
  3841. #define HAVE_aarch64_compare_and_swapsi 1
  3842. #define HAVE_aarch64_compare_and_swapdi 1
  3843. #define HAVE_aarch64_compare_and_swapti 1
  3844. #define HAVE_aarch64_compare_and_swapqi_lse (TARGET_LSE)
  3845. #define HAVE_aarch64_compare_and_swaphi_lse (TARGET_LSE)
  3846. #define HAVE_aarch64_compare_and_swapsi_lse (TARGET_LSE)
  3847. #define HAVE_aarch64_compare_and_swapdi_lse (TARGET_LSE)
  3848. #define HAVE_aarch64_compare_and_swapti_lse (TARGET_LSE)
  3849. #define HAVE_aarch64_atomic_exchangeqi 1
  3850. #define HAVE_aarch64_atomic_exchangehi 1
  3851. #define HAVE_aarch64_atomic_exchangesi 1
  3852. #define HAVE_aarch64_atomic_exchangedi 1
  3853. #define HAVE_aarch64_atomic_exchangeqi_lse (TARGET_LSE)
  3854. #define HAVE_aarch64_atomic_exchangehi_lse (TARGET_LSE)
  3855. #define HAVE_aarch64_atomic_exchangesi_lse (TARGET_LSE)
  3856. #define HAVE_aarch64_atomic_exchangedi_lse (TARGET_LSE)
  3857. #define HAVE_aarch64_atomic_addqi 1
  3858. #define HAVE_aarch64_atomic_subqi 1
  3859. #define HAVE_aarch64_atomic_orqi 1
  3860. #define HAVE_aarch64_atomic_xorqi 1
  3861. #define HAVE_aarch64_atomic_andqi 1
  3862. #define HAVE_aarch64_atomic_addhi 1
  3863. #define HAVE_aarch64_atomic_subhi 1
  3864. #define HAVE_aarch64_atomic_orhi 1
  3865. #define HAVE_aarch64_atomic_xorhi 1
  3866. #define HAVE_aarch64_atomic_andhi 1
  3867. #define HAVE_aarch64_atomic_addsi 1
  3868. #define HAVE_aarch64_atomic_subsi 1
  3869. #define HAVE_aarch64_atomic_orsi 1
  3870. #define HAVE_aarch64_atomic_xorsi 1
  3871. #define HAVE_aarch64_atomic_andsi 1
  3872. #define HAVE_aarch64_atomic_adddi 1
  3873. #define HAVE_aarch64_atomic_subdi 1
  3874. #define HAVE_aarch64_atomic_ordi 1
  3875. #define HAVE_aarch64_atomic_xordi 1
  3876. #define HAVE_aarch64_atomic_anddi 1
  3877. #define HAVE_aarch64_atomic_iorqi_lse (TARGET_LSE)
  3878. #define HAVE_aarch64_atomic_bicqi_lse (TARGET_LSE)
  3879. #define HAVE_aarch64_atomic_xorqi_lse (TARGET_LSE)
  3880. #define HAVE_aarch64_atomic_addqi_lse (TARGET_LSE)
  3881. #define HAVE_aarch64_atomic_iorhi_lse (TARGET_LSE)
  3882. #define HAVE_aarch64_atomic_bichi_lse (TARGET_LSE)
  3883. #define HAVE_aarch64_atomic_xorhi_lse (TARGET_LSE)
  3884. #define HAVE_aarch64_atomic_addhi_lse (TARGET_LSE)
  3885. #define HAVE_aarch64_atomic_iorsi_lse (TARGET_LSE)
  3886. #define HAVE_aarch64_atomic_bicsi_lse (TARGET_LSE)
  3887. #define HAVE_aarch64_atomic_xorsi_lse (TARGET_LSE)
  3888. #define HAVE_aarch64_atomic_addsi_lse (TARGET_LSE)
  3889. #define HAVE_aarch64_atomic_iordi_lse (TARGET_LSE)
  3890. #define HAVE_aarch64_atomic_bicdi_lse (TARGET_LSE)
  3891. #define HAVE_aarch64_atomic_xordi_lse (TARGET_LSE)
  3892. #define HAVE_aarch64_atomic_adddi_lse (TARGET_LSE)
  3893. #define HAVE_atomic_nandqi 1
  3894. #define HAVE_atomic_nandhi 1
  3895. #define HAVE_atomic_nandsi 1
  3896. #define HAVE_atomic_nanddi 1
  3897. #define HAVE_aarch64_atomic_fetch_addqi 1
  3898. #define HAVE_aarch64_atomic_fetch_subqi 1
  3899. #define HAVE_aarch64_atomic_fetch_orqi 1
  3900. #define HAVE_aarch64_atomic_fetch_xorqi 1
  3901. #define HAVE_aarch64_atomic_fetch_andqi 1
  3902. #define HAVE_aarch64_atomic_fetch_addhi 1
  3903. #define HAVE_aarch64_atomic_fetch_subhi 1
  3904. #define HAVE_aarch64_atomic_fetch_orhi 1
  3905. #define HAVE_aarch64_atomic_fetch_xorhi 1
  3906. #define HAVE_aarch64_atomic_fetch_andhi 1
  3907. #define HAVE_aarch64_atomic_fetch_addsi 1
  3908. #define HAVE_aarch64_atomic_fetch_subsi 1
  3909. #define HAVE_aarch64_atomic_fetch_orsi 1
  3910. #define HAVE_aarch64_atomic_fetch_xorsi 1
  3911. #define HAVE_aarch64_atomic_fetch_andsi 1
  3912. #define HAVE_aarch64_atomic_fetch_adddi 1
  3913. #define HAVE_aarch64_atomic_fetch_subdi 1
  3914. #define HAVE_aarch64_atomic_fetch_ordi 1
  3915. #define HAVE_aarch64_atomic_fetch_xordi 1
  3916. #define HAVE_aarch64_atomic_fetch_anddi 1
  3917. #define HAVE_aarch64_atomic_fetch_iorqi_lse (TARGET_LSE)
  3918. #define HAVE_aarch64_atomic_fetch_bicqi_lse (TARGET_LSE)
  3919. #define HAVE_aarch64_atomic_fetch_xorqi_lse (TARGET_LSE)
  3920. #define HAVE_aarch64_atomic_fetch_addqi_lse (TARGET_LSE)
  3921. #define HAVE_aarch64_atomic_fetch_iorhi_lse (TARGET_LSE)
  3922. #define HAVE_aarch64_atomic_fetch_bichi_lse (TARGET_LSE)
  3923. #define HAVE_aarch64_atomic_fetch_xorhi_lse (TARGET_LSE)
  3924. #define HAVE_aarch64_atomic_fetch_addhi_lse (TARGET_LSE)
  3925. #define HAVE_aarch64_atomic_fetch_iorsi_lse (TARGET_LSE)
  3926. #define HAVE_aarch64_atomic_fetch_bicsi_lse (TARGET_LSE)
  3927. #define HAVE_aarch64_atomic_fetch_xorsi_lse (TARGET_LSE)
  3928. #define HAVE_aarch64_atomic_fetch_addsi_lse (TARGET_LSE)
  3929. #define HAVE_aarch64_atomic_fetch_iordi_lse (TARGET_LSE)
  3930. #define HAVE_aarch64_atomic_fetch_bicdi_lse (TARGET_LSE)
  3931. #define HAVE_aarch64_atomic_fetch_xordi_lse (TARGET_LSE)
  3932. #define HAVE_aarch64_atomic_fetch_adddi_lse (TARGET_LSE)
  3933. #define HAVE_atomic_fetch_nandqi 1
  3934. #define HAVE_atomic_fetch_nandhi 1
  3935. #define HAVE_atomic_fetch_nandsi 1
  3936. #define HAVE_atomic_fetch_nanddi 1
  3937. #define HAVE_aarch64_atomic_add_fetchqi 1
  3938. #define HAVE_aarch64_atomic_sub_fetchqi 1
  3939. #define HAVE_aarch64_atomic_or_fetchqi 1
  3940. #define HAVE_aarch64_atomic_xor_fetchqi 1
  3941. #define HAVE_aarch64_atomic_and_fetchqi 1
  3942. #define HAVE_aarch64_atomic_add_fetchhi 1
  3943. #define HAVE_aarch64_atomic_sub_fetchhi 1
  3944. #define HAVE_aarch64_atomic_or_fetchhi 1
  3945. #define HAVE_aarch64_atomic_xor_fetchhi 1
  3946. #define HAVE_aarch64_atomic_and_fetchhi 1
  3947. #define HAVE_aarch64_atomic_add_fetchsi 1
  3948. #define HAVE_aarch64_atomic_sub_fetchsi 1
  3949. #define HAVE_aarch64_atomic_or_fetchsi 1
  3950. #define HAVE_aarch64_atomic_xor_fetchsi 1
  3951. #define HAVE_aarch64_atomic_and_fetchsi 1
  3952. #define HAVE_aarch64_atomic_add_fetchdi 1
  3953. #define HAVE_aarch64_atomic_sub_fetchdi 1
  3954. #define HAVE_aarch64_atomic_or_fetchdi 1
  3955. #define HAVE_aarch64_atomic_xor_fetchdi 1
  3956. #define HAVE_aarch64_atomic_and_fetchdi 1
  3957. #define HAVE_atomic_nand_fetchqi 1
  3958. #define HAVE_atomic_nand_fetchhi 1
  3959. #define HAVE_atomic_nand_fetchsi 1
  3960. #define HAVE_atomic_nand_fetchdi 1
  3961. #define HAVE_atomic_loadqi 1
  3962. #define HAVE_atomic_loadhi 1
  3963. #define HAVE_atomic_loadsi 1
  3964. #define HAVE_atomic_loaddi 1
  3965. #define HAVE_atomic_storeqi 1
  3966. #define HAVE_atomic_storehi 1
  3967. #define HAVE_atomic_storesi 1
  3968. #define HAVE_atomic_storedi 1
  3969. #define HAVE_aarch64_load_exclusiveqi 1
  3970. #define HAVE_aarch64_load_exclusivehi 1
  3971. #define HAVE_aarch64_load_exclusivesi 1
  3972. #define HAVE_aarch64_load_exclusivedi 1
  3973. #define HAVE_aarch64_load_exclusive_pair 1
  3974. #define HAVE_aarch64_store_exclusiveqi 1
  3975. #define HAVE_aarch64_store_exclusivehi 1
  3976. #define HAVE_aarch64_store_exclusivesi 1
  3977. #define HAVE_aarch64_store_exclusivedi 1
  3978. #define HAVE_aarch64_store_exclusive_pair 1
  3979. #define HAVE_aarch64_pred_movvnx16qi (TARGET_SVE \
  3980. && (register_operand (operands[0], VNx16QImode) \
  3981. || register_operand (operands[2], VNx16QImode)))
  3982. #define HAVE_aarch64_pred_movvnx8qi (TARGET_SVE \
  3983. && (register_operand (operands[0], VNx8QImode) \
  3984. || register_operand (operands[2], VNx8QImode)))
  3985. #define HAVE_aarch64_pred_movvnx4qi (TARGET_SVE \
  3986. && (register_operand (operands[0], VNx4QImode) \
  3987. || register_operand (operands[2], VNx4QImode)))
  3988. #define HAVE_aarch64_pred_movvnx2qi (TARGET_SVE \
  3989. && (register_operand (operands[0], VNx2QImode) \
  3990. || register_operand (operands[2], VNx2QImode)))
  3991. #define HAVE_aarch64_pred_movvnx8hi (TARGET_SVE \
  3992. && (register_operand (operands[0], VNx8HImode) \
  3993. || register_operand (operands[2], VNx8HImode)))
  3994. #define HAVE_aarch64_pred_movvnx4hi (TARGET_SVE \
  3995. && (register_operand (operands[0], VNx4HImode) \
  3996. || register_operand (operands[2], VNx4HImode)))
  3997. #define HAVE_aarch64_pred_movvnx2hi (TARGET_SVE \
  3998. && (register_operand (operands[0], VNx2HImode) \
  3999. || register_operand (operands[2], VNx2HImode)))
  4000. #define HAVE_aarch64_pred_movvnx8hf (TARGET_SVE \
  4001. && (register_operand (operands[0], VNx8HFmode) \
  4002. || register_operand (operands[2], VNx8HFmode)))
  4003. #define HAVE_aarch64_pred_movvnx4hf (TARGET_SVE \
  4004. && (register_operand (operands[0], VNx4HFmode) \
  4005. || register_operand (operands[2], VNx4HFmode)))
  4006. #define HAVE_aarch64_pred_movvnx2hf (TARGET_SVE \
  4007. && (register_operand (operands[0], VNx2HFmode) \
  4008. || register_operand (operands[2], VNx2HFmode)))
  4009. #define HAVE_aarch64_pred_movvnx8bf (TARGET_SVE \
  4010. && (register_operand (operands[0], VNx8BFmode) \
  4011. || register_operand (operands[2], VNx8BFmode)))
  4012. #define HAVE_aarch64_pred_movvnx4si (TARGET_SVE \
  4013. && (register_operand (operands[0], VNx4SImode) \
  4014. || register_operand (operands[2], VNx4SImode)))
  4015. #define HAVE_aarch64_pred_movvnx2si (TARGET_SVE \
  4016. && (register_operand (operands[0], VNx2SImode) \
  4017. || register_operand (operands[2], VNx2SImode)))
  4018. #define HAVE_aarch64_pred_movvnx4sf (TARGET_SVE \
  4019. && (register_operand (operands[0], VNx4SFmode) \
  4020. || register_operand (operands[2], VNx4SFmode)))
  4021. #define HAVE_aarch64_pred_movvnx2sf (TARGET_SVE \
  4022. && (register_operand (operands[0], VNx2SFmode) \
  4023. || register_operand (operands[2], VNx2SFmode)))
  4024. #define HAVE_aarch64_pred_movvnx2di (TARGET_SVE \
  4025. && (register_operand (operands[0], VNx2DImode) \
  4026. || register_operand (operands[2], VNx2DImode)))
  4027. #define HAVE_aarch64_pred_movvnx2df (TARGET_SVE \
  4028. && (register_operand (operands[0], VNx2DFmode) \
  4029. || register_operand (operands[2], VNx2DFmode)))
  4030. #define HAVE_aarch64_pred_movvnx32qi (TARGET_SVE \
  4031. && (register_operand (operands[0], VNx32QImode) \
  4032. || register_operand (operands[2], VNx32QImode)))
  4033. #define HAVE_aarch64_pred_movvnx16hi (TARGET_SVE \
  4034. && (register_operand (operands[0], VNx16HImode) \
  4035. || register_operand (operands[2], VNx16HImode)))
  4036. #define HAVE_aarch64_pred_movvnx8si (TARGET_SVE \
  4037. && (register_operand (operands[0], VNx8SImode) \
  4038. || register_operand (operands[2], VNx8SImode)))
  4039. #define HAVE_aarch64_pred_movvnx4di (TARGET_SVE \
  4040. && (register_operand (operands[0], VNx4DImode) \
  4041. || register_operand (operands[2], VNx4DImode)))
  4042. #define HAVE_aarch64_pred_movvnx16bf (TARGET_SVE \
  4043. && (register_operand (operands[0], VNx16BFmode) \
  4044. || register_operand (operands[2], VNx16BFmode)))
  4045. #define HAVE_aarch64_pred_movvnx16hf (TARGET_SVE \
  4046. && (register_operand (operands[0], VNx16HFmode) \
  4047. || register_operand (operands[2], VNx16HFmode)))
  4048. #define HAVE_aarch64_pred_movvnx8sf (TARGET_SVE \
  4049. && (register_operand (operands[0], VNx8SFmode) \
  4050. || register_operand (operands[2], VNx8SFmode)))
  4051. #define HAVE_aarch64_pred_movvnx4df (TARGET_SVE \
  4052. && (register_operand (operands[0], VNx4DFmode) \
  4053. || register_operand (operands[2], VNx4DFmode)))
  4054. #define HAVE_aarch64_pred_movvnx48qi (TARGET_SVE \
  4055. && (register_operand (operands[0], VNx48QImode) \
  4056. || register_operand (operands[2], VNx48QImode)))
  4057. #define HAVE_aarch64_pred_movvnx24hi (TARGET_SVE \
  4058. && (register_operand (operands[0], VNx24HImode) \
  4059. || register_operand (operands[2], VNx24HImode)))
  4060. #define HAVE_aarch64_pred_movvnx12si (TARGET_SVE \
  4061. && (register_operand (operands[0], VNx12SImode) \
  4062. || register_operand (operands[2], VNx12SImode)))
  4063. #define HAVE_aarch64_pred_movvnx6di (TARGET_SVE \
  4064. && (register_operand (operands[0], VNx6DImode) \
  4065. || register_operand (operands[2], VNx6DImode)))
  4066. #define HAVE_aarch64_pred_movvnx24bf (TARGET_SVE \
  4067. && (register_operand (operands[0], VNx24BFmode) \
  4068. || register_operand (operands[2], VNx24BFmode)))
  4069. #define HAVE_aarch64_pred_movvnx24hf (TARGET_SVE \
  4070. && (register_operand (operands[0], VNx24HFmode) \
  4071. || register_operand (operands[2], VNx24HFmode)))
  4072. #define HAVE_aarch64_pred_movvnx12sf (TARGET_SVE \
  4073. && (register_operand (operands[0], VNx12SFmode) \
  4074. || register_operand (operands[2], VNx12SFmode)))
  4075. #define HAVE_aarch64_pred_movvnx6df (TARGET_SVE \
  4076. && (register_operand (operands[0], VNx6DFmode) \
  4077. || register_operand (operands[2], VNx6DFmode)))
  4078. #define HAVE_aarch64_pred_movvnx64qi (TARGET_SVE \
  4079. && (register_operand (operands[0], VNx64QImode) \
  4080. || register_operand (operands[2], VNx64QImode)))
  4081. #define HAVE_aarch64_pred_movvnx32hi (TARGET_SVE \
  4082. && (register_operand (operands[0], VNx32HImode) \
  4083. || register_operand (operands[2], VNx32HImode)))
  4084. #define HAVE_aarch64_pred_movvnx16si (TARGET_SVE \
  4085. && (register_operand (operands[0], VNx16SImode) \
  4086. || register_operand (operands[2], VNx16SImode)))
  4087. #define HAVE_aarch64_pred_movvnx8di (TARGET_SVE \
  4088. && (register_operand (operands[0], VNx8DImode) \
  4089. || register_operand (operands[2], VNx8DImode)))
  4090. #define HAVE_aarch64_pred_movvnx32bf (TARGET_SVE \
  4091. && (register_operand (operands[0], VNx32BFmode) \
  4092. || register_operand (operands[2], VNx32BFmode)))
  4093. #define HAVE_aarch64_pred_movvnx32hf (TARGET_SVE \
  4094. && (register_operand (operands[0], VNx32HFmode) \
  4095. || register_operand (operands[2], VNx32HFmode)))
  4096. #define HAVE_aarch64_pred_movvnx16sf (TARGET_SVE \
  4097. && (register_operand (operands[0], VNx16SFmode) \
  4098. || register_operand (operands[2], VNx16SFmode)))
  4099. #define HAVE_aarch64_pred_movvnx8df (TARGET_SVE \
  4100. && (register_operand (operands[0], VNx8DFmode) \
  4101. || register_operand (operands[2], VNx8DFmode)))
  4102. #define HAVE_aarch64_wrffr (TARGET_SVE)
  4103. #define HAVE_aarch64_update_ffr_for_load (TARGET_SVE)
  4104. #define HAVE_aarch64_copy_ffr_to_ffrt (TARGET_SVE)
  4105. #define HAVE_aarch64_rdffr (TARGET_SVE)
  4106. #define HAVE_aarch64_rdffr_z (TARGET_SVE)
  4107. #define HAVE_aarch64_update_ffrt (TARGET_SVE)
  4108. #define HAVE_maskloadvnx16qivnx16bi (TARGET_SVE)
  4109. #define HAVE_maskloadvnx8qivnx8bi (TARGET_SVE)
  4110. #define HAVE_maskloadvnx4qivnx4bi (TARGET_SVE)
  4111. #define HAVE_maskloadvnx2qivnx2bi (TARGET_SVE)
  4112. #define HAVE_maskloadvnx8hivnx8bi (TARGET_SVE)
  4113. #define HAVE_maskloadvnx4hivnx4bi (TARGET_SVE)
  4114. #define HAVE_maskloadvnx2hivnx2bi (TARGET_SVE)
  4115. #define HAVE_maskloadvnx8hfvnx8bi (TARGET_SVE)
  4116. #define HAVE_maskloadvnx4hfvnx4bi (TARGET_SVE)
  4117. #define HAVE_maskloadvnx2hfvnx2bi (TARGET_SVE)
  4118. #define HAVE_maskloadvnx8bfvnx8bi (TARGET_SVE)
  4119. #define HAVE_maskloadvnx4sivnx4bi (TARGET_SVE)
  4120. #define HAVE_maskloadvnx2sivnx2bi (TARGET_SVE)
  4121. #define HAVE_maskloadvnx4sfvnx4bi (TARGET_SVE)
  4122. #define HAVE_maskloadvnx2sfvnx2bi (TARGET_SVE)
  4123. #define HAVE_maskloadvnx2divnx2bi (TARGET_SVE)
  4124. #define HAVE_maskloadvnx2dfvnx2bi (TARGET_SVE)
  4125. #define HAVE_vec_mask_load_lanesvnx32qivnx16qi (TARGET_SVE)
  4126. #define HAVE_vec_mask_load_lanesvnx16hivnx8hi (TARGET_SVE)
  4127. #define HAVE_vec_mask_load_lanesvnx8sivnx4si (TARGET_SVE)
  4128. #define HAVE_vec_mask_load_lanesvnx4divnx2di (TARGET_SVE)
  4129. #define HAVE_vec_mask_load_lanesvnx16bfvnx8bf (TARGET_SVE)
  4130. #define HAVE_vec_mask_load_lanesvnx16hfvnx8hf (TARGET_SVE)
  4131. #define HAVE_vec_mask_load_lanesvnx8sfvnx4sf (TARGET_SVE)
  4132. #define HAVE_vec_mask_load_lanesvnx4dfvnx2df (TARGET_SVE)
  4133. #define HAVE_vec_mask_load_lanesvnx48qivnx16qi (TARGET_SVE)
  4134. #define HAVE_vec_mask_load_lanesvnx24hivnx8hi (TARGET_SVE)
  4135. #define HAVE_vec_mask_load_lanesvnx12sivnx4si (TARGET_SVE)
  4136. #define HAVE_vec_mask_load_lanesvnx6divnx2di (TARGET_SVE)
  4137. #define HAVE_vec_mask_load_lanesvnx24bfvnx8bf (TARGET_SVE)
  4138. #define HAVE_vec_mask_load_lanesvnx24hfvnx8hf (TARGET_SVE)
  4139. #define HAVE_vec_mask_load_lanesvnx12sfvnx4sf (TARGET_SVE)
  4140. #define HAVE_vec_mask_load_lanesvnx6dfvnx2df (TARGET_SVE)
  4141. #define HAVE_vec_mask_load_lanesvnx64qivnx16qi (TARGET_SVE)
  4142. #define HAVE_vec_mask_load_lanesvnx32hivnx8hi (TARGET_SVE)
  4143. #define HAVE_vec_mask_load_lanesvnx16sivnx4si (TARGET_SVE)
  4144. #define HAVE_vec_mask_load_lanesvnx8divnx2di (TARGET_SVE)
  4145. #define HAVE_vec_mask_load_lanesvnx32bfvnx8bf (TARGET_SVE)
  4146. #define HAVE_vec_mask_load_lanesvnx32hfvnx8hf (TARGET_SVE)
  4147. #define HAVE_vec_mask_load_lanesvnx16sfvnx4sf (TARGET_SVE)
  4148. #define HAVE_vec_mask_load_lanesvnx8dfvnx2df (TARGET_SVE)
  4149. #define HAVE_aarch64_load_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4150. #define HAVE_aarch64_load_zero_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4151. #define HAVE_aarch64_load_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4152. #define HAVE_aarch64_load_zero_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4153. #define HAVE_aarch64_load_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4154. #define HAVE_aarch64_load_zero_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4155. #define HAVE_aarch64_load_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4156. #define HAVE_aarch64_load_zero_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4157. #define HAVE_aarch64_load_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4158. #define HAVE_aarch64_load_zero_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4159. #define HAVE_aarch64_load_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4160. #define HAVE_aarch64_load_zero_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4161. #define HAVE_aarch64_load_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4162. #define HAVE_aarch64_load_zero_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4163. #define HAVE_aarch64_load_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4164. #define HAVE_aarch64_load_zero_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4165. #define HAVE_aarch64_load_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4166. #define HAVE_aarch64_load_zero_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4167. #define HAVE_aarch64_load_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4168. #define HAVE_aarch64_load_zero_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4169. #define HAVE_aarch64_ldff1vnx16qi (TARGET_SVE)
  4170. #define HAVE_aarch64_ldnf1vnx16qi (TARGET_SVE)
  4171. #define HAVE_aarch64_ldff1vnx8hi (TARGET_SVE)
  4172. #define HAVE_aarch64_ldnf1vnx8hi (TARGET_SVE)
  4173. #define HAVE_aarch64_ldff1vnx4si (TARGET_SVE)
  4174. #define HAVE_aarch64_ldnf1vnx4si (TARGET_SVE)
  4175. #define HAVE_aarch64_ldff1vnx2di (TARGET_SVE)
  4176. #define HAVE_aarch64_ldnf1vnx2di (TARGET_SVE)
  4177. #define HAVE_aarch64_ldff1vnx8bf (TARGET_SVE)
  4178. #define HAVE_aarch64_ldnf1vnx8bf (TARGET_SVE)
  4179. #define HAVE_aarch64_ldff1vnx8hf (TARGET_SVE)
  4180. #define HAVE_aarch64_ldnf1vnx8hf (TARGET_SVE)
  4181. #define HAVE_aarch64_ldff1vnx4sf (TARGET_SVE)
  4182. #define HAVE_aarch64_ldnf1vnx4sf (TARGET_SVE)
  4183. #define HAVE_aarch64_ldff1vnx2df (TARGET_SVE)
  4184. #define HAVE_aarch64_ldnf1vnx2df (TARGET_SVE)
  4185. #define HAVE_aarch64_ldff1_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4186. #define HAVE_aarch64_ldnf1_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4187. #define HAVE_aarch64_ldff1_zero_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4188. #define HAVE_aarch64_ldnf1_zero_extendvnx8hivnx8qi (TARGET_SVE && (~0x81 & 0x81) == 0)
  4189. #define HAVE_aarch64_ldff1_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4190. #define HAVE_aarch64_ldnf1_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4191. #define HAVE_aarch64_ldff1_zero_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4192. #define HAVE_aarch64_ldnf1_zero_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4193. #define HAVE_aarch64_ldff1_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4194. #define HAVE_aarch64_ldnf1_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4195. #define HAVE_aarch64_ldff1_zero_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4196. #define HAVE_aarch64_ldnf1_zero_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4197. #define HAVE_aarch64_ldff1_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4198. #define HAVE_aarch64_ldnf1_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4199. #define HAVE_aarch64_ldff1_zero_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4200. #define HAVE_aarch64_ldnf1_zero_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4201. #define HAVE_aarch64_ldff1_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4202. #define HAVE_aarch64_ldnf1_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4203. #define HAVE_aarch64_ldff1_zero_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4204. #define HAVE_aarch64_ldnf1_zero_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4205. #define HAVE_aarch64_ldff1_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4206. #define HAVE_aarch64_ldnf1_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4207. #define HAVE_aarch64_ldff1_zero_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4208. #define HAVE_aarch64_ldnf1_zero_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4209. #define HAVE_aarch64_ldff1_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4210. #define HAVE_aarch64_ldnf1_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4211. #define HAVE_aarch64_ldff1_zero_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4212. #define HAVE_aarch64_ldnf1_zero_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4213. #define HAVE_aarch64_ldff1_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4214. #define HAVE_aarch64_ldnf1_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4215. #define HAVE_aarch64_ldff1_zero_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4216. #define HAVE_aarch64_ldnf1_zero_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4217. #define HAVE_aarch64_ldff1_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4218. #define HAVE_aarch64_ldnf1_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4219. #define HAVE_aarch64_ldff1_zero_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4220. #define HAVE_aarch64_ldnf1_zero_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4221. #define HAVE_aarch64_ldff1_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4222. #define HAVE_aarch64_ldnf1_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4223. #define HAVE_aarch64_ldff1_zero_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4224. #define HAVE_aarch64_ldnf1_zero_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4225. #define HAVE_aarch64_ldnt1vnx16qi (TARGET_SVE)
  4226. #define HAVE_aarch64_ldnt1vnx8hi (TARGET_SVE)
  4227. #define HAVE_aarch64_ldnt1vnx4si (TARGET_SVE)
  4228. #define HAVE_aarch64_ldnt1vnx2di (TARGET_SVE)
  4229. #define HAVE_aarch64_ldnt1vnx8bf (TARGET_SVE)
  4230. #define HAVE_aarch64_ldnt1vnx8hf (TARGET_SVE)
  4231. #define HAVE_aarch64_ldnt1vnx4sf (TARGET_SVE)
  4232. #define HAVE_aarch64_ldnt1vnx2df (TARGET_SVE)
  4233. #define HAVE_mask_gather_loadvnx4qivnx4si (TARGET_SVE)
  4234. #define HAVE_mask_gather_loadvnx4hivnx4si (TARGET_SVE)
  4235. #define HAVE_mask_gather_loadvnx4hfvnx4si (TARGET_SVE)
  4236. #define HAVE_mask_gather_loadvnx4sivnx4si (TARGET_SVE)
  4237. #define HAVE_mask_gather_loadvnx4sfvnx4si (TARGET_SVE)
  4238. #define HAVE_mask_gather_loadvnx2qivnx2di (TARGET_SVE)
  4239. #define HAVE_mask_gather_loadvnx2hivnx2di (TARGET_SVE)
  4240. #define HAVE_mask_gather_loadvnx2hfvnx2di (TARGET_SVE)
  4241. #define HAVE_mask_gather_loadvnx2sivnx2di (TARGET_SVE)
  4242. #define HAVE_mask_gather_loadvnx2sfvnx2di (TARGET_SVE)
  4243. #define HAVE_mask_gather_loadvnx2divnx2di (TARGET_SVE)
  4244. #define HAVE_mask_gather_loadvnx2dfvnx2di (TARGET_SVE)
  4245. #define HAVE_aarch64_gather_load_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4246. #define HAVE_aarch64_gather_load_zero_extendvnx4hivnx4qi (TARGET_SVE && (~0x41 & 0x41) == 0)
  4247. #define HAVE_aarch64_gather_load_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4248. #define HAVE_aarch64_gather_load_zero_extendvnx4sivnx4qi (TARGET_SVE && (~0x43 & 0x41) == 0)
  4249. #define HAVE_aarch64_gather_load_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4250. #define HAVE_aarch64_gather_load_zero_extendvnx4sivnx4hi (TARGET_SVE && (~0x43 & 0x42) == 0)
  4251. #define HAVE_aarch64_gather_load_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4252. #define HAVE_aarch64_gather_load_zero_extendvnx2hivnx2qi (TARGET_SVE && (~0x21 & 0x21) == 0)
  4253. #define HAVE_aarch64_gather_load_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4254. #define HAVE_aarch64_gather_load_zero_extendvnx2sivnx2qi (TARGET_SVE && (~0x23 & 0x21) == 0)
  4255. #define HAVE_aarch64_gather_load_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4256. #define HAVE_aarch64_gather_load_zero_extendvnx2divnx2qi (TARGET_SVE && (~0x27 & 0x21) == 0)
  4257. #define HAVE_aarch64_gather_load_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4258. #define HAVE_aarch64_gather_load_zero_extendvnx2sivnx2hi (TARGET_SVE && (~0x23 & 0x22) == 0)
  4259. #define HAVE_aarch64_gather_load_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4260. #define HAVE_aarch64_gather_load_zero_extendvnx2divnx2hi (TARGET_SVE && (~0x27 & 0x22) == 0)
  4261. #define HAVE_aarch64_gather_load_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4262. #define HAVE_aarch64_gather_load_zero_extendvnx2divnx2si (TARGET_SVE && (~0x27 & 0x24) == 0)
  4263. #define HAVE_aarch64_ldff1_gathervnx4si (TARGET_SVE)
  4264. #define HAVE_aarch64_ldff1_gathervnx4sf (TARGET_SVE)
  4265. #define HAVE_aarch64_ldff1_gathervnx2di (TARGET_SVE)
  4266. #define HAVE_aarch64_ldff1_gathervnx2df (TARGET_SVE)
  4267. #define HAVE_aarch64_ldff1_gather_extendvnx4sivnx4qi (TARGET_SVE)
  4268. #define HAVE_aarch64_ldff1_gather_zero_extendvnx4sivnx4qi (TARGET_SVE)
  4269. #define HAVE_aarch64_ldff1_gather_extendvnx4sivnx4hi (TARGET_SVE)
  4270. #define HAVE_aarch64_ldff1_gather_zero_extendvnx4sivnx4hi (TARGET_SVE)
  4271. #define HAVE_aarch64_ldff1_gather_extendvnx2divnx2qi (TARGET_SVE)
  4272. #define HAVE_aarch64_ldff1_gather_zero_extendvnx2divnx2qi (TARGET_SVE)
  4273. #define HAVE_aarch64_ldff1_gather_extendvnx2divnx2hi (TARGET_SVE)
  4274. #define HAVE_aarch64_ldff1_gather_zero_extendvnx2divnx2hi (TARGET_SVE)
  4275. #define HAVE_aarch64_ldff1_gather_extendvnx2divnx2si (TARGET_SVE)
  4276. #define HAVE_aarch64_ldff1_gather_zero_extendvnx2divnx2si (TARGET_SVE)
  4277. #define HAVE_aarch64_sve_prefetchvnx16qi (TARGET_SVE)
  4278. #define HAVE_aarch64_sve_prefetchvnx8hi (TARGET_SVE)
  4279. #define HAVE_aarch64_sve_prefetchvnx4si (TARGET_SVE)
  4280. #define HAVE_aarch64_sve_prefetchvnx2di (TARGET_SVE)
  4281. #define HAVE_aarch64_sve_gather_prefetchvnx16qivnx4si (TARGET_SVE)
  4282. #define HAVE_aarch64_sve_gather_prefetchvnx8hivnx4si (TARGET_SVE)
  4283. #define HAVE_aarch64_sve_gather_prefetchvnx4sivnx4si (TARGET_SVE)
  4284. #define HAVE_aarch64_sve_gather_prefetchvnx2divnx4si (TARGET_SVE)
  4285. #define HAVE_aarch64_sve_gather_prefetchvnx16qivnx2di (TARGET_SVE)
  4286. #define HAVE_aarch64_sve_gather_prefetchvnx8hivnx2di (TARGET_SVE)
  4287. #define HAVE_aarch64_sve_gather_prefetchvnx4sivnx2di (TARGET_SVE)
  4288. #define HAVE_aarch64_sve_gather_prefetchvnx2divnx2di (TARGET_SVE)
  4289. #define HAVE_maskstorevnx16qivnx16bi (TARGET_SVE)
  4290. #define HAVE_maskstorevnx8qivnx8bi (TARGET_SVE)
  4291. #define HAVE_maskstorevnx4qivnx4bi (TARGET_SVE)
  4292. #define HAVE_maskstorevnx2qivnx2bi (TARGET_SVE)
  4293. #define HAVE_maskstorevnx8hivnx8bi (TARGET_SVE)
  4294. #define HAVE_maskstorevnx4hivnx4bi (TARGET_SVE)
  4295. #define HAVE_maskstorevnx2hivnx2bi (TARGET_SVE)
  4296. #define HAVE_maskstorevnx8hfvnx8bi (TARGET_SVE)
  4297. #define HAVE_maskstorevnx4hfvnx4bi (TARGET_SVE)
  4298. #define HAVE_maskstorevnx2hfvnx2bi (TARGET_SVE)
  4299. #define HAVE_maskstorevnx8bfvnx8bi (TARGET_SVE)
  4300. #define HAVE_maskstorevnx4sivnx4bi (TARGET_SVE)
  4301. #define HAVE_maskstorevnx2sivnx2bi (TARGET_SVE)
  4302. #define HAVE_maskstorevnx4sfvnx4bi (TARGET_SVE)
  4303. #define HAVE_maskstorevnx2sfvnx2bi (TARGET_SVE)
  4304. #define HAVE_maskstorevnx2divnx2bi (TARGET_SVE)
  4305. #define HAVE_maskstorevnx2dfvnx2bi (TARGET_SVE)
  4306. #define HAVE_vec_mask_store_lanesvnx32qivnx16qi (TARGET_SVE)
  4307. #define HAVE_vec_mask_store_lanesvnx16hivnx8hi (TARGET_SVE)
  4308. #define HAVE_vec_mask_store_lanesvnx8sivnx4si (TARGET_SVE)
  4309. #define HAVE_vec_mask_store_lanesvnx4divnx2di (TARGET_SVE)
  4310. #define HAVE_vec_mask_store_lanesvnx16bfvnx8bf (TARGET_SVE)
  4311. #define HAVE_vec_mask_store_lanesvnx16hfvnx8hf (TARGET_SVE)
  4312. #define HAVE_vec_mask_store_lanesvnx8sfvnx4sf (TARGET_SVE)
  4313. #define HAVE_vec_mask_store_lanesvnx4dfvnx2df (TARGET_SVE)
  4314. #define HAVE_vec_mask_store_lanesvnx48qivnx16qi (TARGET_SVE)
  4315. #define HAVE_vec_mask_store_lanesvnx24hivnx8hi (TARGET_SVE)
  4316. #define HAVE_vec_mask_store_lanesvnx12sivnx4si (TARGET_SVE)
  4317. #define HAVE_vec_mask_store_lanesvnx6divnx2di (TARGET_SVE)
  4318. #define HAVE_vec_mask_store_lanesvnx24bfvnx8bf (TARGET_SVE)
  4319. #define HAVE_vec_mask_store_lanesvnx24hfvnx8hf (TARGET_SVE)
  4320. #define HAVE_vec_mask_store_lanesvnx12sfvnx4sf (TARGET_SVE)
  4321. #define HAVE_vec_mask_store_lanesvnx6dfvnx2df (TARGET_SVE)
  4322. #define HAVE_vec_mask_store_lanesvnx64qivnx16qi (TARGET_SVE)
  4323. #define HAVE_vec_mask_store_lanesvnx32hivnx8hi (TARGET_SVE)
  4324. #define HAVE_vec_mask_store_lanesvnx16sivnx4si (TARGET_SVE)
  4325. #define HAVE_vec_mask_store_lanesvnx8divnx2di (TARGET_SVE)
  4326. #define HAVE_vec_mask_store_lanesvnx32bfvnx8bf (TARGET_SVE)
  4327. #define HAVE_vec_mask_store_lanesvnx32hfvnx8hf (TARGET_SVE)
  4328. #define HAVE_vec_mask_store_lanesvnx16sfvnx4sf (TARGET_SVE)
  4329. #define HAVE_vec_mask_store_lanesvnx8dfvnx2df (TARGET_SVE)
  4330. #define HAVE_aarch64_store_truncvnx8qivnx8hi (TARGET_SVE)
  4331. #define HAVE_aarch64_store_truncvnx4qivnx4si (TARGET_SVE)
  4332. #define HAVE_aarch64_store_truncvnx4hivnx4si (TARGET_SVE)
  4333. #define HAVE_aarch64_store_truncvnx2qivnx2di (TARGET_SVE)
  4334. #define HAVE_aarch64_store_truncvnx2hivnx2di (TARGET_SVE)
  4335. #define HAVE_aarch64_store_truncvnx2sivnx2di (TARGET_SVE)
  4336. #define HAVE_aarch64_stnt1vnx16qi (TARGET_SVE)
  4337. #define HAVE_aarch64_stnt1vnx8hi (TARGET_SVE)
  4338. #define HAVE_aarch64_stnt1vnx4si (TARGET_SVE)
  4339. #define HAVE_aarch64_stnt1vnx2di (TARGET_SVE)
  4340. #define HAVE_aarch64_stnt1vnx8bf (TARGET_SVE)
  4341. #define HAVE_aarch64_stnt1vnx8hf (TARGET_SVE)
  4342. #define HAVE_aarch64_stnt1vnx4sf (TARGET_SVE)
  4343. #define HAVE_aarch64_stnt1vnx2df (TARGET_SVE)
  4344. #define HAVE_mask_scatter_storevnx4qivnx4si (TARGET_SVE)
  4345. #define HAVE_mask_scatter_storevnx4hivnx4si (TARGET_SVE)
  4346. #define HAVE_mask_scatter_storevnx4hfvnx4si (TARGET_SVE)
  4347. #define HAVE_mask_scatter_storevnx4sivnx4si (TARGET_SVE)
  4348. #define HAVE_mask_scatter_storevnx4sfvnx4si (TARGET_SVE)
  4349. #define HAVE_mask_scatter_storevnx2qivnx2di (TARGET_SVE)
  4350. #define HAVE_mask_scatter_storevnx2hivnx2di (TARGET_SVE)
  4351. #define HAVE_mask_scatter_storevnx2hfvnx2di (TARGET_SVE)
  4352. #define HAVE_mask_scatter_storevnx2sivnx2di (TARGET_SVE)
  4353. #define HAVE_mask_scatter_storevnx2sfvnx2di (TARGET_SVE)
  4354. #define HAVE_mask_scatter_storevnx2divnx2di (TARGET_SVE)
  4355. #define HAVE_mask_scatter_storevnx2dfvnx2di (TARGET_SVE)
  4356. #define HAVE_aarch64_scatter_store_truncvnx4qivnx4si (TARGET_SVE)
  4357. #define HAVE_aarch64_scatter_store_truncvnx4hivnx4si (TARGET_SVE)
  4358. #define HAVE_aarch64_scatter_store_truncvnx2qivnx2di (TARGET_SVE)
  4359. #define HAVE_aarch64_scatter_store_truncvnx2hivnx2di (TARGET_SVE)
  4360. #define HAVE_aarch64_scatter_store_truncvnx2sivnx2di (TARGET_SVE)
  4361. #define HAVE_aarch64_vec_duplicate_vqvnx16qi_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4362. #define HAVE_aarch64_vec_duplicate_vqvnx8hi_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4363. #define HAVE_aarch64_vec_duplicate_vqvnx4si_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4364. #define HAVE_aarch64_vec_duplicate_vqvnx2di_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4365. #define HAVE_aarch64_vec_duplicate_vqvnx8bf_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4366. #define HAVE_aarch64_vec_duplicate_vqvnx8hf_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4367. #define HAVE_aarch64_vec_duplicate_vqvnx4sf_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4368. #define HAVE_aarch64_vec_duplicate_vqvnx2df_le (TARGET_SVE && !BYTES_BIG_ENDIAN)
  4369. #define HAVE_aarch64_vec_duplicate_vqvnx16qi_be (TARGET_SVE \
  4370. && BYTES_BIG_ENDIAN \
  4371. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4372. GET_MODE_NUNITS (V16QImode) - 1))
  4373. #define HAVE_aarch64_vec_duplicate_vqvnx8hi_be (TARGET_SVE \
  4374. && BYTES_BIG_ENDIAN \
  4375. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4376. GET_MODE_NUNITS (V8HImode) - 1))
  4377. #define HAVE_aarch64_vec_duplicate_vqvnx4si_be (TARGET_SVE \
  4378. && BYTES_BIG_ENDIAN \
  4379. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4380. GET_MODE_NUNITS (V4SImode) - 1))
  4381. #define HAVE_aarch64_vec_duplicate_vqvnx2di_be (TARGET_SVE \
  4382. && BYTES_BIG_ENDIAN \
  4383. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4384. GET_MODE_NUNITS (V2DImode) - 1))
  4385. #define HAVE_aarch64_vec_duplicate_vqvnx8bf_be (TARGET_SVE \
  4386. && BYTES_BIG_ENDIAN \
  4387. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4388. GET_MODE_NUNITS (V8BFmode) - 1))
  4389. #define HAVE_aarch64_vec_duplicate_vqvnx8hf_be (TARGET_SVE \
  4390. && BYTES_BIG_ENDIAN \
  4391. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4392. GET_MODE_NUNITS (V8HFmode) - 1))
  4393. #define HAVE_aarch64_vec_duplicate_vqvnx4sf_be (TARGET_SVE \
  4394. && BYTES_BIG_ENDIAN \
  4395. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4396. GET_MODE_NUNITS (V4SFmode) - 1))
  4397. #define HAVE_aarch64_vec_duplicate_vqvnx2df_be (TARGET_SVE \
  4398. && BYTES_BIG_ENDIAN \
  4399. && known_eq (INTVAL (XVECEXP (operands[2], 0, 0)), \
  4400. GET_MODE_NUNITS (V2DFmode) - 1))
  4401. #define HAVE_sve_ld1rvnx16qi (TARGET_SVE)
  4402. #define HAVE_sve_ld1rvnx8qi (TARGET_SVE)
  4403. #define HAVE_sve_ld1rvnx4qi (TARGET_SVE)
  4404. #define HAVE_sve_ld1rvnx2qi (TARGET_SVE)
  4405. #define HAVE_sve_ld1rvnx8hi (TARGET_SVE)
  4406. #define HAVE_sve_ld1rvnx4hi (TARGET_SVE)
  4407. #define HAVE_sve_ld1rvnx2hi (TARGET_SVE)
  4408. #define HAVE_sve_ld1rvnx8hf (TARGET_SVE)
  4409. #define HAVE_sve_ld1rvnx4hf (TARGET_SVE)
  4410. #define HAVE_sve_ld1rvnx2hf (TARGET_SVE)
  4411. #define HAVE_sve_ld1rvnx8bf (TARGET_SVE)
  4412. #define HAVE_sve_ld1rvnx4si (TARGET_SVE)
  4413. #define HAVE_sve_ld1rvnx2si (TARGET_SVE)
  4414. #define HAVE_sve_ld1rvnx4sf (TARGET_SVE)
  4415. #define HAVE_sve_ld1rvnx2sf (TARGET_SVE)
  4416. #define HAVE_sve_ld1rvnx2di (TARGET_SVE)
  4417. #define HAVE_sve_ld1rvnx2df (TARGET_SVE)
  4418. #define HAVE_aarch64_sve_ld1rqvnx16qi (TARGET_SVE)
  4419. #define HAVE_aarch64_sve_ld1rqvnx8hi (TARGET_SVE)
  4420. #define HAVE_aarch64_sve_ld1rqvnx4si (TARGET_SVE)
  4421. #define HAVE_aarch64_sve_ld1rqvnx2di (TARGET_SVE)
  4422. #define HAVE_aarch64_sve_ld1rqvnx8bf (TARGET_SVE)
  4423. #define HAVE_aarch64_sve_ld1rqvnx8hf (TARGET_SVE)
  4424. #define HAVE_aarch64_sve_ld1rqvnx4sf (TARGET_SVE)
  4425. #define HAVE_aarch64_sve_ld1rqvnx2df (TARGET_SVE)
  4426. #define HAVE_aarch64_sve_ld1rovnx16qi (TARGET_SVE_F64MM)
  4427. #define HAVE_aarch64_sve_ld1rovnx8hi (TARGET_SVE_F64MM)
  4428. #define HAVE_aarch64_sve_ld1rovnx4si (TARGET_SVE_F64MM)
  4429. #define HAVE_aarch64_sve_ld1rovnx2di (TARGET_SVE_F64MM)
  4430. #define HAVE_aarch64_sve_ld1rovnx8bf (TARGET_SVE_F64MM)
  4431. #define HAVE_aarch64_sve_ld1rovnx8hf (TARGET_SVE_F64MM)
  4432. #define HAVE_aarch64_sve_ld1rovnx4sf (TARGET_SVE_F64MM)
  4433. #define HAVE_aarch64_sve_ld1rovnx2df (TARGET_SVE_F64MM)
  4434. #define HAVE_vec_shl_insert_vnx16qi (TARGET_SVE)
  4435. #define HAVE_vec_shl_insert_vnx8hi (TARGET_SVE)
  4436. #define HAVE_vec_shl_insert_vnx4si (TARGET_SVE)
  4437. #define HAVE_vec_shl_insert_vnx2di (TARGET_SVE)
  4438. #define HAVE_vec_shl_insert_vnx8bf (TARGET_SVE)
  4439. #define HAVE_vec_shl_insert_vnx8hf (TARGET_SVE)
  4440. #define HAVE_vec_shl_insert_vnx4sf (TARGET_SVE)
  4441. #define HAVE_vec_shl_insert_vnx2df (TARGET_SVE)
  4442. #define HAVE_vec_seriesvnx16qi (TARGET_SVE)
  4443. #define HAVE_vec_seriesvnx8qi (TARGET_SVE)
  4444. #define HAVE_vec_seriesvnx4qi (TARGET_SVE)
  4445. #define HAVE_vec_seriesvnx2qi (TARGET_SVE)
  4446. #define HAVE_vec_seriesvnx8hi (TARGET_SVE)
  4447. #define HAVE_vec_seriesvnx4hi (TARGET_SVE)
  4448. #define HAVE_vec_seriesvnx2hi (TARGET_SVE)
  4449. #define HAVE_vec_seriesvnx4si (TARGET_SVE)
  4450. #define HAVE_vec_seriesvnx2si (TARGET_SVE)
  4451. #define HAVE_vec_seriesvnx2di (TARGET_SVE)
  4452. #define HAVE_extract_after_last_vnx16qi (TARGET_SVE)
  4453. #define HAVE_extract_last_vnx16qi (TARGET_SVE)
  4454. #define HAVE_extract_after_last_vnx8hi (TARGET_SVE)
  4455. #define HAVE_extract_last_vnx8hi (TARGET_SVE)
  4456. #define HAVE_extract_after_last_vnx4si (TARGET_SVE)
  4457. #define HAVE_extract_last_vnx4si (TARGET_SVE)
  4458. #define HAVE_extract_after_last_vnx2di (TARGET_SVE)
  4459. #define HAVE_extract_last_vnx2di (TARGET_SVE)
  4460. #define HAVE_extract_after_last_vnx8bf (TARGET_SVE)
  4461. #define HAVE_extract_last_vnx8bf (TARGET_SVE)
  4462. #define HAVE_extract_after_last_vnx8hf (TARGET_SVE)
  4463. #define HAVE_extract_last_vnx8hf (TARGET_SVE)
  4464. #define HAVE_extract_after_last_vnx4sf (TARGET_SVE)
  4465. #define HAVE_extract_last_vnx4sf (TARGET_SVE)
  4466. #define HAVE_extract_after_last_vnx2df (TARGET_SVE)
  4467. #define HAVE_extract_last_vnx2df (TARGET_SVE)
  4468. #define HAVE_aarch64_pred_absvnx16qi (TARGET_SVE)
  4469. #define HAVE_aarch64_pred_negvnx16qi (TARGET_SVE)
  4470. #define HAVE_aarch64_pred_one_cmplvnx16qi (TARGET_SVE)
  4471. #define HAVE_aarch64_pred_clrsbvnx16qi (TARGET_SVE)
  4472. #define HAVE_aarch64_pred_clzvnx16qi (TARGET_SVE)
  4473. #define HAVE_aarch64_pred_popcountvnx16qi (TARGET_SVE)
  4474. #define HAVE_aarch64_pred_qabsvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  4475. #define HAVE_aarch64_pred_qnegvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  4476. #define HAVE_aarch64_pred_absvnx8hi (TARGET_SVE)
  4477. #define HAVE_aarch64_pred_negvnx8hi (TARGET_SVE)
  4478. #define HAVE_aarch64_pred_one_cmplvnx8hi (TARGET_SVE)
  4479. #define HAVE_aarch64_pred_clrsbvnx8hi (TARGET_SVE)
  4480. #define HAVE_aarch64_pred_clzvnx8hi (TARGET_SVE)
  4481. #define HAVE_aarch64_pred_popcountvnx8hi (TARGET_SVE)
  4482. #define HAVE_aarch64_pred_qabsvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  4483. #define HAVE_aarch64_pred_qnegvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  4484. #define HAVE_aarch64_pred_absvnx4si (TARGET_SVE)
  4485. #define HAVE_aarch64_pred_negvnx4si (TARGET_SVE)
  4486. #define HAVE_aarch64_pred_one_cmplvnx4si (TARGET_SVE)
  4487. #define HAVE_aarch64_pred_clrsbvnx4si (TARGET_SVE)
  4488. #define HAVE_aarch64_pred_clzvnx4si (TARGET_SVE)
  4489. #define HAVE_aarch64_pred_popcountvnx4si (TARGET_SVE)
  4490. #define HAVE_aarch64_pred_qabsvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  4491. #define HAVE_aarch64_pred_qnegvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  4492. #define HAVE_aarch64_pred_absvnx2di (TARGET_SVE)
  4493. #define HAVE_aarch64_pred_negvnx2di (TARGET_SVE)
  4494. #define HAVE_aarch64_pred_one_cmplvnx2di (TARGET_SVE)
  4495. #define HAVE_aarch64_pred_clrsbvnx2di (TARGET_SVE)
  4496. #define HAVE_aarch64_pred_clzvnx2di (TARGET_SVE)
  4497. #define HAVE_aarch64_pred_popcountvnx2di (TARGET_SVE)
  4498. #define HAVE_aarch64_pred_qabsvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  4499. #define HAVE_aarch64_pred_qnegvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  4500. #define HAVE_aarch64_pred_rbitvnx16qi (TARGET_SVE && 8 >= 8)
  4501. #define HAVE_aarch64_pred_rbitvnx8hi (TARGET_SVE && 16 >= 8)
  4502. #define HAVE_aarch64_pred_revbvnx8hi (TARGET_SVE && 16 >= 16)
  4503. #define HAVE_aarch64_pred_rbitvnx4si (TARGET_SVE && 32 >= 8)
  4504. #define HAVE_aarch64_pred_revbvnx4si (TARGET_SVE && 32 >= 16)
  4505. #define HAVE_aarch64_pred_revhvnx4si (TARGET_SVE && 32 >= 32)
  4506. #define HAVE_aarch64_pred_rbitvnx2di (TARGET_SVE && 64 >= 8)
  4507. #define HAVE_aarch64_pred_revbvnx2di (TARGET_SVE && 64 >= 16)
  4508. #define HAVE_aarch64_pred_revhvnx2di (TARGET_SVE && 64 >= 32)
  4509. #define HAVE_aarch64_pred_revwvnx2di (TARGET_SVE && 64 >= 64)
  4510. #define HAVE_cond_rbitvnx16qi (TARGET_SVE && 8 >= 8)
  4511. #define HAVE_cond_rbitvnx8hi (TARGET_SVE && 16 >= 8)
  4512. #define HAVE_cond_revbvnx8hi (TARGET_SVE && 16 >= 16)
  4513. #define HAVE_cond_rbitvnx4si (TARGET_SVE && 32 >= 8)
  4514. #define HAVE_cond_revbvnx4si (TARGET_SVE && 32 >= 16)
  4515. #define HAVE_cond_revhvnx4si (TARGET_SVE && 32 >= 32)
  4516. #define HAVE_cond_rbitvnx2di (TARGET_SVE && 64 >= 8)
  4517. #define HAVE_cond_revbvnx2di (TARGET_SVE && 64 >= 16)
  4518. #define HAVE_cond_revhvnx2di (TARGET_SVE && 64 >= 32)
  4519. #define HAVE_cond_revwvnx2di (TARGET_SVE && 64 >= 64)
  4520. #define HAVE_aarch64_pred_sxtvnx8hivnx8qi (TARGET_SVE \
  4521. && (~0x81 & 0x81) == 0)
  4522. #define HAVE_aarch64_pred_sxtvnx4sivnx4qi (TARGET_SVE \
  4523. && (~0x43 & 0x41) == 0)
  4524. #define HAVE_aarch64_pred_sxtvnx4sivnx4hi (TARGET_SVE \
  4525. && (~0x43 & 0x42) == 0)
  4526. #define HAVE_aarch64_pred_sxtvnx2divnx2qi (TARGET_SVE \
  4527. && (~0x27 & 0x21) == 0)
  4528. #define HAVE_aarch64_pred_sxtvnx2divnx2hi (TARGET_SVE \
  4529. && (~0x27 & 0x22) == 0)
  4530. #define HAVE_aarch64_pred_sxtvnx2divnx2si (TARGET_SVE \
  4531. && (~0x27 & 0x24) == 0)
  4532. #define HAVE_aarch64_cond_sxtvnx8hivnx8qi (TARGET_SVE \
  4533. && (~0x81 & 0x81) == 0)
  4534. #define HAVE_aarch64_cond_sxtvnx4sivnx4qi (TARGET_SVE \
  4535. && (~0x43 & 0x41) == 0)
  4536. #define HAVE_aarch64_cond_sxtvnx4sivnx4hi (TARGET_SVE \
  4537. && (~0x43 & 0x42) == 0)
  4538. #define HAVE_aarch64_cond_sxtvnx2divnx2qi (TARGET_SVE \
  4539. && (~0x27 & 0x21) == 0)
  4540. #define HAVE_aarch64_cond_sxtvnx2divnx2hi (TARGET_SVE \
  4541. && (~0x27 & 0x22) == 0)
  4542. #define HAVE_aarch64_cond_sxtvnx2divnx2si (TARGET_SVE \
  4543. && (~0x27 & 0x24) == 0)
  4544. #define HAVE_truncvnx8hivnx8qi2 (TARGET_SVE && (~0x81 & 0x81) == 0)
  4545. #define HAVE_truncvnx4hivnx4qi2 (TARGET_SVE && (~0x41 & 0x41) == 0)
  4546. #define HAVE_truncvnx2hivnx2qi2 (TARGET_SVE && (~0x21 & 0x21) == 0)
  4547. #define HAVE_truncvnx4sivnx4qi2 (TARGET_SVE && (~0x43 & 0x41) == 0)
  4548. #define HAVE_truncvnx4sivnx4hi2 (TARGET_SVE && (~0x43 & 0x42) == 0)
  4549. #define HAVE_truncvnx2sivnx2qi2 (TARGET_SVE && (~0x23 & 0x21) == 0)
  4550. #define HAVE_truncvnx2sivnx2hi2 (TARGET_SVE && (~0x23 & 0x22) == 0)
  4551. #define HAVE_truncvnx2divnx2qi2 (TARGET_SVE && (~0x27 & 0x21) == 0)
  4552. #define HAVE_truncvnx2divnx2hi2 (TARGET_SVE && (~0x27 & 0x22) == 0)
  4553. #define HAVE_truncvnx2divnx2si2 (TARGET_SVE && (~0x27 & 0x24) == 0)
  4554. #define HAVE_aarch64_sve_fexpavnx8hf (TARGET_SVE)
  4555. #define HAVE_aarch64_sve_fexpavnx4sf (TARGET_SVE)
  4556. #define HAVE_aarch64_sve_fexpavnx2df (TARGET_SVE)
  4557. #define HAVE_aarch64_sve_frecpevnx8hf (TARGET_SVE)
  4558. #define HAVE_aarch64_sve_frsqrtevnx8hf (TARGET_SVE)
  4559. #define HAVE_aarch64_sve_frecpevnx4sf (TARGET_SVE)
  4560. #define HAVE_aarch64_sve_frsqrtevnx4sf (TARGET_SVE)
  4561. #define HAVE_aarch64_sve_frecpevnx2df (TARGET_SVE)
  4562. #define HAVE_aarch64_sve_frsqrtevnx2df (TARGET_SVE)
  4563. #define HAVE_aarch64_pred_absvnx8hf (TARGET_SVE)
  4564. #define HAVE_aarch64_pred_negvnx8hf (TARGET_SVE)
  4565. #define HAVE_aarch64_pred_frecpxvnx8hf (TARGET_SVE)
  4566. #define HAVE_aarch64_pred_roundvnx8hf (TARGET_SVE)
  4567. #define HAVE_aarch64_pred_nearbyintvnx8hf (TARGET_SVE)
  4568. #define HAVE_aarch64_pred_floorvnx8hf (TARGET_SVE)
  4569. #define HAVE_aarch64_pred_frintnvnx8hf (TARGET_SVE)
  4570. #define HAVE_aarch64_pred_ceilvnx8hf (TARGET_SVE)
  4571. #define HAVE_aarch64_pred_rintvnx8hf (TARGET_SVE)
  4572. #define HAVE_aarch64_pred_btruncvnx8hf (TARGET_SVE)
  4573. #define HAVE_aarch64_pred_sqrtvnx8hf (TARGET_SVE)
  4574. #define HAVE_aarch64_pred_absvnx4sf (TARGET_SVE)
  4575. #define HAVE_aarch64_pred_negvnx4sf (TARGET_SVE)
  4576. #define HAVE_aarch64_pred_frecpxvnx4sf (TARGET_SVE)
  4577. #define HAVE_aarch64_pred_roundvnx4sf (TARGET_SVE)
  4578. #define HAVE_aarch64_pred_nearbyintvnx4sf (TARGET_SVE)
  4579. #define HAVE_aarch64_pred_floorvnx4sf (TARGET_SVE)
  4580. #define HAVE_aarch64_pred_frintnvnx4sf (TARGET_SVE)
  4581. #define HAVE_aarch64_pred_ceilvnx4sf (TARGET_SVE)
  4582. #define HAVE_aarch64_pred_rintvnx4sf (TARGET_SVE)
  4583. #define HAVE_aarch64_pred_btruncvnx4sf (TARGET_SVE)
  4584. #define HAVE_aarch64_pred_sqrtvnx4sf (TARGET_SVE)
  4585. #define HAVE_aarch64_pred_absvnx2df (TARGET_SVE)
  4586. #define HAVE_aarch64_pred_negvnx2df (TARGET_SVE)
  4587. #define HAVE_aarch64_pred_frecpxvnx2df (TARGET_SVE)
  4588. #define HAVE_aarch64_pred_roundvnx2df (TARGET_SVE)
  4589. #define HAVE_aarch64_pred_nearbyintvnx2df (TARGET_SVE)
  4590. #define HAVE_aarch64_pred_floorvnx2df (TARGET_SVE)
  4591. #define HAVE_aarch64_pred_frintnvnx2df (TARGET_SVE)
  4592. #define HAVE_aarch64_pred_ceilvnx2df (TARGET_SVE)
  4593. #define HAVE_aarch64_pred_rintvnx2df (TARGET_SVE)
  4594. #define HAVE_aarch64_pred_btruncvnx2df (TARGET_SVE)
  4595. #define HAVE_aarch64_pred_sqrtvnx2df (TARGET_SVE)
  4596. #define HAVE_aarch64_pred_mulvnx16qi (TARGET_SVE)
  4597. #define HAVE_aarch64_pred_smaxvnx16qi (TARGET_SVE)
  4598. #define HAVE_aarch64_pred_sminvnx16qi (TARGET_SVE)
  4599. #define HAVE_aarch64_pred_umaxvnx16qi (TARGET_SVE)
  4600. #define HAVE_aarch64_pred_uminvnx16qi (TARGET_SVE)
  4601. #define HAVE_aarch64_pred_mulvnx8hi (TARGET_SVE)
  4602. #define HAVE_aarch64_pred_smaxvnx8hi (TARGET_SVE)
  4603. #define HAVE_aarch64_pred_sminvnx8hi (TARGET_SVE)
  4604. #define HAVE_aarch64_pred_umaxvnx8hi (TARGET_SVE)
  4605. #define HAVE_aarch64_pred_uminvnx8hi (TARGET_SVE)
  4606. #define HAVE_aarch64_pred_mulvnx4si (TARGET_SVE)
  4607. #define HAVE_aarch64_pred_smaxvnx4si (TARGET_SVE)
  4608. #define HAVE_aarch64_pred_sminvnx4si (TARGET_SVE)
  4609. #define HAVE_aarch64_pred_umaxvnx4si (TARGET_SVE)
  4610. #define HAVE_aarch64_pred_uminvnx4si (TARGET_SVE)
  4611. #define HAVE_aarch64_pred_mulvnx2di (TARGET_SVE)
  4612. #define HAVE_aarch64_pred_smaxvnx2di (TARGET_SVE)
  4613. #define HAVE_aarch64_pred_sminvnx2di (TARGET_SVE)
  4614. #define HAVE_aarch64_pred_umaxvnx2di (TARGET_SVE)
  4615. #define HAVE_aarch64_pred_uminvnx2di (TARGET_SVE)
  4616. #define HAVE_addvnx16qi3 (TARGET_SVE)
  4617. #define HAVE_addvnx8qi3 (TARGET_SVE)
  4618. #define HAVE_addvnx4qi3 (TARGET_SVE)
  4619. #define HAVE_addvnx2qi3 (TARGET_SVE)
  4620. #define HAVE_addvnx8hi3 (TARGET_SVE)
  4621. #define HAVE_addvnx4hi3 (TARGET_SVE)
  4622. #define HAVE_addvnx2hi3 (TARGET_SVE)
  4623. #define HAVE_addvnx4si3 (TARGET_SVE)
  4624. #define HAVE_addvnx2si3 (TARGET_SVE)
  4625. #define HAVE_addvnx2di3 (TARGET_SVE)
  4626. #define HAVE_subvnx16qi3 (TARGET_SVE)
  4627. #define HAVE_subvnx8hi3 (TARGET_SVE)
  4628. #define HAVE_subvnx4si3 (TARGET_SVE)
  4629. #define HAVE_subvnx2di3 (TARGET_SVE)
  4630. #define HAVE_aarch64_adrvnx4si (TARGET_SVE)
  4631. #define HAVE_aarch64_adrvnx2di (TARGET_SVE)
  4632. #define HAVE_aarch64_pred_sabdvnx16qi (TARGET_SVE)
  4633. #define HAVE_aarch64_pred_uabdvnx16qi (TARGET_SVE)
  4634. #define HAVE_aarch64_pred_sabdvnx8hi (TARGET_SVE)
  4635. #define HAVE_aarch64_pred_uabdvnx8hi (TARGET_SVE)
  4636. #define HAVE_aarch64_pred_sabdvnx4si (TARGET_SVE)
  4637. #define HAVE_aarch64_pred_uabdvnx4si (TARGET_SVE)
  4638. #define HAVE_aarch64_pred_sabdvnx2di (TARGET_SVE)
  4639. #define HAVE_aarch64_pred_uabdvnx2di (TARGET_SVE)
  4640. #define HAVE_aarch64_sve_ssaddvnx16qi (TARGET_SVE)
  4641. #define HAVE_aarch64_sve_sssubvnx16qi (TARGET_SVE)
  4642. #define HAVE_aarch64_sve_ssaddvnx8hi (TARGET_SVE)
  4643. #define HAVE_aarch64_sve_sssubvnx8hi (TARGET_SVE)
  4644. #define HAVE_aarch64_sve_ssaddvnx4si (TARGET_SVE)
  4645. #define HAVE_aarch64_sve_sssubvnx4si (TARGET_SVE)
  4646. #define HAVE_aarch64_sve_ssaddvnx2di (TARGET_SVE)
  4647. #define HAVE_aarch64_sve_sssubvnx2di (TARGET_SVE)
  4648. #define HAVE_aarch64_sve_usaddvnx16qi (TARGET_SVE)
  4649. #define HAVE_aarch64_sve_ussubvnx16qi (TARGET_SVE)
  4650. #define HAVE_aarch64_sve_usaddvnx8hi (TARGET_SVE)
  4651. #define HAVE_aarch64_sve_ussubvnx8hi (TARGET_SVE)
  4652. #define HAVE_aarch64_sve_usaddvnx4si (TARGET_SVE)
  4653. #define HAVE_aarch64_sve_ussubvnx4si (TARGET_SVE)
  4654. #define HAVE_aarch64_sve_usaddvnx2di (TARGET_SVE)
  4655. #define HAVE_aarch64_sve_ussubvnx2di (TARGET_SVE)
  4656. #define HAVE_aarch64_pred_smulhvnx16qi (TARGET_SVE)
  4657. #define HAVE_aarch64_pred_umulhvnx16qi (TARGET_SVE)
  4658. #define HAVE_aarch64_pred_smulhvnx8hi (TARGET_SVE)
  4659. #define HAVE_aarch64_pred_umulhvnx8hi (TARGET_SVE)
  4660. #define HAVE_aarch64_pred_smulhvnx4si (TARGET_SVE)
  4661. #define HAVE_aarch64_pred_umulhvnx4si (TARGET_SVE)
  4662. #define HAVE_aarch64_pred_smulhvnx2di (TARGET_SVE)
  4663. #define HAVE_aarch64_pred_umulhvnx2di (TARGET_SVE)
  4664. #define HAVE_aarch64_pred_divvnx4si (TARGET_SVE)
  4665. #define HAVE_aarch64_pred_udivvnx4si (TARGET_SVE)
  4666. #define HAVE_aarch64_pred_divvnx2di (TARGET_SVE)
  4667. #define HAVE_aarch64_pred_udivvnx2di (TARGET_SVE)
  4668. #define HAVE_andvnx16qi3 (TARGET_SVE)
  4669. #define HAVE_iorvnx16qi3 (TARGET_SVE)
  4670. #define HAVE_xorvnx16qi3 (TARGET_SVE)
  4671. #define HAVE_andvnx8hi3 (TARGET_SVE)
  4672. #define HAVE_iorvnx8hi3 (TARGET_SVE)
  4673. #define HAVE_xorvnx8hi3 (TARGET_SVE)
  4674. #define HAVE_andvnx4si3 (TARGET_SVE)
  4675. #define HAVE_iorvnx4si3 (TARGET_SVE)
  4676. #define HAVE_xorvnx4si3 (TARGET_SVE)
  4677. #define HAVE_andvnx2di3 (TARGET_SVE)
  4678. #define HAVE_iorvnx2di3 (TARGET_SVE)
  4679. #define HAVE_xorvnx2di3 (TARGET_SVE)
  4680. #define HAVE_aarch64_pred_ashlvnx16qi (TARGET_SVE)
  4681. #define HAVE_aarch64_pred_ashrvnx16qi (TARGET_SVE)
  4682. #define HAVE_aarch64_pred_lshrvnx16qi (TARGET_SVE)
  4683. #define HAVE_aarch64_pred_ashlvnx8hi (TARGET_SVE)
  4684. #define HAVE_aarch64_pred_ashrvnx8hi (TARGET_SVE)
  4685. #define HAVE_aarch64_pred_lshrvnx8hi (TARGET_SVE)
  4686. #define HAVE_aarch64_pred_ashlvnx4si (TARGET_SVE)
  4687. #define HAVE_aarch64_pred_ashrvnx4si (TARGET_SVE)
  4688. #define HAVE_aarch64_pred_lshrvnx4si (TARGET_SVE)
  4689. #define HAVE_aarch64_pred_ashlvnx2di (TARGET_SVE)
  4690. #define HAVE_aarch64_pred_ashrvnx2di (TARGET_SVE)
  4691. #define HAVE_aarch64_pred_lshrvnx2di (TARGET_SVE)
  4692. #define HAVE_aarch64_sve_lslvnx16qi (TARGET_SVE)
  4693. #define HAVE_aarch64_sve_asrvnx16qi (TARGET_SVE)
  4694. #define HAVE_aarch64_sve_lsrvnx16qi (TARGET_SVE)
  4695. #define HAVE_aarch64_sve_lslvnx8hi (TARGET_SVE)
  4696. #define HAVE_aarch64_sve_asrvnx8hi (TARGET_SVE)
  4697. #define HAVE_aarch64_sve_lsrvnx8hi (TARGET_SVE)
  4698. #define HAVE_aarch64_sve_lslvnx4si (TARGET_SVE)
  4699. #define HAVE_aarch64_sve_asrvnx4si (TARGET_SVE)
  4700. #define HAVE_aarch64_sve_lsrvnx4si (TARGET_SVE)
  4701. #define HAVE_aarch64_sve_ftsmulvnx8hf (TARGET_SVE)
  4702. #define HAVE_aarch64_sve_ftsselvnx8hf (TARGET_SVE)
  4703. #define HAVE_aarch64_sve_ftsmulvnx4sf (TARGET_SVE)
  4704. #define HAVE_aarch64_sve_ftsselvnx4sf (TARGET_SVE)
  4705. #define HAVE_aarch64_sve_ftsmulvnx2df (TARGET_SVE)
  4706. #define HAVE_aarch64_sve_ftsselvnx2df (TARGET_SVE)
  4707. #define HAVE_aarch64_pred_fscalevnx8hf (TARGET_SVE)
  4708. #define HAVE_aarch64_pred_fscalevnx4sf (TARGET_SVE)
  4709. #define HAVE_aarch64_pred_fscalevnx2df (TARGET_SVE)
  4710. #define HAVE_aarch64_sve_frecpsvnx8hf (TARGET_SVE)
  4711. #define HAVE_aarch64_sve_frsqrtsvnx8hf (TARGET_SVE)
  4712. #define HAVE_aarch64_sve_frecpsvnx4sf (TARGET_SVE)
  4713. #define HAVE_aarch64_sve_frsqrtsvnx4sf (TARGET_SVE)
  4714. #define HAVE_aarch64_sve_frecpsvnx2df (TARGET_SVE)
  4715. #define HAVE_aarch64_sve_frsqrtsvnx2df (TARGET_SVE)
  4716. #define HAVE_aarch64_pred_divvnx8hf (TARGET_SVE)
  4717. #define HAVE_aarch64_pred_mulxvnx8hf (TARGET_SVE)
  4718. #define HAVE_aarch64_pred_divvnx4sf (TARGET_SVE)
  4719. #define HAVE_aarch64_pred_mulxvnx4sf (TARGET_SVE)
  4720. #define HAVE_aarch64_pred_divvnx2df (TARGET_SVE)
  4721. #define HAVE_aarch64_pred_mulxvnx2df (TARGET_SVE)
  4722. #define HAVE_aarch64_pred_addvnx8hf (TARGET_SVE)
  4723. #define HAVE_aarch64_pred_addvnx4sf (TARGET_SVE)
  4724. #define HAVE_aarch64_pred_addvnx2df (TARGET_SVE)
  4725. #define HAVE_aarch64_pred_cadd90vnx8hf (TARGET_SVE)
  4726. #define HAVE_aarch64_pred_cadd270vnx8hf (TARGET_SVE)
  4727. #define HAVE_aarch64_pred_cadd90vnx4sf (TARGET_SVE)
  4728. #define HAVE_aarch64_pred_cadd270vnx4sf (TARGET_SVE)
  4729. #define HAVE_aarch64_pred_cadd90vnx2df (TARGET_SVE)
  4730. #define HAVE_aarch64_pred_cadd270vnx2df (TARGET_SVE)
  4731. #define HAVE_aarch64_pred_subvnx8hf (TARGET_SVE)
  4732. #define HAVE_aarch64_pred_subvnx4sf (TARGET_SVE)
  4733. #define HAVE_aarch64_pred_subvnx2df (TARGET_SVE)
  4734. #define HAVE_aarch64_pred_mulvnx8hf (TARGET_SVE)
  4735. #define HAVE_aarch64_pred_mulvnx4sf (TARGET_SVE)
  4736. #define HAVE_aarch64_pred_mulvnx2df (TARGET_SVE)
  4737. #define HAVE_aarch64_mul_lane_vnx8hf (TARGET_SVE)
  4738. #define HAVE_aarch64_mul_lane_vnx4sf (TARGET_SVE)
  4739. #define HAVE_aarch64_mul_lane_vnx2df (TARGET_SVE)
  4740. #define HAVE_aarch64_pred_smax_nanvnx8hf (TARGET_SVE)
  4741. #define HAVE_aarch64_pred_smaxvnx8hf (TARGET_SVE)
  4742. #define HAVE_aarch64_pred_smin_nanvnx8hf (TARGET_SVE)
  4743. #define HAVE_aarch64_pred_sminvnx8hf (TARGET_SVE)
  4744. #define HAVE_aarch64_pred_smax_nanvnx4sf (TARGET_SVE)
  4745. #define HAVE_aarch64_pred_smaxvnx4sf (TARGET_SVE)
  4746. #define HAVE_aarch64_pred_smin_nanvnx4sf (TARGET_SVE)
  4747. #define HAVE_aarch64_pred_sminvnx4sf (TARGET_SVE)
  4748. #define HAVE_aarch64_pred_smax_nanvnx2df (TARGET_SVE)
  4749. #define HAVE_aarch64_pred_smaxvnx2df (TARGET_SVE)
  4750. #define HAVE_aarch64_pred_smin_nanvnx2df (TARGET_SVE)
  4751. #define HAVE_aarch64_pred_sminvnx2df (TARGET_SVE)
  4752. #define HAVE_andvnx16bi3 (TARGET_SVE)
  4753. #define HAVE_andvnx8bi3 (TARGET_SVE)
  4754. #define HAVE_andvnx4bi3 (TARGET_SVE)
  4755. #define HAVE_andvnx2bi3 (TARGET_SVE)
  4756. #define HAVE_aarch64_pred_andvnx16bi_z (TARGET_SVE)
  4757. #define HAVE_aarch64_pred_iorvnx16bi_z (TARGET_SVE)
  4758. #define HAVE_aarch64_pred_xorvnx16bi_z (TARGET_SVE)
  4759. #define HAVE_aarch64_pred_andvnx8bi_z (TARGET_SVE)
  4760. #define HAVE_aarch64_pred_iorvnx8bi_z (TARGET_SVE)
  4761. #define HAVE_aarch64_pred_xorvnx8bi_z (TARGET_SVE)
  4762. #define HAVE_aarch64_pred_andvnx4bi_z (TARGET_SVE)
  4763. #define HAVE_aarch64_pred_iorvnx4bi_z (TARGET_SVE)
  4764. #define HAVE_aarch64_pred_xorvnx4bi_z (TARGET_SVE)
  4765. #define HAVE_aarch64_pred_andvnx2bi_z (TARGET_SVE)
  4766. #define HAVE_aarch64_pred_iorvnx2bi_z (TARGET_SVE)
  4767. #define HAVE_aarch64_pred_xorvnx2bi_z (TARGET_SVE)
  4768. #define HAVE_aarch64_pred_bicvnx16bi_z (TARGET_SVE)
  4769. #define HAVE_aarch64_pred_ornvnx16bi_z (TARGET_SVE)
  4770. #define HAVE_aarch64_pred_bicvnx8bi_z (TARGET_SVE)
  4771. #define HAVE_aarch64_pred_ornvnx8bi_z (TARGET_SVE)
  4772. #define HAVE_aarch64_pred_bicvnx4bi_z (TARGET_SVE)
  4773. #define HAVE_aarch64_pred_ornvnx4bi_z (TARGET_SVE)
  4774. #define HAVE_aarch64_pred_bicvnx2bi_z (TARGET_SVE)
  4775. #define HAVE_aarch64_pred_ornvnx2bi_z (TARGET_SVE)
  4776. #define HAVE_aarch64_pred_norvnx16bi_z (TARGET_SVE)
  4777. #define HAVE_aarch64_pred_nandvnx16bi_z (TARGET_SVE)
  4778. #define HAVE_aarch64_pred_norvnx8bi_z (TARGET_SVE)
  4779. #define HAVE_aarch64_pred_nandvnx8bi_z (TARGET_SVE)
  4780. #define HAVE_aarch64_pred_norvnx4bi_z (TARGET_SVE)
  4781. #define HAVE_aarch64_pred_nandvnx4bi_z (TARGET_SVE)
  4782. #define HAVE_aarch64_pred_norvnx2bi_z (TARGET_SVE)
  4783. #define HAVE_aarch64_pred_nandvnx2bi_z (TARGET_SVE)
  4784. #define HAVE_aarch64_pred_fmavnx16qi (TARGET_SVE)
  4785. #define HAVE_aarch64_pred_fmavnx8hi (TARGET_SVE)
  4786. #define HAVE_aarch64_pred_fmavnx4si (TARGET_SVE)
  4787. #define HAVE_aarch64_pred_fmavnx2di (TARGET_SVE)
  4788. #define HAVE_aarch64_pred_fnmavnx16qi (TARGET_SVE)
  4789. #define HAVE_aarch64_pred_fnmavnx8hi (TARGET_SVE)
  4790. #define HAVE_aarch64_pred_fnmavnx4si (TARGET_SVE)
  4791. #define HAVE_aarch64_pred_fnmavnx2di (TARGET_SVE)
  4792. #define HAVE_sdot_prodvnx16qi (TARGET_SVE)
  4793. #define HAVE_udot_prodvnx16qi (TARGET_SVE)
  4794. #define HAVE_sdot_prodvnx8hi (TARGET_SVE)
  4795. #define HAVE_udot_prodvnx8hi (TARGET_SVE)
  4796. #define HAVE_aarch64_sdot_prod_lanevnx16qi (TARGET_SVE)
  4797. #define HAVE_aarch64_udot_prod_lanevnx16qi (TARGET_SVE)
  4798. #define HAVE_aarch64_sdot_prod_lanevnx8hi (TARGET_SVE)
  4799. #define HAVE_aarch64_udot_prod_lanevnx8hi (TARGET_SVE)
  4800. #define HAVE_aarch64_usdot_prodvnx16qi (TARGET_SVE_I8MM)
  4801. #define HAVE_aarch64_usdot_prod_lanevnx16qi (TARGET_SVE_I8MM)
  4802. #define HAVE_aarch64_sudot_prod_lanevnx16qi (TARGET_SVE_I8MM)
  4803. #define HAVE_aarch64_sve_add_smatmulvnx16qi (TARGET_SVE_I8MM)
  4804. #define HAVE_aarch64_sve_add_umatmulvnx16qi (TARGET_SVE_I8MM)
  4805. #define HAVE_aarch64_sve_add_usmatmulvnx16qi (TARGET_SVE_I8MM)
  4806. #define HAVE_aarch64_pred_fmavnx8hf (TARGET_SVE)
  4807. #define HAVE_aarch64_pred_fnmavnx8hf (TARGET_SVE)
  4808. #define HAVE_aarch64_pred_fnmsvnx8hf (TARGET_SVE)
  4809. #define HAVE_aarch64_pred_fmsvnx8hf (TARGET_SVE)
  4810. #define HAVE_aarch64_pred_fmavnx4sf (TARGET_SVE)
  4811. #define HAVE_aarch64_pred_fnmavnx4sf (TARGET_SVE)
  4812. #define HAVE_aarch64_pred_fnmsvnx4sf (TARGET_SVE)
  4813. #define HAVE_aarch64_pred_fmsvnx4sf (TARGET_SVE)
  4814. #define HAVE_aarch64_pred_fmavnx2df (TARGET_SVE)
  4815. #define HAVE_aarch64_pred_fnmavnx2df (TARGET_SVE)
  4816. #define HAVE_aarch64_pred_fnmsvnx2df (TARGET_SVE)
  4817. #define HAVE_aarch64_pred_fmsvnx2df (TARGET_SVE)
  4818. #define HAVE_aarch64_fma_lane_vnx8hf (TARGET_SVE)
  4819. #define HAVE_aarch64_fnma_lane_vnx8hf (TARGET_SVE)
  4820. #define HAVE_aarch64_fma_lane_vnx4sf (TARGET_SVE)
  4821. #define HAVE_aarch64_fnma_lane_vnx4sf (TARGET_SVE)
  4822. #define HAVE_aarch64_fma_lane_vnx2df (TARGET_SVE)
  4823. #define HAVE_aarch64_fnma_lane_vnx2df (TARGET_SVE)
  4824. #define HAVE_aarch64_pred_fcmlavnx8hf (TARGET_SVE)
  4825. #define HAVE_aarch64_pred_fcmla90vnx8hf (TARGET_SVE)
  4826. #define HAVE_aarch64_pred_fcmla180vnx8hf (TARGET_SVE)
  4827. #define HAVE_aarch64_pred_fcmla270vnx8hf (TARGET_SVE)
  4828. #define HAVE_aarch64_pred_fcmlavnx4sf (TARGET_SVE)
  4829. #define HAVE_aarch64_pred_fcmla90vnx4sf (TARGET_SVE)
  4830. #define HAVE_aarch64_pred_fcmla180vnx4sf (TARGET_SVE)
  4831. #define HAVE_aarch64_pred_fcmla270vnx4sf (TARGET_SVE)
  4832. #define HAVE_aarch64_pred_fcmlavnx2df (TARGET_SVE)
  4833. #define HAVE_aarch64_pred_fcmla90vnx2df (TARGET_SVE)
  4834. #define HAVE_aarch64_pred_fcmla180vnx2df (TARGET_SVE)
  4835. #define HAVE_aarch64_pred_fcmla270vnx2df (TARGET_SVE)
  4836. #define HAVE_aarch64_fcmla_lane_vnx8hf (TARGET_SVE)
  4837. #define HAVE_aarch64_fcmla90_lane_vnx8hf (TARGET_SVE)
  4838. #define HAVE_aarch64_fcmla180_lane_vnx8hf (TARGET_SVE)
  4839. #define HAVE_aarch64_fcmla270_lane_vnx8hf (TARGET_SVE)
  4840. #define HAVE_aarch64_fcmla_lane_vnx4sf (TARGET_SVE)
  4841. #define HAVE_aarch64_fcmla90_lane_vnx4sf (TARGET_SVE)
  4842. #define HAVE_aarch64_fcmla180_lane_vnx4sf (TARGET_SVE)
  4843. #define HAVE_aarch64_fcmla270_lane_vnx4sf (TARGET_SVE)
  4844. #define HAVE_aarch64_sve_tmadvnx8hf (TARGET_SVE)
  4845. #define HAVE_aarch64_sve_tmadvnx4sf (TARGET_SVE)
  4846. #define HAVE_aarch64_sve_tmadvnx2df (TARGET_SVE)
  4847. #define HAVE_aarch64_sve_bfdotvnx4sf (TARGET_SVE_BF16)
  4848. #define HAVE_aarch64_sve_bfmlalbvnx4sf (TARGET_SVE_BF16)
  4849. #define HAVE_aarch64_sve_bfmlaltvnx4sf (TARGET_SVE_BF16)
  4850. #define HAVE_aarch64_sve_bfmmlavnx4sf (TARGET_SVE_BF16)
  4851. #define HAVE_aarch64_sve_bfdot_lanevnx4sf (TARGET_SVE_BF16)
  4852. #define HAVE_aarch64_sve_bfmlalb_lanevnx4sf (TARGET_SVE_BF16)
  4853. #define HAVE_aarch64_sve_bfmlalt_lanevnx4sf (TARGET_SVE_BF16)
  4854. #define HAVE_aarch64_sve_fmmlavnx4sf ((TARGET_SVE) && (TARGET_SVE_F32MM))
  4855. #define HAVE_aarch64_sve_fmmlavnx2df ((TARGET_SVE) && (TARGET_SVE_F64MM))
  4856. #define HAVE_aarch64_sel_dupvnx16qi (TARGET_SVE)
  4857. #define HAVE_aarch64_sel_dupvnx8hi (TARGET_SVE)
  4858. #define HAVE_aarch64_sel_dupvnx4si (TARGET_SVE)
  4859. #define HAVE_aarch64_sel_dupvnx2di (TARGET_SVE)
  4860. #define HAVE_aarch64_sel_dupvnx8bf (TARGET_SVE)
  4861. #define HAVE_aarch64_sel_dupvnx8hf (TARGET_SVE)
  4862. #define HAVE_aarch64_sel_dupvnx4sf (TARGET_SVE)
  4863. #define HAVE_aarch64_sel_dupvnx2df (TARGET_SVE)
  4864. #define HAVE_aarch64_pred_cmpltvnx16qi (TARGET_SVE)
  4865. #define HAVE_aarch64_pred_cmplevnx16qi (TARGET_SVE)
  4866. #define HAVE_aarch64_pred_cmpeqvnx16qi (TARGET_SVE)
  4867. #define HAVE_aarch64_pred_cmpnevnx16qi (TARGET_SVE)
  4868. #define HAVE_aarch64_pred_cmpgevnx16qi (TARGET_SVE)
  4869. #define HAVE_aarch64_pred_cmpgtvnx16qi (TARGET_SVE)
  4870. #define HAVE_aarch64_pred_cmplovnx16qi (TARGET_SVE)
  4871. #define HAVE_aarch64_pred_cmplsvnx16qi (TARGET_SVE)
  4872. #define HAVE_aarch64_pred_cmphsvnx16qi (TARGET_SVE)
  4873. #define HAVE_aarch64_pred_cmphivnx16qi (TARGET_SVE)
  4874. #define HAVE_aarch64_pred_cmpltvnx8hi (TARGET_SVE)
  4875. #define HAVE_aarch64_pred_cmplevnx8hi (TARGET_SVE)
  4876. #define HAVE_aarch64_pred_cmpeqvnx8hi (TARGET_SVE)
  4877. #define HAVE_aarch64_pred_cmpnevnx8hi (TARGET_SVE)
  4878. #define HAVE_aarch64_pred_cmpgevnx8hi (TARGET_SVE)
  4879. #define HAVE_aarch64_pred_cmpgtvnx8hi (TARGET_SVE)
  4880. #define HAVE_aarch64_pred_cmplovnx8hi (TARGET_SVE)
  4881. #define HAVE_aarch64_pred_cmplsvnx8hi (TARGET_SVE)
  4882. #define HAVE_aarch64_pred_cmphsvnx8hi (TARGET_SVE)
  4883. #define HAVE_aarch64_pred_cmphivnx8hi (TARGET_SVE)
  4884. #define HAVE_aarch64_pred_cmpltvnx4si (TARGET_SVE)
  4885. #define HAVE_aarch64_pred_cmplevnx4si (TARGET_SVE)
  4886. #define HAVE_aarch64_pred_cmpeqvnx4si (TARGET_SVE)
  4887. #define HAVE_aarch64_pred_cmpnevnx4si (TARGET_SVE)
  4888. #define HAVE_aarch64_pred_cmpgevnx4si (TARGET_SVE)
  4889. #define HAVE_aarch64_pred_cmpgtvnx4si (TARGET_SVE)
  4890. #define HAVE_aarch64_pred_cmplovnx4si (TARGET_SVE)
  4891. #define HAVE_aarch64_pred_cmplsvnx4si (TARGET_SVE)
  4892. #define HAVE_aarch64_pred_cmphsvnx4si (TARGET_SVE)
  4893. #define HAVE_aarch64_pred_cmphivnx4si (TARGET_SVE)
  4894. #define HAVE_aarch64_pred_cmpltvnx2di (TARGET_SVE)
  4895. #define HAVE_aarch64_pred_cmplevnx2di (TARGET_SVE)
  4896. #define HAVE_aarch64_pred_cmpeqvnx2di (TARGET_SVE)
  4897. #define HAVE_aarch64_pred_cmpnevnx2di (TARGET_SVE)
  4898. #define HAVE_aarch64_pred_cmpgevnx2di (TARGET_SVE)
  4899. #define HAVE_aarch64_pred_cmpgtvnx2di (TARGET_SVE)
  4900. #define HAVE_aarch64_pred_cmplovnx2di (TARGET_SVE)
  4901. #define HAVE_aarch64_pred_cmplsvnx2di (TARGET_SVE)
  4902. #define HAVE_aarch64_pred_cmphsvnx2di (TARGET_SVE)
  4903. #define HAVE_aarch64_pred_cmphivnx2di (TARGET_SVE)
  4904. #define HAVE_aarch64_pred_cmpeqvnx16qi_wide (TARGET_SVE)
  4905. #define HAVE_aarch64_pred_cmpgevnx16qi_wide (TARGET_SVE)
  4906. #define HAVE_aarch64_pred_cmpgtvnx16qi_wide (TARGET_SVE)
  4907. #define HAVE_aarch64_pred_cmphivnx16qi_wide (TARGET_SVE)
  4908. #define HAVE_aarch64_pred_cmphsvnx16qi_wide (TARGET_SVE)
  4909. #define HAVE_aarch64_pred_cmplevnx16qi_wide (TARGET_SVE)
  4910. #define HAVE_aarch64_pred_cmplovnx16qi_wide (TARGET_SVE)
  4911. #define HAVE_aarch64_pred_cmplsvnx16qi_wide (TARGET_SVE)
  4912. #define HAVE_aarch64_pred_cmpltvnx16qi_wide (TARGET_SVE)
  4913. #define HAVE_aarch64_pred_cmpnevnx16qi_wide (TARGET_SVE)
  4914. #define HAVE_aarch64_pred_cmpeqvnx8hi_wide (TARGET_SVE)
  4915. #define HAVE_aarch64_pred_cmpgevnx8hi_wide (TARGET_SVE)
  4916. #define HAVE_aarch64_pred_cmpgtvnx8hi_wide (TARGET_SVE)
  4917. #define HAVE_aarch64_pred_cmphivnx8hi_wide (TARGET_SVE)
  4918. #define HAVE_aarch64_pred_cmphsvnx8hi_wide (TARGET_SVE)
  4919. #define HAVE_aarch64_pred_cmplevnx8hi_wide (TARGET_SVE)
  4920. #define HAVE_aarch64_pred_cmplovnx8hi_wide (TARGET_SVE)
  4921. #define HAVE_aarch64_pred_cmplsvnx8hi_wide (TARGET_SVE)
  4922. #define HAVE_aarch64_pred_cmpltvnx8hi_wide (TARGET_SVE)
  4923. #define HAVE_aarch64_pred_cmpnevnx8hi_wide (TARGET_SVE)
  4924. #define HAVE_aarch64_pred_cmpeqvnx4si_wide (TARGET_SVE)
  4925. #define HAVE_aarch64_pred_cmpgevnx4si_wide (TARGET_SVE)
  4926. #define HAVE_aarch64_pred_cmpgtvnx4si_wide (TARGET_SVE)
  4927. #define HAVE_aarch64_pred_cmphivnx4si_wide (TARGET_SVE)
  4928. #define HAVE_aarch64_pred_cmphsvnx4si_wide (TARGET_SVE)
  4929. #define HAVE_aarch64_pred_cmplevnx4si_wide (TARGET_SVE)
  4930. #define HAVE_aarch64_pred_cmplovnx4si_wide (TARGET_SVE)
  4931. #define HAVE_aarch64_pred_cmplsvnx4si_wide (TARGET_SVE)
  4932. #define HAVE_aarch64_pred_cmpltvnx4si_wide (TARGET_SVE)
  4933. #define HAVE_aarch64_pred_cmpnevnx4si_wide (TARGET_SVE)
  4934. #define HAVE_while_lesivnx16bi (TARGET_SVE)
  4935. #define HAVE_while_ultsivnx16bi (TARGET_SVE)
  4936. #define HAVE_while_ulesivnx16bi (TARGET_SVE)
  4937. #define HAVE_while_ltsivnx16bi (TARGET_SVE)
  4938. #define HAVE_while_gesivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4939. #define HAVE_while_gtsivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4940. #define HAVE_while_ugtsivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4941. #define HAVE_while_ugesivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4942. #define HAVE_while_rwsivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4943. #define HAVE_while_wrsivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4944. #define HAVE_while_lesivnx8bi (TARGET_SVE)
  4945. #define HAVE_while_ultsivnx8bi (TARGET_SVE)
  4946. #define HAVE_while_ulesivnx8bi (TARGET_SVE)
  4947. #define HAVE_while_ltsivnx8bi (TARGET_SVE)
  4948. #define HAVE_while_gesivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4949. #define HAVE_while_gtsivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4950. #define HAVE_while_ugtsivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4951. #define HAVE_while_ugesivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4952. #define HAVE_while_rwsivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4953. #define HAVE_while_wrsivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4954. #define HAVE_while_lesivnx4bi (TARGET_SVE)
  4955. #define HAVE_while_ultsivnx4bi (TARGET_SVE)
  4956. #define HAVE_while_ulesivnx4bi (TARGET_SVE)
  4957. #define HAVE_while_ltsivnx4bi (TARGET_SVE)
  4958. #define HAVE_while_gesivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4959. #define HAVE_while_gtsivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4960. #define HAVE_while_ugtsivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4961. #define HAVE_while_ugesivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4962. #define HAVE_while_rwsivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4963. #define HAVE_while_wrsivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4964. #define HAVE_while_lesivnx2bi (TARGET_SVE)
  4965. #define HAVE_while_ultsivnx2bi (TARGET_SVE)
  4966. #define HAVE_while_ulesivnx2bi (TARGET_SVE)
  4967. #define HAVE_while_ltsivnx2bi (TARGET_SVE)
  4968. #define HAVE_while_gesivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4969. #define HAVE_while_gtsivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4970. #define HAVE_while_ugtsivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4971. #define HAVE_while_ugesivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4972. #define HAVE_while_rwsivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4973. #define HAVE_while_wrsivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  4974. #define HAVE_while_ledivnx16bi (TARGET_SVE)
  4975. #define HAVE_while_ultdivnx16bi (TARGET_SVE)
  4976. #define HAVE_while_uledivnx16bi (TARGET_SVE)
  4977. #define HAVE_while_ltdivnx16bi (TARGET_SVE)
  4978. #define HAVE_while_gedivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4979. #define HAVE_while_gtdivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4980. #define HAVE_while_ugtdivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4981. #define HAVE_while_ugedivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4982. #define HAVE_while_rwdivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4983. #define HAVE_while_wrdivnx16bi ((TARGET_SVE) && (TARGET_SVE2))
  4984. #define HAVE_while_ledivnx8bi (TARGET_SVE)
  4985. #define HAVE_while_ultdivnx8bi (TARGET_SVE)
  4986. #define HAVE_while_uledivnx8bi (TARGET_SVE)
  4987. #define HAVE_while_ltdivnx8bi (TARGET_SVE)
  4988. #define HAVE_while_gedivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4989. #define HAVE_while_gtdivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4990. #define HAVE_while_ugtdivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4991. #define HAVE_while_ugedivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4992. #define HAVE_while_rwdivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4993. #define HAVE_while_wrdivnx8bi ((TARGET_SVE) && (TARGET_SVE2))
  4994. #define HAVE_while_ledivnx4bi (TARGET_SVE)
  4995. #define HAVE_while_ultdivnx4bi (TARGET_SVE)
  4996. #define HAVE_while_uledivnx4bi (TARGET_SVE)
  4997. #define HAVE_while_ltdivnx4bi (TARGET_SVE)
  4998. #define HAVE_while_gedivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  4999. #define HAVE_while_gtdivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  5000. #define HAVE_while_ugtdivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  5001. #define HAVE_while_ugedivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  5002. #define HAVE_while_rwdivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  5003. #define HAVE_while_wrdivnx4bi ((TARGET_SVE) && (TARGET_SVE2))
  5004. #define HAVE_while_ledivnx2bi (TARGET_SVE)
  5005. #define HAVE_while_ultdivnx2bi (TARGET_SVE)
  5006. #define HAVE_while_uledivnx2bi (TARGET_SVE)
  5007. #define HAVE_while_ltdivnx2bi (TARGET_SVE)
  5008. #define HAVE_while_gedivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5009. #define HAVE_while_gtdivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5010. #define HAVE_while_ugtdivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5011. #define HAVE_while_ugedivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5012. #define HAVE_while_rwdivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5013. #define HAVE_while_wrdivnx2bi ((TARGET_SVE) && (TARGET_SVE2))
  5014. #define HAVE_while_lesivnx16bi_ptest (TARGET_SVE)
  5015. #define HAVE_while_ultsivnx16bi_ptest (TARGET_SVE)
  5016. #define HAVE_while_ulesivnx16bi_ptest (TARGET_SVE)
  5017. #define HAVE_while_ltsivnx16bi_ptest (TARGET_SVE)
  5018. #define HAVE_while_gesivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5019. #define HAVE_while_gtsivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5020. #define HAVE_while_ugtsivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5021. #define HAVE_while_ugesivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5022. #define HAVE_while_rwsivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5023. #define HAVE_while_wrsivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5024. #define HAVE_while_lesivnx8bi_ptest (TARGET_SVE)
  5025. #define HAVE_while_ultsivnx8bi_ptest (TARGET_SVE)
  5026. #define HAVE_while_ulesivnx8bi_ptest (TARGET_SVE)
  5027. #define HAVE_while_ltsivnx8bi_ptest (TARGET_SVE)
  5028. #define HAVE_while_gesivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5029. #define HAVE_while_gtsivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5030. #define HAVE_while_ugtsivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5031. #define HAVE_while_ugesivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5032. #define HAVE_while_rwsivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5033. #define HAVE_while_wrsivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5034. #define HAVE_while_lesivnx4bi_ptest (TARGET_SVE)
  5035. #define HAVE_while_ultsivnx4bi_ptest (TARGET_SVE)
  5036. #define HAVE_while_ulesivnx4bi_ptest (TARGET_SVE)
  5037. #define HAVE_while_ltsivnx4bi_ptest (TARGET_SVE)
  5038. #define HAVE_while_gesivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5039. #define HAVE_while_gtsivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5040. #define HAVE_while_ugtsivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5041. #define HAVE_while_ugesivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5042. #define HAVE_while_rwsivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5043. #define HAVE_while_wrsivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5044. #define HAVE_while_lesivnx2bi_ptest (TARGET_SVE)
  5045. #define HAVE_while_ultsivnx2bi_ptest (TARGET_SVE)
  5046. #define HAVE_while_ulesivnx2bi_ptest (TARGET_SVE)
  5047. #define HAVE_while_ltsivnx2bi_ptest (TARGET_SVE)
  5048. #define HAVE_while_gesivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5049. #define HAVE_while_gtsivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5050. #define HAVE_while_ugtsivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5051. #define HAVE_while_ugesivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5052. #define HAVE_while_rwsivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5053. #define HAVE_while_wrsivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5054. #define HAVE_while_ledivnx16bi_ptest (TARGET_SVE)
  5055. #define HAVE_while_ultdivnx16bi_ptest (TARGET_SVE)
  5056. #define HAVE_while_uledivnx16bi_ptest (TARGET_SVE)
  5057. #define HAVE_while_ltdivnx16bi_ptest (TARGET_SVE)
  5058. #define HAVE_while_gedivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5059. #define HAVE_while_gtdivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5060. #define HAVE_while_ugtdivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5061. #define HAVE_while_ugedivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5062. #define HAVE_while_rwdivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5063. #define HAVE_while_wrdivnx16bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5064. #define HAVE_while_ledivnx8bi_ptest (TARGET_SVE)
  5065. #define HAVE_while_ultdivnx8bi_ptest (TARGET_SVE)
  5066. #define HAVE_while_uledivnx8bi_ptest (TARGET_SVE)
  5067. #define HAVE_while_ltdivnx8bi_ptest (TARGET_SVE)
  5068. #define HAVE_while_gedivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5069. #define HAVE_while_gtdivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5070. #define HAVE_while_ugtdivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5071. #define HAVE_while_ugedivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5072. #define HAVE_while_rwdivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5073. #define HAVE_while_wrdivnx8bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5074. #define HAVE_while_ledivnx4bi_ptest (TARGET_SVE)
  5075. #define HAVE_while_ultdivnx4bi_ptest (TARGET_SVE)
  5076. #define HAVE_while_uledivnx4bi_ptest (TARGET_SVE)
  5077. #define HAVE_while_ltdivnx4bi_ptest (TARGET_SVE)
  5078. #define HAVE_while_gedivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5079. #define HAVE_while_gtdivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5080. #define HAVE_while_ugtdivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5081. #define HAVE_while_ugedivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5082. #define HAVE_while_rwdivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5083. #define HAVE_while_wrdivnx4bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5084. #define HAVE_while_ledivnx2bi_ptest (TARGET_SVE)
  5085. #define HAVE_while_ultdivnx2bi_ptest (TARGET_SVE)
  5086. #define HAVE_while_uledivnx2bi_ptest (TARGET_SVE)
  5087. #define HAVE_while_ltdivnx2bi_ptest (TARGET_SVE)
  5088. #define HAVE_while_gedivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5089. #define HAVE_while_gtdivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5090. #define HAVE_while_ugtdivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5091. #define HAVE_while_ugedivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5092. #define HAVE_while_rwdivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5093. #define HAVE_while_wrdivnx2bi_ptest ((TARGET_SVE) && (TARGET_SVE2))
  5094. #define HAVE_aarch64_pred_fcmeqvnx8hf (TARGET_SVE)
  5095. #define HAVE_aarch64_pred_fcmgevnx8hf (TARGET_SVE)
  5096. #define HAVE_aarch64_pred_fcmgtvnx8hf (TARGET_SVE)
  5097. #define HAVE_aarch64_pred_fcmlevnx8hf (TARGET_SVE)
  5098. #define HAVE_aarch64_pred_fcmltvnx8hf (TARGET_SVE)
  5099. #define HAVE_aarch64_pred_fcmnevnx8hf (TARGET_SVE)
  5100. #define HAVE_aarch64_pred_fcmeqvnx4sf (TARGET_SVE)
  5101. #define HAVE_aarch64_pred_fcmgevnx4sf (TARGET_SVE)
  5102. #define HAVE_aarch64_pred_fcmgtvnx4sf (TARGET_SVE)
  5103. #define HAVE_aarch64_pred_fcmlevnx4sf (TARGET_SVE)
  5104. #define HAVE_aarch64_pred_fcmltvnx4sf (TARGET_SVE)
  5105. #define HAVE_aarch64_pred_fcmnevnx4sf (TARGET_SVE)
  5106. #define HAVE_aarch64_pred_fcmeqvnx2df (TARGET_SVE)
  5107. #define HAVE_aarch64_pred_fcmgevnx2df (TARGET_SVE)
  5108. #define HAVE_aarch64_pred_fcmgtvnx2df (TARGET_SVE)
  5109. #define HAVE_aarch64_pred_fcmlevnx2df (TARGET_SVE)
  5110. #define HAVE_aarch64_pred_fcmltvnx2df (TARGET_SVE)
  5111. #define HAVE_aarch64_pred_fcmnevnx2df (TARGET_SVE)
  5112. #define HAVE_aarch64_pred_fcmuovnx8hf (TARGET_SVE)
  5113. #define HAVE_aarch64_pred_fcmuovnx4sf (TARGET_SVE)
  5114. #define HAVE_aarch64_pred_fcmuovnx2df (TARGET_SVE)
  5115. #define HAVE_vcond_mask_vnx16bivnx16bi (TARGET_SVE)
  5116. #define HAVE_vcond_mask_vnx8bivnx8bi (TARGET_SVE)
  5117. #define HAVE_vcond_mask_vnx4bivnx4bi (TARGET_SVE)
  5118. #define HAVE_vcond_mask_vnx2bivnx2bi (TARGET_SVE)
  5119. #define HAVE_aarch64_ptestvnx16bi (TARGET_SVE)
  5120. #define HAVE_aarch64_ptestvnx8bi (TARGET_SVE)
  5121. #define HAVE_aarch64_ptestvnx4bi (TARGET_SVE)
  5122. #define HAVE_aarch64_ptestvnx2bi (TARGET_SVE)
  5123. #define HAVE_fold_extract_after_last_vnx16qi (TARGET_SVE)
  5124. #define HAVE_fold_extract_last_vnx16qi (TARGET_SVE)
  5125. #define HAVE_fold_extract_after_last_vnx8hi (TARGET_SVE)
  5126. #define HAVE_fold_extract_last_vnx8hi (TARGET_SVE)
  5127. #define HAVE_fold_extract_after_last_vnx4si (TARGET_SVE)
  5128. #define HAVE_fold_extract_last_vnx4si (TARGET_SVE)
  5129. #define HAVE_fold_extract_after_last_vnx2di (TARGET_SVE)
  5130. #define HAVE_fold_extract_last_vnx2di (TARGET_SVE)
  5131. #define HAVE_fold_extract_after_last_vnx8bf (TARGET_SVE)
  5132. #define HAVE_fold_extract_last_vnx8bf (TARGET_SVE)
  5133. #define HAVE_fold_extract_after_last_vnx8hf (TARGET_SVE)
  5134. #define HAVE_fold_extract_last_vnx8hf (TARGET_SVE)
  5135. #define HAVE_fold_extract_after_last_vnx4sf (TARGET_SVE)
  5136. #define HAVE_fold_extract_last_vnx4sf (TARGET_SVE)
  5137. #define HAVE_fold_extract_after_last_vnx2df (TARGET_SVE)
  5138. #define HAVE_fold_extract_last_vnx2df (TARGET_SVE)
  5139. #define HAVE_aarch64_fold_extract_vector_after_last_vnx16qi (TARGET_SVE)
  5140. #define HAVE_aarch64_fold_extract_vector_last_vnx16qi (TARGET_SVE)
  5141. #define HAVE_aarch64_fold_extract_vector_after_last_vnx8hi (TARGET_SVE)
  5142. #define HAVE_aarch64_fold_extract_vector_last_vnx8hi (TARGET_SVE)
  5143. #define HAVE_aarch64_fold_extract_vector_after_last_vnx4si (TARGET_SVE)
  5144. #define HAVE_aarch64_fold_extract_vector_last_vnx4si (TARGET_SVE)
  5145. #define HAVE_aarch64_fold_extract_vector_after_last_vnx2di (TARGET_SVE)
  5146. #define HAVE_aarch64_fold_extract_vector_last_vnx2di (TARGET_SVE)
  5147. #define HAVE_aarch64_fold_extract_vector_after_last_vnx8bf (TARGET_SVE)
  5148. #define HAVE_aarch64_fold_extract_vector_last_vnx8bf (TARGET_SVE)
  5149. #define HAVE_aarch64_fold_extract_vector_after_last_vnx8hf (TARGET_SVE)
  5150. #define HAVE_aarch64_fold_extract_vector_last_vnx8hf (TARGET_SVE)
  5151. #define HAVE_aarch64_fold_extract_vector_after_last_vnx4sf (TARGET_SVE)
  5152. #define HAVE_aarch64_fold_extract_vector_last_vnx4sf (TARGET_SVE)
  5153. #define HAVE_aarch64_fold_extract_vector_after_last_vnx2df (TARGET_SVE)
  5154. #define HAVE_aarch64_fold_extract_vector_last_vnx2df (TARGET_SVE)
  5155. #define HAVE_aarch64_pred_reduc_sadd_vnx16qi (TARGET_SVE && 32 >= 8)
  5156. #define HAVE_aarch64_pred_reduc_uadd_vnx16qi (TARGET_SVE && 64 >= 8)
  5157. #define HAVE_aarch64_pred_reduc_sadd_vnx8hi (TARGET_SVE && 32 >= 16)
  5158. #define HAVE_aarch64_pred_reduc_uadd_vnx8hi (TARGET_SVE && 64 >= 16)
  5159. #define HAVE_aarch64_pred_reduc_sadd_vnx4si (TARGET_SVE && 32 >= 32)
  5160. #define HAVE_aarch64_pred_reduc_uadd_vnx4si (TARGET_SVE && 64 >= 32)
  5161. #define HAVE_aarch64_pred_reduc_uadd_vnx2di (TARGET_SVE && 64 >= 64)
  5162. #define HAVE_aarch64_pred_reduc_and_vnx16qi (TARGET_SVE)
  5163. #define HAVE_aarch64_pred_reduc_ior_vnx16qi (TARGET_SVE)
  5164. #define HAVE_aarch64_pred_reduc_smax_vnx16qi (TARGET_SVE)
  5165. #define HAVE_aarch64_pred_reduc_smin_vnx16qi (TARGET_SVE)
  5166. #define HAVE_aarch64_pred_reduc_umax_vnx16qi (TARGET_SVE)
  5167. #define HAVE_aarch64_pred_reduc_umin_vnx16qi (TARGET_SVE)
  5168. #define HAVE_aarch64_pred_reduc_xor_vnx16qi (TARGET_SVE)
  5169. #define HAVE_aarch64_pred_reduc_and_vnx8hi (TARGET_SVE)
  5170. #define HAVE_aarch64_pred_reduc_ior_vnx8hi (TARGET_SVE)
  5171. #define HAVE_aarch64_pred_reduc_smax_vnx8hi (TARGET_SVE)
  5172. #define HAVE_aarch64_pred_reduc_smin_vnx8hi (TARGET_SVE)
  5173. #define HAVE_aarch64_pred_reduc_umax_vnx8hi (TARGET_SVE)
  5174. #define HAVE_aarch64_pred_reduc_umin_vnx8hi (TARGET_SVE)
  5175. #define HAVE_aarch64_pred_reduc_xor_vnx8hi (TARGET_SVE)
  5176. #define HAVE_aarch64_pred_reduc_and_vnx4si (TARGET_SVE)
  5177. #define HAVE_aarch64_pred_reduc_ior_vnx4si (TARGET_SVE)
  5178. #define HAVE_aarch64_pred_reduc_smax_vnx4si (TARGET_SVE)
  5179. #define HAVE_aarch64_pred_reduc_smin_vnx4si (TARGET_SVE)
  5180. #define HAVE_aarch64_pred_reduc_umax_vnx4si (TARGET_SVE)
  5181. #define HAVE_aarch64_pred_reduc_umin_vnx4si (TARGET_SVE)
  5182. #define HAVE_aarch64_pred_reduc_xor_vnx4si (TARGET_SVE)
  5183. #define HAVE_aarch64_pred_reduc_and_vnx2di (TARGET_SVE)
  5184. #define HAVE_aarch64_pred_reduc_ior_vnx2di (TARGET_SVE)
  5185. #define HAVE_aarch64_pred_reduc_smax_vnx2di (TARGET_SVE)
  5186. #define HAVE_aarch64_pred_reduc_smin_vnx2di (TARGET_SVE)
  5187. #define HAVE_aarch64_pred_reduc_umax_vnx2di (TARGET_SVE)
  5188. #define HAVE_aarch64_pred_reduc_umin_vnx2di (TARGET_SVE)
  5189. #define HAVE_aarch64_pred_reduc_xor_vnx2di (TARGET_SVE)
  5190. #define HAVE_aarch64_pred_reduc_plus_vnx8hf (TARGET_SVE)
  5191. #define HAVE_aarch64_pred_reduc_smax_nan_vnx8hf (TARGET_SVE)
  5192. #define HAVE_aarch64_pred_reduc_smax_vnx8hf (TARGET_SVE)
  5193. #define HAVE_aarch64_pred_reduc_smin_nan_vnx8hf (TARGET_SVE)
  5194. #define HAVE_aarch64_pred_reduc_smin_vnx8hf (TARGET_SVE)
  5195. #define HAVE_aarch64_pred_reduc_plus_vnx4sf (TARGET_SVE)
  5196. #define HAVE_aarch64_pred_reduc_smax_nan_vnx4sf (TARGET_SVE)
  5197. #define HAVE_aarch64_pred_reduc_smax_vnx4sf (TARGET_SVE)
  5198. #define HAVE_aarch64_pred_reduc_smin_nan_vnx4sf (TARGET_SVE)
  5199. #define HAVE_aarch64_pred_reduc_smin_vnx4sf (TARGET_SVE)
  5200. #define HAVE_aarch64_pred_reduc_plus_vnx2df (TARGET_SVE)
  5201. #define HAVE_aarch64_pred_reduc_smax_nan_vnx2df (TARGET_SVE)
  5202. #define HAVE_aarch64_pred_reduc_smax_vnx2df (TARGET_SVE)
  5203. #define HAVE_aarch64_pred_reduc_smin_nan_vnx2df (TARGET_SVE)
  5204. #define HAVE_aarch64_pred_reduc_smin_vnx2df (TARGET_SVE)
  5205. #define HAVE_mask_fold_left_plus_vnx8hf (TARGET_SVE)
  5206. #define HAVE_mask_fold_left_plus_vnx4sf (TARGET_SVE)
  5207. #define HAVE_mask_fold_left_plus_vnx2df (TARGET_SVE)
  5208. #define HAVE_aarch64_sve_tblvnx16qi (TARGET_SVE)
  5209. #define HAVE_aarch64_sve_tblvnx8hi (TARGET_SVE)
  5210. #define HAVE_aarch64_sve_tblvnx4si (TARGET_SVE)
  5211. #define HAVE_aarch64_sve_tblvnx2di (TARGET_SVE)
  5212. #define HAVE_aarch64_sve_tblvnx8bf (TARGET_SVE)
  5213. #define HAVE_aarch64_sve_tblvnx8hf (TARGET_SVE)
  5214. #define HAVE_aarch64_sve_tblvnx4sf (TARGET_SVE)
  5215. #define HAVE_aarch64_sve_tblvnx2df (TARGET_SVE)
  5216. #define HAVE_aarch64_sve_compactvnx4si (TARGET_SVE)
  5217. #define HAVE_aarch64_sve_compactvnx2di (TARGET_SVE)
  5218. #define HAVE_aarch64_sve_compactvnx4sf (TARGET_SVE)
  5219. #define HAVE_aarch64_sve_compactvnx2df (TARGET_SVE)
  5220. #define HAVE_aarch64_sve_dup_lanevnx16qi (TARGET_SVE \
  5221. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (QImode), 0, 63))
  5222. #define HAVE_aarch64_sve_dup_lanevnx8hi (TARGET_SVE \
  5223. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HImode), 0, 63))
  5224. #define HAVE_aarch64_sve_dup_lanevnx4si (TARGET_SVE \
  5225. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SImode), 0, 63))
  5226. #define HAVE_aarch64_sve_dup_lanevnx2di (TARGET_SVE \
  5227. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DImode), 0, 63))
  5228. #define HAVE_aarch64_sve_dup_lanevnx8bf (TARGET_SVE \
  5229. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (BFmode), 0, 63))
  5230. #define HAVE_aarch64_sve_dup_lanevnx8hf (TARGET_SVE \
  5231. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (HFmode), 0, 63))
  5232. #define HAVE_aarch64_sve_dup_lanevnx4sf (TARGET_SVE \
  5233. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (SFmode), 0, 63))
  5234. #define HAVE_aarch64_sve_dup_lanevnx2df (TARGET_SVE \
  5235. && IN_RANGE (INTVAL (operands[2]) * GET_MODE_SIZE (DFmode), 0, 63))
  5236. #define HAVE_aarch64_sve_dupq_lanevnx16qi (TARGET_SVE \
  5237. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5238. * GET_MODE_SIZE (QImode)) % 16 == 0 \
  5239. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5240. * GET_MODE_SIZE (QImode), 0, 63))
  5241. #define HAVE_aarch64_sve_dupq_lanevnx8hi (TARGET_SVE \
  5242. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5243. * GET_MODE_SIZE (HImode)) % 16 == 0 \
  5244. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5245. * GET_MODE_SIZE (HImode), 0, 63))
  5246. #define HAVE_aarch64_sve_dupq_lanevnx4si (TARGET_SVE \
  5247. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5248. * GET_MODE_SIZE (SImode)) % 16 == 0 \
  5249. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5250. * GET_MODE_SIZE (SImode), 0, 63))
  5251. #define HAVE_aarch64_sve_dupq_lanevnx2di (TARGET_SVE \
  5252. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5253. * GET_MODE_SIZE (DImode)) % 16 == 0 \
  5254. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5255. * GET_MODE_SIZE (DImode), 0, 63))
  5256. #define HAVE_aarch64_sve_dupq_lanevnx8bf (TARGET_SVE \
  5257. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5258. * GET_MODE_SIZE (BFmode)) % 16 == 0 \
  5259. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5260. * GET_MODE_SIZE (BFmode), 0, 63))
  5261. #define HAVE_aarch64_sve_dupq_lanevnx8hf (TARGET_SVE \
  5262. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5263. * GET_MODE_SIZE (HFmode)) % 16 == 0 \
  5264. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5265. * GET_MODE_SIZE (HFmode), 0, 63))
  5266. #define HAVE_aarch64_sve_dupq_lanevnx4sf (TARGET_SVE \
  5267. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5268. * GET_MODE_SIZE (SFmode)) % 16 == 0 \
  5269. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5270. * GET_MODE_SIZE (SFmode), 0, 63))
  5271. #define HAVE_aarch64_sve_dupq_lanevnx2df (TARGET_SVE \
  5272. && (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5273. * GET_MODE_SIZE (DFmode)) % 16 == 0 \
  5274. && IN_RANGE (INTVAL (XVECEXP (operands[2], 0, 0)) \
  5275. * GET_MODE_SIZE (DFmode), 0, 63))
  5276. #define HAVE_aarch64_sve_revvnx16qi (TARGET_SVE)
  5277. #define HAVE_aarch64_sve_revvnx8hi (TARGET_SVE)
  5278. #define HAVE_aarch64_sve_revvnx4si (TARGET_SVE)
  5279. #define HAVE_aarch64_sve_revvnx2di (TARGET_SVE)
  5280. #define HAVE_aarch64_sve_revvnx8bf (TARGET_SVE)
  5281. #define HAVE_aarch64_sve_revvnx8hf (TARGET_SVE)
  5282. #define HAVE_aarch64_sve_revvnx4sf (TARGET_SVE)
  5283. #define HAVE_aarch64_sve_revvnx2df (TARGET_SVE)
  5284. #define HAVE_aarch64_sve_splicevnx16qi (TARGET_SVE)
  5285. #define HAVE_aarch64_sve_splicevnx8hi (TARGET_SVE)
  5286. #define HAVE_aarch64_sve_splicevnx4si (TARGET_SVE)
  5287. #define HAVE_aarch64_sve_splicevnx2di (TARGET_SVE)
  5288. #define HAVE_aarch64_sve_splicevnx8bf (TARGET_SVE)
  5289. #define HAVE_aarch64_sve_splicevnx8hf (TARGET_SVE)
  5290. #define HAVE_aarch64_sve_splicevnx4sf (TARGET_SVE)
  5291. #define HAVE_aarch64_sve_splicevnx2df (TARGET_SVE)
  5292. #define HAVE_aarch64_sve_zip1vnx16qi (TARGET_SVE)
  5293. #define HAVE_aarch64_sve_zip2vnx16qi (TARGET_SVE)
  5294. #define HAVE_aarch64_sve_trn1vnx16qi (TARGET_SVE)
  5295. #define HAVE_aarch64_sve_trn2vnx16qi (TARGET_SVE)
  5296. #define HAVE_aarch64_sve_uzp1vnx16qi (TARGET_SVE)
  5297. #define HAVE_aarch64_sve_uzp2vnx16qi (TARGET_SVE)
  5298. #define HAVE_aarch64_sve_zip1vnx8hi (TARGET_SVE)
  5299. #define HAVE_aarch64_sve_zip2vnx8hi (TARGET_SVE)
  5300. #define HAVE_aarch64_sve_trn1vnx8hi (TARGET_SVE)
  5301. #define HAVE_aarch64_sve_trn2vnx8hi (TARGET_SVE)
  5302. #define HAVE_aarch64_sve_uzp1vnx8hi (TARGET_SVE)
  5303. #define HAVE_aarch64_sve_uzp2vnx8hi (TARGET_SVE)
  5304. #define HAVE_aarch64_sve_zip1vnx4si (TARGET_SVE)
  5305. #define HAVE_aarch64_sve_zip2vnx4si (TARGET_SVE)
  5306. #define HAVE_aarch64_sve_trn1vnx4si (TARGET_SVE)
  5307. #define HAVE_aarch64_sve_trn2vnx4si (TARGET_SVE)
  5308. #define HAVE_aarch64_sve_uzp1vnx4si (TARGET_SVE)
  5309. #define HAVE_aarch64_sve_uzp2vnx4si (TARGET_SVE)
  5310. #define HAVE_aarch64_sve_zip1vnx2di (TARGET_SVE)
  5311. #define HAVE_aarch64_sve_zip2vnx2di (TARGET_SVE)
  5312. #define HAVE_aarch64_sve_trn1vnx2di (TARGET_SVE)
  5313. #define HAVE_aarch64_sve_trn2vnx2di (TARGET_SVE)
  5314. #define HAVE_aarch64_sve_uzp1vnx2di (TARGET_SVE)
  5315. #define HAVE_aarch64_sve_uzp2vnx2di (TARGET_SVE)
  5316. #define HAVE_aarch64_sve_zip1vnx8bf (TARGET_SVE)
  5317. #define HAVE_aarch64_sve_zip2vnx8bf (TARGET_SVE)
  5318. #define HAVE_aarch64_sve_trn1vnx8bf (TARGET_SVE)
  5319. #define HAVE_aarch64_sve_trn2vnx8bf (TARGET_SVE)
  5320. #define HAVE_aarch64_sve_uzp1vnx8bf (TARGET_SVE)
  5321. #define HAVE_aarch64_sve_uzp2vnx8bf (TARGET_SVE)
  5322. #define HAVE_aarch64_sve_zip1vnx8hf (TARGET_SVE)
  5323. #define HAVE_aarch64_sve_zip2vnx8hf (TARGET_SVE)
  5324. #define HAVE_aarch64_sve_trn1vnx8hf (TARGET_SVE)
  5325. #define HAVE_aarch64_sve_trn2vnx8hf (TARGET_SVE)
  5326. #define HAVE_aarch64_sve_uzp1vnx8hf (TARGET_SVE)
  5327. #define HAVE_aarch64_sve_uzp2vnx8hf (TARGET_SVE)
  5328. #define HAVE_aarch64_sve_zip1vnx4sf (TARGET_SVE)
  5329. #define HAVE_aarch64_sve_zip2vnx4sf (TARGET_SVE)
  5330. #define HAVE_aarch64_sve_trn1vnx4sf (TARGET_SVE)
  5331. #define HAVE_aarch64_sve_trn2vnx4sf (TARGET_SVE)
  5332. #define HAVE_aarch64_sve_uzp1vnx4sf (TARGET_SVE)
  5333. #define HAVE_aarch64_sve_uzp2vnx4sf (TARGET_SVE)
  5334. #define HAVE_aarch64_sve_zip1vnx2df (TARGET_SVE)
  5335. #define HAVE_aarch64_sve_zip2vnx2df (TARGET_SVE)
  5336. #define HAVE_aarch64_sve_trn1vnx2df (TARGET_SVE)
  5337. #define HAVE_aarch64_sve_trn2vnx2df (TARGET_SVE)
  5338. #define HAVE_aarch64_sve_uzp1vnx2df (TARGET_SVE)
  5339. #define HAVE_aarch64_sve_uzp2vnx2df (TARGET_SVE)
  5340. #define HAVE_aarch64_sve_zip1qvnx16qi (TARGET_SVE_F64MM)
  5341. #define HAVE_aarch64_sve_zip2qvnx16qi (TARGET_SVE_F64MM)
  5342. #define HAVE_aarch64_sve_trn1qvnx16qi (TARGET_SVE_F64MM)
  5343. #define HAVE_aarch64_sve_trn2qvnx16qi (TARGET_SVE_F64MM)
  5344. #define HAVE_aarch64_sve_uzp1qvnx16qi (TARGET_SVE_F64MM)
  5345. #define HAVE_aarch64_sve_uzp2qvnx16qi (TARGET_SVE_F64MM)
  5346. #define HAVE_aarch64_sve_zip1qvnx8hi (TARGET_SVE_F64MM)
  5347. #define HAVE_aarch64_sve_zip2qvnx8hi (TARGET_SVE_F64MM)
  5348. #define HAVE_aarch64_sve_trn1qvnx8hi (TARGET_SVE_F64MM)
  5349. #define HAVE_aarch64_sve_trn2qvnx8hi (TARGET_SVE_F64MM)
  5350. #define HAVE_aarch64_sve_uzp1qvnx8hi (TARGET_SVE_F64MM)
  5351. #define HAVE_aarch64_sve_uzp2qvnx8hi (TARGET_SVE_F64MM)
  5352. #define HAVE_aarch64_sve_zip1qvnx4si (TARGET_SVE_F64MM)
  5353. #define HAVE_aarch64_sve_zip2qvnx4si (TARGET_SVE_F64MM)
  5354. #define HAVE_aarch64_sve_trn1qvnx4si (TARGET_SVE_F64MM)
  5355. #define HAVE_aarch64_sve_trn2qvnx4si (TARGET_SVE_F64MM)
  5356. #define HAVE_aarch64_sve_uzp1qvnx4si (TARGET_SVE_F64MM)
  5357. #define HAVE_aarch64_sve_uzp2qvnx4si (TARGET_SVE_F64MM)
  5358. #define HAVE_aarch64_sve_zip1qvnx2di (TARGET_SVE_F64MM)
  5359. #define HAVE_aarch64_sve_zip2qvnx2di (TARGET_SVE_F64MM)
  5360. #define HAVE_aarch64_sve_trn1qvnx2di (TARGET_SVE_F64MM)
  5361. #define HAVE_aarch64_sve_trn2qvnx2di (TARGET_SVE_F64MM)
  5362. #define HAVE_aarch64_sve_uzp1qvnx2di (TARGET_SVE_F64MM)
  5363. #define HAVE_aarch64_sve_uzp2qvnx2di (TARGET_SVE_F64MM)
  5364. #define HAVE_aarch64_sve_zip1qvnx8bf (TARGET_SVE_F64MM)
  5365. #define HAVE_aarch64_sve_zip2qvnx8bf (TARGET_SVE_F64MM)
  5366. #define HAVE_aarch64_sve_trn1qvnx8bf (TARGET_SVE_F64MM)
  5367. #define HAVE_aarch64_sve_trn2qvnx8bf (TARGET_SVE_F64MM)
  5368. #define HAVE_aarch64_sve_uzp1qvnx8bf (TARGET_SVE_F64MM)
  5369. #define HAVE_aarch64_sve_uzp2qvnx8bf (TARGET_SVE_F64MM)
  5370. #define HAVE_aarch64_sve_zip1qvnx8hf (TARGET_SVE_F64MM)
  5371. #define HAVE_aarch64_sve_zip2qvnx8hf (TARGET_SVE_F64MM)
  5372. #define HAVE_aarch64_sve_trn1qvnx8hf (TARGET_SVE_F64MM)
  5373. #define HAVE_aarch64_sve_trn2qvnx8hf (TARGET_SVE_F64MM)
  5374. #define HAVE_aarch64_sve_uzp1qvnx8hf (TARGET_SVE_F64MM)
  5375. #define HAVE_aarch64_sve_uzp2qvnx8hf (TARGET_SVE_F64MM)
  5376. #define HAVE_aarch64_sve_zip1qvnx4sf (TARGET_SVE_F64MM)
  5377. #define HAVE_aarch64_sve_zip2qvnx4sf (TARGET_SVE_F64MM)
  5378. #define HAVE_aarch64_sve_trn1qvnx4sf (TARGET_SVE_F64MM)
  5379. #define HAVE_aarch64_sve_trn2qvnx4sf (TARGET_SVE_F64MM)
  5380. #define HAVE_aarch64_sve_uzp1qvnx4sf (TARGET_SVE_F64MM)
  5381. #define HAVE_aarch64_sve_uzp2qvnx4sf (TARGET_SVE_F64MM)
  5382. #define HAVE_aarch64_sve_zip1qvnx2df (TARGET_SVE_F64MM)
  5383. #define HAVE_aarch64_sve_zip2qvnx2df (TARGET_SVE_F64MM)
  5384. #define HAVE_aarch64_sve_trn1qvnx2df (TARGET_SVE_F64MM)
  5385. #define HAVE_aarch64_sve_trn2qvnx2df (TARGET_SVE_F64MM)
  5386. #define HAVE_aarch64_sve_uzp1qvnx2df (TARGET_SVE_F64MM)
  5387. #define HAVE_aarch64_sve_uzp2qvnx2df (TARGET_SVE_F64MM)
  5388. #define HAVE_aarch64_sve_extvnx16qi (TARGET_SVE \
  5389. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (QImode), 0, 255))
  5390. #define HAVE_aarch64_sve_extvnx8hi (TARGET_SVE \
  5391. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (HImode), 0, 255))
  5392. #define HAVE_aarch64_sve_extvnx4si (TARGET_SVE \
  5393. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (SImode), 0, 255))
  5394. #define HAVE_aarch64_sve_extvnx2di (TARGET_SVE \
  5395. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (DImode), 0, 255))
  5396. #define HAVE_aarch64_sve_extvnx8bf (TARGET_SVE \
  5397. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (BFmode), 0, 255))
  5398. #define HAVE_aarch64_sve_extvnx8hf (TARGET_SVE \
  5399. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (HFmode), 0, 255))
  5400. #define HAVE_aarch64_sve_extvnx4sf (TARGET_SVE \
  5401. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (SFmode), 0, 255))
  5402. #define HAVE_aarch64_sve_extvnx2df (TARGET_SVE \
  5403. && IN_RANGE (INTVAL (operands[3]) * GET_MODE_SIZE (DFmode), 0, 255))
  5404. #define HAVE_aarch64_sve_revvnx16bi (TARGET_SVE)
  5405. #define HAVE_aarch64_sve_revvnx8bi (TARGET_SVE)
  5406. #define HAVE_aarch64_sve_revvnx4bi (TARGET_SVE)
  5407. #define HAVE_aarch64_sve_revvnx2bi (TARGET_SVE)
  5408. #define HAVE_aarch64_sve_zip1vnx16bi (TARGET_SVE)
  5409. #define HAVE_aarch64_sve_zip2vnx16bi (TARGET_SVE)
  5410. #define HAVE_aarch64_sve_trn1vnx16bi (TARGET_SVE)
  5411. #define HAVE_aarch64_sve_trn2vnx16bi (TARGET_SVE)
  5412. #define HAVE_aarch64_sve_uzp1vnx16bi (TARGET_SVE)
  5413. #define HAVE_aarch64_sve_uzp2vnx16bi (TARGET_SVE)
  5414. #define HAVE_aarch64_sve_zip1vnx8bi (TARGET_SVE)
  5415. #define HAVE_aarch64_sve_zip2vnx8bi (TARGET_SVE)
  5416. #define HAVE_aarch64_sve_trn1vnx8bi (TARGET_SVE)
  5417. #define HAVE_aarch64_sve_trn2vnx8bi (TARGET_SVE)
  5418. #define HAVE_aarch64_sve_uzp1vnx8bi (TARGET_SVE)
  5419. #define HAVE_aarch64_sve_uzp2vnx8bi (TARGET_SVE)
  5420. #define HAVE_aarch64_sve_zip1vnx4bi (TARGET_SVE)
  5421. #define HAVE_aarch64_sve_zip2vnx4bi (TARGET_SVE)
  5422. #define HAVE_aarch64_sve_trn1vnx4bi (TARGET_SVE)
  5423. #define HAVE_aarch64_sve_trn2vnx4bi (TARGET_SVE)
  5424. #define HAVE_aarch64_sve_uzp1vnx4bi (TARGET_SVE)
  5425. #define HAVE_aarch64_sve_uzp2vnx4bi (TARGET_SVE)
  5426. #define HAVE_aarch64_sve_zip1vnx2bi (TARGET_SVE)
  5427. #define HAVE_aarch64_sve_zip2vnx2bi (TARGET_SVE)
  5428. #define HAVE_aarch64_sve_trn1vnx2bi (TARGET_SVE)
  5429. #define HAVE_aarch64_sve_trn2vnx2bi (TARGET_SVE)
  5430. #define HAVE_aarch64_sve_uzp1vnx2bi (TARGET_SVE)
  5431. #define HAVE_aarch64_sve_uzp2vnx2bi (TARGET_SVE)
  5432. #define HAVE_aarch64_sve_trn1_convvnx16bi (TARGET_SVE)
  5433. #define HAVE_aarch64_sve_trn1_convvnx8bi (TARGET_SVE)
  5434. #define HAVE_aarch64_sve_trn1_convvnx4bi (TARGET_SVE)
  5435. #define HAVE_aarch64_sve_trn1_convvnx2bi (TARGET_SVE)
  5436. #define HAVE_vec_pack_trunc_vnx8hi (TARGET_SVE)
  5437. #define HAVE_vec_pack_trunc_vnx4si (TARGET_SVE)
  5438. #define HAVE_vec_pack_trunc_vnx2di (TARGET_SVE)
  5439. #define HAVE_aarch64_sve_sunpkhi_vnx16qi (TARGET_SVE)
  5440. #define HAVE_aarch64_sve_uunpkhi_vnx16qi (TARGET_SVE)
  5441. #define HAVE_aarch64_sve_sunpklo_vnx16qi (TARGET_SVE)
  5442. #define HAVE_aarch64_sve_uunpklo_vnx16qi (TARGET_SVE)
  5443. #define HAVE_aarch64_sve_sunpkhi_vnx8hi (TARGET_SVE)
  5444. #define HAVE_aarch64_sve_uunpkhi_vnx8hi (TARGET_SVE)
  5445. #define HAVE_aarch64_sve_sunpklo_vnx8hi (TARGET_SVE)
  5446. #define HAVE_aarch64_sve_uunpklo_vnx8hi (TARGET_SVE)
  5447. #define HAVE_aarch64_sve_sunpkhi_vnx4si (TARGET_SVE)
  5448. #define HAVE_aarch64_sve_uunpkhi_vnx4si (TARGET_SVE)
  5449. #define HAVE_aarch64_sve_sunpklo_vnx4si (TARGET_SVE)
  5450. #define HAVE_aarch64_sve_uunpklo_vnx4si (TARGET_SVE)
  5451. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx8hfvnx8hi (TARGET_SVE && 16 >= 16)
  5452. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx8hi (TARGET_SVE && 16 >= 16)
  5453. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx8hfvnx4si (TARGET_SVE && 32 >= 16)
  5454. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx4si (TARGET_SVE && 32 >= 16)
  5455. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx4sfvnx4si (TARGET_SVE && 32 >= 32)
  5456. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx4si (TARGET_SVE && 32 >= 32)
  5457. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx8hfvnx2di (TARGET_SVE && 64 >= 16)
  5458. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx2di (TARGET_SVE && 64 >= 16)
  5459. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx4sfvnx2di (TARGET_SVE && 64 >= 32)
  5460. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx2di (TARGET_SVE && 64 >= 32)
  5461. #define HAVE_aarch64_sve_fix_trunc_nontruncvnx2dfvnx2di (TARGET_SVE && 64 >= 64)
  5462. #define HAVE_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx2di (TARGET_SVE && 64 >= 64)
  5463. #define HAVE_aarch64_sve_fix_trunc_truncvnx2dfvnx4si (TARGET_SVE)
  5464. #define HAVE_aarch64_sve_fixuns_trunc_truncvnx2dfvnx4si (TARGET_SVE)
  5465. #define HAVE_aarch64_sve_float_nonextendvnx8hivnx8hf (TARGET_SVE && 16 >= 16)
  5466. #define HAVE_aarch64_sve_floatuns_nonextendvnx8hivnx8hf (TARGET_SVE && 16 >= 16)
  5467. #define HAVE_aarch64_sve_float_nonextendvnx4sivnx8hf (TARGET_SVE && 32 >= 16)
  5468. #define HAVE_aarch64_sve_floatuns_nonextendvnx4sivnx8hf (TARGET_SVE && 32 >= 16)
  5469. #define HAVE_aarch64_sve_float_nonextendvnx4sivnx4sf (TARGET_SVE && 32 >= 32)
  5470. #define HAVE_aarch64_sve_floatuns_nonextendvnx4sivnx4sf (TARGET_SVE && 32 >= 32)
  5471. #define HAVE_aarch64_sve_float_nonextendvnx2divnx8hf (TARGET_SVE && 64 >= 16)
  5472. #define HAVE_aarch64_sve_floatuns_nonextendvnx2divnx8hf (TARGET_SVE && 64 >= 16)
  5473. #define HAVE_aarch64_sve_float_nonextendvnx2divnx4sf (TARGET_SVE && 64 >= 32)
  5474. #define HAVE_aarch64_sve_floatuns_nonextendvnx2divnx4sf (TARGET_SVE && 64 >= 32)
  5475. #define HAVE_aarch64_sve_float_nonextendvnx2divnx2df (TARGET_SVE && 64 >= 64)
  5476. #define HAVE_aarch64_sve_floatuns_nonextendvnx2divnx2df (TARGET_SVE && 64 >= 64)
  5477. #define HAVE_aarch64_sve_float_extendvnx4sivnx2df (TARGET_SVE)
  5478. #define HAVE_aarch64_sve_floatuns_extendvnx4sivnx2df (TARGET_SVE)
  5479. #define HAVE_aarch64_sve_fcvt_truncvnx4sfvnx8hf (TARGET_SVE && 32 > 16)
  5480. #define HAVE_aarch64_sve_fcvt_truncvnx2dfvnx8hf (TARGET_SVE && 64 > 16)
  5481. #define HAVE_aarch64_sve_fcvt_truncvnx2dfvnx4sf (TARGET_SVE && 64 > 32)
  5482. #define HAVE_aarch64_sve_fcvt_truncvnx4sfvnx8bf (TARGET_SVE_BF16)
  5483. #define HAVE_aarch64_sve_cvtntvnx8bf (TARGET_SVE_BF16)
  5484. #define HAVE_aarch64_sve_fcvt_nontruncvnx8hfvnx4sf (TARGET_SVE && 32 > 16)
  5485. #define HAVE_aarch64_sve_fcvt_nontruncvnx8hfvnx2df (TARGET_SVE && 64 > 16)
  5486. #define HAVE_aarch64_sve_fcvt_nontruncvnx4sfvnx2df (TARGET_SVE && 64 > 32)
  5487. #define HAVE_vec_pack_trunc_vnx8bi (TARGET_SVE)
  5488. #define HAVE_vec_pack_trunc_vnx4bi (TARGET_SVE)
  5489. #define HAVE_vec_pack_trunc_vnx2bi (TARGET_SVE)
  5490. #define HAVE_aarch64_sve_punpklo_vnx16bi (TARGET_SVE)
  5491. #define HAVE_aarch64_sve_punpkhi_vnx16bi (TARGET_SVE)
  5492. #define HAVE_aarch64_sve_punpklo_vnx8bi (TARGET_SVE)
  5493. #define HAVE_aarch64_sve_punpkhi_vnx8bi (TARGET_SVE)
  5494. #define HAVE_aarch64_sve_punpklo_vnx4bi (TARGET_SVE)
  5495. #define HAVE_aarch64_sve_punpkhi_vnx4bi (TARGET_SVE)
  5496. #define HAVE_aarch64_brka (TARGET_SVE)
  5497. #define HAVE_aarch64_brkb (TARGET_SVE)
  5498. #define HAVE_aarch64_brkn (TARGET_SVE)
  5499. #define HAVE_aarch64_brkpa (TARGET_SVE)
  5500. #define HAVE_aarch64_brkpb (TARGET_SVE)
  5501. #define HAVE_aarch64_sve_pfirstvnx16bi (TARGET_SVE && 8 >= 8)
  5502. #define HAVE_aarch64_sve_pnextvnx16bi (TARGET_SVE && 64 >= 8)
  5503. #define HAVE_aarch64_sve_pnextvnx8bi (TARGET_SVE && 64 >= 16)
  5504. #define HAVE_aarch64_sve_pnextvnx4bi (TARGET_SVE && 64 >= 32)
  5505. #define HAVE_aarch64_sve_pnextvnx2bi (TARGET_SVE && 64 >= 64)
  5506. #define HAVE_aarch64_sve_cnt_pat (TARGET_SVE)
  5507. #define HAVE_aarch64_sve_incdi_pat (TARGET_SVE)
  5508. #define HAVE_aarch64_sve_sqincdi_pat (TARGET_SVE)
  5509. #define HAVE_aarch64_sve_uqincdi_pat (TARGET_SVE)
  5510. #define HAVE_aarch64_sve_sqincsi_pat (TARGET_SVE)
  5511. #define HAVE_aarch64_sve_uqincsi_pat (TARGET_SVE)
  5512. #define HAVE_aarch64_sve_incvnx2di_pat (TARGET_SVE)
  5513. #define HAVE_aarch64_sve_sqincvnx2di_pat (TARGET_SVE)
  5514. #define HAVE_aarch64_sve_uqincvnx2di_pat (TARGET_SVE)
  5515. #define HAVE_aarch64_sve_incvnx4si_pat (TARGET_SVE)
  5516. #define HAVE_aarch64_sve_sqincvnx4si_pat (TARGET_SVE)
  5517. #define HAVE_aarch64_sve_uqincvnx4si_pat (TARGET_SVE)
  5518. #define HAVE_aarch64_sve_decdi_pat (TARGET_SVE)
  5519. #define HAVE_aarch64_sve_sqdecdi_pat (TARGET_SVE)
  5520. #define HAVE_aarch64_sve_uqdecdi_pat (TARGET_SVE)
  5521. #define HAVE_aarch64_sve_sqdecsi_pat (TARGET_SVE)
  5522. #define HAVE_aarch64_sve_uqdecsi_pat (TARGET_SVE)
  5523. #define HAVE_aarch64_sve_decvnx2di_pat (TARGET_SVE)
  5524. #define HAVE_aarch64_sve_sqdecvnx2di_pat (TARGET_SVE)
  5525. #define HAVE_aarch64_sve_uqdecvnx2di_pat (TARGET_SVE)
  5526. #define HAVE_aarch64_sve_decvnx4si_pat (TARGET_SVE)
  5527. #define HAVE_aarch64_sve_sqdecvnx4si_pat (TARGET_SVE)
  5528. #define HAVE_aarch64_sve_uqdecvnx4si_pat (TARGET_SVE)
  5529. #define HAVE_aarch64_pred_cntpvnx16bi (TARGET_SVE)
  5530. #define HAVE_aarch64_pred_cntpvnx8bi (TARGET_SVE)
  5531. #define HAVE_aarch64_pred_cntpvnx4bi (TARGET_SVE)
  5532. #define HAVE_aarch64_pred_cntpvnx2bi (TARGET_SVE)
  5533. #define HAVE_aarch64_gather_ldntvnx4si (TARGET_SVE2)
  5534. #define HAVE_aarch64_gather_ldntvnx2di (TARGET_SVE2)
  5535. #define HAVE_aarch64_gather_ldntvnx4sf (TARGET_SVE2)
  5536. #define HAVE_aarch64_gather_ldntvnx2df (TARGET_SVE2)
  5537. #define HAVE_aarch64_gather_ldnt_extendvnx4sivnx4qi (TARGET_SVE2 \
  5538. && (~0x43 & 0x41) == 0)
  5539. #define HAVE_aarch64_gather_ldnt_zero_extendvnx4sivnx4qi (TARGET_SVE2 \
  5540. && (~0x43 & 0x41) == 0)
  5541. #define HAVE_aarch64_gather_ldnt_extendvnx2divnx2qi (TARGET_SVE2 \
  5542. && (~0x27 & 0x21) == 0)
  5543. #define HAVE_aarch64_gather_ldnt_zero_extendvnx2divnx2qi (TARGET_SVE2 \
  5544. && (~0x27 & 0x21) == 0)
  5545. #define HAVE_aarch64_gather_ldnt_extendvnx4sivnx4hi (TARGET_SVE2 \
  5546. && (~0x43 & 0x42) == 0)
  5547. #define HAVE_aarch64_gather_ldnt_zero_extendvnx4sivnx4hi (TARGET_SVE2 \
  5548. && (~0x43 & 0x42) == 0)
  5549. #define HAVE_aarch64_gather_ldnt_extendvnx2divnx2hi (TARGET_SVE2 \
  5550. && (~0x27 & 0x22) == 0)
  5551. #define HAVE_aarch64_gather_ldnt_zero_extendvnx2divnx2hi (TARGET_SVE2 \
  5552. && (~0x27 & 0x22) == 0)
  5553. #define HAVE_aarch64_gather_ldnt_extendvnx2divnx2si (TARGET_SVE2 \
  5554. && (~0x27 & 0x24) == 0)
  5555. #define HAVE_aarch64_gather_ldnt_zero_extendvnx2divnx2si (TARGET_SVE2 \
  5556. && (~0x27 & 0x24) == 0)
  5557. #define HAVE_aarch64_scatter_stntvnx4si (TARGET_SVE)
  5558. #define HAVE_aarch64_scatter_stntvnx2di (TARGET_SVE)
  5559. #define HAVE_aarch64_scatter_stntvnx4sf (TARGET_SVE)
  5560. #define HAVE_aarch64_scatter_stntvnx2df (TARGET_SVE)
  5561. #define HAVE_aarch64_scatter_stnt_vnx4sivnx4qi (TARGET_SVE2 \
  5562. && (~0x43 & 0x41) == 0)
  5563. #define HAVE_aarch64_scatter_stnt_vnx2divnx2qi (TARGET_SVE2 \
  5564. && (~0x27 & 0x21) == 0)
  5565. #define HAVE_aarch64_scatter_stnt_vnx4sivnx4hi (TARGET_SVE2 \
  5566. && (~0x43 & 0x42) == 0)
  5567. #define HAVE_aarch64_scatter_stnt_vnx2divnx2hi (TARGET_SVE2 \
  5568. && (~0x27 & 0x22) == 0)
  5569. #define HAVE_aarch64_scatter_stnt_vnx2divnx2si (TARGET_SVE2 \
  5570. && (~0x27 & 0x24) == 0)
  5571. #define HAVE_aarch64_mul_lane_vnx8hi (TARGET_SVE2)
  5572. #define HAVE_aarch64_mul_lane_vnx4si (TARGET_SVE2)
  5573. #define HAVE_aarch64_mul_lane_vnx2di (TARGET_SVE2)
  5574. #define HAVE_aarch64_sve_suqaddvnx16qi_const (TARGET_SVE2)
  5575. #define HAVE_aarch64_sve_suqaddvnx8hi_const (TARGET_SVE2)
  5576. #define HAVE_aarch64_sve_suqaddvnx4si_const (TARGET_SVE2)
  5577. #define HAVE_aarch64_sve_suqaddvnx2di_const (TARGET_SVE2)
  5578. #define HAVE_aarch64_pred_shaddvnx16qi (TARGET_SVE2)
  5579. #define HAVE_aarch64_pred_shsubvnx16qi (TARGET_SVE2)
  5580. #define HAVE_aarch64_pred_sqrshlvnx16qi (TARGET_SVE2)
  5581. #define HAVE_aarch64_pred_srhaddvnx16qi (TARGET_SVE2)
  5582. #define HAVE_aarch64_pred_srshlvnx16qi (TARGET_SVE2)
  5583. #define HAVE_aarch64_pred_uhaddvnx16qi (TARGET_SVE2)
  5584. #define HAVE_aarch64_pred_uhsubvnx16qi (TARGET_SVE2)
  5585. #define HAVE_aarch64_pred_uqrshlvnx16qi (TARGET_SVE2)
  5586. #define HAVE_aarch64_pred_urhaddvnx16qi (TARGET_SVE2)
  5587. #define HAVE_aarch64_pred_urshlvnx16qi (TARGET_SVE2)
  5588. #define HAVE_aarch64_pred_shaddvnx8hi (TARGET_SVE2)
  5589. #define HAVE_aarch64_pred_shsubvnx8hi (TARGET_SVE2)
  5590. #define HAVE_aarch64_pred_sqrshlvnx8hi (TARGET_SVE2)
  5591. #define HAVE_aarch64_pred_srhaddvnx8hi (TARGET_SVE2)
  5592. #define HAVE_aarch64_pred_srshlvnx8hi (TARGET_SVE2)
  5593. #define HAVE_aarch64_pred_uhaddvnx8hi (TARGET_SVE2)
  5594. #define HAVE_aarch64_pred_uhsubvnx8hi (TARGET_SVE2)
  5595. #define HAVE_aarch64_pred_uqrshlvnx8hi (TARGET_SVE2)
  5596. #define HAVE_aarch64_pred_urhaddvnx8hi (TARGET_SVE2)
  5597. #define HAVE_aarch64_pred_urshlvnx8hi (TARGET_SVE2)
  5598. #define HAVE_aarch64_pred_shaddvnx4si (TARGET_SVE2)
  5599. #define HAVE_aarch64_pred_shsubvnx4si (TARGET_SVE2)
  5600. #define HAVE_aarch64_pred_sqrshlvnx4si (TARGET_SVE2)
  5601. #define HAVE_aarch64_pred_srhaddvnx4si (TARGET_SVE2)
  5602. #define HAVE_aarch64_pred_srshlvnx4si (TARGET_SVE2)
  5603. #define HAVE_aarch64_pred_uhaddvnx4si (TARGET_SVE2)
  5604. #define HAVE_aarch64_pred_uhsubvnx4si (TARGET_SVE2)
  5605. #define HAVE_aarch64_pred_uqrshlvnx4si (TARGET_SVE2)
  5606. #define HAVE_aarch64_pred_urhaddvnx4si (TARGET_SVE2)
  5607. #define HAVE_aarch64_pred_urshlvnx4si (TARGET_SVE2)
  5608. #define HAVE_aarch64_pred_shaddvnx2di (TARGET_SVE2)
  5609. #define HAVE_aarch64_pred_shsubvnx2di (TARGET_SVE2)
  5610. #define HAVE_aarch64_pred_sqrshlvnx2di (TARGET_SVE2)
  5611. #define HAVE_aarch64_pred_srhaddvnx2di (TARGET_SVE2)
  5612. #define HAVE_aarch64_pred_srshlvnx2di (TARGET_SVE2)
  5613. #define HAVE_aarch64_pred_uhaddvnx2di (TARGET_SVE2)
  5614. #define HAVE_aarch64_pred_uhsubvnx2di (TARGET_SVE2)
  5615. #define HAVE_aarch64_pred_uqrshlvnx2di (TARGET_SVE2)
  5616. #define HAVE_aarch64_pred_urhaddvnx2di (TARGET_SVE2)
  5617. #define HAVE_aarch64_pred_urshlvnx2di (TARGET_SVE2)
  5618. #define HAVE_aarch64_sve_sqdmulhvnx16qi (TARGET_SVE2)
  5619. #define HAVE_aarch64_sve_sqrdmulhvnx16qi (TARGET_SVE2)
  5620. #define HAVE_aarch64_sve_sqdmulhvnx8hi (TARGET_SVE2)
  5621. #define HAVE_aarch64_sve_sqrdmulhvnx8hi (TARGET_SVE2)
  5622. #define HAVE_aarch64_sve_sqdmulhvnx4si (TARGET_SVE2)
  5623. #define HAVE_aarch64_sve_sqrdmulhvnx4si (TARGET_SVE2)
  5624. #define HAVE_aarch64_sve_sqdmulhvnx2di (TARGET_SVE2)
  5625. #define HAVE_aarch64_sve_sqrdmulhvnx2di (TARGET_SVE2)
  5626. #define HAVE_aarch64_sve_sqdmulh_lane_vnx8hi (TARGET_SVE2)
  5627. #define HAVE_aarch64_sve_sqrdmulh_lane_vnx8hi (TARGET_SVE2)
  5628. #define HAVE_aarch64_sve_sqdmulh_lane_vnx4si (TARGET_SVE2)
  5629. #define HAVE_aarch64_sve_sqrdmulh_lane_vnx4si (TARGET_SVE2)
  5630. #define HAVE_aarch64_sve_sqdmulh_lane_vnx2di (TARGET_SVE2)
  5631. #define HAVE_aarch64_sve_sqrdmulh_lane_vnx2di (TARGET_SVE2)
  5632. #define HAVE_aarch64_pred_sqshlvnx16qi (TARGET_SVE2)
  5633. #define HAVE_aarch64_pred_uqshlvnx16qi (TARGET_SVE2)
  5634. #define HAVE_aarch64_pred_sqshlvnx8hi (TARGET_SVE2)
  5635. #define HAVE_aarch64_pred_uqshlvnx8hi (TARGET_SVE2)
  5636. #define HAVE_aarch64_pred_sqshlvnx4si (TARGET_SVE2)
  5637. #define HAVE_aarch64_pred_uqshlvnx4si (TARGET_SVE2)
  5638. #define HAVE_aarch64_pred_sqshlvnx2di (TARGET_SVE2)
  5639. #define HAVE_aarch64_pred_uqshlvnx2di (TARGET_SVE2)
  5640. #define HAVE_aarch64_sve_adclbvnx16qi (TARGET_SVE2)
  5641. #define HAVE_aarch64_sve_adcltvnx16qi (TARGET_SVE2)
  5642. #define HAVE_aarch64_sve_eorbtvnx16qi (TARGET_SVE2)
  5643. #define HAVE_aarch64_sve_eortbvnx16qi (TARGET_SVE2)
  5644. #define HAVE_aarch64_sve_sbclbvnx16qi (TARGET_SVE2)
  5645. #define HAVE_aarch64_sve_sbcltvnx16qi (TARGET_SVE2)
  5646. #define HAVE_aarch64_sve_sqrdmlahvnx16qi (TARGET_SVE2)
  5647. #define HAVE_aarch64_sve_sqrdmlshvnx16qi (TARGET_SVE2)
  5648. #define HAVE_aarch64_sve_adclbvnx8hi (TARGET_SVE2)
  5649. #define HAVE_aarch64_sve_adcltvnx8hi (TARGET_SVE2)
  5650. #define HAVE_aarch64_sve_eorbtvnx8hi (TARGET_SVE2)
  5651. #define HAVE_aarch64_sve_eortbvnx8hi (TARGET_SVE2)
  5652. #define HAVE_aarch64_sve_sbclbvnx8hi (TARGET_SVE2)
  5653. #define HAVE_aarch64_sve_sbcltvnx8hi (TARGET_SVE2)
  5654. #define HAVE_aarch64_sve_sqrdmlahvnx8hi (TARGET_SVE2)
  5655. #define HAVE_aarch64_sve_sqrdmlshvnx8hi (TARGET_SVE2)
  5656. #define HAVE_aarch64_sve_adclbvnx4si (TARGET_SVE2)
  5657. #define HAVE_aarch64_sve_adcltvnx4si (TARGET_SVE2)
  5658. #define HAVE_aarch64_sve_eorbtvnx4si (TARGET_SVE2)
  5659. #define HAVE_aarch64_sve_eortbvnx4si (TARGET_SVE2)
  5660. #define HAVE_aarch64_sve_sbclbvnx4si (TARGET_SVE2)
  5661. #define HAVE_aarch64_sve_sbcltvnx4si (TARGET_SVE2)
  5662. #define HAVE_aarch64_sve_sqrdmlahvnx4si (TARGET_SVE2)
  5663. #define HAVE_aarch64_sve_sqrdmlshvnx4si (TARGET_SVE2)
  5664. #define HAVE_aarch64_sve_adclbvnx2di (TARGET_SVE2)
  5665. #define HAVE_aarch64_sve_adcltvnx2di (TARGET_SVE2)
  5666. #define HAVE_aarch64_sve_eorbtvnx2di (TARGET_SVE2)
  5667. #define HAVE_aarch64_sve_eortbvnx2di (TARGET_SVE2)
  5668. #define HAVE_aarch64_sve_sbclbvnx2di (TARGET_SVE2)
  5669. #define HAVE_aarch64_sve_sbcltvnx2di (TARGET_SVE2)
  5670. #define HAVE_aarch64_sve_sqrdmlahvnx2di (TARGET_SVE2)
  5671. #define HAVE_aarch64_sve_sqrdmlshvnx2di (TARGET_SVE2)
  5672. #define HAVE_aarch64_sve_sqrdmlah_lane_vnx8hi (TARGET_SVE2)
  5673. #define HAVE_aarch64_sve_sqrdmlsh_lane_vnx8hi (TARGET_SVE2)
  5674. #define HAVE_aarch64_sve_sqrdmlah_lane_vnx4si (TARGET_SVE2)
  5675. #define HAVE_aarch64_sve_sqrdmlsh_lane_vnx4si (TARGET_SVE2)
  5676. #define HAVE_aarch64_sve_sqrdmlah_lane_vnx2di (TARGET_SVE2)
  5677. #define HAVE_aarch64_sve_sqrdmlsh_lane_vnx2di (TARGET_SVE2)
  5678. #define HAVE_aarch64_sve_add_mul_lane_vnx8hi (TARGET_SVE2)
  5679. #define HAVE_aarch64_sve_add_mul_lane_vnx4si (TARGET_SVE2)
  5680. #define HAVE_aarch64_sve_add_mul_lane_vnx2di (TARGET_SVE2)
  5681. #define HAVE_aarch64_sve_sub_mul_lane_vnx8hi (TARGET_SVE2)
  5682. #define HAVE_aarch64_sve_sub_mul_lane_vnx4si (TARGET_SVE2)
  5683. #define HAVE_aarch64_sve_sub_mul_lane_vnx2di (TARGET_SVE2)
  5684. #define HAVE_aarch64_sve2_xarvnx16qi (TARGET_SVE2)
  5685. #define HAVE_aarch64_sve2_xarvnx8hi (TARGET_SVE2)
  5686. #define HAVE_aarch64_sve2_xarvnx4si (TARGET_SVE2)
  5687. #define HAVE_aarch64_sve2_xarvnx2di (TARGET_SVE2)
  5688. #define HAVE_aarch64_sve2_eor3vnx16qi (TARGET_SVE2)
  5689. #define HAVE_aarch64_sve2_eor3vnx8hi (TARGET_SVE2)
  5690. #define HAVE_aarch64_sve2_eor3vnx4si (TARGET_SVE2)
  5691. #define HAVE_aarch64_sve2_eor3vnx2di (TARGET_SVE2)
  5692. #define HAVE_aarch64_sve_add_srshrvnx16qi (TARGET_SVE2)
  5693. #define HAVE_aarch64_sve_add_urshrvnx16qi (TARGET_SVE2)
  5694. #define HAVE_aarch64_sve_add_srshrvnx8hi (TARGET_SVE2)
  5695. #define HAVE_aarch64_sve_add_urshrvnx8hi (TARGET_SVE2)
  5696. #define HAVE_aarch64_sve_add_srshrvnx4si (TARGET_SVE2)
  5697. #define HAVE_aarch64_sve_add_urshrvnx4si (TARGET_SVE2)
  5698. #define HAVE_aarch64_sve_add_srshrvnx2di (TARGET_SVE2)
  5699. #define HAVE_aarch64_sve_add_urshrvnx2di (TARGET_SVE2)
  5700. #define HAVE_aarch64_sve_slivnx16qi (TARGET_SVE2)
  5701. #define HAVE_aarch64_sve_srivnx16qi (TARGET_SVE2)
  5702. #define HAVE_aarch64_sve_slivnx8hi (TARGET_SVE2)
  5703. #define HAVE_aarch64_sve_srivnx8hi (TARGET_SVE2)
  5704. #define HAVE_aarch64_sve_slivnx4si (TARGET_SVE2)
  5705. #define HAVE_aarch64_sve_srivnx4si (TARGET_SVE2)
  5706. #define HAVE_aarch64_sve_slivnx2di (TARGET_SVE2)
  5707. #define HAVE_aarch64_sve_srivnx2di (TARGET_SVE2)
  5708. #define HAVE_aarch64_sve_saddwbvnx8hi (TARGET_SVE2)
  5709. #define HAVE_aarch64_sve_saddwtvnx8hi (TARGET_SVE2)
  5710. #define HAVE_aarch64_sve_ssubwbvnx8hi (TARGET_SVE2)
  5711. #define HAVE_aarch64_sve_ssubwtvnx8hi (TARGET_SVE2)
  5712. #define HAVE_aarch64_sve_uaddwbvnx8hi (TARGET_SVE2)
  5713. #define HAVE_aarch64_sve_uaddwtvnx8hi (TARGET_SVE2)
  5714. #define HAVE_aarch64_sve_usubwbvnx8hi (TARGET_SVE2)
  5715. #define HAVE_aarch64_sve_usubwtvnx8hi (TARGET_SVE2)
  5716. #define HAVE_aarch64_sve_saddwbvnx4si (TARGET_SVE2)
  5717. #define HAVE_aarch64_sve_saddwtvnx4si (TARGET_SVE2)
  5718. #define HAVE_aarch64_sve_ssubwbvnx4si (TARGET_SVE2)
  5719. #define HAVE_aarch64_sve_ssubwtvnx4si (TARGET_SVE2)
  5720. #define HAVE_aarch64_sve_uaddwbvnx4si (TARGET_SVE2)
  5721. #define HAVE_aarch64_sve_uaddwtvnx4si (TARGET_SVE2)
  5722. #define HAVE_aarch64_sve_usubwbvnx4si (TARGET_SVE2)
  5723. #define HAVE_aarch64_sve_usubwtvnx4si (TARGET_SVE2)
  5724. #define HAVE_aarch64_sve_saddwbvnx2di (TARGET_SVE2)
  5725. #define HAVE_aarch64_sve_saddwtvnx2di (TARGET_SVE2)
  5726. #define HAVE_aarch64_sve_ssubwbvnx2di (TARGET_SVE2)
  5727. #define HAVE_aarch64_sve_ssubwtvnx2di (TARGET_SVE2)
  5728. #define HAVE_aarch64_sve_uaddwbvnx2di (TARGET_SVE2)
  5729. #define HAVE_aarch64_sve_uaddwtvnx2di (TARGET_SVE2)
  5730. #define HAVE_aarch64_sve_usubwbvnx2di (TARGET_SVE2)
  5731. #define HAVE_aarch64_sve_usubwtvnx2di (TARGET_SVE2)
  5732. #define HAVE_aarch64_sve_sabdlbvnx8hi (TARGET_SVE2)
  5733. #define HAVE_aarch64_sve_sabdltvnx8hi (TARGET_SVE2)
  5734. #define HAVE_aarch64_sve_saddlbvnx8hi (TARGET_SVE2)
  5735. #define HAVE_aarch64_sve_saddlbtvnx8hi (TARGET_SVE2)
  5736. #define HAVE_aarch64_sve_saddltvnx8hi (TARGET_SVE2)
  5737. #define HAVE_aarch64_sve_smullbvnx8hi (TARGET_SVE2)
  5738. #define HAVE_aarch64_sve_smulltvnx8hi (TARGET_SVE2)
  5739. #define HAVE_aarch64_sve_sqdmullbvnx8hi (TARGET_SVE2)
  5740. #define HAVE_aarch64_sve_sqdmulltvnx8hi (TARGET_SVE2)
  5741. #define HAVE_aarch64_sve_ssublbvnx8hi (TARGET_SVE2)
  5742. #define HAVE_aarch64_sve_ssublbtvnx8hi (TARGET_SVE2)
  5743. #define HAVE_aarch64_sve_ssubltvnx8hi (TARGET_SVE2)
  5744. #define HAVE_aarch64_sve_ssubltbvnx8hi (TARGET_SVE2)
  5745. #define HAVE_aarch64_sve_uabdlbvnx8hi (TARGET_SVE2)
  5746. #define HAVE_aarch64_sve_uabdltvnx8hi (TARGET_SVE2)
  5747. #define HAVE_aarch64_sve_uaddlbvnx8hi (TARGET_SVE2)
  5748. #define HAVE_aarch64_sve_uaddltvnx8hi (TARGET_SVE2)
  5749. #define HAVE_aarch64_sve_umullbvnx8hi (TARGET_SVE2)
  5750. #define HAVE_aarch64_sve_umulltvnx8hi (TARGET_SVE2)
  5751. #define HAVE_aarch64_sve_usublbvnx8hi (TARGET_SVE2)
  5752. #define HAVE_aarch64_sve_usubltvnx8hi (TARGET_SVE2)
  5753. #define HAVE_aarch64_sve_sabdlbvnx4si (TARGET_SVE2)
  5754. #define HAVE_aarch64_sve_sabdltvnx4si (TARGET_SVE2)
  5755. #define HAVE_aarch64_sve_saddlbvnx4si (TARGET_SVE2)
  5756. #define HAVE_aarch64_sve_saddlbtvnx4si (TARGET_SVE2)
  5757. #define HAVE_aarch64_sve_saddltvnx4si (TARGET_SVE2)
  5758. #define HAVE_aarch64_sve_smullbvnx4si (TARGET_SVE2)
  5759. #define HAVE_aarch64_sve_smulltvnx4si (TARGET_SVE2)
  5760. #define HAVE_aarch64_sve_sqdmullbvnx4si (TARGET_SVE2)
  5761. #define HAVE_aarch64_sve_sqdmulltvnx4si (TARGET_SVE2)
  5762. #define HAVE_aarch64_sve_ssublbvnx4si (TARGET_SVE2)
  5763. #define HAVE_aarch64_sve_ssublbtvnx4si (TARGET_SVE2)
  5764. #define HAVE_aarch64_sve_ssubltvnx4si (TARGET_SVE2)
  5765. #define HAVE_aarch64_sve_ssubltbvnx4si (TARGET_SVE2)
  5766. #define HAVE_aarch64_sve_uabdlbvnx4si (TARGET_SVE2)
  5767. #define HAVE_aarch64_sve_uabdltvnx4si (TARGET_SVE2)
  5768. #define HAVE_aarch64_sve_uaddlbvnx4si (TARGET_SVE2)
  5769. #define HAVE_aarch64_sve_uaddltvnx4si (TARGET_SVE2)
  5770. #define HAVE_aarch64_sve_umullbvnx4si (TARGET_SVE2)
  5771. #define HAVE_aarch64_sve_umulltvnx4si (TARGET_SVE2)
  5772. #define HAVE_aarch64_sve_usublbvnx4si (TARGET_SVE2)
  5773. #define HAVE_aarch64_sve_usubltvnx4si (TARGET_SVE2)
  5774. #define HAVE_aarch64_sve_sabdlbvnx2di (TARGET_SVE2)
  5775. #define HAVE_aarch64_sve_sabdltvnx2di (TARGET_SVE2)
  5776. #define HAVE_aarch64_sve_saddlbvnx2di (TARGET_SVE2)
  5777. #define HAVE_aarch64_sve_saddlbtvnx2di (TARGET_SVE2)
  5778. #define HAVE_aarch64_sve_saddltvnx2di (TARGET_SVE2)
  5779. #define HAVE_aarch64_sve_smullbvnx2di (TARGET_SVE2)
  5780. #define HAVE_aarch64_sve_smulltvnx2di (TARGET_SVE2)
  5781. #define HAVE_aarch64_sve_sqdmullbvnx2di (TARGET_SVE2)
  5782. #define HAVE_aarch64_sve_sqdmulltvnx2di (TARGET_SVE2)
  5783. #define HAVE_aarch64_sve_ssublbvnx2di (TARGET_SVE2)
  5784. #define HAVE_aarch64_sve_ssublbtvnx2di (TARGET_SVE2)
  5785. #define HAVE_aarch64_sve_ssubltvnx2di (TARGET_SVE2)
  5786. #define HAVE_aarch64_sve_ssubltbvnx2di (TARGET_SVE2)
  5787. #define HAVE_aarch64_sve_uabdlbvnx2di (TARGET_SVE2)
  5788. #define HAVE_aarch64_sve_uabdltvnx2di (TARGET_SVE2)
  5789. #define HAVE_aarch64_sve_uaddlbvnx2di (TARGET_SVE2)
  5790. #define HAVE_aarch64_sve_uaddltvnx2di (TARGET_SVE2)
  5791. #define HAVE_aarch64_sve_umullbvnx2di (TARGET_SVE2)
  5792. #define HAVE_aarch64_sve_umulltvnx2di (TARGET_SVE2)
  5793. #define HAVE_aarch64_sve_usublbvnx2di (TARGET_SVE2)
  5794. #define HAVE_aarch64_sve_usubltvnx2di (TARGET_SVE2)
  5795. #define HAVE_aarch64_sve_smullb_lane_vnx4si (TARGET_SVE2)
  5796. #define HAVE_aarch64_sve_smullt_lane_vnx4si (TARGET_SVE2)
  5797. #define HAVE_aarch64_sve_sqdmullb_lane_vnx4si (TARGET_SVE2)
  5798. #define HAVE_aarch64_sve_sqdmullt_lane_vnx4si (TARGET_SVE2)
  5799. #define HAVE_aarch64_sve_umullb_lane_vnx4si (TARGET_SVE2)
  5800. #define HAVE_aarch64_sve_umullt_lane_vnx4si (TARGET_SVE2)
  5801. #define HAVE_aarch64_sve_smullb_lane_vnx2di (TARGET_SVE2)
  5802. #define HAVE_aarch64_sve_smullt_lane_vnx2di (TARGET_SVE2)
  5803. #define HAVE_aarch64_sve_sqdmullb_lane_vnx2di (TARGET_SVE2)
  5804. #define HAVE_aarch64_sve_sqdmullt_lane_vnx2di (TARGET_SVE2)
  5805. #define HAVE_aarch64_sve_umullb_lane_vnx2di (TARGET_SVE2)
  5806. #define HAVE_aarch64_sve_umullt_lane_vnx2di (TARGET_SVE2)
  5807. #define HAVE_aarch64_sve_sshllbvnx8hi (TARGET_SVE2)
  5808. #define HAVE_aarch64_sve_sshlltvnx8hi (TARGET_SVE2)
  5809. #define HAVE_aarch64_sve_ushllbvnx8hi (TARGET_SVE2)
  5810. #define HAVE_aarch64_sve_ushlltvnx8hi (TARGET_SVE2)
  5811. #define HAVE_aarch64_sve_sshllbvnx4si (TARGET_SVE2)
  5812. #define HAVE_aarch64_sve_sshlltvnx4si (TARGET_SVE2)
  5813. #define HAVE_aarch64_sve_ushllbvnx4si (TARGET_SVE2)
  5814. #define HAVE_aarch64_sve_ushlltvnx4si (TARGET_SVE2)
  5815. #define HAVE_aarch64_sve_sshllbvnx2di (TARGET_SVE2)
  5816. #define HAVE_aarch64_sve_sshlltvnx2di (TARGET_SVE2)
  5817. #define HAVE_aarch64_sve_ushllbvnx2di (TARGET_SVE2)
  5818. #define HAVE_aarch64_sve_ushlltvnx2di (TARGET_SVE2)
  5819. #define HAVE_aarch64_sve_add_sabdlbvnx8hi (TARGET_SVE2)
  5820. #define HAVE_aarch64_sve_add_sabdltvnx8hi (TARGET_SVE2)
  5821. #define HAVE_aarch64_sve_add_smullbvnx8hi (TARGET_SVE2)
  5822. #define HAVE_aarch64_sve_add_smulltvnx8hi (TARGET_SVE2)
  5823. #define HAVE_aarch64_sve_add_uabdlbvnx8hi (TARGET_SVE2)
  5824. #define HAVE_aarch64_sve_add_uabdltvnx8hi (TARGET_SVE2)
  5825. #define HAVE_aarch64_sve_add_umullbvnx8hi (TARGET_SVE2)
  5826. #define HAVE_aarch64_sve_add_umulltvnx8hi (TARGET_SVE2)
  5827. #define HAVE_aarch64_sve_add_sabdlbvnx4si (TARGET_SVE2)
  5828. #define HAVE_aarch64_sve_add_sabdltvnx4si (TARGET_SVE2)
  5829. #define HAVE_aarch64_sve_add_smullbvnx4si (TARGET_SVE2)
  5830. #define HAVE_aarch64_sve_add_smulltvnx4si (TARGET_SVE2)
  5831. #define HAVE_aarch64_sve_add_uabdlbvnx4si (TARGET_SVE2)
  5832. #define HAVE_aarch64_sve_add_uabdltvnx4si (TARGET_SVE2)
  5833. #define HAVE_aarch64_sve_add_umullbvnx4si (TARGET_SVE2)
  5834. #define HAVE_aarch64_sve_add_umulltvnx4si (TARGET_SVE2)
  5835. #define HAVE_aarch64_sve_add_sabdlbvnx2di (TARGET_SVE2)
  5836. #define HAVE_aarch64_sve_add_sabdltvnx2di (TARGET_SVE2)
  5837. #define HAVE_aarch64_sve_add_smullbvnx2di (TARGET_SVE2)
  5838. #define HAVE_aarch64_sve_add_smulltvnx2di (TARGET_SVE2)
  5839. #define HAVE_aarch64_sve_add_uabdlbvnx2di (TARGET_SVE2)
  5840. #define HAVE_aarch64_sve_add_uabdltvnx2di (TARGET_SVE2)
  5841. #define HAVE_aarch64_sve_add_umullbvnx2di (TARGET_SVE2)
  5842. #define HAVE_aarch64_sve_add_umulltvnx2di (TARGET_SVE2)
  5843. #define HAVE_aarch64_sve_add_smullb_lane_vnx4si (TARGET_SVE2)
  5844. #define HAVE_aarch64_sve_add_smullt_lane_vnx4si (TARGET_SVE2)
  5845. #define HAVE_aarch64_sve_add_umullb_lane_vnx4si (TARGET_SVE2)
  5846. #define HAVE_aarch64_sve_add_umullt_lane_vnx4si (TARGET_SVE2)
  5847. #define HAVE_aarch64_sve_add_smullb_lane_vnx2di (TARGET_SVE2)
  5848. #define HAVE_aarch64_sve_add_smullt_lane_vnx2di (TARGET_SVE2)
  5849. #define HAVE_aarch64_sve_add_umullb_lane_vnx2di (TARGET_SVE2)
  5850. #define HAVE_aarch64_sve_add_umullt_lane_vnx2di (TARGET_SVE2)
  5851. #define HAVE_aarch64_sve_qadd_sqdmullbvnx8hi (TARGET_SVE2)
  5852. #define HAVE_aarch64_sve_qadd_sqdmullbtvnx8hi (TARGET_SVE2)
  5853. #define HAVE_aarch64_sve_qadd_sqdmulltvnx8hi (TARGET_SVE2)
  5854. #define HAVE_aarch64_sve_qadd_sqdmullbvnx4si (TARGET_SVE2)
  5855. #define HAVE_aarch64_sve_qadd_sqdmullbtvnx4si (TARGET_SVE2)
  5856. #define HAVE_aarch64_sve_qadd_sqdmulltvnx4si (TARGET_SVE2)
  5857. #define HAVE_aarch64_sve_qadd_sqdmullbvnx2di (TARGET_SVE2)
  5858. #define HAVE_aarch64_sve_qadd_sqdmullbtvnx2di (TARGET_SVE2)
  5859. #define HAVE_aarch64_sve_qadd_sqdmulltvnx2di (TARGET_SVE2)
  5860. #define HAVE_aarch64_sve_qadd_sqdmullb_lane_vnx4si (TARGET_SVE2)
  5861. #define HAVE_aarch64_sve_qadd_sqdmullt_lane_vnx4si (TARGET_SVE2)
  5862. #define HAVE_aarch64_sve_qadd_sqdmullb_lane_vnx2di (TARGET_SVE2)
  5863. #define HAVE_aarch64_sve_qadd_sqdmullt_lane_vnx2di (TARGET_SVE2)
  5864. #define HAVE_aarch64_sve_sub_smullbvnx8hi (TARGET_SVE2)
  5865. #define HAVE_aarch64_sve_sub_smulltvnx8hi (TARGET_SVE2)
  5866. #define HAVE_aarch64_sve_sub_umullbvnx8hi (TARGET_SVE2)
  5867. #define HAVE_aarch64_sve_sub_umulltvnx8hi (TARGET_SVE2)
  5868. #define HAVE_aarch64_sve_sub_smullbvnx4si (TARGET_SVE2)
  5869. #define HAVE_aarch64_sve_sub_smulltvnx4si (TARGET_SVE2)
  5870. #define HAVE_aarch64_sve_sub_umullbvnx4si (TARGET_SVE2)
  5871. #define HAVE_aarch64_sve_sub_umulltvnx4si (TARGET_SVE2)
  5872. #define HAVE_aarch64_sve_sub_smullbvnx2di (TARGET_SVE2)
  5873. #define HAVE_aarch64_sve_sub_smulltvnx2di (TARGET_SVE2)
  5874. #define HAVE_aarch64_sve_sub_umullbvnx2di (TARGET_SVE2)
  5875. #define HAVE_aarch64_sve_sub_umulltvnx2di (TARGET_SVE2)
  5876. #define HAVE_aarch64_sve_sub_smullb_lane_vnx4si (TARGET_SVE2)
  5877. #define HAVE_aarch64_sve_sub_smullt_lane_vnx4si (TARGET_SVE2)
  5878. #define HAVE_aarch64_sve_sub_umullb_lane_vnx4si (TARGET_SVE2)
  5879. #define HAVE_aarch64_sve_sub_umullt_lane_vnx4si (TARGET_SVE2)
  5880. #define HAVE_aarch64_sve_sub_smullb_lane_vnx2di (TARGET_SVE2)
  5881. #define HAVE_aarch64_sve_sub_smullt_lane_vnx2di (TARGET_SVE2)
  5882. #define HAVE_aarch64_sve_sub_umullb_lane_vnx2di (TARGET_SVE2)
  5883. #define HAVE_aarch64_sve_sub_umullt_lane_vnx2di (TARGET_SVE2)
  5884. #define HAVE_aarch64_sve_qsub_sqdmullbvnx8hi (TARGET_SVE2)
  5885. #define HAVE_aarch64_sve_qsub_sqdmullbtvnx8hi (TARGET_SVE2)
  5886. #define HAVE_aarch64_sve_qsub_sqdmulltvnx8hi (TARGET_SVE2)
  5887. #define HAVE_aarch64_sve_qsub_sqdmullbvnx4si (TARGET_SVE2)
  5888. #define HAVE_aarch64_sve_qsub_sqdmullbtvnx4si (TARGET_SVE2)
  5889. #define HAVE_aarch64_sve_qsub_sqdmulltvnx4si (TARGET_SVE2)
  5890. #define HAVE_aarch64_sve_qsub_sqdmullbvnx2di (TARGET_SVE2)
  5891. #define HAVE_aarch64_sve_qsub_sqdmullbtvnx2di (TARGET_SVE2)
  5892. #define HAVE_aarch64_sve_qsub_sqdmulltvnx2di (TARGET_SVE2)
  5893. #define HAVE_aarch64_sve_qsub_sqdmullb_lane_vnx4si (TARGET_SVE2)
  5894. #define HAVE_aarch64_sve_qsub_sqdmullt_lane_vnx4si (TARGET_SVE2)
  5895. #define HAVE_aarch64_sve_qsub_sqdmullb_lane_vnx2di (TARGET_SVE2)
  5896. #define HAVE_aarch64_sve_qsub_sqdmullt_lane_vnx2di (TARGET_SVE2)
  5897. #define HAVE_aarch64_sve_fmlalbvnx4sf (TARGET_SVE2)
  5898. #define HAVE_aarch64_sve_fmlaltvnx4sf (TARGET_SVE2)
  5899. #define HAVE_aarch64_sve_fmlslbvnx4sf (TARGET_SVE2)
  5900. #define HAVE_aarch64_sve_fmlsltvnx4sf (TARGET_SVE2)
  5901. #define HAVE_aarch64_fmlalb_lane_vnx4sf (TARGET_SVE2)
  5902. #define HAVE_aarch64_fmlalt_lane_vnx4sf (TARGET_SVE2)
  5903. #define HAVE_aarch64_fmlslb_lane_vnx4sf (TARGET_SVE2)
  5904. #define HAVE_aarch64_fmlslt_lane_vnx4sf (TARGET_SVE2)
  5905. #define HAVE_aarch64_sve_sqxtnbvnx8hi (TARGET_SVE2)
  5906. #define HAVE_aarch64_sve_sqxtunbvnx8hi (TARGET_SVE2)
  5907. #define HAVE_aarch64_sve_uqxtnbvnx8hi (TARGET_SVE2)
  5908. #define HAVE_aarch64_sve_sqxtnbvnx4si (TARGET_SVE2)
  5909. #define HAVE_aarch64_sve_sqxtunbvnx4si (TARGET_SVE2)
  5910. #define HAVE_aarch64_sve_uqxtnbvnx4si (TARGET_SVE2)
  5911. #define HAVE_aarch64_sve_sqxtnbvnx2di (TARGET_SVE2)
  5912. #define HAVE_aarch64_sve_sqxtunbvnx2di (TARGET_SVE2)
  5913. #define HAVE_aarch64_sve_uqxtnbvnx2di (TARGET_SVE2)
  5914. #define HAVE_aarch64_sve_sqxtntvnx8hi (TARGET_SVE2)
  5915. #define HAVE_aarch64_sve_sqxtuntvnx8hi (TARGET_SVE2)
  5916. #define HAVE_aarch64_sve_uqxtntvnx8hi (TARGET_SVE2)
  5917. #define HAVE_aarch64_sve_sqxtntvnx4si (TARGET_SVE2)
  5918. #define HAVE_aarch64_sve_sqxtuntvnx4si (TARGET_SVE2)
  5919. #define HAVE_aarch64_sve_uqxtntvnx4si (TARGET_SVE2)
  5920. #define HAVE_aarch64_sve_sqxtntvnx2di (TARGET_SVE2)
  5921. #define HAVE_aarch64_sve_sqxtuntvnx2di (TARGET_SVE2)
  5922. #define HAVE_aarch64_sve_uqxtntvnx2di (TARGET_SVE2)
  5923. #define HAVE_aarch64_sve_addhnbvnx8hi (TARGET_SVE2)
  5924. #define HAVE_aarch64_sve_raddhnbvnx8hi (TARGET_SVE2)
  5925. #define HAVE_aarch64_sve_rsubhnbvnx8hi (TARGET_SVE2)
  5926. #define HAVE_aarch64_sve_subhnbvnx8hi (TARGET_SVE2)
  5927. #define HAVE_aarch64_sve_addhnbvnx4si (TARGET_SVE2)
  5928. #define HAVE_aarch64_sve_raddhnbvnx4si (TARGET_SVE2)
  5929. #define HAVE_aarch64_sve_rsubhnbvnx4si (TARGET_SVE2)
  5930. #define HAVE_aarch64_sve_subhnbvnx4si (TARGET_SVE2)
  5931. #define HAVE_aarch64_sve_addhnbvnx2di (TARGET_SVE2)
  5932. #define HAVE_aarch64_sve_raddhnbvnx2di (TARGET_SVE2)
  5933. #define HAVE_aarch64_sve_rsubhnbvnx2di (TARGET_SVE2)
  5934. #define HAVE_aarch64_sve_subhnbvnx2di (TARGET_SVE2)
  5935. #define HAVE_aarch64_sve_addhntvnx8hi (TARGET_SVE2)
  5936. #define HAVE_aarch64_sve_raddhntvnx8hi (TARGET_SVE2)
  5937. #define HAVE_aarch64_sve_rsubhntvnx8hi (TARGET_SVE2)
  5938. #define HAVE_aarch64_sve_subhntvnx8hi (TARGET_SVE2)
  5939. #define HAVE_aarch64_sve_addhntvnx4si (TARGET_SVE2)
  5940. #define HAVE_aarch64_sve_raddhntvnx4si (TARGET_SVE2)
  5941. #define HAVE_aarch64_sve_rsubhntvnx4si (TARGET_SVE2)
  5942. #define HAVE_aarch64_sve_subhntvnx4si (TARGET_SVE2)
  5943. #define HAVE_aarch64_sve_addhntvnx2di (TARGET_SVE2)
  5944. #define HAVE_aarch64_sve_raddhntvnx2di (TARGET_SVE2)
  5945. #define HAVE_aarch64_sve_rsubhntvnx2di (TARGET_SVE2)
  5946. #define HAVE_aarch64_sve_subhntvnx2di (TARGET_SVE2)
  5947. #define HAVE_aarch64_sve_rshrnbvnx8hi (TARGET_SVE2)
  5948. #define HAVE_aarch64_sve_shrnbvnx8hi (TARGET_SVE2)
  5949. #define HAVE_aarch64_sve_sqrshrnbvnx8hi (TARGET_SVE2)
  5950. #define HAVE_aarch64_sve_sqrshrunbvnx8hi (TARGET_SVE2)
  5951. #define HAVE_aarch64_sve_sqshrnbvnx8hi (TARGET_SVE2)
  5952. #define HAVE_aarch64_sve_sqshrunbvnx8hi (TARGET_SVE2)
  5953. #define HAVE_aarch64_sve_uqrshrnbvnx8hi (TARGET_SVE2)
  5954. #define HAVE_aarch64_sve_uqshrnbvnx8hi (TARGET_SVE2)
  5955. #define HAVE_aarch64_sve_rshrnbvnx4si (TARGET_SVE2)
  5956. #define HAVE_aarch64_sve_shrnbvnx4si (TARGET_SVE2)
  5957. #define HAVE_aarch64_sve_sqrshrnbvnx4si (TARGET_SVE2)
  5958. #define HAVE_aarch64_sve_sqrshrunbvnx4si (TARGET_SVE2)
  5959. #define HAVE_aarch64_sve_sqshrnbvnx4si (TARGET_SVE2)
  5960. #define HAVE_aarch64_sve_sqshrunbvnx4si (TARGET_SVE2)
  5961. #define HAVE_aarch64_sve_uqrshrnbvnx4si (TARGET_SVE2)
  5962. #define HAVE_aarch64_sve_uqshrnbvnx4si (TARGET_SVE2)
  5963. #define HAVE_aarch64_sve_rshrnbvnx2di (TARGET_SVE2)
  5964. #define HAVE_aarch64_sve_shrnbvnx2di (TARGET_SVE2)
  5965. #define HAVE_aarch64_sve_sqrshrnbvnx2di (TARGET_SVE2)
  5966. #define HAVE_aarch64_sve_sqrshrunbvnx2di (TARGET_SVE2)
  5967. #define HAVE_aarch64_sve_sqshrnbvnx2di (TARGET_SVE2)
  5968. #define HAVE_aarch64_sve_sqshrunbvnx2di (TARGET_SVE2)
  5969. #define HAVE_aarch64_sve_uqrshrnbvnx2di (TARGET_SVE2)
  5970. #define HAVE_aarch64_sve_uqshrnbvnx2di (TARGET_SVE2)
  5971. #define HAVE_aarch64_sve_rshrntvnx8hi (TARGET_SVE2)
  5972. #define HAVE_aarch64_sve_shrntvnx8hi (TARGET_SVE2)
  5973. #define HAVE_aarch64_sve_sqrshrntvnx8hi (TARGET_SVE2)
  5974. #define HAVE_aarch64_sve_sqrshruntvnx8hi (TARGET_SVE2)
  5975. #define HAVE_aarch64_sve_sqshrntvnx8hi (TARGET_SVE2)
  5976. #define HAVE_aarch64_sve_sqshruntvnx8hi (TARGET_SVE2)
  5977. #define HAVE_aarch64_sve_uqrshrntvnx8hi (TARGET_SVE2)
  5978. #define HAVE_aarch64_sve_uqshrntvnx8hi (TARGET_SVE2)
  5979. #define HAVE_aarch64_sve_rshrntvnx4si (TARGET_SVE2)
  5980. #define HAVE_aarch64_sve_shrntvnx4si (TARGET_SVE2)
  5981. #define HAVE_aarch64_sve_sqrshrntvnx4si (TARGET_SVE2)
  5982. #define HAVE_aarch64_sve_sqrshruntvnx4si (TARGET_SVE2)
  5983. #define HAVE_aarch64_sve_sqshrntvnx4si (TARGET_SVE2)
  5984. #define HAVE_aarch64_sve_sqshruntvnx4si (TARGET_SVE2)
  5985. #define HAVE_aarch64_sve_uqrshrntvnx4si (TARGET_SVE2)
  5986. #define HAVE_aarch64_sve_uqshrntvnx4si (TARGET_SVE2)
  5987. #define HAVE_aarch64_sve_rshrntvnx2di (TARGET_SVE2)
  5988. #define HAVE_aarch64_sve_shrntvnx2di (TARGET_SVE2)
  5989. #define HAVE_aarch64_sve_sqrshrntvnx2di (TARGET_SVE2)
  5990. #define HAVE_aarch64_sve_sqrshruntvnx2di (TARGET_SVE2)
  5991. #define HAVE_aarch64_sve_sqshrntvnx2di (TARGET_SVE2)
  5992. #define HAVE_aarch64_sve_sqshruntvnx2di (TARGET_SVE2)
  5993. #define HAVE_aarch64_sve_uqrshrntvnx2di (TARGET_SVE2)
  5994. #define HAVE_aarch64_sve_uqshrntvnx2di (TARGET_SVE2)
  5995. #define HAVE_aarch64_pred_addpvnx16qi (TARGET_SVE2)
  5996. #define HAVE_aarch64_pred_smaxpvnx16qi (TARGET_SVE2)
  5997. #define HAVE_aarch64_pred_sminpvnx16qi (TARGET_SVE2)
  5998. #define HAVE_aarch64_pred_umaxpvnx16qi (TARGET_SVE2)
  5999. #define HAVE_aarch64_pred_uminpvnx16qi (TARGET_SVE2)
  6000. #define HAVE_aarch64_pred_addpvnx8hi (TARGET_SVE2)
  6001. #define HAVE_aarch64_pred_smaxpvnx8hi (TARGET_SVE2)
  6002. #define HAVE_aarch64_pred_sminpvnx8hi (TARGET_SVE2)
  6003. #define HAVE_aarch64_pred_umaxpvnx8hi (TARGET_SVE2)
  6004. #define HAVE_aarch64_pred_uminpvnx8hi (TARGET_SVE2)
  6005. #define HAVE_aarch64_pred_addpvnx4si (TARGET_SVE2)
  6006. #define HAVE_aarch64_pred_smaxpvnx4si (TARGET_SVE2)
  6007. #define HAVE_aarch64_pred_sminpvnx4si (TARGET_SVE2)
  6008. #define HAVE_aarch64_pred_umaxpvnx4si (TARGET_SVE2)
  6009. #define HAVE_aarch64_pred_uminpvnx4si (TARGET_SVE2)
  6010. #define HAVE_aarch64_pred_addpvnx2di (TARGET_SVE2)
  6011. #define HAVE_aarch64_pred_smaxpvnx2di (TARGET_SVE2)
  6012. #define HAVE_aarch64_pred_sminpvnx2di (TARGET_SVE2)
  6013. #define HAVE_aarch64_pred_umaxpvnx2di (TARGET_SVE2)
  6014. #define HAVE_aarch64_pred_uminpvnx2di (TARGET_SVE2)
  6015. #define HAVE_aarch64_pred_faddpvnx8hf (TARGET_SVE2)
  6016. #define HAVE_aarch64_pred_fmaxpvnx8hf (TARGET_SVE2)
  6017. #define HAVE_aarch64_pred_fmaxnmpvnx8hf (TARGET_SVE2)
  6018. #define HAVE_aarch64_pred_fminpvnx8hf (TARGET_SVE2)
  6019. #define HAVE_aarch64_pred_fminnmpvnx8hf (TARGET_SVE2)
  6020. #define HAVE_aarch64_pred_faddpvnx4sf (TARGET_SVE2)
  6021. #define HAVE_aarch64_pred_fmaxpvnx4sf (TARGET_SVE2)
  6022. #define HAVE_aarch64_pred_fmaxnmpvnx4sf (TARGET_SVE2)
  6023. #define HAVE_aarch64_pred_fminpvnx4sf (TARGET_SVE2)
  6024. #define HAVE_aarch64_pred_fminnmpvnx4sf (TARGET_SVE2)
  6025. #define HAVE_aarch64_pred_faddpvnx2df (TARGET_SVE2)
  6026. #define HAVE_aarch64_pred_fmaxpvnx2df (TARGET_SVE2)
  6027. #define HAVE_aarch64_pred_fmaxnmpvnx2df (TARGET_SVE2)
  6028. #define HAVE_aarch64_pred_fminpvnx2df (TARGET_SVE2)
  6029. #define HAVE_aarch64_pred_fminnmpvnx2df (TARGET_SVE2)
  6030. #define HAVE_aarch64_sve_cadd90vnx16qi (TARGET_SVE2)
  6031. #define HAVE_aarch64_sve_cadd270vnx16qi (TARGET_SVE2)
  6032. #define HAVE_aarch64_sve_sqcadd90vnx16qi (TARGET_SVE2)
  6033. #define HAVE_aarch64_sve_sqcadd270vnx16qi (TARGET_SVE2)
  6034. #define HAVE_aarch64_sve_cadd90vnx8hi (TARGET_SVE2)
  6035. #define HAVE_aarch64_sve_cadd270vnx8hi (TARGET_SVE2)
  6036. #define HAVE_aarch64_sve_sqcadd90vnx8hi (TARGET_SVE2)
  6037. #define HAVE_aarch64_sve_sqcadd270vnx8hi (TARGET_SVE2)
  6038. #define HAVE_aarch64_sve_cadd90vnx4si (TARGET_SVE2)
  6039. #define HAVE_aarch64_sve_cadd270vnx4si (TARGET_SVE2)
  6040. #define HAVE_aarch64_sve_sqcadd90vnx4si (TARGET_SVE2)
  6041. #define HAVE_aarch64_sve_sqcadd270vnx4si (TARGET_SVE2)
  6042. #define HAVE_aarch64_sve_cadd90vnx2di (TARGET_SVE2)
  6043. #define HAVE_aarch64_sve_cadd270vnx2di (TARGET_SVE2)
  6044. #define HAVE_aarch64_sve_sqcadd90vnx2di (TARGET_SVE2)
  6045. #define HAVE_aarch64_sve_sqcadd270vnx2di (TARGET_SVE2)
  6046. #define HAVE_aarch64_sve_cmlavnx16qi (TARGET_SVE2)
  6047. #define HAVE_aarch64_sve_cmla90vnx16qi (TARGET_SVE2)
  6048. #define HAVE_aarch64_sve_cmla180vnx16qi (TARGET_SVE2)
  6049. #define HAVE_aarch64_sve_cmla270vnx16qi (TARGET_SVE2)
  6050. #define HAVE_aarch64_sve_sqrdcmlahvnx16qi (TARGET_SVE2)
  6051. #define HAVE_aarch64_sve_sqrdcmlah90vnx16qi (TARGET_SVE2)
  6052. #define HAVE_aarch64_sve_sqrdcmlah180vnx16qi (TARGET_SVE2)
  6053. #define HAVE_aarch64_sve_sqrdcmlah270vnx16qi (TARGET_SVE2)
  6054. #define HAVE_aarch64_sve_cmlavnx8hi (TARGET_SVE2)
  6055. #define HAVE_aarch64_sve_cmla90vnx8hi (TARGET_SVE2)
  6056. #define HAVE_aarch64_sve_cmla180vnx8hi (TARGET_SVE2)
  6057. #define HAVE_aarch64_sve_cmla270vnx8hi (TARGET_SVE2)
  6058. #define HAVE_aarch64_sve_sqrdcmlahvnx8hi (TARGET_SVE2)
  6059. #define HAVE_aarch64_sve_sqrdcmlah90vnx8hi (TARGET_SVE2)
  6060. #define HAVE_aarch64_sve_sqrdcmlah180vnx8hi (TARGET_SVE2)
  6061. #define HAVE_aarch64_sve_sqrdcmlah270vnx8hi (TARGET_SVE2)
  6062. #define HAVE_aarch64_sve_cmlavnx4si (TARGET_SVE2)
  6063. #define HAVE_aarch64_sve_cmla90vnx4si (TARGET_SVE2)
  6064. #define HAVE_aarch64_sve_cmla180vnx4si (TARGET_SVE2)
  6065. #define HAVE_aarch64_sve_cmla270vnx4si (TARGET_SVE2)
  6066. #define HAVE_aarch64_sve_sqrdcmlahvnx4si (TARGET_SVE2)
  6067. #define HAVE_aarch64_sve_sqrdcmlah90vnx4si (TARGET_SVE2)
  6068. #define HAVE_aarch64_sve_sqrdcmlah180vnx4si (TARGET_SVE2)
  6069. #define HAVE_aarch64_sve_sqrdcmlah270vnx4si (TARGET_SVE2)
  6070. #define HAVE_aarch64_sve_cmlavnx2di (TARGET_SVE2)
  6071. #define HAVE_aarch64_sve_cmla90vnx2di (TARGET_SVE2)
  6072. #define HAVE_aarch64_sve_cmla180vnx2di (TARGET_SVE2)
  6073. #define HAVE_aarch64_sve_cmla270vnx2di (TARGET_SVE2)
  6074. #define HAVE_aarch64_sve_sqrdcmlahvnx2di (TARGET_SVE2)
  6075. #define HAVE_aarch64_sve_sqrdcmlah90vnx2di (TARGET_SVE2)
  6076. #define HAVE_aarch64_sve_sqrdcmlah180vnx2di (TARGET_SVE2)
  6077. #define HAVE_aarch64_sve_sqrdcmlah270vnx2di (TARGET_SVE2)
  6078. #define HAVE_aarch64_cmla_lane_vnx8hi (TARGET_SVE2)
  6079. #define HAVE_aarch64_cmla90_lane_vnx8hi (TARGET_SVE2)
  6080. #define HAVE_aarch64_cmla180_lane_vnx8hi (TARGET_SVE2)
  6081. #define HAVE_aarch64_cmla270_lane_vnx8hi (TARGET_SVE2)
  6082. #define HAVE_aarch64_sqrdcmlah_lane_vnx8hi (TARGET_SVE2)
  6083. #define HAVE_aarch64_sqrdcmlah90_lane_vnx8hi (TARGET_SVE2)
  6084. #define HAVE_aarch64_sqrdcmlah180_lane_vnx8hi (TARGET_SVE2)
  6085. #define HAVE_aarch64_sqrdcmlah270_lane_vnx8hi (TARGET_SVE2)
  6086. #define HAVE_aarch64_cmla_lane_vnx4si (TARGET_SVE2)
  6087. #define HAVE_aarch64_cmla90_lane_vnx4si (TARGET_SVE2)
  6088. #define HAVE_aarch64_cmla180_lane_vnx4si (TARGET_SVE2)
  6089. #define HAVE_aarch64_cmla270_lane_vnx4si (TARGET_SVE2)
  6090. #define HAVE_aarch64_sqrdcmlah_lane_vnx4si (TARGET_SVE2)
  6091. #define HAVE_aarch64_sqrdcmlah90_lane_vnx4si (TARGET_SVE2)
  6092. #define HAVE_aarch64_sqrdcmlah180_lane_vnx4si (TARGET_SVE2)
  6093. #define HAVE_aarch64_sqrdcmlah270_lane_vnx4si (TARGET_SVE2)
  6094. #define HAVE_aarch64_sve_cdotvnx4si (TARGET_SVE2)
  6095. #define HAVE_aarch64_sve_cdot90vnx4si (TARGET_SVE2)
  6096. #define HAVE_aarch64_sve_cdot180vnx4si (TARGET_SVE2)
  6097. #define HAVE_aarch64_sve_cdot270vnx4si (TARGET_SVE2)
  6098. #define HAVE_aarch64_sve_cdotvnx2di (TARGET_SVE2)
  6099. #define HAVE_aarch64_sve_cdot90vnx2di (TARGET_SVE2)
  6100. #define HAVE_aarch64_sve_cdot180vnx2di (TARGET_SVE2)
  6101. #define HAVE_aarch64_sve_cdot270vnx2di (TARGET_SVE2)
  6102. #define HAVE_aarch64_cdot_lane_vnx4si (TARGET_SVE2)
  6103. #define HAVE_aarch64_cdot90_lane_vnx4si (TARGET_SVE2)
  6104. #define HAVE_aarch64_cdot180_lane_vnx4si (TARGET_SVE2)
  6105. #define HAVE_aarch64_cdot270_lane_vnx4si (TARGET_SVE2)
  6106. #define HAVE_aarch64_cdot_lane_vnx2di (TARGET_SVE2)
  6107. #define HAVE_aarch64_cdot90_lane_vnx2di (TARGET_SVE2)
  6108. #define HAVE_aarch64_cdot180_lane_vnx2di (TARGET_SVE2)
  6109. #define HAVE_aarch64_cdot270_lane_vnx2di (TARGET_SVE2)
  6110. #define HAVE_aarch64_pred_fcvtltvnx4sf (TARGET_SVE2)
  6111. #define HAVE_aarch64_pred_fcvtltvnx2df (TARGET_SVE2)
  6112. #define HAVE_aarch64_sve_cvtntvnx8hf (TARGET_SVE2)
  6113. #define HAVE_aarch64_sve_cvtntvnx4sf (TARGET_SVE2)
  6114. #define HAVE_aarch64_pred_fcvtxvnx4sf (TARGET_SVE2)
  6115. #define HAVE_aarch64_sve2_cvtxntvnx2df (TARGET_SVE2)
  6116. #define HAVE_aarch64_pred_urecpevnx4si (TARGET_SVE2)
  6117. #define HAVE_aarch64_pred_ursqrtevnx4si (TARGET_SVE2)
  6118. #define HAVE_aarch64_pred_flogbvnx8hf (TARGET_SVE2)
  6119. #define HAVE_aarch64_pred_flogbvnx4sf (TARGET_SVE2)
  6120. #define HAVE_aarch64_pred_flogbvnx2df (TARGET_SVE2)
  6121. #define HAVE_aarch64_sve2_pmulvnx16qi (TARGET_SVE2)
  6122. #define HAVE_aarch64_sve_pmullbvnx8hi (TARGET_SVE2)
  6123. #define HAVE_aarch64_sve_pmulltvnx8hi (TARGET_SVE2)
  6124. #define HAVE_aarch64_sve_pmullbvnx2di (TARGET_SVE2)
  6125. #define HAVE_aarch64_sve_pmulltvnx2di (TARGET_SVE2)
  6126. #define HAVE_aarch64_sve_pmullb_pairvnx16qi (TARGET_SVE2)
  6127. #define HAVE_aarch64_sve_pmullt_pairvnx16qi (TARGET_SVE2)
  6128. #define HAVE_aarch64_sve_pmullb_pairvnx4si (TARGET_SVE2)
  6129. #define HAVE_aarch64_sve_pmullt_pairvnx4si (TARGET_SVE2)
  6130. #define HAVE_aarch64_sve_pmullb_pairvnx2di ((TARGET_SVE2) && (TARGET_SVE2_AES))
  6131. #define HAVE_aarch64_sve_pmullt_pairvnx2di ((TARGET_SVE2) && (TARGET_SVE2_AES))
  6132. #define HAVE_aarch64_sve2_tbl2vnx16qi (TARGET_SVE2)
  6133. #define HAVE_aarch64_sve2_tbl2vnx8hi (TARGET_SVE2)
  6134. #define HAVE_aarch64_sve2_tbl2vnx4si (TARGET_SVE2)
  6135. #define HAVE_aarch64_sve2_tbl2vnx2di (TARGET_SVE2)
  6136. #define HAVE_aarch64_sve2_tbl2vnx8bf (TARGET_SVE2)
  6137. #define HAVE_aarch64_sve2_tbl2vnx8hf (TARGET_SVE2)
  6138. #define HAVE_aarch64_sve2_tbl2vnx4sf (TARGET_SVE2)
  6139. #define HAVE_aarch64_sve2_tbl2vnx2df (TARGET_SVE2)
  6140. #define HAVE_aarch64_sve2_tbxvnx16qi (TARGET_SVE2)
  6141. #define HAVE_aarch64_sve2_tbxvnx8hi (TARGET_SVE2)
  6142. #define HAVE_aarch64_sve2_tbxvnx4si (TARGET_SVE2)
  6143. #define HAVE_aarch64_sve2_tbxvnx2di (TARGET_SVE2)
  6144. #define HAVE_aarch64_sve2_tbxvnx8bf (TARGET_SVE2)
  6145. #define HAVE_aarch64_sve2_tbxvnx8hf (TARGET_SVE2)
  6146. #define HAVE_aarch64_sve2_tbxvnx4sf (TARGET_SVE2)
  6147. #define HAVE_aarch64_sve2_tbxvnx2df (TARGET_SVE2)
  6148. #define HAVE_aarch64_sve_bdepvnx16qi (TARGET_SVE2_BITPERM)
  6149. #define HAVE_aarch64_sve_bextvnx16qi (TARGET_SVE2_BITPERM)
  6150. #define HAVE_aarch64_sve_bgrpvnx16qi (TARGET_SVE2_BITPERM)
  6151. #define HAVE_aarch64_sve_bdepvnx8hi (TARGET_SVE2_BITPERM)
  6152. #define HAVE_aarch64_sve_bextvnx8hi (TARGET_SVE2_BITPERM)
  6153. #define HAVE_aarch64_sve_bgrpvnx8hi (TARGET_SVE2_BITPERM)
  6154. #define HAVE_aarch64_sve_bdepvnx4si (TARGET_SVE2_BITPERM)
  6155. #define HAVE_aarch64_sve_bextvnx4si (TARGET_SVE2_BITPERM)
  6156. #define HAVE_aarch64_sve_bgrpvnx4si (TARGET_SVE2_BITPERM)
  6157. #define HAVE_aarch64_sve_bdepvnx2di (TARGET_SVE2_BITPERM)
  6158. #define HAVE_aarch64_sve_bextvnx2di (TARGET_SVE2_BITPERM)
  6159. #define HAVE_aarch64_sve_bgrpvnx2di (TARGET_SVE2_BITPERM)
  6160. #define HAVE_aarch64_sve2_histcntvnx4si (TARGET_SVE2)
  6161. #define HAVE_aarch64_sve2_histcntvnx2di (TARGET_SVE2)
  6162. #define HAVE_aarch64_sve2_histsegvnx16qi (TARGET_SVE2)
  6163. #define HAVE_aarch64_pred_matchvnx16qi (TARGET_SVE2)
  6164. #define HAVE_aarch64_pred_nmatchvnx16qi (TARGET_SVE2)
  6165. #define HAVE_aarch64_pred_matchvnx8hi (TARGET_SVE2)
  6166. #define HAVE_aarch64_pred_nmatchvnx8hi (TARGET_SVE2)
  6167. #define HAVE_aarch64_sve2_aese (TARGET_SVE2_AES)
  6168. #define HAVE_aarch64_sve2_aesd (TARGET_SVE2_AES)
  6169. #define HAVE_aarch64_sve2_aesmc (TARGET_SVE2_AES)
  6170. #define HAVE_aarch64_sve2_aesimc (TARGET_SVE2_AES)
  6171. #define HAVE_aarch64_sve2_rax1 (TARGET_SVE2_SHA3)
  6172. #define HAVE_aarch64_sve2_sm4e (TARGET_SVE2_SM4)
  6173. #define HAVE_aarch64_sve2_sm4ekey (TARGET_SVE2_SM4)
  6174. #define HAVE_cbranchsi4 1
  6175. #define HAVE_cbranchdi4 1
  6176. #define HAVE_cbranchsf4 1
  6177. #define HAVE_cbranchdf4 1
  6178. #define HAVE_cbranchcc4 1
  6179. #define HAVE_modsi3 1
  6180. #define HAVE_moddi3 1
  6181. #define HAVE_casesi 1
  6182. #define HAVE_casesi_dispatch 1
  6183. #define HAVE_prologue 1
  6184. #define HAVE_epilogue 1
  6185. #define HAVE_sibcall_epilogue 1
  6186. #define HAVE_return (aarch64_use_return_insn_p ())
  6187. #define HAVE_call 1
  6188. #define HAVE_call_value 1
  6189. #define HAVE_sibcall 1
  6190. #define HAVE_sibcall_value 1
  6191. #define HAVE_untyped_call 1
  6192. #define HAVE_movqi 1
  6193. #define HAVE_movhi 1
  6194. #define HAVE_movsi 1
  6195. #define HAVE_movdi 1
  6196. #define HAVE_movti 1
  6197. #define HAVE_movhf 1
  6198. #define HAVE_movbf 1
  6199. #define HAVE_movsf 1
  6200. #define HAVE_movdf 1
  6201. #define HAVE_movtf 1
  6202. #define HAVE_cpymemdi (!STRICT_ALIGNMENT)
  6203. #define HAVE_extendsidi2 1
  6204. #define HAVE_zero_extendsidi2 1
  6205. #define HAVE_extendqisi2 1
  6206. #define HAVE_zero_extendqisi2 1
  6207. #define HAVE_extendhisi2 1
  6208. #define HAVE_zero_extendhisi2 1
  6209. #define HAVE_extendqidi2 1
  6210. #define HAVE_zero_extendqidi2 1
  6211. #define HAVE_extendhidi2 1
  6212. #define HAVE_zero_extendhidi2 1
  6213. #define HAVE_extendqihi2 1
  6214. #define HAVE_zero_extendqihi2 1
  6215. #define HAVE_addsi3 1
  6216. #define HAVE_adddi3 1
  6217. #define HAVE_addvsi4 1
  6218. #define HAVE_addvdi4 1
  6219. #define HAVE_uaddvsi4 1
  6220. #define HAVE_uaddvdi4 1
  6221. #define HAVE_addti3 1
  6222. #define HAVE_addvti4 1
  6223. #define HAVE_uaddvti4 1
  6224. #define HAVE_addsi3_carryin 1
  6225. #define HAVE_adddi3_carryin 1
  6226. #define HAVE_addsi3_carryinC 1
  6227. #define HAVE_adddi3_carryinC 1
  6228. #define HAVE_addsi3_carryinV 1
  6229. #define HAVE_adddi3_carryinV 1
  6230. #define HAVE_subvsi4 1
  6231. #define HAVE_subvdi4 1
  6232. #define HAVE_negvsi3 1
  6233. #define HAVE_negvdi3 1
  6234. #define HAVE_usubvsi4 1
  6235. #define HAVE_usubvdi4 1
  6236. #define HAVE_subti3 1
  6237. #define HAVE_subvti4 1
  6238. #define HAVE_usubvti4 1
  6239. #define HAVE_negvti3 1
  6240. #define HAVE_subsi3_carryin 1
  6241. #define HAVE_subdi3_carryin 1
  6242. #define HAVE_usubsi3_carryinC 1
  6243. #define HAVE_usubdi3_carryinC 1
  6244. #define HAVE_subsi3_carryinV 1
  6245. #define HAVE_subdi3_carryinV 1
  6246. #define HAVE_abssi2 1
  6247. #define HAVE_absdi2 1
  6248. #define HAVE_mulditi3 1
  6249. #define HAVE_umulditi3 1
  6250. #define HAVE_multi3 1
  6251. #define HAVE_cstoresi4 1
  6252. #define HAVE_cstoredi4 1
  6253. #define HAVE_cstorecc4 1
  6254. #define HAVE_cstoresf4 1
  6255. #define HAVE_cstoredf4 1
  6256. #define HAVE_cmovsi6 1
  6257. #define HAVE_cmovdi6 1
  6258. #define HAVE_cmovsf6 1
  6259. #define HAVE_cmovdf6 1
  6260. #define HAVE_movqicc 1
  6261. #define HAVE_movhicc 1
  6262. #define HAVE_movsicc 1
  6263. #define HAVE_movdicc 1
  6264. #define HAVE_movsfsicc 1
  6265. #define HAVE_movdfsicc 1
  6266. #define HAVE_movsfdicc 1
  6267. #define HAVE_movdfdicc 1
  6268. #define HAVE_movsfcc 1
  6269. #define HAVE_movdfcc 1
  6270. #define HAVE_negsicc 1
  6271. #define HAVE_notsicc 1
  6272. #define HAVE_negdicc 1
  6273. #define HAVE_notdicc 1
  6274. #define HAVE_umaxsi3 (TARGET_SVE)
  6275. #define HAVE_umaxdi3 (TARGET_SVE)
  6276. #define HAVE_ffssi2 1
  6277. #define HAVE_ffsdi2 1
  6278. #define HAVE_popcountsi2 (TARGET_SIMD)
  6279. #define HAVE_popcountdi2 (TARGET_SIMD)
  6280. #define HAVE_ashlsi3 1
  6281. #define HAVE_ashrsi3 1
  6282. #define HAVE_lshrsi3 1
  6283. #define HAVE_ashldi3 1
  6284. #define HAVE_ashrdi3 1
  6285. #define HAVE_lshrdi3 1
  6286. #define HAVE_ashlqi3 1
  6287. #define HAVE_ashlhi3 1
  6288. #define HAVE_rotrsi3 1
  6289. #define HAVE_rotrdi3 1
  6290. #define HAVE_rotlsi3 1
  6291. #define HAVE_rotldi3 1
  6292. #define HAVE_extv 1
  6293. #define HAVE_extzv 1
  6294. #define HAVE_insvsi 1
  6295. #define HAVE_insvdi 1
  6296. #define HAVE_fmahf4 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  6297. #define HAVE_fmasf4 (TARGET_FLOAT)
  6298. #define HAVE_fmadf4 (TARGET_FLOAT)
  6299. #define HAVE_fnmahf4 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  6300. #define HAVE_fnmasf4 (TARGET_FLOAT)
  6301. #define HAVE_fnmadf4 (TARGET_FLOAT)
  6302. #define HAVE_fmssf4 (TARGET_FLOAT)
  6303. #define HAVE_fmsdf4 (TARGET_FLOAT)
  6304. #define HAVE_fnmssf4 (TARGET_FLOAT)
  6305. #define HAVE_fnmsdf4 (TARGET_FLOAT)
  6306. #define HAVE_floatsihf2 (TARGET_FLOAT)
  6307. #define HAVE_floatunssihf2 (TARGET_FLOAT)
  6308. #define HAVE_floatdihf2 (TARGET_FLOAT && (TARGET_FP_F16INST || TARGET_SIMD))
  6309. #define HAVE_floatunsdihf2 (TARGET_FLOAT && (TARGET_FP_F16INST || TARGET_SIMD))
  6310. #define HAVE_divhf3 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  6311. #define HAVE_divsf3 (TARGET_FLOAT)
  6312. #define HAVE_divdf3 (TARGET_FLOAT)
  6313. #define HAVE_sqrthf2 ((TARGET_FLOAT) && (AARCH64_ISA_F16))
  6314. #define HAVE_sqrtsf2 (TARGET_FLOAT)
  6315. #define HAVE_sqrtdf2 (TARGET_FLOAT)
  6316. #define HAVE_lrintsfsi2 (TARGET_FLOAT \
  6317. && ((GET_MODE_BITSIZE (SFmode) <= LONG_TYPE_SIZE) \
  6318. || !flag_trapping_math || flag_fp_int_builtin_inexact))
  6319. #define HAVE_lrintdfsi2 (TARGET_FLOAT \
  6320. && ((GET_MODE_BITSIZE (DFmode) <= LONG_TYPE_SIZE) \
  6321. || !flag_trapping_math || flag_fp_int_builtin_inexact))
  6322. #define HAVE_lrintsfdi2 (TARGET_FLOAT \
  6323. && ((GET_MODE_BITSIZE (SFmode) <= LONG_TYPE_SIZE) \
  6324. || !flag_trapping_math || flag_fp_int_builtin_inexact))
  6325. #define HAVE_lrintdfdi2 (TARGET_FLOAT \
  6326. && ((GET_MODE_BITSIZE (DFmode) <= LONG_TYPE_SIZE) \
  6327. || !flag_trapping_math || flag_fp_int_builtin_inexact))
  6328. #define HAVE_copysignsf3 (TARGET_FLOAT && TARGET_SIMD)
  6329. #define HAVE_copysigndf3 (TARGET_FLOAT && TARGET_SIMD)
  6330. #define HAVE_xorsignsf3 (TARGET_FLOAT && TARGET_SIMD)
  6331. #define HAVE_xorsigndf3 (TARGET_FLOAT && TARGET_SIMD)
  6332. #define HAVE_aarch64_reload_movcpsfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6333. #define HAVE_aarch64_reload_movcpsfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6334. #define HAVE_aarch64_reload_movcpdfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6335. #define HAVE_aarch64_reload_movcpdfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6336. #define HAVE_aarch64_reload_movcptfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6337. #define HAVE_aarch64_reload_movcptfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6338. #define HAVE_aarch64_reload_movcpv8qisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6339. #define HAVE_aarch64_reload_movcpv8qidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6340. #define HAVE_aarch64_reload_movcpv16qisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6341. #define HAVE_aarch64_reload_movcpv16qidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6342. #define HAVE_aarch64_reload_movcpv4hisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6343. #define HAVE_aarch64_reload_movcpv4hidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6344. #define HAVE_aarch64_reload_movcpv8hisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6345. #define HAVE_aarch64_reload_movcpv8hidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6346. #define HAVE_aarch64_reload_movcpv2sisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6347. #define HAVE_aarch64_reload_movcpv2sidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6348. #define HAVE_aarch64_reload_movcpv4sisi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6349. #define HAVE_aarch64_reload_movcpv4sidi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6350. #define HAVE_aarch64_reload_movcpv2disi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6351. #define HAVE_aarch64_reload_movcpv2didi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6352. #define HAVE_aarch64_reload_movcpv2sfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6353. #define HAVE_aarch64_reload_movcpv2sfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6354. #define HAVE_aarch64_reload_movcpv4sfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6355. #define HAVE_aarch64_reload_movcpv4sfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6356. #define HAVE_aarch64_reload_movcpv2dfsi ((TARGET_FLOAT) && (ptr_mode == SImode || Pmode == SImode))
  6357. #define HAVE_aarch64_reload_movcpv2dfdi ((TARGET_FLOAT) && (ptr_mode == DImode || Pmode == DImode))
  6358. #define HAVE_aarch64_reload_movti (TARGET_FLOAT)
  6359. #define HAVE_aarch64_reload_movtf (TARGET_FLOAT)
  6360. #define HAVE_add_losym 1
  6361. #define HAVE_tlsgd_small_si (ptr_mode == SImode)
  6362. #define HAVE_tlsgd_small_di (ptr_mode == DImode)
  6363. #define HAVE_tlsdesc_small_si ((TARGET_TLS_DESC) && (ptr_mode == SImode))
  6364. #define HAVE_tlsdesc_small_di ((TARGET_TLS_DESC) && (ptr_mode == DImode))
  6365. #define HAVE_get_thread_pointerdi 1
  6366. #define HAVE_stack_protect_set 1
  6367. #define HAVE_stack_protect_combined_set 1
  6368. #define HAVE_stack_protect_test 1
  6369. #define HAVE_stack_protect_combined_test 1
  6370. #define HAVE_doloop_end (optimize > 0 && flag_modulo_sched)
  6371. #define HAVE_despeculate_copyqi 1
  6372. #define HAVE_despeculate_copyhi 1
  6373. #define HAVE_despeculate_copysi 1
  6374. #define HAVE_despeculate_copydi 1
  6375. #define HAVE_despeculate_copyti 1
  6376. #define HAVE_movv8qi (TARGET_SIMD)
  6377. #define HAVE_movv16qi (TARGET_SIMD)
  6378. #define HAVE_movv4hi (TARGET_SIMD)
  6379. #define HAVE_movv8hi (TARGET_SIMD)
  6380. #define HAVE_movv2si (TARGET_SIMD)
  6381. #define HAVE_movv4si (TARGET_SIMD)
  6382. #define HAVE_movv2di (TARGET_SIMD)
  6383. #define HAVE_movv4hf (TARGET_SIMD)
  6384. #define HAVE_movv8hf (TARGET_SIMD)
  6385. #define HAVE_movv4bf (TARGET_SIMD)
  6386. #define HAVE_movv8bf (TARGET_SIMD)
  6387. #define HAVE_movv2sf (TARGET_SIMD)
  6388. #define HAVE_movv4sf (TARGET_SIMD)
  6389. #define HAVE_movv2df (TARGET_SIMD)
  6390. #define HAVE_movmisalignv8qi (TARGET_SIMD && !STRICT_ALIGNMENT)
  6391. #define HAVE_movmisalignv16qi (TARGET_SIMD && !STRICT_ALIGNMENT)
  6392. #define HAVE_movmisalignv4hi (TARGET_SIMD && !STRICT_ALIGNMENT)
  6393. #define HAVE_movmisalignv8hi (TARGET_SIMD && !STRICT_ALIGNMENT)
  6394. #define HAVE_movmisalignv2si (TARGET_SIMD && !STRICT_ALIGNMENT)
  6395. #define HAVE_movmisalignv4si (TARGET_SIMD && !STRICT_ALIGNMENT)
  6396. #define HAVE_movmisalignv2di (TARGET_SIMD && !STRICT_ALIGNMENT)
  6397. #define HAVE_movmisalignv2sf (TARGET_SIMD && !STRICT_ALIGNMENT)
  6398. #define HAVE_movmisalignv4sf (TARGET_SIMD && !STRICT_ALIGNMENT)
  6399. #define HAVE_movmisalignv2df (TARGET_SIMD && !STRICT_ALIGNMENT)
  6400. #define HAVE_aarch64_split_simd_movv16qi (TARGET_SIMD)
  6401. #define HAVE_aarch64_split_simd_movv8hi (TARGET_SIMD)
  6402. #define HAVE_aarch64_split_simd_movv4si (TARGET_SIMD)
  6403. #define HAVE_aarch64_split_simd_movv2di (TARGET_SIMD)
  6404. #define HAVE_aarch64_split_simd_movv8hf (TARGET_SIMD)
  6405. #define HAVE_aarch64_split_simd_movv8bf (TARGET_SIMD)
  6406. #define HAVE_aarch64_split_simd_movv4sf (TARGET_SIMD)
  6407. #define HAVE_aarch64_split_simd_movv2df (TARGET_SIMD)
  6408. #define HAVE_aarch64_get_halfv16qi (TARGET_SIMD)
  6409. #define HAVE_aarch64_get_halfv8hi (TARGET_SIMD)
  6410. #define HAVE_aarch64_get_halfv4si (TARGET_SIMD)
  6411. #define HAVE_aarch64_get_halfv2di (TARGET_SIMD)
  6412. #define HAVE_aarch64_get_halfv8hf (TARGET_SIMD)
  6413. #define HAVE_aarch64_get_halfv8bf (TARGET_SIMD)
  6414. #define HAVE_aarch64_get_halfv4sf (TARGET_SIMD)
  6415. #define HAVE_aarch64_get_halfv2df (TARGET_SIMD)
  6416. #define HAVE_ctzv2si2 (TARGET_SIMD)
  6417. #define HAVE_ctzv4si2 (TARGET_SIMD)
  6418. #define HAVE_xorsignv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6419. #define HAVE_xorsignv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6420. #define HAVE_xorsignv2sf3 (TARGET_SIMD)
  6421. #define HAVE_xorsignv4sf3 (TARGET_SIMD)
  6422. #define HAVE_xorsignv2df3 (TARGET_SIMD)
  6423. #define HAVE_sdot_prodv8qi (TARGET_DOTPROD)
  6424. #define HAVE_udot_prodv8qi (TARGET_DOTPROD)
  6425. #define HAVE_sdot_prodv16qi (TARGET_DOTPROD)
  6426. #define HAVE_udot_prodv16qi (TARGET_DOTPROD)
  6427. #define HAVE_copysignv4hf3 ((TARGET_FLOAT && TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6428. #define HAVE_copysignv8hf3 ((TARGET_FLOAT && TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6429. #define HAVE_copysignv2sf3 (TARGET_FLOAT && TARGET_SIMD)
  6430. #define HAVE_copysignv4sf3 (TARGET_FLOAT && TARGET_SIMD)
  6431. #define HAVE_copysignv2df3 (TARGET_FLOAT && TARGET_SIMD)
  6432. #define HAVE_rsqrtv2sf2 (TARGET_SIMD)
  6433. #define HAVE_rsqrtv4sf2 (TARGET_SIMD)
  6434. #define HAVE_rsqrtv2df2 (TARGET_SIMD)
  6435. #define HAVE_rsqrtsf2 (TARGET_SIMD)
  6436. #define HAVE_rsqrtdf2 (TARGET_SIMD)
  6437. #define HAVE_ssadv16qi (TARGET_SIMD)
  6438. #define HAVE_usadv16qi (TARGET_SIMD)
  6439. #define HAVE_signbitv2sf2 (TARGET_SIMD)
  6440. #define HAVE_signbitv4sf2 (TARGET_SIMD)
  6441. #define HAVE_ashlv8qi3 (TARGET_SIMD)
  6442. #define HAVE_ashlv16qi3 (TARGET_SIMD)
  6443. #define HAVE_ashlv4hi3 (TARGET_SIMD)
  6444. #define HAVE_ashlv8hi3 (TARGET_SIMD)
  6445. #define HAVE_ashlv2si3 (TARGET_SIMD)
  6446. #define HAVE_ashlv4si3 (TARGET_SIMD)
  6447. #define HAVE_ashlv2di3 (TARGET_SIMD)
  6448. #define HAVE_lshrv8qi3 (TARGET_SIMD)
  6449. #define HAVE_lshrv16qi3 (TARGET_SIMD)
  6450. #define HAVE_lshrv4hi3 (TARGET_SIMD)
  6451. #define HAVE_lshrv8hi3 (TARGET_SIMD)
  6452. #define HAVE_lshrv2si3 (TARGET_SIMD)
  6453. #define HAVE_lshrv4si3 (TARGET_SIMD)
  6454. #define HAVE_lshrv2di3 (TARGET_SIMD)
  6455. #define HAVE_ashrv8qi3 (TARGET_SIMD)
  6456. #define HAVE_ashrv16qi3 (TARGET_SIMD)
  6457. #define HAVE_ashrv4hi3 (TARGET_SIMD)
  6458. #define HAVE_ashrv8hi3 (TARGET_SIMD)
  6459. #define HAVE_ashrv2si3 (TARGET_SIMD)
  6460. #define HAVE_ashrv4si3 (TARGET_SIMD)
  6461. #define HAVE_ashrv2di3 (TARGET_SIMD)
  6462. #define HAVE_vashlv8qi3 (TARGET_SIMD)
  6463. #define HAVE_vashlv16qi3 (TARGET_SIMD)
  6464. #define HAVE_vashlv4hi3 (TARGET_SIMD)
  6465. #define HAVE_vashlv8hi3 (TARGET_SIMD)
  6466. #define HAVE_vashlv2si3 (TARGET_SIMD)
  6467. #define HAVE_vashlv4si3 (TARGET_SIMD)
  6468. #define HAVE_vashlv2di3 (TARGET_SIMD)
  6469. #define HAVE_vashrv8qi3 (TARGET_SIMD)
  6470. #define HAVE_vashrv16qi3 (TARGET_SIMD)
  6471. #define HAVE_vashrv4hi3 (TARGET_SIMD)
  6472. #define HAVE_vashrv8hi3 (TARGET_SIMD)
  6473. #define HAVE_vashrv2si3 (TARGET_SIMD)
  6474. #define HAVE_vashrv4si3 (TARGET_SIMD)
  6475. #define HAVE_aarch64_ashr_simddi (TARGET_SIMD)
  6476. #define HAVE_vlshrv8qi3 (TARGET_SIMD)
  6477. #define HAVE_vlshrv16qi3 (TARGET_SIMD)
  6478. #define HAVE_vlshrv4hi3 (TARGET_SIMD)
  6479. #define HAVE_vlshrv8hi3 (TARGET_SIMD)
  6480. #define HAVE_vlshrv2si3 (TARGET_SIMD)
  6481. #define HAVE_vlshrv4si3 (TARGET_SIMD)
  6482. #define HAVE_aarch64_lshr_simddi (TARGET_SIMD)
  6483. #define HAVE_vec_setv8qi (TARGET_SIMD)
  6484. #define HAVE_vec_setv16qi (TARGET_SIMD)
  6485. #define HAVE_vec_setv4hi (TARGET_SIMD)
  6486. #define HAVE_vec_setv8hi (TARGET_SIMD)
  6487. #define HAVE_vec_setv2si (TARGET_SIMD)
  6488. #define HAVE_vec_setv4si (TARGET_SIMD)
  6489. #define HAVE_vec_setv2di (TARGET_SIMD)
  6490. #define HAVE_vec_setv4hf (TARGET_SIMD)
  6491. #define HAVE_vec_setv8hf (TARGET_SIMD)
  6492. #define HAVE_vec_setv4bf (TARGET_SIMD)
  6493. #define HAVE_vec_setv8bf (TARGET_SIMD)
  6494. #define HAVE_vec_setv2sf (TARGET_SIMD)
  6495. #define HAVE_vec_setv4sf (TARGET_SIMD)
  6496. #define HAVE_vec_setv2df (TARGET_SIMD)
  6497. #define HAVE_smaxv2di3 (TARGET_SIMD)
  6498. #define HAVE_sminv2di3 (TARGET_SIMD)
  6499. #define HAVE_umaxv2di3 (TARGET_SIMD)
  6500. #define HAVE_uminv2di3 (TARGET_SIMD)
  6501. #define HAVE_move_lo_quad_v16qi (TARGET_SIMD)
  6502. #define HAVE_move_lo_quad_v8hi (TARGET_SIMD)
  6503. #define HAVE_move_lo_quad_v4si (TARGET_SIMD)
  6504. #define HAVE_move_lo_quad_v2di (TARGET_SIMD)
  6505. #define HAVE_move_lo_quad_v8hf (TARGET_SIMD)
  6506. #define HAVE_move_lo_quad_v8bf (TARGET_SIMD)
  6507. #define HAVE_move_lo_quad_v4sf (TARGET_SIMD)
  6508. #define HAVE_move_lo_quad_v2df (TARGET_SIMD)
  6509. #define HAVE_move_hi_quad_v16qi (TARGET_SIMD)
  6510. #define HAVE_move_hi_quad_v8hi (TARGET_SIMD)
  6511. #define HAVE_move_hi_quad_v4si (TARGET_SIMD)
  6512. #define HAVE_move_hi_quad_v2di (TARGET_SIMD)
  6513. #define HAVE_move_hi_quad_v8hf (TARGET_SIMD)
  6514. #define HAVE_move_hi_quad_v8bf (TARGET_SIMD)
  6515. #define HAVE_move_hi_quad_v4sf (TARGET_SIMD)
  6516. #define HAVE_move_hi_quad_v2df (TARGET_SIMD)
  6517. #define HAVE_vec_pack_trunc_v4hi (TARGET_SIMD)
  6518. #define HAVE_vec_pack_trunc_v2si (TARGET_SIMD)
  6519. #define HAVE_vec_pack_trunc_di (TARGET_SIMD)
  6520. #define HAVE_vec_unpacks_hi_v16qi (TARGET_SIMD)
  6521. #define HAVE_vec_unpacku_hi_v16qi (TARGET_SIMD)
  6522. #define HAVE_vec_unpacks_hi_v8hi (TARGET_SIMD)
  6523. #define HAVE_vec_unpacku_hi_v8hi (TARGET_SIMD)
  6524. #define HAVE_vec_unpacks_hi_v4si (TARGET_SIMD)
  6525. #define HAVE_vec_unpacku_hi_v4si (TARGET_SIMD)
  6526. #define HAVE_vec_unpacks_lo_v16qi (TARGET_SIMD)
  6527. #define HAVE_vec_unpacku_lo_v16qi (TARGET_SIMD)
  6528. #define HAVE_vec_unpacks_lo_v8hi (TARGET_SIMD)
  6529. #define HAVE_vec_unpacku_lo_v8hi (TARGET_SIMD)
  6530. #define HAVE_vec_unpacks_lo_v4si (TARGET_SIMD)
  6531. #define HAVE_vec_unpacku_lo_v4si (TARGET_SIMD)
  6532. #define HAVE_vec_widen_smult_lo_v16qi (TARGET_SIMD)
  6533. #define HAVE_vec_widen_umult_lo_v16qi (TARGET_SIMD)
  6534. #define HAVE_vec_widen_smult_lo_v8hi (TARGET_SIMD)
  6535. #define HAVE_vec_widen_umult_lo_v8hi (TARGET_SIMD)
  6536. #define HAVE_vec_widen_smult_lo_v4si (TARGET_SIMD)
  6537. #define HAVE_vec_widen_umult_lo_v4si (TARGET_SIMD)
  6538. #define HAVE_vec_widen_smult_hi_v16qi (TARGET_SIMD)
  6539. #define HAVE_vec_widen_umult_hi_v16qi (TARGET_SIMD)
  6540. #define HAVE_vec_widen_smult_hi_v8hi (TARGET_SIMD)
  6541. #define HAVE_vec_widen_umult_hi_v8hi (TARGET_SIMD)
  6542. #define HAVE_vec_widen_smult_hi_v4si (TARGET_SIMD)
  6543. #define HAVE_vec_widen_umult_hi_v4si (TARGET_SIMD)
  6544. #define HAVE_divv4hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6545. #define HAVE_divv8hf3 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6546. #define HAVE_divv2sf3 (TARGET_SIMD)
  6547. #define HAVE_divv4sf3 (TARGET_SIMD)
  6548. #define HAVE_divv2df3 (TARGET_SIMD)
  6549. #define HAVE_fixv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6550. #define HAVE_fixunsv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6551. #define HAVE_fixv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6552. #define HAVE_fixunsv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6553. #define HAVE_fixv2sfv2si2 (TARGET_SIMD)
  6554. #define HAVE_fixunsv2sfv2si2 (TARGET_SIMD)
  6555. #define HAVE_fixv4sfv4si2 (TARGET_SIMD)
  6556. #define HAVE_fixunsv4sfv4si2 (TARGET_SIMD)
  6557. #define HAVE_fixv2dfv2di2 (TARGET_SIMD)
  6558. #define HAVE_fixunsv2dfv2di2 (TARGET_SIMD)
  6559. #define HAVE_fix_truncv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6560. #define HAVE_fixuns_truncv4hfv4hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6561. #define HAVE_fix_truncv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6562. #define HAVE_fixuns_truncv8hfv8hi2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6563. #define HAVE_fix_truncv2sfv2si2 (TARGET_SIMD)
  6564. #define HAVE_fixuns_truncv2sfv2si2 (TARGET_SIMD)
  6565. #define HAVE_fix_truncv4sfv4si2 (TARGET_SIMD)
  6566. #define HAVE_fixuns_truncv4sfv4si2 (TARGET_SIMD)
  6567. #define HAVE_fix_truncv2dfv2di2 (TARGET_SIMD)
  6568. #define HAVE_fixuns_truncv2dfv2di2 (TARGET_SIMD)
  6569. #define HAVE_ftruncv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6570. #define HAVE_ftruncv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6571. #define HAVE_ftruncv2sf2 (TARGET_SIMD)
  6572. #define HAVE_ftruncv4sf2 (TARGET_SIMD)
  6573. #define HAVE_ftruncv2df2 (TARGET_SIMD)
  6574. #define HAVE_vec_unpacks_lo_v8hf (TARGET_SIMD)
  6575. #define HAVE_vec_unpacks_lo_v4sf (TARGET_SIMD)
  6576. #define HAVE_vec_unpacks_hi_v8hf (TARGET_SIMD)
  6577. #define HAVE_vec_unpacks_hi_v4sf (TARGET_SIMD)
  6578. #define HAVE_aarch64_float_truncate_hi_v4sf (TARGET_SIMD)
  6579. #define HAVE_aarch64_float_truncate_hi_v8hf (TARGET_SIMD)
  6580. #define HAVE_vec_pack_trunc_v2df (TARGET_SIMD)
  6581. #define HAVE_vec_pack_trunc_df (TARGET_SIMD)
  6582. #define HAVE_reduc_plus_scal_v8qi (TARGET_SIMD)
  6583. #define HAVE_reduc_plus_scal_v16qi (TARGET_SIMD)
  6584. #define HAVE_reduc_plus_scal_v4hi (TARGET_SIMD)
  6585. #define HAVE_reduc_plus_scal_v8hi (TARGET_SIMD)
  6586. #define HAVE_reduc_plus_scal_v2si (TARGET_SIMD)
  6587. #define HAVE_reduc_plus_scal_v4si (TARGET_SIMD)
  6588. #define HAVE_reduc_plus_scal_v2di (TARGET_SIMD)
  6589. #define HAVE_reduc_plus_scal_v4sf (TARGET_SIMD)
  6590. #define HAVE_reduc_smax_nan_scal_v4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6591. #define HAVE_reduc_smin_nan_scal_v4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6592. #define HAVE_reduc_smax_scal_v4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6593. #define HAVE_reduc_smin_scal_v4hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6594. #define HAVE_reduc_smax_nan_scal_v8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6595. #define HAVE_reduc_smin_nan_scal_v8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6596. #define HAVE_reduc_smax_scal_v8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6597. #define HAVE_reduc_smin_scal_v8hf ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6598. #define HAVE_reduc_smax_nan_scal_v2sf (TARGET_SIMD)
  6599. #define HAVE_reduc_smin_nan_scal_v2sf (TARGET_SIMD)
  6600. #define HAVE_reduc_smax_scal_v2sf (TARGET_SIMD)
  6601. #define HAVE_reduc_smin_scal_v2sf (TARGET_SIMD)
  6602. #define HAVE_reduc_smax_nan_scal_v4sf (TARGET_SIMD)
  6603. #define HAVE_reduc_smin_nan_scal_v4sf (TARGET_SIMD)
  6604. #define HAVE_reduc_smax_scal_v4sf (TARGET_SIMD)
  6605. #define HAVE_reduc_smin_scal_v4sf (TARGET_SIMD)
  6606. #define HAVE_reduc_smax_nan_scal_v2df (TARGET_SIMD)
  6607. #define HAVE_reduc_smin_nan_scal_v2df (TARGET_SIMD)
  6608. #define HAVE_reduc_smax_scal_v2df (TARGET_SIMD)
  6609. #define HAVE_reduc_smin_scal_v2df (TARGET_SIMD)
  6610. #define HAVE_reduc_umax_scal_v8qi (TARGET_SIMD)
  6611. #define HAVE_reduc_umin_scal_v8qi (TARGET_SIMD)
  6612. #define HAVE_reduc_smax_scal_v8qi (TARGET_SIMD)
  6613. #define HAVE_reduc_smin_scal_v8qi (TARGET_SIMD)
  6614. #define HAVE_reduc_umax_scal_v16qi (TARGET_SIMD)
  6615. #define HAVE_reduc_umin_scal_v16qi (TARGET_SIMD)
  6616. #define HAVE_reduc_smax_scal_v16qi (TARGET_SIMD)
  6617. #define HAVE_reduc_smin_scal_v16qi (TARGET_SIMD)
  6618. #define HAVE_reduc_umax_scal_v4hi (TARGET_SIMD)
  6619. #define HAVE_reduc_umin_scal_v4hi (TARGET_SIMD)
  6620. #define HAVE_reduc_smax_scal_v4hi (TARGET_SIMD)
  6621. #define HAVE_reduc_smin_scal_v4hi (TARGET_SIMD)
  6622. #define HAVE_reduc_umax_scal_v8hi (TARGET_SIMD)
  6623. #define HAVE_reduc_umin_scal_v8hi (TARGET_SIMD)
  6624. #define HAVE_reduc_smax_scal_v8hi (TARGET_SIMD)
  6625. #define HAVE_reduc_smin_scal_v8hi (TARGET_SIMD)
  6626. #define HAVE_reduc_umax_scal_v2si (TARGET_SIMD)
  6627. #define HAVE_reduc_umin_scal_v2si (TARGET_SIMD)
  6628. #define HAVE_reduc_smax_scal_v2si (TARGET_SIMD)
  6629. #define HAVE_reduc_smin_scal_v2si (TARGET_SIMD)
  6630. #define HAVE_reduc_umax_scal_v4si (TARGET_SIMD)
  6631. #define HAVE_reduc_umin_scal_v4si (TARGET_SIMD)
  6632. #define HAVE_reduc_smax_scal_v4si (TARGET_SIMD)
  6633. #define HAVE_reduc_smin_scal_v4si (TARGET_SIMD)
  6634. #define HAVE_aarch64_simd_bslv8qi (TARGET_SIMD)
  6635. #define HAVE_aarch64_simd_bslv16qi (TARGET_SIMD)
  6636. #define HAVE_aarch64_simd_bslv4hi (TARGET_SIMD)
  6637. #define HAVE_aarch64_simd_bslv8hi (TARGET_SIMD)
  6638. #define HAVE_aarch64_simd_bslv2si (TARGET_SIMD)
  6639. #define HAVE_aarch64_simd_bslv4si (TARGET_SIMD)
  6640. #define HAVE_aarch64_simd_bslv4bf (TARGET_SIMD)
  6641. #define HAVE_aarch64_simd_bslv8bf (TARGET_SIMD)
  6642. #define HAVE_aarch64_simd_bslv2di (TARGET_SIMD)
  6643. #define HAVE_aarch64_simd_bslv4hf (TARGET_SIMD)
  6644. #define HAVE_aarch64_simd_bslv8hf (TARGET_SIMD)
  6645. #define HAVE_aarch64_simd_bslv2sf (TARGET_SIMD)
  6646. #define HAVE_aarch64_simd_bslv4sf (TARGET_SIMD)
  6647. #define HAVE_aarch64_simd_bslv2df (TARGET_SIMD)
  6648. #define HAVE_aarch64_simd_bsldi (TARGET_SIMD)
  6649. #define HAVE_aarch64_simd_bsldf (TARGET_SIMD)
  6650. #define HAVE_vcond_mask_v8qiv8qi (TARGET_SIMD)
  6651. #define HAVE_vcond_mask_v16qiv16qi (TARGET_SIMD)
  6652. #define HAVE_vcond_mask_v4hiv4hi (TARGET_SIMD)
  6653. #define HAVE_vcond_mask_v8hiv8hi (TARGET_SIMD)
  6654. #define HAVE_vcond_mask_v2siv2si (TARGET_SIMD)
  6655. #define HAVE_vcond_mask_v4siv4si (TARGET_SIMD)
  6656. #define HAVE_vcond_mask_v2div2di (TARGET_SIMD)
  6657. #define HAVE_vcond_mask_v2sfv2si (TARGET_SIMD)
  6658. #define HAVE_vcond_mask_v4sfv4si (TARGET_SIMD)
  6659. #define HAVE_vcond_mask_v2dfv2di (TARGET_SIMD)
  6660. #define HAVE_vcond_mask_didi (TARGET_SIMD)
  6661. #define HAVE_vec_cmpv8qiv8qi (TARGET_SIMD)
  6662. #define HAVE_vec_cmpv16qiv16qi (TARGET_SIMD)
  6663. #define HAVE_vec_cmpv4hiv4hi (TARGET_SIMD)
  6664. #define HAVE_vec_cmpv8hiv8hi (TARGET_SIMD)
  6665. #define HAVE_vec_cmpv2siv2si (TARGET_SIMD)
  6666. #define HAVE_vec_cmpv4siv4si (TARGET_SIMD)
  6667. #define HAVE_vec_cmpv2div2di (TARGET_SIMD)
  6668. #define HAVE_vec_cmpdidi (TARGET_SIMD)
  6669. #define HAVE_vec_cmpv2sfv2si (TARGET_SIMD)
  6670. #define HAVE_vec_cmpv4sfv4si (TARGET_SIMD)
  6671. #define HAVE_vec_cmpv2dfv2di (TARGET_SIMD)
  6672. #define HAVE_vec_cmpuv8qiv8qi (TARGET_SIMD)
  6673. #define HAVE_vec_cmpuv16qiv16qi (TARGET_SIMD)
  6674. #define HAVE_vec_cmpuv4hiv4hi (TARGET_SIMD)
  6675. #define HAVE_vec_cmpuv8hiv8hi (TARGET_SIMD)
  6676. #define HAVE_vec_cmpuv2siv2si (TARGET_SIMD)
  6677. #define HAVE_vec_cmpuv4siv4si (TARGET_SIMD)
  6678. #define HAVE_vec_cmpuv2div2di (TARGET_SIMD)
  6679. #define HAVE_vec_cmpudidi (TARGET_SIMD)
  6680. #define HAVE_vcondv8qiv8qi (TARGET_SIMD)
  6681. #define HAVE_vcondv16qiv16qi (TARGET_SIMD)
  6682. #define HAVE_vcondv4hiv4hi (TARGET_SIMD)
  6683. #define HAVE_vcondv8hiv8hi (TARGET_SIMD)
  6684. #define HAVE_vcondv2siv2si (TARGET_SIMD)
  6685. #define HAVE_vcondv4siv4si (TARGET_SIMD)
  6686. #define HAVE_vcondv2div2di (TARGET_SIMD)
  6687. #define HAVE_vcondv2sfv2sf (TARGET_SIMD)
  6688. #define HAVE_vcondv4sfv4sf (TARGET_SIMD)
  6689. #define HAVE_vcondv2dfv2df (TARGET_SIMD)
  6690. #define HAVE_vconddidi (TARGET_SIMD)
  6691. #define HAVE_vcondv2siv2sf (TARGET_SIMD)
  6692. #define HAVE_vcondv2sfv2si (TARGET_SIMD)
  6693. #define HAVE_vcondv4siv4sf (TARGET_SIMD)
  6694. #define HAVE_vcondv4sfv4si (TARGET_SIMD)
  6695. #define HAVE_vcondv2div2df (TARGET_SIMD)
  6696. #define HAVE_vcondv2dfv2di (TARGET_SIMD)
  6697. #define HAVE_vconduv8qiv8qi (TARGET_SIMD)
  6698. #define HAVE_vconduv16qiv16qi (TARGET_SIMD)
  6699. #define HAVE_vconduv4hiv4hi (TARGET_SIMD)
  6700. #define HAVE_vconduv8hiv8hi (TARGET_SIMD)
  6701. #define HAVE_vconduv2siv2si (TARGET_SIMD)
  6702. #define HAVE_vconduv4siv4si (TARGET_SIMD)
  6703. #define HAVE_vconduv2div2di (TARGET_SIMD)
  6704. #define HAVE_vcondudidi (TARGET_SIMD)
  6705. #define HAVE_vconduv2sfv2si (TARGET_SIMD)
  6706. #define HAVE_vconduv4sfv4si (TARGET_SIMD)
  6707. #define HAVE_vconduv2dfv2di (TARGET_SIMD)
  6708. #define HAVE_aarch64_combinev8qi (TARGET_SIMD)
  6709. #define HAVE_aarch64_combinev4hi (TARGET_SIMD)
  6710. #define HAVE_aarch64_combinev4bf (TARGET_SIMD)
  6711. #define HAVE_aarch64_combinev4hf (TARGET_SIMD)
  6712. #define HAVE_aarch64_combinev2si (TARGET_SIMD)
  6713. #define HAVE_aarch64_combinev2sf (TARGET_SIMD)
  6714. #define HAVE_aarch64_combinedi (TARGET_SIMD)
  6715. #define HAVE_aarch64_combinedf (TARGET_SIMD)
  6716. #define HAVE_aarch64_simd_combinev8qi (TARGET_SIMD)
  6717. #define HAVE_aarch64_simd_combinev4hi (TARGET_SIMD)
  6718. #define HAVE_aarch64_simd_combinev4bf (TARGET_SIMD)
  6719. #define HAVE_aarch64_simd_combinev4hf (TARGET_SIMD)
  6720. #define HAVE_aarch64_simd_combinev2si (TARGET_SIMD)
  6721. #define HAVE_aarch64_simd_combinev2sf (TARGET_SIMD)
  6722. #define HAVE_aarch64_simd_combinedi (TARGET_SIMD)
  6723. #define HAVE_aarch64_simd_combinedf (TARGET_SIMD)
  6724. #define HAVE_aarch64_saddl2v16qi (TARGET_SIMD)
  6725. #define HAVE_aarch64_saddl2v8hi (TARGET_SIMD)
  6726. #define HAVE_aarch64_saddl2v4si (TARGET_SIMD)
  6727. #define HAVE_aarch64_uaddl2v16qi (TARGET_SIMD)
  6728. #define HAVE_aarch64_uaddl2v8hi (TARGET_SIMD)
  6729. #define HAVE_aarch64_uaddl2v4si (TARGET_SIMD)
  6730. #define HAVE_aarch64_ssubl2v16qi (TARGET_SIMD)
  6731. #define HAVE_aarch64_ssubl2v8hi (TARGET_SIMD)
  6732. #define HAVE_aarch64_ssubl2v4si (TARGET_SIMD)
  6733. #define HAVE_aarch64_usubl2v16qi (TARGET_SIMD)
  6734. #define HAVE_aarch64_usubl2v8hi (TARGET_SIMD)
  6735. #define HAVE_aarch64_usubl2v4si (TARGET_SIMD)
  6736. #define HAVE_widen_ssumv16qi3 (TARGET_SIMD)
  6737. #define HAVE_widen_ssumv8hi3 (TARGET_SIMD)
  6738. #define HAVE_widen_ssumv4si3 (TARGET_SIMD)
  6739. #define HAVE_widen_ssumv8qi3 (TARGET_SIMD)
  6740. #define HAVE_widen_ssumv4hi3 (TARGET_SIMD)
  6741. #define HAVE_widen_ssumv2si3 (TARGET_SIMD)
  6742. #define HAVE_widen_usumv16qi3 (TARGET_SIMD)
  6743. #define HAVE_widen_usumv8hi3 (TARGET_SIMD)
  6744. #define HAVE_widen_usumv4si3 (TARGET_SIMD)
  6745. #define HAVE_widen_usumv8qi3 (TARGET_SIMD)
  6746. #define HAVE_widen_usumv4hi3 (TARGET_SIMD)
  6747. #define HAVE_widen_usumv2si3 (TARGET_SIMD)
  6748. #define HAVE_aarch64_saddw2v16qi (TARGET_SIMD)
  6749. #define HAVE_aarch64_saddw2v8hi (TARGET_SIMD)
  6750. #define HAVE_aarch64_saddw2v4si (TARGET_SIMD)
  6751. #define HAVE_aarch64_uaddw2v16qi (TARGET_SIMD)
  6752. #define HAVE_aarch64_uaddw2v8hi (TARGET_SIMD)
  6753. #define HAVE_aarch64_uaddw2v4si (TARGET_SIMD)
  6754. #define HAVE_aarch64_ssubw2v16qi (TARGET_SIMD)
  6755. #define HAVE_aarch64_ssubw2v8hi (TARGET_SIMD)
  6756. #define HAVE_aarch64_ssubw2v4si (TARGET_SIMD)
  6757. #define HAVE_aarch64_usubw2v16qi (TARGET_SIMD)
  6758. #define HAVE_aarch64_usubw2v8hi (TARGET_SIMD)
  6759. #define HAVE_aarch64_usubw2v4si (TARGET_SIMD)
  6760. #define HAVE_avgv8qi3_floor (TARGET_SIMD)
  6761. #define HAVE_uavgv8qi3_floor (TARGET_SIMD)
  6762. #define HAVE_avgv16qi3_floor (TARGET_SIMD)
  6763. #define HAVE_uavgv16qi3_floor (TARGET_SIMD)
  6764. #define HAVE_avgv4hi3_floor (TARGET_SIMD)
  6765. #define HAVE_uavgv4hi3_floor (TARGET_SIMD)
  6766. #define HAVE_avgv8hi3_floor (TARGET_SIMD)
  6767. #define HAVE_uavgv8hi3_floor (TARGET_SIMD)
  6768. #define HAVE_avgv2si3_floor (TARGET_SIMD)
  6769. #define HAVE_uavgv2si3_floor (TARGET_SIMD)
  6770. #define HAVE_avgv4si3_floor (TARGET_SIMD)
  6771. #define HAVE_uavgv4si3_floor (TARGET_SIMD)
  6772. #define HAVE_avgv8qi3_ceil (TARGET_SIMD)
  6773. #define HAVE_uavgv8qi3_ceil (TARGET_SIMD)
  6774. #define HAVE_avgv16qi3_ceil (TARGET_SIMD)
  6775. #define HAVE_uavgv16qi3_ceil (TARGET_SIMD)
  6776. #define HAVE_avgv4hi3_ceil (TARGET_SIMD)
  6777. #define HAVE_uavgv4hi3_ceil (TARGET_SIMD)
  6778. #define HAVE_avgv8hi3_ceil (TARGET_SIMD)
  6779. #define HAVE_uavgv8hi3_ceil (TARGET_SIMD)
  6780. #define HAVE_avgv2si3_ceil (TARGET_SIMD)
  6781. #define HAVE_uavgv2si3_ceil (TARGET_SIMD)
  6782. #define HAVE_avgv4si3_ceil (TARGET_SIMD)
  6783. #define HAVE_uavgv4si3_ceil (TARGET_SIMD)
  6784. #define HAVE_aarch64_sqdmlal2v8hi (TARGET_SIMD)
  6785. #define HAVE_aarch64_sqdmlal2v4si (TARGET_SIMD)
  6786. #define HAVE_aarch64_sqdmlsl2v8hi (TARGET_SIMD)
  6787. #define HAVE_aarch64_sqdmlsl2v4si (TARGET_SIMD)
  6788. #define HAVE_aarch64_sqdmlal2_lanev8hi (TARGET_SIMD)
  6789. #define HAVE_aarch64_sqdmlal2_lanev4si (TARGET_SIMD)
  6790. #define HAVE_aarch64_sqdmlal2_laneqv8hi (TARGET_SIMD)
  6791. #define HAVE_aarch64_sqdmlal2_laneqv4si (TARGET_SIMD)
  6792. #define HAVE_aarch64_sqdmlsl2_lanev8hi (TARGET_SIMD)
  6793. #define HAVE_aarch64_sqdmlsl2_lanev4si (TARGET_SIMD)
  6794. #define HAVE_aarch64_sqdmlsl2_laneqv8hi (TARGET_SIMD)
  6795. #define HAVE_aarch64_sqdmlsl2_laneqv4si (TARGET_SIMD)
  6796. #define HAVE_aarch64_sqdmlal2_nv8hi (TARGET_SIMD)
  6797. #define HAVE_aarch64_sqdmlal2_nv4si (TARGET_SIMD)
  6798. #define HAVE_aarch64_sqdmlsl2_nv8hi (TARGET_SIMD)
  6799. #define HAVE_aarch64_sqdmlsl2_nv4si (TARGET_SIMD)
  6800. #define HAVE_aarch64_sqdmull2v8hi (TARGET_SIMD)
  6801. #define HAVE_aarch64_sqdmull2v4si (TARGET_SIMD)
  6802. #define HAVE_aarch64_sqdmull2_lanev8hi (TARGET_SIMD)
  6803. #define HAVE_aarch64_sqdmull2_lanev4si (TARGET_SIMD)
  6804. #define HAVE_aarch64_sqdmull2_laneqv8hi (TARGET_SIMD)
  6805. #define HAVE_aarch64_sqdmull2_laneqv4si (TARGET_SIMD)
  6806. #define HAVE_aarch64_sqdmull2_nv8hi (TARGET_SIMD)
  6807. #define HAVE_aarch64_sqdmull2_nv4si (TARGET_SIMD)
  6808. #define HAVE_sqrtv4hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6809. #define HAVE_sqrtv8hf2 ((TARGET_SIMD) && (TARGET_SIMD_F16INST))
  6810. #define HAVE_sqrtv2sf2 (TARGET_SIMD)
  6811. #define HAVE_sqrtv4sf2 (TARGET_SIMD)
  6812. #define HAVE_sqrtv2df2 (TARGET_SIMD)
  6813. #define HAVE_vec_load_lanesoiv16qi (TARGET_SIMD)
  6814. #define HAVE_vec_load_lanesoiv8hi (TARGET_SIMD)
  6815. #define HAVE_vec_load_lanesoiv4si (TARGET_SIMD)
  6816. #define HAVE_vec_load_lanesoiv2di (TARGET_SIMD)
  6817. #define HAVE_vec_load_lanesoiv8hf (TARGET_SIMD)
  6818. #define HAVE_vec_load_lanesoiv4sf (TARGET_SIMD)
  6819. #define HAVE_vec_load_lanesoiv2df (TARGET_SIMD)
  6820. #define HAVE_vec_load_lanesoiv8bf (TARGET_SIMD)
  6821. #define HAVE_vec_store_lanesoiv16qi (TARGET_SIMD)
  6822. #define HAVE_vec_store_lanesoiv8hi (TARGET_SIMD)
  6823. #define HAVE_vec_store_lanesoiv4si (TARGET_SIMD)
  6824. #define HAVE_vec_store_lanesoiv2di (TARGET_SIMD)
  6825. #define HAVE_vec_store_lanesoiv8hf (TARGET_SIMD)
  6826. #define HAVE_vec_store_lanesoiv4sf (TARGET_SIMD)
  6827. #define HAVE_vec_store_lanesoiv2df (TARGET_SIMD)
  6828. #define HAVE_vec_store_lanesoiv8bf (TARGET_SIMD)
  6829. #define HAVE_vec_load_lanesciv16qi (TARGET_SIMD)
  6830. #define HAVE_vec_load_lanesciv8hi (TARGET_SIMD)
  6831. #define HAVE_vec_load_lanesciv4si (TARGET_SIMD)
  6832. #define HAVE_vec_load_lanesciv2di (TARGET_SIMD)
  6833. #define HAVE_vec_load_lanesciv8hf (TARGET_SIMD)
  6834. #define HAVE_vec_load_lanesciv4sf (TARGET_SIMD)
  6835. #define HAVE_vec_load_lanesciv2df (TARGET_SIMD)
  6836. #define HAVE_vec_load_lanesciv8bf (TARGET_SIMD)
  6837. #define HAVE_vec_store_lanesciv16qi (TARGET_SIMD)
  6838. #define HAVE_vec_store_lanesciv8hi (TARGET_SIMD)
  6839. #define HAVE_vec_store_lanesciv4si (TARGET_SIMD)
  6840. #define HAVE_vec_store_lanesciv2di (TARGET_SIMD)
  6841. #define HAVE_vec_store_lanesciv8hf (TARGET_SIMD)
  6842. #define HAVE_vec_store_lanesciv4sf (TARGET_SIMD)
  6843. #define HAVE_vec_store_lanesciv2df (TARGET_SIMD)
  6844. #define HAVE_vec_store_lanesciv8bf (TARGET_SIMD)
  6845. #define HAVE_vec_load_lanesxiv16qi (TARGET_SIMD)
  6846. #define HAVE_vec_load_lanesxiv8hi (TARGET_SIMD)
  6847. #define HAVE_vec_load_lanesxiv4si (TARGET_SIMD)
  6848. #define HAVE_vec_load_lanesxiv2di (TARGET_SIMD)
  6849. #define HAVE_vec_load_lanesxiv8hf (TARGET_SIMD)
  6850. #define HAVE_vec_load_lanesxiv4sf (TARGET_SIMD)
  6851. #define HAVE_vec_load_lanesxiv2df (TARGET_SIMD)
  6852. #define HAVE_vec_load_lanesxiv8bf (TARGET_SIMD)
  6853. #define HAVE_vec_store_lanesxiv16qi (TARGET_SIMD)
  6854. #define HAVE_vec_store_lanesxiv8hi (TARGET_SIMD)
  6855. #define HAVE_vec_store_lanesxiv4si (TARGET_SIMD)
  6856. #define HAVE_vec_store_lanesxiv2di (TARGET_SIMD)
  6857. #define HAVE_vec_store_lanesxiv8hf (TARGET_SIMD)
  6858. #define HAVE_vec_store_lanesxiv4sf (TARGET_SIMD)
  6859. #define HAVE_vec_store_lanesxiv2df (TARGET_SIMD)
  6860. #define HAVE_vec_store_lanesxiv8bf (TARGET_SIMD)
  6861. #define HAVE_movoi (TARGET_SIMD)
  6862. #define HAVE_movci (TARGET_SIMD)
  6863. #define HAVE_movxi (TARGET_SIMD)
  6864. #define HAVE_aarch64_ld1x3v8qi (TARGET_SIMD)
  6865. #define HAVE_aarch64_ld1x3v16qi (TARGET_SIMD)
  6866. #define HAVE_aarch64_ld1x3v4hi (TARGET_SIMD)
  6867. #define HAVE_aarch64_ld1x3v8hi (TARGET_SIMD)
  6868. #define HAVE_aarch64_ld1x3v2si (TARGET_SIMD)
  6869. #define HAVE_aarch64_ld1x3v4si (TARGET_SIMD)
  6870. #define HAVE_aarch64_ld1x3v4bf (TARGET_SIMD)
  6871. #define HAVE_aarch64_ld1x3v8bf (TARGET_SIMD)
  6872. #define HAVE_aarch64_ld1x3v2di (TARGET_SIMD)
  6873. #define HAVE_aarch64_ld1x3v4hf (TARGET_SIMD)
  6874. #define HAVE_aarch64_ld1x3v8hf (TARGET_SIMD)
  6875. #define HAVE_aarch64_ld1x3v2sf (TARGET_SIMD)
  6876. #define HAVE_aarch64_ld1x3v4sf (TARGET_SIMD)
  6877. #define HAVE_aarch64_ld1x3v2df (TARGET_SIMD)
  6878. #define HAVE_aarch64_ld1x3di (TARGET_SIMD)
  6879. #define HAVE_aarch64_ld1x3df (TARGET_SIMD)
  6880. #define HAVE_aarch64_ld1x4v8qi (TARGET_SIMD)
  6881. #define HAVE_aarch64_ld1x4v16qi (TARGET_SIMD)
  6882. #define HAVE_aarch64_ld1x4v4hi (TARGET_SIMD)
  6883. #define HAVE_aarch64_ld1x4v8hi (TARGET_SIMD)
  6884. #define HAVE_aarch64_ld1x4v2si (TARGET_SIMD)
  6885. #define HAVE_aarch64_ld1x4v4si (TARGET_SIMD)
  6886. #define HAVE_aarch64_ld1x4v4bf (TARGET_SIMD)
  6887. #define HAVE_aarch64_ld1x4v8bf (TARGET_SIMD)
  6888. #define HAVE_aarch64_ld1x4v2di (TARGET_SIMD)
  6889. #define HAVE_aarch64_ld1x4v4hf (TARGET_SIMD)
  6890. #define HAVE_aarch64_ld1x4v8hf (TARGET_SIMD)
  6891. #define HAVE_aarch64_ld1x4v2sf (TARGET_SIMD)
  6892. #define HAVE_aarch64_ld1x4v4sf (TARGET_SIMD)
  6893. #define HAVE_aarch64_ld1x4v2df (TARGET_SIMD)
  6894. #define HAVE_aarch64_ld1x4di (TARGET_SIMD)
  6895. #define HAVE_aarch64_ld1x4df (TARGET_SIMD)
  6896. #define HAVE_aarch64_st1x2v8qi (TARGET_SIMD)
  6897. #define HAVE_aarch64_st1x2v16qi (TARGET_SIMD)
  6898. #define HAVE_aarch64_st1x2v4hi (TARGET_SIMD)
  6899. #define HAVE_aarch64_st1x2v8hi (TARGET_SIMD)
  6900. #define HAVE_aarch64_st1x2v2si (TARGET_SIMD)
  6901. #define HAVE_aarch64_st1x2v4si (TARGET_SIMD)
  6902. #define HAVE_aarch64_st1x2v4bf (TARGET_SIMD)
  6903. #define HAVE_aarch64_st1x2v8bf (TARGET_SIMD)
  6904. #define HAVE_aarch64_st1x2v2di (TARGET_SIMD)
  6905. #define HAVE_aarch64_st1x2v4hf (TARGET_SIMD)
  6906. #define HAVE_aarch64_st1x2v8hf (TARGET_SIMD)
  6907. #define HAVE_aarch64_st1x2v2sf (TARGET_SIMD)
  6908. #define HAVE_aarch64_st1x2v4sf (TARGET_SIMD)
  6909. #define HAVE_aarch64_st1x2v2df (TARGET_SIMD)
  6910. #define HAVE_aarch64_st1x2di (TARGET_SIMD)
  6911. #define HAVE_aarch64_st1x2df (TARGET_SIMD)
  6912. #define HAVE_aarch64_st1x3v8qi (TARGET_SIMD)
  6913. #define HAVE_aarch64_st1x3v16qi (TARGET_SIMD)
  6914. #define HAVE_aarch64_st1x3v4hi (TARGET_SIMD)
  6915. #define HAVE_aarch64_st1x3v8hi (TARGET_SIMD)
  6916. #define HAVE_aarch64_st1x3v2si (TARGET_SIMD)
  6917. #define HAVE_aarch64_st1x3v4si (TARGET_SIMD)
  6918. #define HAVE_aarch64_st1x3v4bf (TARGET_SIMD)
  6919. #define HAVE_aarch64_st1x3v8bf (TARGET_SIMD)
  6920. #define HAVE_aarch64_st1x3v2di (TARGET_SIMD)
  6921. #define HAVE_aarch64_st1x3v4hf (TARGET_SIMD)
  6922. #define HAVE_aarch64_st1x3v8hf (TARGET_SIMD)
  6923. #define HAVE_aarch64_st1x3v2sf (TARGET_SIMD)
  6924. #define HAVE_aarch64_st1x3v4sf (TARGET_SIMD)
  6925. #define HAVE_aarch64_st1x3v2df (TARGET_SIMD)
  6926. #define HAVE_aarch64_st1x3di (TARGET_SIMD)
  6927. #define HAVE_aarch64_st1x3df (TARGET_SIMD)
  6928. #define HAVE_aarch64_st1x4v8qi (TARGET_SIMD)
  6929. #define HAVE_aarch64_st1x4v16qi (TARGET_SIMD)
  6930. #define HAVE_aarch64_st1x4v4hi (TARGET_SIMD)
  6931. #define HAVE_aarch64_st1x4v8hi (TARGET_SIMD)
  6932. #define HAVE_aarch64_st1x4v2si (TARGET_SIMD)
  6933. #define HAVE_aarch64_st1x4v4si (TARGET_SIMD)
  6934. #define HAVE_aarch64_st1x4v4bf (TARGET_SIMD)
  6935. #define HAVE_aarch64_st1x4v8bf (TARGET_SIMD)
  6936. #define HAVE_aarch64_st1x4v2di (TARGET_SIMD)
  6937. #define HAVE_aarch64_st1x4v4hf (TARGET_SIMD)
  6938. #define HAVE_aarch64_st1x4v8hf (TARGET_SIMD)
  6939. #define HAVE_aarch64_st1x4v2sf (TARGET_SIMD)
  6940. #define HAVE_aarch64_st1x4v4sf (TARGET_SIMD)
  6941. #define HAVE_aarch64_st1x4v2df (TARGET_SIMD)
  6942. #define HAVE_aarch64_st1x4di (TARGET_SIMD)
  6943. #define HAVE_aarch64_st1x4df (TARGET_SIMD)
  6944. #define HAVE_aarch64_ld2rv8qi (TARGET_SIMD)
  6945. #define HAVE_aarch64_ld3rv8qi (TARGET_SIMD)
  6946. #define HAVE_aarch64_ld4rv8qi (TARGET_SIMD)
  6947. #define HAVE_aarch64_ld2rv16qi (TARGET_SIMD)
  6948. #define HAVE_aarch64_ld3rv16qi (TARGET_SIMD)
  6949. #define HAVE_aarch64_ld4rv16qi (TARGET_SIMD)
  6950. #define HAVE_aarch64_ld2rv4hi (TARGET_SIMD)
  6951. #define HAVE_aarch64_ld3rv4hi (TARGET_SIMD)
  6952. #define HAVE_aarch64_ld4rv4hi (TARGET_SIMD)
  6953. #define HAVE_aarch64_ld2rv8hi (TARGET_SIMD)
  6954. #define HAVE_aarch64_ld3rv8hi (TARGET_SIMD)
  6955. #define HAVE_aarch64_ld4rv8hi (TARGET_SIMD)
  6956. #define HAVE_aarch64_ld2rv2si (TARGET_SIMD)
  6957. #define HAVE_aarch64_ld3rv2si (TARGET_SIMD)
  6958. #define HAVE_aarch64_ld4rv2si (TARGET_SIMD)
  6959. #define HAVE_aarch64_ld2rv4si (TARGET_SIMD)
  6960. #define HAVE_aarch64_ld3rv4si (TARGET_SIMD)
  6961. #define HAVE_aarch64_ld4rv4si (TARGET_SIMD)
  6962. #define HAVE_aarch64_ld2rv4bf (TARGET_SIMD)
  6963. #define HAVE_aarch64_ld3rv4bf (TARGET_SIMD)
  6964. #define HAVE_aarch64_ld4rv4bf (TARGET_SIMD)
  6965. #define HAVE_aarch64_ld2rv8bf (TARGET_SIMD)
  6966. #define HAVE_aarch64_ld3rv8bf (TARGET_SIMD)
  6967. #define HAVE_aarch64_ld4rv8bf (TARGET_SIMD)
  6968. #define HAVE_aarch64_ld2rv2di (TARGET_SIMD)
  6969. #define HAVE_aarch64_ld3rv2di (TARGET_SIMD)
  6970. #define HAVE_aarch64_ld4rv2di (TARGET_SIMD)
  6971. #define HAVE_aarch64_ld2rv4hf (TARGET_SIMD)
  6972. #define HAVE_aarch64_ld3rv4hf (TARGET_SIMD)
  6973. #define HAVE_aarch64_ld4rv4hf (TARGET_SIMD)
  6974. #define HAVE_aarch64_ld2rv8hf (TARGET_SIMD)
  6975. #define HAVE_aarch64_ld3rv8hf (TARGET_SIMD)
  6976. #define HAVE_aarch64_ld4rv8hf (TARGET_SIMD)
  6977. #define HAVE_aarch64_ld2rv2sf (TARGET_SIMD)
  6978. #define HAVE_aarch64_ld3rv2sf (TARGET_SIMD)
  6979. #define HAVE_aarch64_ld4rv2sf (TARGET_SIMD)
  6980. #define HAVE_aarch64_ld2rv4sf (TARGET_SIMD)
  6981. #define HAVE_aarch64_ld3rv4sf (TARGET_SIMD)
  6982. #define HAVE_aarch64_ld4rv4sf (TARGET_SIMD)
  6983. #define HAVE_aarch64_ld2rv2df (TARGET_SIMD)
  6984. #define HAVE_aarch64_ld3rv2df (TARGET_SIMD)
  6985. #define HAVE_aarch64_ld4rv2df (TARGET_SIMD)
  6986. #define HAVE_aarch64_ld2rdi (TARGET_SIMD)
  6987. #define HAVE_aarch64_ld3rdi (TARGET_SIMD)
  6988. #define HAVE_aarch64_ld4rdi (TARGET_SIMD)
  6989. #define HAVE_aarch64_ld2rdf (TARGET_SIMD)
  6990. #define HAVE_aarch64_ld3rdf (TARGET_SIMD)
  6991. #define HAVE_aarch64_ld4rdf (TARGET_SIMD)
  6992. #define HAVE_aarch64_ld2v8qi (TARGET_SIMD)
  6993. #define HAVE_aarch64_ld2v4hi (TARGET_SIMD)
  6994. #define HAVE_aarch64_ld2v4bf (TARGET_SIMD)
  6995. #define HAVE_aarch64_ld2v4hf (TARGET_SIMD)
  6996. #define HAVE_aarch64_ld2v2si (TARGET_SIMD)
  6997. #define HAVE_aarch64_ld2v2sf (TARGET_SIMD)
  6998. #define HAVE_aarch64_ld2di (TARGET_SIMD)
  6999. #define HAVE_aarch64_ld2df (TARGET_SIMD)
  7000. #define HAVE_aarch64_ld3v8qi (TARGET_SIMD)
  7001. #define HAVE_aarch64_ld3v4hi (TARGET_SIMD)
  7002. #define HAVE_aarch64_ld3v4bf (TARGET_SIMD)
  7003. #define HAVE_aarch64_ld3v4hf (TARGET_SIMD)
  7004. #define HAVE_aarch64_ld3v2si (TARGET_SIMD)
  7005. #define HAVE_aarch64_ld3v2sf (TARGET_SIMD)
  7006. #define HAVE_aarch64_ld3di (TARGET_SIMD)
  7007. #define HAVE_aarch64_ld3df (TARGET_SIMD)
  7008. #define HAVE_aarch64_ld4v8qi (TARGET_SIMD)
  7009. #define HAVE_aarch64_ld4v4hi (TARGET_SIMD)
  7010. #define HAVE_aarch64_ld4v4bf (TARGET_SIMD)
  7011. #define HAVE_aarch64_ld4v4hf (TARGET_SIMD)
  7012. #define HAVE_aarch64_ld4v2si (TARGET_SIMD)
  7013. #define HAVE_aarch64_ld4v2sf (TARGET_SIMD)
  7014. #define HAVE_aarch64_ld4di (TARGET_SIMD)
  7015. #define HAVE_aarch64_ld4df (TARGET_SIMD)
  7016. #define HAVE_aarch64_ld1v8qi (TARGET_SIMD)
  7017. #define HAVE_aarch64_ld1v16qi (TARGET_SIMD)
  7018. #define HAVE_aarch64_ld1v4hi (TARGET_SIMD)
  7019. #define HAVE_aarch64_ld1v8hi (TARGET_SIMD)
  7020. #define HAVE_aarch64_ld1v2si (TARGET_SIMD)
  7021. #define HAVE_aarch64_ld1v4si (TARGET_SIMD)
  7022. #define HAVE_aarch64_ld1v2di (TARGET_SIMD)
  7023. #define HAVE_aarch64_ld1v4hf (TARGET_SIMD)
  7024. #define HAVE_aarch64_ld1v8hf (TARGET_SIMD)
  7025. #define HAVE_aarch64_ld1v4bf (TARGET_SIMD)
  7026. #define HAVE_aarch64_ld1v8bf (TARGET_SIMD)
  7027. #define HAVE_aarch64_ld1v2sf (TARGET_SIMD)
  7028. #define HAVE_aarch64_ld1v4sf (TARGET_SIMD)
  7029. #define HAVE_aarch64_ld1v2df (TARGET_SIMD)
  7030. #define HAVE_aarch64_ld2v16qi (TARGET_SIMD)
  7031. #define HAVE_aarch64_ld3v16qi (TARGET_SIMD)
  7032. #define HAVE_aarch64_ld4v16qi (TARGET_SIMD)
  7033. #define HAVE_aarch64_ld2v8hi (TARGET_SIMD)
  7034. #define HAVE_aarch64_ld3v8hi (TARGET_SIMD)
  7035. #define HAVE_aarch64_ld4v8hi (TARGET_SIMD)
  7036. #define HAVE_aarch64_ld2v4si (TARGET_SIMD)
  7037. #define HAVE_aarch64_ld3v4si (TARGET_SIMD)
  7038. #define HAVE_aarch64_ld4v4si (TARGET_SIMD)
  7039. #define HAVE_aarch64_ld2v2di (TARGET_SIMD)
  7040. #define HAVE_aarch64_ld3v2di (TARGET_SIMD)
  7041. #define HAVE_aarch64_ld4v2di (TARGET_SIMD)
  7042. #define HAVE_aarch64_ld2v8hf (TARGET_SIMD)
  7043. #define HAVE_aarch64_ld3v8hf (TARGET_SIMD)
  7044. #define HAVE_aarch64_ld4v8hf (TARGET_SIMD)
  7045. #define HAVE_aarch64_ld2v4sf (TARGET_SIMD)
  7046. #define HAVE_aarch64_ld3v4sf (TARGET_SIMD)
  7047. #define HAVE_aarch64_ld4v4sf (TARGET_SIMD)
  7048. #define HAVE_aarch64_ld2v2df (TARGET_SIMD)
  7049. #define HAVE_aarch64_ld3v2df (TARGET_SIMD)
  7050. #define HAVE_aarch64_ld4v2df (TARGET_SIMD)
  7051. #define HAVE_aarch64_ld2v8bf (TARGET_SIMD)
  7052. #define HAVE_aarch64_ld3v8bf (TARGET_SIMD)
  7053. #define HAVE_aarch64_ld4v8bf (TARGET_SIMD)
  7054. #define HAVE_aarch64_ld1x2v16qi (TARGET_SIMD)
  7055. #define HAVE_aarch64_ld1x2v8hi (TARGET_SIMD)
  7056. #define HAVE_aarch64_ld1x2v4si (TARGET_SIMD)
  7057. #define HAVE_aarch64_ld1x2v2di (TARGET_SIMD)
  7058. #define HAVE_aarch64_ld1x2v8hf (TARGET_SIMD)
  7059. #define HAVE_aarch64_ld1x2v4sf (TARGET_SIMD)
  7060. #define HAVE_aarch64_ld1x2v2df (TARGET_SIMD)
  7061. #define HAVE_aarch64_ld1x2v8bf (TARGET_SIMD)
  7062. #define HAVE_aarch64_ld1x2v8qi (TARGET_SIMD)
  7063. #define HAVE_aarch64_ld1x2v4hi (TARGET_SIMD)
  7064. #define HAVE_aarch64_ld1x2v4bf (TARGET_SIMD)
  7065. #define HAVE_aarch64_ld1x2v4hf (TARGET_SIMD)
  7066. #define HAVE_aarch64_ld1x2v2si (TARGET_SIMD)
  7067. #define HAVE_aarch64_ld1x2v2sf (TARGET_SIMD)
  7068. #define HAVE_aarch64_ld1x2di (TARGET_SIMD)
  7069. #define HAVE_aarch64_ld1x2df (TARGET_SIMD)
  7070. #define HAVE_aarch64_ld2_lanev8qi (TARGET_SIMD)
  7071. #define HAVE_aarch64_ld3_lanev8qi (TARGET_SIMD)
  7072. #define HAVE_aarch64_ld4_lanev8qi (TARGET_SIMD)
  7073. #define HAVE_aarch64_ld2_lanev16qi (TARGET_SIMD)
  7074. #define HAVE_aarch64_ld3_lanev16qi (TARGET_SIMD)
  7075. #define HAVE_aarch64_ld4_lanev16qi (TARGET_SIMD)
  7076. #define HAVE_aarch64_ld2_lanev4hi (TARGET_SIMD)
  7077. #define HAVE_aarch64_ld3_lanev4hi (TARGET_SIMD)
  7078. #define HAVE_aarch64_ld4_lanev4hi (TARGET_SIMD)
  7079. #define HAVE_aarch64_ld2_lanev8hi (TARGET_SIMD)
  7080. #define HAVE_aarch64_ld3_lanev8hi (TARGET_SIMD)
  7081. #define HAVE_aarch64_ld4_lanev8hi (TARGET_SIMD)
  7082. #define HAVE_aarch64_ld2_lanev2si (TARGET_SIMD)
  7083. #define HAVE_aarch64_ld3_lanev2si (TARGET_SIMD)
  7084. #define HAVE_aarch64_ld4_lanev2si (TARGET_SIMD)
  7085. #define HAVE_aarch64_ld2_lanev4si (TARGET_SIMD)
  7086. #define HAVE_aarch64_ld3_lanev4si (TARGET_SIMD)
  7087. #define HAVE_aarch64_ld4_lanev4si (TARGET_SIMD)
  7088. #define HAVE_aarch64_ld2_lanev4bf (TARGET_SIMD)
  7089. #define HAVE_aarch64_ld3_lanev4bf (TARGET_SIMD)
  7090. #define HAVE_aarch64_ld4_lanev4bf (TARGET_SIMD)
  7091. #define HAVE_aarch64_ld2_lanev8bf (TARGET_SIMD)
  7092. #define HAVE_aarch64_ld3_lanev8bf (TARGET_SIMD)
  7093. #define HAVE_aarch64_ld4_lanev8bf (TARGET_SIMD)
  7094. #define HAVE_aarch64_ld2_lanev2di (TARGET_SIMD)
  7095. #define HAVE_aarch64_ld3_lanev2di (TARGET_SIMD)
  7096. #define HAVE_aarch64_ld4_lanev2di (TARGET_SIMD)
  7097. #define HAVE_aarch64_ld2_lanev4hf (TARGET_SIMD)
  7098. #define HAVE_aarch64_ld3_lanev4hf (TARGET_SIMD)
  7099. #define HAVE_aarch64_ld4_lanev4hf (TARGET_SIMD)
  7100. #define HAVE_aarch64_ld2_lanev8hf (TARGET_SIMD)
  7101. #define HAVE_aarch64_ld3_lanev8hf (TARGET_SIMD)
  7102. #define HAVE_aarch64_ld4_lanev8hf (TARGET_SIMD)
  7103. #define HAVE_aarch64_ld2_lanev2sf (TARGET_SIMD)
  7104. #define HAVE_aarch64_ld3_lanev2sf (TARGET_SIMD)
  7105. #define HAVE_aarch64_ld4_lanev2sf (TARGET_SIMD)
  7106. #define HAVE_aarch64_ld2_lanev4sf (TARGET_SIMD)
  7107. #define HAVE_aarch64_ld3_lanev4sf (TARGET_SIMD)
  7108. #define HAVE_aarch64_ld4_lanev4sf (TARGET_SIMD)
  7109. #define HAVE_aarch64_ld2_lanev2df (TARGET_SIMD)
  7110. #define HAVE_aarch64_ld3_lanev2df (TARGET_SIMD)
  7111. #define HAVE_aarch64_ld4_lanev2df (TARGET_SIMD)
  7112. #define HAVE_aarch64_ld2_lanedi (TARGET_SIMD)
  7113. #define HAVE_aarch64_ld3_lanedi (TARGET_SIMD)
  7114. #define HAVE_aarch64_ld4_lanedi (TARGET_SIMD)
  7115. #define HAVE_aarch64_ld2_lanedf (TARGET_SIMD)
  7116. #define HAVE_aarch64_ld3_lanedf (TARGET_SIMD)
  7117. #define HAVE_aarch64_ld4_lanedf (TARGET_SIMD)
  7118. #define HAVE_aarch64_get_dregoiv8qi (TARGET_SIMD)
  7119. #define HAVE_aarch64_get_dregoiv4hi (TARGET_SIMD)
  7120. #define HAVE_aarch64_get_dregoiv4bf (TARGET_SIMD)
  7121. #define HAVE_aarch64_get_dregoiv4hf (TARGET_SIMD)
  7122. #define HAVE_aarch64_get_dregoiv2si (TARGET_SIMD)
  7123. #define HAVE_aarch64_get_dregoiv2sf (TARGET_SIMD)
  7124. #define HAVE_aarch64_get_dregoidi (TARGET_SIMD)
  7125. #define HAVE_aarch64_get_dregoidf (TARGET_SIMD)
  7126. #define HAVE_aarch64_get_dregciv8qi (TARGET_SIMD)
  7127. #define HAVE_aarch64_get_dregciv4hi (TARGET_SIMD)
  7128. #define HAVE_aarch64_get_dregciv4bf (TARGET_SIMD)
  7129. #define HAVE_aarch64_get_dregciv4hf (TARGET_SIMD)
  7130. #define HAVE_aarch64_get_dregciv2si (TARGET_SIMD)
  7131. #define HAVE_aarch64_get_dregciv2sf (TARGET_SIMD)
  7132. #define HAVE_aarch64_get_dregcidi (TARGET_SIMD)
  7133. #define HAVE_aarch64_get_dregcidf (TARGET_SIMD)
  7134. #define HAVE_aarch64_get_dregxiv8qi (TARGET_SIMD)
  7135. #define HAVE_aarch64_get_dregxiv4hi (TARGET_SIMD)
  7136. #define HAVE_aarch64_get_dregxiv4bf (TARGET_SIMD)
  7137. #define HAVE_aarch64_get_dregxiv4hf (TARGET_SIMD)
  7138. #define HAVE_aarch64_get_dregxiv2si (TARGET_SIMD)
  7139. #define HAVE_aarch64_get_dregxiv2sf (TARGET_SIMD)
  7140. #define HAVE_aarch64_get_dregxidi (TARGET_SIMD)
  7141. #define HAVE_aarch64_get_dregxidf (TARGET_SIMD)
  7142. #define HAVE_aarch64_get_qregoiv16qi (TARGET_SIMD)
  7143. #define HAVE_aarch64_get_qregciv16qi (TARGET_SIMD)
  7144. #define HAVE_aarch64_get_qregxiv16qi (TARGET_SIMD)
  7145. #define HAVE_aarch64_get_qregoiv8hi (TARGET_SIMD)
  7146. #define HAVE_aarch64_get_qregciv8hi (TARGET_SIMD)
  7147. #define HAVE_aarch64_get_qregxiv8hi (TARGET_SIMD)
  7148. #define HAVE_aarch64_get_qregoiv4si (TARGET_SIMD)
  7149. #define HAVE_aarch64_get_qregciv4si (TARGET_SIMD)
  7150. #define HAVE_aarch64_get_qregxiv4si (TARGET_SIMD)
  7151. #define HAVE_aarch64_get_qregoiv2di (TARGET_SIMD)
  7152. #define HAVE_aarch64_get_qregciv2di (TARGET_SIMD)
  7153. #define HAVE_aarch64_get_qregxiv2di (TARGET_SIMD)
  7154. #define HAVE_aarch64_get_qregoiv8hf (TARGET_SIMD)
  7155. #define HAVE_aarch64_get_qregciv8hf (TARGET_SIMD)
  7156. #define HAVE_aarch64_get_qregxiv8hf (TARGET_SIMD)
  7157. #define HAVE_aarch64_get_qregoiv4sf (TARGET_SIMD)
  7158. #define HAVE_aarch64_get_qregciv4sf (TARGET_SIMD)
  7159. #define HAVE_aarch64_get_qregxiv4sf (TARGET_SIMD)
  7160. #define HAVE_aarch64_get_qregoiv2df (TARGET_SIMD)
  7161. #define HAVE_aarch64_get_qregciv2df (TARGET_SIMD)
  7162. #define HAVE_aarch64_get_qregxiv2df (TARGET_SIMD)
  7163. #define HAVE_aarch64_get_qregoiv8bf (TARGET_SIMD)
  7164. #define HAVE_aarch64_get_qregciv8bf (TARGET_SIMD)
  7165. #define HAVE_aarch64_get_qregxiv8bf (TARGET_SIMD)
  7166. #define HAVE_vec_permv8qi (TARGET_SIMD)
  7167. #define HAVE_vec_permv16qi (TARGET_SIMD)
  7168. #define HAVE_aarch64_st2v8qi (TARGET_SIMD)
  7169. #define HAVE_aarch64_st2v4hi (TARGET_SIMD)
  7170. #define HAVE_aarch64_st2v4bf (TARGET_SIMD)
  7171. #define HAVE_aarch64_st2v4hf (TARGET_SIMD)
  7172. #define HAVE_aarch64_st2v2si (TARGET_SIMD)
  7173. #define HAVE_aarch64_st2v2sf (TARGET_SIMD)
  7174. #define HAVE_aarch64_st2di (TARGET_SIMD)
  7175. #define HAVE_aarch64_st2df (TARGET_SIMD)
  7176. #define HAVE_aarch64_st3v8qi (TARGET_SIMD)
  7177. #define HAVE_aarch64_st3v4hi (TARGET_SIMD)
  7178. #define HAVE_aarch64_st3v4bf (TARGET_SIMD)
  7179. #define HAVE_aarch64_st3v4hf (TARGET_SIMD)
  7180. #define HAVE_aarch64_st3v2si (TARGET_SIMD)
  7181. #define HAVE_aarch64_st3v2sf (TARGET_SIMD)
  7182. #define HAVE_aarch64_st3di (TARGET_SIMD)
  7183. #define HAVE_aarch64_st3df (TARGET_SIMD)
  7184. #define HAVE_aarch64_st4v8qi (TARGET_SIMD)
  7185. #define HAVE_aarch64_st4v4hi (TARGET_SIMD)
  7186. #define HAVE_aarch64_st4v4bf (TARGET_SIMD)
  7187. #define HAVE_aarch64_st4v4hf (TARGET_SIMD)
  7188. #define HAVE_aarch64_st4v2si (TARGET_SIMD)
  7189. #define HAVE_aarch64_st4v2sf (TARGET_SIMD)
  7190. #define HAVE_aarch64_st4di (TARGET_SIMD)
  7191. #define HAVE_aarch64_st4df (TARGET_SIMD)
  7192. #define HAVE_aarch64_st2v16qi (TARGET_SIMD)
  7193. #define HAVE_aarch64_st3v16qi (TARGET_SIMD)
  7194. #define HAVE_aarch64_st4v16qi (TARGET_SIMD)
  7195. #define HAVE_aarch64_st2v8hi (TARGET_SIMD)
  7196. #define HAVE_aarch64_st3v8hi (TARGET_SIMD)
  7197. #define HAVE_aarch64_st4v8hi (TARGET_SIMD)
  7198. #define HAVE_aarch64_st2v4si (TARGET_SIMD)
  7199. #define HAVE_aarch64_st3v4si (TARGET_SIMD)
  7200. #define HAVE_aarch64_st4v4si (TARGET_SIMD)
  7201. #define HAVE_aarch64_st2v2di (TARGET_SIMD)
  7202. #define HAVE_aarch64_st3v2di (TARGET_SIMD)
  7203. #define HAVE_aarch64_st4v2di (TARGET_SIMD)
  7204. #define HAVE_aarch64_st2v8hf (TARGET_SIMD)
  7205. #define HAVE_aarch64_st3v8hf (TARGET_SIMD)
  7206. #define HAVE_aarch64_st4v8hf (TARGET_SIMD)
  7207. #define HAVE_aarch64_st2v4sf (TARGET_SIMD)
  7208. #define HAVE_aarch64_st3v4sf (TARGET_SIMD)
  7209. #define HAVE_aarch64_st4v4sf (TARGET_SIMD)
  7210. #define HAVE_aarch64_st2v2df (TARGET_SIMD)
  7211. #define HAVE_aarch64_st3v2df (TARGET_SIMD)
  7212. #define HAVE_aarch64_st4v2df (TARGET_SIMD)
  7213. #define HAVE_aarch64_st2v8bf (TARGET_SIMD)
  7214. #define HAVE_aarch64_st3v8bf (TARGET_SIMD)
  7215. #define HAVE_aarch64_st4v8bf (TARGET_SIMD)
  7216. #define HAVE_aarch64_st2_lanev8qi (TARGET_SIMD)
  7217. #define HAVE_aarch64_st3_lanev8qi (TARGET_SIMD)
  7218. #define HAVE_aarch64_st4_lanev8qi (TARGET_SIMD)
  7219. #define HAVE_aarch64_st2_lanev16qi (TARGET_SIMD)
  7220. #define HAVE_aarch64_st3_lanev16qi (TARGET_SIMD)
  7221. #define HAVE_aarch64_st4_lanev16qi (TARGET_SIMD)
  7222. #define HAVE_aarch64_st2_lanev4hi (TARGET_SIMD)
  7223. #define HAVE_aarch64_st3_lanev4hi (TARGET_SIMD)
  7224. #define HAVE_aarch64_st4_lanev4hi (TARGET_SIMD)
  7225. #define HAVE_aarch64_st2_lanev8hi (TARGET_SIMD)
  7226. #define HAVE_aarch64_st3_lanev8hi (TARGET_SIMD)
  7227. #define HAVE_aarch64_st4_lanev8hi (TARGET_SIMD)
  7228. #define HAVE_aarch64_st2_lanev2si (TARGET_SIMD)
  7229. #define HAVE_aarch64_st3_lanev2si (TARGET_SIMD)
  7230. #define HAVE_aarch64_st4_lanev2si (TARGET_SIMD)
  7231. #define HAVE_aarch64_st2_lanev4si (TARGET_SIMD)
  7232. #define HAVE_aarch64_st3_lanev4si (TARGET_SIMD)
  7233. #define HAVE_aarch64_st4_lanev4si (TARGET_SIMD)
  7234. #define HAVE_aarch64_st2_lanev4bf (TARGET_SIMD)
  7235. #define HAVE_aarch64_st3_lanev4bf (TARGET_SIMD)
  7236. #define HAVE_aarch64_st4_lanev4bf (TARGET_SIMD)
  7237. #define HAVE_aarch64_st2_lanev8bf (TARGET_SIMD)
  7238. #define HAVE_aarch64_st3_lanev8bf (TARGET_SIMD)
  7239. #define HAVE_aarch64_st4_lanev8bf (TARGET_SIMD)
  7240. #define HAVE_aarch64_st2_lanev2di (TARGET_SIMD)
  7241. #define HAVE_aarch64_st3_lanev2di (TARGET_SIMD)
  7242. #define HAVE_aarch64_st4_lanev2di (TARGET_SIMD)
  7243. #define HAVE_aarch64_st2_lanev4hf (TARGET_SIMD)
  7244. #define HAVE_aarch64_st3_lanev4hf (TARGET_SIMD)
  7245. #define HAVE_aarch64_st4_lanev4hf (TARGET_SIMD)
  7246. #define HAVE_aarch64_st2_lanev8hf (TARGET_SIMD)
  7247. #define HAVE_aarch64_st3_lanev8hf (TARGET_SIMD)
  7248. #define HAVE_aarch64_st4_lanev8hf (TARGET_SIMD)
  7249. #define HAVE_aarch64_st2_lanev2sf (TARGET_SIMD)
  7250. #define HAVE_aarch64_st3_lanev2sf (TARGET_SIMD)
  7251. #define HAVE_aarch64_st4_lanev2sf (TARGET_SIMD)
  7252. #define HAVE_aarch64_st2_lanev4sf (TARGET_SIMD)
  7253. #define HAVE_aarch64_st3_lanev4sf (TARGET_SIMD)
  7254. #define HAVE_aarch64_st4_lanev4sf (TARGET_SIMD)
  7255. #define HAVE_aarch64_st2_lanev2df (TARGET_SIMD)
  7256. #define HAVE_aarch64_st3_lanev2df (TARGET_SIMD)
  7257. #define HAVE_aarch64_st4_lanev2df (TARGET_SIMD)
  7258. #define HAVE_aarch64_st2_lanedi (TARGET_SIMD)
  7259. #define HAVE_aarch64_st3_lanedi (TARGET_SIMD)
  7260. #define HAVE_aarch64_st4_lanedi (TARGET_SIMD)
  7261. #define HAVE_aarch64_st2_lanedf (TARGET_SIMD)
  7262. #define HAVE_aarch64_st3_lanedf (TARGET_SIMD)
  7263. #define HAVE_aarch64_st4_lanedf (TARGET_SIMD)
  7264. #define HAVE_aarch64_st1v8qi (TARGET_SIMD)
  7265. #define HAVE_aarch64_st1v16qi (TARGET_SIMD)
  7266. #define HAVE_aarch64_st1v4hi (TARGET_SIMD)
  7267. #define HAVE_aarch64_st1v8hi (TARGET_SIMD)
  7268. #define HAVE_aarch64_st1v2si (TARGET_SIMD)
  7269. #define HAVE_aarch64_st1v4si (TARGET_SIMD)
  7270. #define HAVE_aarch64_st1v2di (TARGET_SIMD)
  7271. #define HAVE_aarch64_st1v4hf (TARGET_SIMD)
  7272. #define HAVE_aarch64_st1v8hf (TARGET_SIMD)
  7273. #define HAVE_aarch64_st1v4bf (TARGET_SIMD)
  7274. #define HAVE_aarch64_st1v8bf (TARGET_SIMD)
  7275. #define HAVE_aarch64_st1v2sf (TARGET_SIMD)
  7276. #define HAVE_aarch64_st1v4sf (TARGET_SIMD)
  7277. #define HAVE_aarch64_st1v2df (TARGET_SIMD)
  7278. #define HAVE_aarch64_set_qregoiv16qi (TARGET_SIMD)
  7279. #define HAVE_aarch64_set_qregciv16qi (TARGET_SIMD)
  7280. #define HAVE_aarch64_set_qregxiv16qi (TARGET_SIMD)
  7281. #define HAVE_aarch64_set_qregoiv8hi (TARGET_SIMD)
  7282. #define HAVE_aarch64_set_qregciv8hi (TARGET_SIMD)
  7283. #define HAVE_aarch64_set_qregxiv8hi (TARGET_SIMD)
  7284. #define HAVE_aarch64_set_qregoiv4si (TARGET_SIMD)
  7285. #define HAVE_aarch64_set_qregciv4si (TARGET_SIMD)
  7286. #define HAVE_aarch64_set_qregxiv4si (TARGET_SIMD)
  7287. #define HAVE_aarch64_set_qregoiv2di (TARGET_SIMD)
  7288. #define HAVE_aarch64_set_qregciv2di (TARGET_SIMD)
  7289. #define HAVE_aarch64_set_qregxiv2di (TARGET_SIMD)
  7290. #define HAVE_aarch64_set_qregoiv8hf (TARGET_SIMD)
  7291. #define HAVE_aarch64_set_qregciv8hf (TARGET_SIMD)
  7292. #define HAVE_aarch64_set_qregxiv8hf (TARGET_SIMD)
  7293. #define HAVE_aarch64_set_qregoiv4sf (TARGET_SIMD)
  7294. #define HAVE_aarch64_set_qregciv4sf (TARGET_SIMD)
  7295. #define HAVE_aarch64_set_qregxiv4sf (TARGET_SIMD)
  7296. #define HAVE_aarch64_set_qregoiv2df (TARGET_SIMD)
  7297. #define HAVE_aarch64_set_qregciv2df (TARGET_SIMD)
  7298. #define HAVE_aarch64_set_qregxiv2df (TARGET_SIMD)
  7299. #define HAVE_aarch64_set_qregoiv8bf (TARGET_SIMD)
  7300. #define HAVE_aarch64_set_qregciv8bf (TARGET_SIMD)
  7301. #define HAVE_aarch64_set_qregxiv8bf (TARGET_SIMD)
  7302. #define HAVE_vec_initv8qiqi (TARGET_SIMD)
  7303. #define HAVE_vec_initv16qiqi (TARGET_SIMD)
  7304. #define HAVE_vec_initv4hihi (TARGET_SIMD)
  7305. #define HAVE_vec_initv8hihi (TARGET_SIMD)
  7306. #define HAVE_vec_initv2sisi (TARGET_SIMD)
  7307. #define HAVE_vec_initv4sisi (TARGET_SIMD)
  7308. #define HAVE_vec_initv2didi (TARGET_SIMD)
  7309. #define HAVE_vec_initv4hfhf (TARGET_SIMD)
  7310. #define HAVE_vec_initv8hfhf (TARGET_SIMD)
  7311. #define HAVE_vec_initv4bfbf (TARGET_SIMD)
  7312. #define HAVE_vec_initv8bfbf (TARGET_SIMD)
  7313. #define HAVE_vec_initv2sfsf (TARGET_SIMD)
  7314. #define HAVE_vec_initv4sfsf (TARGET_SIMD)
  7315. #define HAVE_vec_initv2dfdf (TARGET_SIMD)
  7316. #define HAVE_vec_initv16qiv8qi (TARGET_SIMD)
  7317. #define HAVE_vec_initv8hiv4hi (TARGET_SIMD)
  7318. #define HAVE_vec_initv4siv2si (TARGET_SIMD)
  7319. #define HAVE_vec_initv8hfv4hf (TARGET_SIMD)
  7320. #define HAVE_vec_initv4sfv2sf (TARGET_SIMD)
  7321. #define HAVE_vec_initv8bfv4bf (TARGET_SIMD)
  7322. #define HAVE_vec_extractv8qiqi (TARGET_SIMD)
  7323. #define HAVE_vec_extractv16qiqi (TARGET_SIMD)
  7324. #define HAVE_vec_extractv4hihi (TARGET_SIMD)
  7325. #define HAVE_vec_extractv8hihi (TARGET_SIMD)
  7326. #define HAVE_vec_extractv2sisi (TARGET_SIMD)
  7327. #define HAVE_vec_extractv4sisi (TARGET_SIMD)
  7328. #define HAVE_vec_extractv2didi (TARGET_SIMD)
  7329. #define HAVE_vec_extractv4hfhf (TARGET_SIMD)
  7330. #define HAVE_vec_extractv8hfhf (TARGET_SIMD)
  7331. #define HAVE_vec_extractv4bfbf (TARGET_SIMD)
  7332. #define HAVE_vec_extractv8bfbf (TARGET_SIMD)
  7333. #define HAVE_vec_extractv2sfsf (TARGET_SIMD)
  7334. #define HAVE_vec_extractv4sfsf (TARGET_SIMD)
  7335. #define HAVE_vec_extractv2dfdf (TARGET_SIMD)
  7336. #define HAVE_vec_extractv16qiv8qi (TARGET_SIMD)
  7337. #define HAVE_vec_extractv8hiv4hi (TARGET_SIMD)
  7338. #define HAVE_vec_extractv4siv2si (TARGET_SIMD)
  7339. #define HAVE_vec_extractv8hfv4hf (TARGET_SIMD)
  7340. #define HAVE_vec_extractv8bfv4bf (TARGET_SIMD)
  7341. #define HAVE_vec_extractv4sfv2sf (TARGET_SIMD)
  7342. #define HAVE_vec_extractv2dfv1df (TARGET_SIMD)
  7343. #define HAVE_aarch64_fmlal_lowv2sf (TARGET_F16FML)
  7344. #define HAVE_aarch64_fmlsl_lowv2sf (TARGET_F16FML)
  7345. #define HAVE_aarch64_fmlalq_lowv4sf (TARGET_F16FML)
  7346. #define HAVE_aarch64_fmlslq_lowv4sf (TARGET_F16FML)
  7347. #define HAVE_aarch64_fmlal_highv2sf (TARGET_F16FML)
  7348. #define HAVE_aarch64_fmlsl_highv2sf (TARGET_F16FML)
  7349. #define HAVE_aarch64_fmlalq_highv4sf (TARGET_F16FML)
  7350. #define HAVE_aarch64_fmlslq_highv4sf (TARGET_F16FML)
  7351. #define HAVE_aarch64_fmlal_lane_lowv2sf (TARGET_F16FML)
  7352. #define HAVE_aarch64_fmlsl_lane_lowv2sf (TARGET_F16FML)
  7353. #define HAVE_aarch64_fmlal_lane_highv2sf (TARGET_F16FML)
  7354. #define HAVE_aarch64_fmlsl_lane_highv2sf (TARGET_F16FML)
  7355. #define HAVE_aarch64_fmlalq_laneq_lowv4sf (TARGET_F16FML)
  7356. #define HAVE_aarch64_fmlslq_laneq_lowv4sf (TARGET_F16FML)
  7357. #define HAVE_aarch64_fmlalq_laneq_highv4sf (TARGET_F16FML)
  7358. #define HAVE_aarch64_fmlslq_laneq_highv4sf (TARGET_F16FML)
  7359. #define HAVE_aarch64_fmlal_laneq_lowv2sf (TARGET_F16FML)
  7360. #define HAVE_aarch64_fmlsl_laneq_lowv2sf (TARGET_F16FML)
  7361. #define HAVE_aarch64_fmlal_laneq_highv2sf (TARGET_F16FML)
  7362. #define HAVE_aarch64_fmlsl_laneq_highv2sf (TARGET_F16FML)
  7363. #define HAVE_aarch64_fmlalq_lane_lowv4sf (TARGET_F16FML)
  7364. #define HAVE_aarch64_fmlslq_lane_lowv4sf (TARGET_F16FML)
  7365. #define HAVE_aarch64_fmlalq_lane_highv4sf (TARGET_F16FML)
  7366. #define HAVE_aarch64_fmlslq_lane_highv4sf (TARGET_F16FML)
  7367. #define HAVE_aarch64_vget_lo_halfv8bf (TARGET_BF16_SIMD)
  7368. #define HAVE_aarch64_vget_hi_halfv8bf (TARGET_BF16_SIMD)
  7369. #define HAVE_atomic_compare_and_swapqi 1
  7370. #define HAVE_atomic_compare_and_swaphi 1
  7371. #define HAVE_atomic_compare_and_swapsi 1
  7372. #define HAVE_atomic_compare_and_swapdi 1
  7373. #define HAVE_atomic_compare_and_swapti 1
  7374. #define HAVE_atomic_exchangeqi 1
  7375. #define HAVE_atomic_exchangehi 1
  7376. #define HAVE_atomic_exchangesi 1
  7377. #define HAVE_atomic_exchangedi 1
  7378. #define HAVE_atomic_addqi 1
  7379. #define HAVE_atomic_subqi 1
  7380. #define HAVE_atomic_orqi 1
  7381. #define HAVE_atomic_xorqi 1
  7382. #define HAVE_atomic_andqi 1
  7383. #define HAVE_atomic_addhi 1
  7384. #define HAVE_atomic_subhi 1
  7385. #define HAVE_atomic_orhi 1
  7386. #define HAVE_atomic_xorhi 1
  7387. #define HAVE_atomic_andhi 1
  7388. #define HAVE_atomic_addsi 1
  7389. #define HAVE_atomic_subsi 1
  7390. #define HAVE_atomic_orsi 1
  7391. #define HAVE_atomic_xorsi 1
  7392. #define HAVE_atomic_andsi 1
  7393. #define HAVE_atomic_adddi 1
  7394. #define HAVE_atomic_subdi 1
  7395. #define HAVE_atomic_ordi 1
  7396. #define HAVE_atomic_xordi 1
  7397. #define HAVE_atomic_anddi 1
  7398. #define HAVE_atomic_fetch_addqi 1
  7399. #define HAVE_atomic_fetch_subqi 1
  7400. #define HAVE_atomic_fetch_orqi 1
  7401. #define HAVE_atomic_fetch_xorqi 1
  7402. #define HAVE_atomic_fetch_andqi 1
  7403. #define HAVE_atomic_fetch_addhi 1
  7404. #define HAVE_atomic_fetch_subhi 1
  7405. #define HAVE_atomic_fetch_orhi 1
  7406. #define HAVE_atomic_fetch_xorhi 1
  7407. #define HAVE_atomic_fetch_andhi 1
  7408. #define HAVE_atomic_fetch_addsi 1
  7409. #define HAVE_atomic_fetch_subsi 1
  7410. #define HAVE_atomic_fetch_orsi 1
  7411. #define HAVE_atomic_fetch_xorsi 1
  7412. #define HAVE_atomic_fetch_andsi 1
  7413. #define HAVE_atomic_fetch_adddi 1
  7414. #define HAVE_atomic_fetch_subdi 1
  7415. #define HAVE_atomic_fetch_ordi 1
  7416. #define HAVE_atomic_fetch_xordi 1
  7417. #define HAVE_atomic_fetch_anddi 1
  7418. #define HAVE_atomic_add_fetchqi 1
  7419. #define HAVE_atomic_sub_fetchqi 1
  7420. #define HAVE_atomic_or_fetchqi 1
  7421. #define HAVE_atomic_xor_fetchqi 1
  7422. #define HAVE_atomic_and_fetchqi 1
  7423. #define HAVE_atomic_add_fetchhi 1
  7424. #define HAVE_atomic_sub_fetchhi 1
  7425. #define HAVE_atomic_or_fetchhi 1
  7426. #define HAVE_atomic_xor_fetchhi 1
  7427. #define HAVE_atomic_and_fetchhi 1
  7428. #define HAVE_atomic_add_fetchsi 1
  7429. #define HAVE_atomic_sub_fetchsi 1
  7430. #define HAVE_atomic_or_fetchsi 1
  7431. #define HAVE_atomic_xor_fetchsi 1
  7432. #define HAVE_atomic_and_fetchsi 1
  7433. #define HAVE_atomic_add_fetchdi 1
  7434. #define HAVE_atomic_sub_fetchdi 1
  7435. #define HAVE_atomic_or_fetchdi 1
  7436. #define HAVE_atomic_xor_fetchdi 1
  7437. #define HAVE_atomic_and_fetchdi 1
  7438. #define HAVE_mem_thread_fence 1
  7439. #define HAVE_dmb 1
  7440. #define HAVE_movvnx16qi (TARGET_SVE)
  7441. #define HAVE_movvnx8qi (TARGET_SVE)
  7442. #define HAVE_movvnx4qi (TARGET_SVE)
  7443. #define HAVE_movvnx2qi (TARGET_SVE)
  7444. #define HAVE_movvnx8hi (TARGET_SVE)
  7445. #define HAVE_movvnx4hi (TARGET_SVE)
  7446. #define HAVE_movvnx2hi (TARGET_SVE)
  7447. #define HAVE_movvnx8hf (TARGET_SVE)
  7448. #define HAVE_movvnx4hf (TARGET_SVE)
  7449. #define HAVE_movvnx2hf (TARGET_SVE)
  7450. #define HAVE_movvnx8bf (TARGET_SVE)
  7451. #define HAVE_movvnx4si (TARGET_SVE)
  7452. #define HAVE_movvnx2si (TARGET_SVE)
  7453. #define HAVE_movvnx4sf (TARGET_SVE)
  7454. #define HAVE_movvnx2sf (TARGET_SVE)
  7455. #define HAVE_movvnx2di (TARGET_SVE)
  7456. #define HAVE_movvnx2df (TARGET_SVE)
  7457. #define HAVE_movmisalignvnx16qi (TARGET_SVE)
  7458. #define HAVE_movmisalignvnx8qi (TARGET_SVE)
  7459. #define HAVE_movmisalignvnx4qi (TARGET_SVE)
  7460. #define HAVE_movmisalignvnx2qi (TARGET_SVE)
  7461. #define HAVE_movmisalignvnx8hi (TARGET_SVE)
  7462. #define HAVE_movmisalignvnx4hi (TARGET_SVE)
  7463. #define HAVE_movmisalignvnx2hi (TARGET_SVE)
  7464. #define HAVE_movmisalignvnx8hf (TARGET_SVE)
  7465. #define HAVE_movmisalignvnx4hf (TARGET_SVE)
  7466. #define HAVE_movmisalignvnx2hf (TARGET_SVE)
  7467. #define HAVE_movmisalignvnx8bf (TARGET_SVE)
  7468. #define HAVE_movmisalignvnx4si (TARGET_SVE)
  7469. #define HAVE_movmisalignvnx2si (TARGET_SVE)
  7470. #define HAVE_movmisalignvnx4sf (TARGET_SVE)
  7471. #define HAVE_movmisalignvnx2sf (TARGET_SVE)
  7472. #define HAVE_movmisalignvnx2di (TARGET_SVE)
  7473. #define HAVE_movmisalignvnx2df (TARGET_SVE)
  7474. #define HAVE_aarch64_sve_reload_mem (TARGET_SVE)
  7475. #define HAVE_aarch64_sve_reinterpretvnx16qi (TARGET_SVE)
  7476. #define HAVE_aarch64_sve_reinterpretvnx8qi (TARGET_SVE)
  7477. #define HAVE_aarch64_sve_reinterpretvnx4qi (TARGET_SVE)
  7478. #define HAVE_aarch64_sve_reinterpretvnx2qi (TARGET_SVE)
  7479. #define HAVE_aarch64_sve_reinterpretvnx8hi (TARGET_SVE)
  7480. #define HAVE_aarch64_sve_reinterpretvnx4hi (TARGET_SVE)
  7481. #define HAVE_aarch64_sve_reinterpretvnx2hi (TARGET_SVE)
  7482. #define HAVE_aarch64_sve_reinterpretvnx8hf (TARGET_SVE)
  7483. #define HAVE_aarch64_sve_reinterpretvnx4hf (TARGET_SVE)
  7484. #define HAVE_aarch64_sve_reinterpretvnx2hf (TARGET_SVE)
  7485. #define HAVE_aarch64_sve_reinterpretvnx8bf (TARGET_SVE)
  7486. #define HAVE_aarch64_sve_reinterpretvnx4si (TARGET_SVE)
  7487. #define HAVE_aarch64_sve_reinterpretvnx2si (TARGET_SVE)
  7488. #define HAVE_aarch64_sve_reinterpretvnx4sf (TARGET_SVE)
  7489. #define HAVE_aarch64_sve_reinterpretvnx2sf (TARGET_SVE)
  7490. #define HAVE_aarch64_sve_reinterpretvnx2di (TARGET_SVE)
  7491. #define HAVE_aarch64_sve_reinterpretvnx2df (TARGET_SVE)
  7492. #define HAVE_movvnx32qi (TARGET_SVE)
  7493. #define HAVE_movvnx16hi (TARGET_SVE)
  7494. #define HAVE_movvnx8si (TARGET_SVE)
  7495. #define HAVE_movvnx4di (TARGET_SVE)
  7496. #define HAVE_movvnx16bf (TARGET_SVE)
  7497. #define HAVE_movvnx16hf (TARGET_SVE)
  7498. #define HAVE_movvnx8sf (TARGET_SVE)
  7499. #define HAVE_movvnx4df (TARGET_SVE)
  7500. #define HAVE_movvnx48qi (TARGET_SVE)
  7501. #define HAVE_movvnx24hi (TARGET_SVE)
  7502. #define HAVE_movvnx12si (TARGET_SVE)
  7503. #define HAVE_movvnx6di (TARGET_SVE)
  7504. #define HAVE_movvnx24bf (TARGET_SVE)
  7505. #define HAVE_movvnx24hf (TARGET_SVE)
  7506. #define HAVE_movvnx12sf (TARGET_SVE)
  7507. #define HAVE_movvnx6df (TARGET_SVE)
  7508. #define HAVE_movvnx64qi (TARGET_SVE)
  7509. #define HAVE_movvnx32hi (TARGET_SVE)
  7510. #define HAVE_movvnx16si (TARGET_SVE)
  7511. #define HAVE_movvnx8di (TARGET_SVE)
  7512. #define HAVE_movvnx32bf (TARGET_SVE)
  7513. #define HAVE_movvnx32hf (TARGET_SVE)
  7514. #define HAVE_movvnx16sf (TARGET_SVE)
  7515. #define HAVE_movvnx8df (TARGET_SVE)
  7516. #define HAVE_movvnx16bi (TARGET_SVE)
  7517. #define HAVE_movvnx8bi (TARGET_SVE)
  7518. #define HAVE_movvnx4bi (TARGET_SVE)
  7519. #define HAVE_movvnx2bi (TARGET_SVE)
  7520. #define HAVE_vec_load_lanesvnx32qivnx16qi (TARGET_SVE)
  7521. #define HAVE_vec_load_lanesvnx16hivnx8hi (TARGET_SVE)
  7522. #define HAVE_vec_load_lanesvnx8sivnx4si (TARGET_SVE)
  7523. #define HAVE_vec_load_lanesvnx4divnx2di (TARGET_SVE)
  7524. #define HAVE_vec_load_lanesvnx16bfvnx8bf (TARGET_SVE)
  7525. #define HAVE_vec_load_lanesvnx16hfvnx8hf (TARGET_SVE)
  7526. #define HAVE_vec_load_lanesvnx8sfvnx4sf (TARGET_SVE)
  7527. #define HAVE_vec_load_lanesvnx4dfvnx2df (TARGET_SVE)
  7528. #define HAVE_vec_load_lanesvnx48qivnx16qi (TARGET_SVE)
  7529. #define HAVE_vec_load_lanesvnx24hivnx8hi (TARGET_SVE)
  7530. #define HAVE_vec_load_lanesvnx12sivnx4si (TARGET_SVE)
  7531. #define HAVE_vec_load_lanesvnx6divnx2di (TARGET_SVE)
  7532. #define HAVE_vec_load_lanesvnx24bfvnx8bf (TARGET_SVE)
  7533. #define HAVE_vec_load_lanesvnx24hfvnx8hf (TARGET_SVE)
  7534. #define HAVE_vec_load_lanesvnx12sfvnx4sf (TARGET_SVE)
  7535. #define HAVE_vec_load_lanesvnx6dfvnx2df (TARGET_SVE)
  7536. #define HAVE_vec_load_lanesvnx64qivnx16qi (TARGET_SVE)
  7537. #define HAVE_vec_load_lanesvnx32hivnx8hi (TARGET_SVE)
  7538. #define HAVE_vec_load_lanesvnx16sivnx4si (TARGET_SVE)
  7539. #define HAVE_vec_load_lanesvnx8divnx2di (TARGET_SVE)
  7540. #define HAVE_vec_load_lanesvnx32bfvnx8bf (TARGET_SVE)
  7541. #define HAVE_vec_load_lanesvnx32hfvnx8hf (TARGET_SVE)
  7542. #define HAVE_vec_load_lanesvnx16sfvnx4sf (TARGET_SVE)
  7543. #define HAVE_vec_load_lanesvnx8dfvnx2df (TARGET_SVE)
  7544. #define HAVE_gather_loadvnx2qivnx2di (TARGET_SVE)
  7545. #define HAVE_gather_loadvnx2hivnx2di (TARGET_SVE)
  7546. #define HAVE_gather_loadvnx2hfvnx2di (TARGET_SVE)
  7547. #define HAVE_gather_loadvnx2sivnx2di (TARGET_SVE)
  7548. #define HAVE_gather_loadvnx2sfvnx2di (TARGET_SVE)
  7549. #define HAVE_gather_loadvnx2divnx2di (TARGET_SVE)
  7550. #define HAVE_gather_loadvnx2dfvnx2di (TARGET_SVE)
  7551. #define HAVE_gather_loadvnx4qivnx4si (TARGET_SVE)
  7552. #define HAVE_gather_loadvnx4hivnx4si (TARGET_SVE)
  7553. #define HAVE_gather_loadvnx4hfvnx4si (TARGET_SVE)
  7554. #define HAVE_gather_loadvnx4sivnx4si (TARGET_SVE)
  7555. #define HAVE_gather_loadvnx4sfvnx4si (TARGET_SVE)
  7556. #define HAVE_vec_store_lanesvnx32qivnx16qi (TARGET_SVE)
  7557. #define HAVE_vec_store_lanesvnx16hivnx8hi (TARGET_SVE)
  7558. #define HAVE_vec_store_lanesvnx8sivnx4si (TARGET_SVE)
  7559. #define HAVE_vec_store_lanesvnx4divnx2di (TARGET_SVE)
  7560. #define HAVE_vec_store_lanesvnx16bfvnx8bf (TARGET_SVE)
  7561. #define HAVE_vec_store_lanesvnx16hfvnx8hf (TARGET_SVE)
  7562. #define HAVE_vec_store_lanesvnx8sfvnx4sf (TARGET_SVE)
  7563. #define HAVE_vec_store_lanesvnx4dfvnx2df (TARGET_SVE)
  7564. #define HAVE_vec_store_lanesvnx48qivnx16qi (TARGET_SVE)
  7565. #define HAVE_vec_store_lanesvnx24hivnx8hi (TARGET_SVE)
  7566. #define HAVE_vec_store_lanesvnx12sivnx4si (TARGET_SVE)
  7567. #define HAVE_vec_store_lanesvnx6divnx2di (TARGET_SVE)
  7568. #define HAVE_vec_store_lanesvnx24bfvnx8bf (TARGET_SVE)
  7569. #define HAVE_vec_store_lanesvnx24hfvnx8hf (TARGET_SVE)
  7570. #define HAVE_vec_store_lanesvnx12sfvnx4sf (TARGET_SVE)
  7571. #define HAVE_vec_store_lanesvnx6dfvnx2df (TARGET_SVE)
  7572. #define HAVE_vec_store_lanesvnx64qivnx16qi (TARGET_SVE)
  7573. #define HAVE_vec_store_lanesvnx32hivnx8hi (TARGET_SVE)
  7574. #define HAVE_vec_store_lanesvnx16sivnx4si (TARGET_SVE)
  7575. #define HAVE_vec_store_lanesvnx8divnx2di (TARGET_SVE)
  7576. #define HAVE_vec_store_lanesvnx32bfvnx8bf (TARGET_SVE)
  7577. #define HAVE_vec_store_lanesvnx32hfvnx8hf (TARGET_SVE)
  7578. #define HAVE_vec_store_lanesvnx16sfvnx4sf (TARGET_SVE)
  7579. #define HAVE_vec_store_lanesvnx8dfvnx2df (TARGET_SVE)
  7580. #define HAVE_scatter_storevnx2qivnx2di (TARGET_SVE)
  7581. #define HAVE_scatter_storevnx2hivnx2di (TARGET_SVE)
  7582. #define HAVE_scatter_storevnx2hfvnx2di (TARGET_SVE)
  7583. #define HAVE_scatter_storevnx2sivnx2di (TARGET_SVE)
  7584. #define HAVE_scatter_storevnx2sfvnx2di (TARGET_SVE)
  7585. #define HAVE_scatter_storevnx2divnx2di (TARGET_SVE)
  7586. #define HAVE_scatter_storevnx2dfvnx2di (TARGET_SVE)
  7587. #define HAVE_scatter_storevnx4qivnx4si (TARGET_SVE)
  7588. #define HAVE_scatter_storevnx4hivnx4si (TARGET_SVE)
  7589. #define HAVE_scatter_storevnx4hfvnx4si (TARGET_SVE)
  7590. #define HAVE_scatter_storevnx4sivnx4si (TARGET_SVE)
  7591. #define HAVE_scatter_storevnx4sfvnx4si (TARGET_SVE)
  7592. #define HAVE_vec_duplicatevnx16qi (TARGET_SVE)
  7593. #define HAVE_vec_duplicatevnx8qi (TARGET_SVE)
  7594. #define HAVE_vec_duplicatevnx4qi (TARGET_SVE)
  7595. #define HAVE_vec_duplicatevnx2qi (TARGET_SVE)
  7596. #define HAVE_vec_duplicatevnx8hi (TARGET_SVE)
  7597. #define HAVE_vec_duplicatevnx4hi (TARGET_SVE)
  7598. #define HAVE_vec_duplicatevnx2hi (TARGET_SVE)
  7599. #define HAVE_vec_duplicatevnx8hf (TARGET_SVE)
  7600. #define HAVE_vec_duplicatevnx4hf (TARGET_SVE)
  7601. #define HAVE_vec_duplicatevnx2hf (TARGET_SVE)
  7602. #define HAVE_vec_duplicatevnx8bf (TARGET_SVE)
  7603. #define HAVE_vec_duplicatevnx4si (TARGET_SVE)
  7604. #define HAVE_vec_duplicatevnx2si (TARGET_SVE)
  7605. #define HAVE_vec_duplicatevnx4sf (TARGET_SVE)
  7606. #define HAVE_vec_duplicatevnx2sf (TARGET_SVE)
  7607. #define HAVE_vec_duplicatevnx2di (TARGET_SVE)
  7608. #define HAVE_vec_duplicatevnx2df (TARGET_SVE)
  7609. #define HAVE_vec_initvnx16qiqi (TARGET_SVE)
  7610. #define HAVE_vec_initvnx8hihi (TARGET_SVE)
  7611. #define HAVE_vec_initvnx4sisi (TARGET_SVE)
  7612. #define HAVE_vec_initvnx2didi (TARGET_SVE)
  7613. #define HAVE_vec_initvnx8bfbf (TARGET_SVE)
  7614. #define HAVE_vec_initvnx8hfhf (TARGET_SVE)
  7615. #define HAVE_vec_initvnx4sfsf (TARGET_SVE)
  7616. #define HAVE_vec_initvnx2dfdf (TARGET_SVE)
  7617. #define HAVE_vec_duplicatevnx16bi (TARGET_SVE)
  7618. #define HAVE_vec_duplicatevnx8bi (TARGET_SVE)
  7619. #define HAVE_vec_duplicatevnx4bi (TARGET_SVE)
  7620. #define HAVE_vec_duplicatevnx2bi (TARGET_SVE)
  7621. #define HAVE_vec_extractvnx16qiqi (TARGET_SVE)
  7622. #define HAVE_vec_extractvnx8hihi (TARGET_SVE)
  7623. #define HAVE_vec_extractvnx4sisi (TARGET_SVE)
  7624. #define HAVE_vec_extractvnx2didi (TARGET_SVE)
  7625. #define HAVE_vec_extractvnx8bfbf (TARGET_SVE)
  7626. #define HAVE_vec_extractvnx8hfhf (TARGET_SVE)
  7627. #define HAVE_vec_extractvnx4sfsf (TARGET_SVE)
  7628. #define HAVE_vec_extractvnx2dfdf (TARGET_SVE)
  7629. #define HAVE_vec_extractvnx16biqi (TARGET_SVE)
  7630. #define HAVE_vec_extractvnx8bihi (TARGET_SVE)
  7631. #define HAVE_vec_extractvnx4bisi (TARGET_SVE)
  7632. #define HAVE_vec_extractvnx2bidi (TARGET_SVE)
  7633. #define HAVE_absvnx16qi2 (TARGET_SVE)
  7634. #define HAVE_negvnx16qi2 (TARGET_SVE)
  7635. #define HAVE_one_cmplvnx16qi2 (TARGET_SVE)
  7636. #define HAVE_clrsbvnx16qi2 (TARGET_SVE)
  7637. #define HAVE_clzvnx16qi2 (TARGET_SVE)
  7638. #define HAVE_popcountvnx16qi2 (TARGET_SVE)
  7639. #define HAVE_qabsvnx16qi2 ((TARGET_SVE) && (TARGET_SVE2))
  7640. #define HAVE_qnegvnx16qi2 ((TARGET_SVE) && (TARGET_SVE2))
  7641. #define HAVE_absvnx8hi2 (TARGET_SVE)
  7642. #define HAVE_negvnx8hi2 (TARGET_SVE)
  7643. #define HAVE_one_cmplvnx8hi2 (TARGET_SVE)
  7644. #define HAVE_clrsbvnx8hi2 (TARGET_SVE)
  7645. #define HAVE_clzvnx8hi2 (TARGET_SVE)
  7646. #define HAVE_popcountvnx8hi2 (TARGET_SVE)
  7647. #define HAVE_qabsvnx8hi2 ((TARGET_SVE) && (TARGET_SVE2))
  7648. #define HAVE_qnegvnx8hi2 ((TARGET_SVE) && (TARGET_SVE2))
  7649. #define HAVE_absvnx4si2 (TARGET_SVE)
  7650. #define HAVE_negvnx4si2 (TARGET_SVE)
  7651. #define HAVE_one_cmplvnx4si2 (TARGET_SVE)
  7652. #define HAVE_clrsbvnx4si2 (TARGET_SVE)
  7653. #define HAVE_clzvnx4si2 (TARGET_SVE)
  7654. #define HAVE_popcountvnx4si2 (TARGET_SVE)
  7655. #define HAVE_qabsvnx4si2 ((TARGET_SVE) && (TARGET_SVE2))
  7656. #define HAVE_qnegvnx4si2 ((TARGET_SVE) && (TARGET_SVE2))
  7657. #define HAVE_absvnx2di2 (TARGET_SVE)
  7658. #define HAVE_negvnx2di2 (TARGET_SVE)
  7659. #define HAVE_one_cmplvnx2di2 (TARGET_SVE)
  7660. #define HAVE_clrsbvnx2di2 (TARGET_SVE)
  7661. #define HAVE_clzvnx2di2 (TARGET_SVE)
  7662. #define HAVE_popcountvnx2di2 (TARGET_SVE)
  7663. #define HAVE_qabsvnx2di2 ((TARGET_SVE) && (TARGET_SVE2))
  7664. #define HAVE_qnegvnx2di2 ((TARGET_SVE) && (TARGET_SVE2))
  7665. #define HAVE_cond_absvnx16qi (TARGET_SVE)
  7666. #define HAVE_cond_negvnx16qi (TARGET_SVE)
  7667. #define HAVE_cond_one_cmplvnx16qi (TARGET_SVE)
  7668. #define HAVE_cond_clrsbvnx16qi (TARGET_SVE)
  7669. #define HAVE_cond_clzvnx16qi (TARGET_SVE)
  7670. #define HAVE_cond_popcountvnx16qi (TARGET_SVE)
  7671. #define HAVE_cond_qabsvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7672. #define HAVE_cond_qnegvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7673. #define HAVE_cond_absvnx8hi (TARGET_SVE)
  7674. #define HAVE_cond_negvnx8hi (TARGET_SVE)
  7675. #define HAVE_cond_one_cmplvnx8hi (TARGET_SVE)
  7676. #define HAVE_cond_clrsbvnx8hi (TARGET_SVE)
  7677. #define HAVE_cond_clzvnx8hi (TARGET_SVE)
  7678. #define HAVE_cond_popcountvnx8hi (TARGET_SVE)
  7679. #define HAVE_cond_qabsvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7680. #define HAVE_cond_qnegvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7681. #define HAVE_cond_absvnx4si (TARGET_SVE)
  7682. #define HAVE_cond_negvnx4si (TARGET_SVE)
  7683. #define HAVE_cond_one_cmplvnx4si (TARGET_SVE)
  7684. #define HAVE_cond_clrsbvnx4si (TARGET_SVE)
  7685. #define HAVE_cond_clzvnx4si (TARGET_SVE)
  7686. #define HAVE_cond_popcountvnx4si (TARGET_SVE)
  7687. #define HAVE_cond_qabsvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7688. #define HAVE_cond_qnegvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7689. #define HAVE_cond_absvnx2di (TARGET_SVE)
  7690. #define HAVE_cond_negvnx2di (TARGET_SVE)
  7691. #define HAVE_cond_one_cmplvnx2di (TARGET_SVE)
  7692. #define HAVE_cond_clrsbvnx2di (TARGET_SVE)
  7693. #define HAVE_cond_clzvnx2di (TARGET_SVE)
  7694. #define HAVE_cond_popcountvnx2di (TARGET_SVE)
  7695. #define HAVE_cond_qabsvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7696. #define HAVE_cond_qnegvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7697. #define HAVE_extendvnx8qivnx8hi2 (TARGET_SVE && (~0x81 & 0x81) == 0)
  7698. #define HAVE_zero_extendvnx8qivnx8hi2 (TARGET_SVE && (~0x81 & 0x81) == 0)
  7699. #define HAVE_extendvnx4qivnx4hi2 (TARGET_SVE && (~0x41 & 0x41) == 0)
  7700. #define HAVE_zero_extendvnx4qivnx4hi2 (TARGET_SVE && (~0x41 & 0x41) == 0)
  7701. #define HAVE_extendvnx2qivnx2hi2 (TARGET_SVE && (~0x21 & 0x21) == 0)
  7702. #define HAVE_zero_extendvnx2qivnx2hi2 (TARGET_SVE && (~0x21 & 0x21) == 0)
  7703. #define HAVE_extendvnx4qivnx4si2 (TARGET_SVE && (~0x43 & 0x41) == 0)
  7704. #define HAVE_zero_extendvnx4qivnx4si2 (TARGET_SVE && (~0x43 & 0x41) == 0)
  7705. #define HAVE_extendvnx4hivnx4si2 (TARGET_SVE && (~0x43 & 0x42) == 0)
  7706. #define HAVE_zero_extendvnx4hivnx4si2 (TARGET_SVE && (~0x43 & 0x42) == 0)
  7707. #define HAVE_extendvnx2qivnx2si2 (TARGET_SVE && (~0x23 & 0x21) == 0)
  7708. #define HAVE_zero_extendvnx2qivnx2si2 (TARGET_SVE && (~0x23 & 0x21) == 0)
  7709. #define HAVE_extendvnx2hivnx2si2 (TARGET_SVE && (~0x23 & 0x22) == 0)
  7710. #define HAVE_zero_extendvnx2hivnx2si2 (TARGET_SVE && (~0x23 & 0x22) == 0)
  7711. #define HAVE_extendvnx2qivnx2di2 (TARGET_SVE && (~0x27 & 0x21) == 0)
  7712. #define HAVE_zero_extendvnx2qivnx2di2 (TARGET_SVE && (~0x27 & 0x21) == 0)
  7713. #define HAVE_extendvnx2hivnx2di2 (TARGET_SVE && (~0x27 & 0x22) == 0)
  7714. #define HAVE_zero_extendvnx2hivnx2di2 (TARGET_SVE && (~0x27 & 0x22) == 0)
  7715. #define HAVE_extendvnx2sivnx2di2 (TARGET_SVE && (~0x27 & 0x24) == 0)
  7716. #define HAVE_zero_extendvnx2sivnx2di2 (TARGET_SVE && (~0x27 & 0x24) == 0)
  7717. #define HAVE_aarch64_pred_cnotvnx16qi (TARGET_SVE)
  7718. #define HAVE_aarch64_pred_cnotvnx8hi (TARGET_SVE)
  7719. #define HAVE_aarch64_pred_cnotvnx4si (TARGET_SVE)
  7720. #define HAVE_aarch64_pred_cnotvnx2di (TARGET_SVE)
  7721. #define HAVE_cond_cnotvnx16qi (TARGET_SVE)
  7722. #define HAVE_cond_cnotvnx8hi (TARGET_SVE)
  7723. #define HAVE_cond_cnotvnx4si (TARGET_SVE)
  7724. #define HAVE_cond_cnotvnx2di (TARGET_SVE)
  7725. #define HAVE_absvnx8hf2 (TARGET_SVE)
  7726. #define HAVE_negvnx8hf2 (TARGET_SVE)
  7727. #define HAVE_frecpxvnx8hf2 (TARGET_SVE)
  7728. #define HAVE_roundvnx8hf2 (TARGET_SVE)
  7729. #define HAVE_nearbyintvnx8hf2 (TARGET_SVE)
  7730. #define HAVE_floorvnx8hf2 (TARGET_SVE)
  7731. #define HAVE_frintnvnx8hf2 (TARGET_SVE)
  7732. #define HAVE_ceilvnx8hf2 (TARGET_SVE)
  7733. #define HAVE_rintvnx8hf2 (TARGET_SVE)
  7734. #define HAVE_btruncvnx8hf2 (TARGET_SVE)
  7735. #define HAVE_absvnx4sf2 (TARGET_SVE)
  7736. #define HAVE_negvnx4sf2 (TARGET_SVE)
  7737. #define HAVE_frecpxvnx4sf2 (TARGET_SVE)
  7738. #define HAVE_roundvnx4sf2 (TARGET_SVE)
  7739. #define HAVE_nearbyintvnx4sf2 (TARGET_SVE)
  7740. #define HAVE_floorvnx4sf2 (TARGET_SVE)
  7741. #define HAVE_frintnvnx4sf2 (TARGET_SVE)
  7742. #define HAVE_ceilvnx4sf2 (TARGET_SVE)
  7743. #define HAVE_rintvnx4sf2 (TARGET_SVE)
  7744. #define HAVE_btruncvnx4sf2 (TARGET_SVE)
  7745. #define HAVE_absvnx2df2 (TARGET_SVE)
  7746. #define HAVE_negvnx2df2 (TARGET_SVE)
  7747. #define HAVE_frecpxvnx2df2 (TARGET_SVE)
  7748. #define HAVE_roundvnx2df2 (TARGET_SVE)
  7749. #define HAVE_nearbyintvnx2df2 (TARGET_SVE)
  7750. #define HAVE_floorvnx2df2 (TARGET_SVE)
  7751. #define HAVE_frintnvnx2df2 (TARGET_SVE)
  7752. #define HAVE_ceilvnx2df2 (TARGET_SVE)
  7753. #define HAVE_rintvnx2df2 (TARGET_SVE)
  7754. #define HAVE_btruncvnx2df2 (TARGET_SVE)
  7755. #define HAVE_cond_absvnx8hf (TARGET_SVE)
  7756. #define HAVE_cond_negvnx8hf (TARGET_SVE)
  7757. #define HAVE_cond_frecpxvnx8hf (TARGET_SVE)
  7758. #define HAVE_cond_roundvnx8hf (TARGET_SVE)
  7759. #define HAVE_cond_nearbyintvnx8hf (TARGET_SVE)
  7760. #define HAVE_cond_floorvnx8hf (TARGET_SVE)
  7761. #define HAVE_cond_frintnvnx8hf (TARGET_SVE)
  7762. #define HAVE_cond_ceilvnx8hf (TARGET_SVE)
  7763. #define HAVE_cond_rintvnx8hf (TARGET_SVE)
  7764. #define HAVE_cond_btruncvnx8hf (TARGET_SVE)
  7765. #define HAVE_cond_sqrtvnx8hf (TARGET_SVE)
  7766. #define HAVE_cond_absvnx4sf (TARGET_SVE)
  7767. #define HAVE_cond_negvnx4sf (TARGET_SVE)
  7768. #define HAVE_cond_frecpxvnx4sf (TARGET_SVE)
  7769. #define HAVE_cond_roundvnx4sf (TARGET_SVE)
  7770. #define HAVE_cond_nearbyintvnx4sf (TARGET_SVE)
  7771. #define HAVE_cond_floorvnx4sf (TARGET_SVE)
  7772. #define HAVE_cond_frintnvnx4sf (TARGET_SVE)
  7773. #define HAVE_cond_ceilvnx4sf (TARGET_SVE)
  7774. #define HAVE_cond_rintvnx4sf (TARGET_SVE)
  7775. #define HAVE_cond_btruncvnx4sf (TARGET_SVE)
  7776. #define HAVE_cond_sqrtvnx4sf (TARGET_SVE)
  7777. #define HAVE_cond_absvnx2df (TARGET_SVE)
  7778. #define HAVE_cond_negvnx2df (TARGET_SVE)
  7779. #define HAVE_cond_frecpxvnx2df (TARGET_SVE)
  7780. #define HAVE_cond_roundvnx2df (TARGET_SVE)
  7781. #define HAVE_cond_nearbyintvnx2df (TARGET_SVE)
  7782. #define HAVE_cond_floorvnx2df (TARGET_SVE)
  7783. #define HAVE_cond_frintnvnx2df (TARGET_SVE)
  7784. #define HAVE_cond_ceilvnx2df (TARGET_SVE)
  7785. #define HAVE_cond_rintvnx2df (TARGET_SVE)
  7786. #define HAVE_cond_btruncvnx2df (TARGET_SVE)
  7787. #define HAVE_cond_sqrtvnx2df (TARGET_SVE)
  7788. #define HAVE_sqrtvnx8hf2 (TARGET_SVE)
  7789. #define HAVE_sqrtvnx4sf2 (TARGET_SVE)
  7790. #define HAVE_sqrtvnx2df2 (TARGET_SVE)
  7791. #define HAVE_rsqrtvnx4sf2 (TARGET_SVE)
  7792. #define HAVE_rsqrtvnx2df2 (TARGET_SVE)
  7793. #define HAVE_aarch64_rsqrtevnx4sf (TARGET_SVE)
  7794. #define HAVE_aarch64_rsqrtevnx2df (TARGET_SVE)
  7795. #define HAVE_aarch64_rsqrtsvnx4sf (TARGET_SVE)
  7796. #define HAVE_aarch64_rsqrtsvnx2df (TARGET_SVE)
  7797. #define HAVE_one_cmplvnx16bi2 (TARGET_SVE)
  7798. #define HAVE_one_cmplvnx8bi2 (TARGET_SVE)
  7799. #define HAVE_one_cmplvnx4bi2 (TARGET_SVE)
  7800. #define HAVE_one_cmplvnx2bi2 (TARGET_SVE)
  7801. #define HAVE_mulvnx16qi3 (TARGET_SVE)
  7802. #define HAVE_smaxvnx16qi3 (TARGET_SVE)
  7803. #define HAVE_sminvnx16qi3 (TARGET_SVE)
  7804. #define HAVE_umaxvnx16qi3 (TARGET_SVE)
  7805. #define HAVE_uminvnx16qi3 (TARGET_SVE)
  7806. #define HAVE_mulvnx8hi3 (TARGET_SVE)
  7807. #define HAVE_smaxvnx8hi3 (TARGET_SVE)
  7808. #define HAVE_sminvnx8hi3 (TARGET_SVE)
  7809. #define HAVE_umaxvnx8hi3 (TARGET_SVE)
  7810. #define HAVE_uminvnx8hi3 (TARGET_SVE)
  7811. #define HAVE_mulvnx4si3 (TARGET_SVE)
  7812. #define HAVE_smaxvnx4si3 (TARGET_SVE)
  7813. #define HAVE_sminvnx4si3 (TARGET_SVE)
  7814. #define HAVE_umaxvnx4si3 (TARGET_SVE)
  7815. #define HAVE_uminvnx4si3 (TARGET_SVE)
  7816. #define HAVE_mulvnx2di3 (TARGET_SVE)
  7817. #define HAVE_smaxvnx2di3 (TARGET_SVE)
  7818. #define HAVE_sminvnx2di3 (TARGET_SVE)
  7819. #define HAVE_umaxvnx2di3 (TARGET_SVE)
  7820. #define HAVE_uminvnx2di3 (TARGET_SVE)
  7821. #define HAVE_cond_addvnx16qi (TARGET_SVE)
  7822. #define HAVE_cond_subvnx16qi (TARGET_SVE)
  7823. #define HAVE_cond_mulvnx16qi (TARGET_SVE)
  7824. #define HAVE_cond_smaxvnx16qi (TARGET_SVE)
  7825. #define HAVE_cond_umaxvnx16qi (TARGET_SVE)
  7826. #define HAVE_cond_sminvnx16qi (TARGET_SVE)
  7827. #define HAVE_cond_uminvnx16qi (TARGET_SVE)
  7828. #define HAVE_cond_ashlvnx16qi (TARGET_SVE)
  7829. #define HAVE_cond_ashrvnx16qi (TARGET_SVE)
  7830. #define HAVE_cond_lshrvnx16qi (TARGET_SVE)
  7831. #define HAVE_cond_andvnx16qi (TARGET_SVE)
  7832. #define HAVE_cond_iorvnx16qi (TARGET_SVE)
  7833. #define HAVE_cond_xorvnx16qi (TARGET_SVE)
  7834. #define HAVE_cond_ssaddvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7835. #define HAVE_cond_usaddvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7836. #define HAVE_cond_sssubvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7837. #define HAVE_cond_ussubvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7838. #define HAVE_cond_addvnx8hi (TARGET_SVE)
  7839. #define HAVE_cond_subvnx8hi (TARGET_SVE)
  7840. #define HAVE_cond_mulvnx8hi (TARGET_SVE)
  7841. #define HAVE_cond_smaxvnx8hi (TARGET_SVE)
  7842. #define HAVE_cond_umaxvnx8hi (TARGET_SVE)
  7843. #define HAVE_cond_sminvnx8hi (TARGET_SVE)
  7844. #define HAVE_cond_uminvnx8hi (TARGET_SVE)
  7845. #define HAVE_cond_ashlvnx8hi (TARGET_SVE)
  7846. #define HAVE_cond_ashrvnx8hi (TARGET_SVE)
  7847. #define HAVE_cond_lshrvnx8hi (TARGET_SVE)
  7848. #define HAVE_cond_andvnx8hi (TARGET_SVE)
  7849. #define HAVE_cond_iorvnx8hi (TARGET_SVE)
  7850. #define HAVE_cond_xorvnx8hi (TARGET_SVE)
  7851. #define HAVE_cond_ssaddvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7852. #define HAVE_cond_usaddvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7853. #define HAVE_cond_sssubvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7854. #define HAVE_cond_ussubvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7855. #define HAVE_cond_addvnx4si (TARGET_SVE)
  7856. #define HAVE_cond_subvnx4si (TARGET_SVE)
  7857. #define HAVE_cond_mulvnx4si (TARGET_SVE)
  7858. #define HAVE_cond_smaxvnx4si (TARGET_SVE)
  7859. #define HAVE_cond_umaxvnx4si (TARGET_SVE)
  7860. #define HAVE_cond_sminvnx4si (TARGET_SVE)
  7861. #define HAVE_cond_uminvnx4si (TARGET_SVE)
  7862. #define HAVE_cond_ashlvnx4si (TARGET_SVE)
  7863. #define HAVE_cond_ashrvnx4si (TARGET_SVE)
  7864. #define HAVE_cond_lshrvnx4si (TARGET_SVE)
  7865. #define HAVE_cond_andvnx4si (TARGET_SVE)
  7866. #define HAVE_cond_iorvnx4si (TARGET_SVE)
  7867. #define HAVE_cond_xorvnx4si (TARGET_SVE)
  7868. #define HAVE_cond_ssaddvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7869. #define HAVE_cond_usaddvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7870. #define HAVE_cond_sssubvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7871. #define HAVE_cond_ussubvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7872. #define HAVE_cond_addvnx2di (TARGET_SVE)
  7873. #define HAVE_cond_subvnx2di (TARGET_SVE)
  7874. #define HAVE_cond_mulvnx2di (TARGET_SVE)
  7875. #define HAVE_cond_smaxvnx2di (TARGET_SVE)
  7876. #define HAVE_cond_umaxvnx2di (TARGET_SVE)
  7877. #define HAVE_cond_sminvnx2di (TARGET_SVE)
  7878. #define HAVE_cond_uminvnx2di (TARGET_SVE)
  7879. #define HAVE_cond_ashlvnx2di (TARGET_SVE)
  7880. #define HAVE_cond_ashrvnx2di (TARGET_SVE)
  7881. #define HAVE_cond_lshrvnx2di (TARGET_SVE)
  7882. #define HAVE_cond_andvnx2di (TARGET_SVE)
  7883. #define HAVE_cond_iorvnx2di (TARGET_SVE)
  7884. #define HAVE_cond_xorvnx2di (TARGET_SVE)
  7885. #define HAVE_cond_ssaddvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7886. #define HAVE_cond_usaddvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7887. #define HAVE_cond_sssubvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7888. #define HAVE_cond_ussubvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7889. #define HAVE_aarch64_adrvnx4si_shift (TARGET_SVE)
  7890. #define HAVE_aarch64_adrvnx2di_shift (TARGET_SVE)
  7891. #define HAVE_sabdvnx16qi_3 (TARGET_SVE)
  7892. #define HAVE_uabdvnx16qi_3 (TARGET_SVE)
  7893. #define HAVE_sabdvnx8hi_3 (TARGET_SVE)
  7894. #define HAVE_uabdvnx8hi_3 (TARGET_SVE)
  7895. #define HAVE_sabdvnx4si_3 (TARGET_SVE)
  7896. #define HAVE_uabdvnx4si_3 (TARGET_SVE)
  7897. #define HAVE_sabdvnx2di_3 (TARGET_SVE)
  7898. #define HAVE_uabdvnx2di_3 (TARGET_SVE)
  7899. #define HAVE_aarch64_cond_sabdvnx16qi (TARGET_SVE)
  7900. #define HAVE_aarch64_cond_uabdvnx16qi (TARGET_SVE)
  7901. #define HAVE_aarch64_cond_sabdvnx8hi (TARGET_SVE)
  7902. #define HAVE_aarch64_cond_uabdvnx8hi (TARGET_SVE)
  7903. #define HAVE_aarch64_cond_sabdvnx4si (TARGET_SVE)
  7904. #define HAVE_aarch64_cond_uabdvnx4si (TARGET_SVE)
  7905. #define HAVE_aarch64_cond_sabdvnx2di (TARGET_SVE)
  7906. #define HAVE_aarch64_cond_uabdvnx2di (TARGET_SVE)
  7907. #define HAVE_smulvnx16qi3_highpart (TARGET_SVE)
  7908. #define HAVE_umulvnx16qi3_highpart (TARGET_SVE)
  7909. #define HAVE_smulvnx8hi3_highpart (TARGET_SVE)
  7910. #define HAVE_umulvnx8hi3_highpart (TARGET_SVE)
  7911. #define HAVE_smulvnx4si3_highpart (TARGET_SVE)
  7912. #define HAVE_umulvnx4si3_highpart (TARGET_SVE)
  7913. #define HAVE_smulvnx2di3_highpart (TARGET_SVE)
  7914. #define HAVE_umulvnx2di3_highpart (TARGET_SVE)
  7915. #define HAVE_cond_smulhvnx16qi (TARGET_SVE)
  7916. #define HAVE_cond_umulhvnx16qi (TARGET_SVE)
  7917. #define HAVE_cond_smulhvnx8hi (TARGET_SVE)
  7918. #define HAVE_cond_umulhvnx8hi (TARGET_SVE)
  7919. #define HAVE_cond_smulhvnx4si (TARGET_SVE)
  7920. #define HAVE_cond_umulhvnx4si (TARGET_SVE)
  7921. #define HAVE_cond_smulhvnx2di (TARGET_SVE)
  7922. #define HAVE_cond_umulhvnx2di (TARGET_SVE)
  7923. #define HAVE_divvnx4si3 (TARGET_SVE)
  7924. #define HAVE_udivvnx4si3 (TARGET_SVE)
  7925. #define HAVE_divvnx2di3 (TARGET_SVE)
  7926. #define HAVE_udivvnx2di3 (TARGET_SVE)
  7927. #define HAVE_cond_divvnx4si (TARGET_SVE)
  7928. #define HAVE_cond_udivvnx4si (TARGET_SVE)
  7929. #define HAVE_cond_divvnx2di (TARGET_SVE)
  7930. #define HAVE_cond_udivvnx2di (TARGET_SVE)
  7931. #define HAVE_aarch64_bicvnx16qi (TARGET_SVE)
  7932. #define HAVE_aarch64_bicvnx8hi (TARGET_SVE)
  7933. #define HAVE_aarch64_bicvnx4si (TARGET_SVE)
  7934. #define HAVE_aarch64_bicvnx2di (TARGET_SVE)
  7935. #define HAVE_cond_bicvnx16qi (TARGET_SVE)
  7936. #define HAVE_cond_bicvnx8hi (TARGET_SVE)
  7937. #define HAVE_cond_bicvnx4si (TARGET_SVE)
  7938. #define HAVE_cond_bicvnx2di (TARGET_SVE)
  7939. #define HAVE_ashlvnx16qi3 (TARGET_SVE)
  7940. #define HAVE_ashrvnx16qi3 (TARGET_SVE)
  7941. #define HAVE_lshrvnx16qi3 (TARGET_SVE)
  7942. #define HAVE_ashlvnx8hi3 (TARGET_SVE)
  7943. #define HAVE_ashrvnx8hi3 (TARGET_SVE)
  7944. #define HAVE_lshrvnx8hi3 (TARGET_SVE)
  7945. #define HAVE_ashlvnx4si3 (TARGET_SVE)
  7946. #define HAVE_ashrvnx4si3 (TARGET_SVE)
  7947. #define HAVE_lshrvnx4si3 (TARGET_SVE)
  7948. #define HAVE_ashlvnx2di3 (TARGET_SVE)
  7949. #define HAVE_ashrvnx2di3 (TARGET_SVE)
  7950. #define HAVE_lshrvnx2di3 (TARGET_SVE)
  7951. #define HAVE_vashlvnx16qi3 (TARGET_SVE)
  7952. #define HAVE_vashrvnx16qi3 (TARGET_SVE)
  7953. #define HAVE_vlshrvnx16qi3 (TARGET_SVE)
  7954. #define HAVE_vashlvnx8hi3 (TARGET_SVE)
  7955. #define HAVE_vashrvnx8hi3 (TARGET_SVE)
  7956. #define HAVE_vlshrvnx8hi3 (TARGET_SVE)
  7957. #define HAVE_vashlvnx4si3 (TARGET_SVE)
  7958. #define HAVE_vashrvnx4si3 (TARGET_SVE)
  7959. #define HAVE_vlshrvnx4si3 (TARGET_SVE)
  7960. #define HAVE_vashlvnx2di3 (TARGET_SVE)
  7961. #define HAVE_vashrvnx2di3 (TARGET_SVE)
  7962. #define HAVE_vlshrvnx2di3 (TARGET_SVE)
  7963. #define HAVE_cond_lslvnx16qi (TARGET_SVE)
  7964. #define HAVE_cond_asrvnx16qi (TARGET_SVE)
  7965. #define HAVE_cond_lsrvnx16qi (TARGET_SVE)
  7966. #define HAVE_cond_lslvnx8hi (TARGET_SVE)
  7967. #define HAVE_cond_asrvnx8hi (TARGET_SVE)
  7968. #define HAVE_cond_lsrvnx8hi (TARGET_SVE)
  7969. #define HAVE_cond_lslvnx4si (TARGET_SVE)
  7970. #define HAVE_cond_asrvnx4si (TARGET_SVE)
  7971. #define HAVE_cond_lsrvnx4si (TARGET_SVE)
  7972. #define HAVE_sdiv_pow2vnx16qi3 (TARGET_SVE)
  7973. #define HAVE_sdiv_pow2vnx8hi3 (TARGET_SVE)
  7974. #define HAVE_sdiv_pow2vnx4si3 (TARGET_SVE)
  7975. #define HAVE_sdiv_pow2vnx2di3 (TARGET_SVE)
  7976. #define HAVE_cond_asrdvnx16qi (TARGET_SVE)
  7977. #define HAVE_cond_sqshluvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7978. #define HAVE_cond_srshrvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7979. #define HAVE_cond_urshrvnx16qi ((TARGET_SVE) && (TARGET_SVE2))
  7980. #define HAVE_cond_asrdvnx8hi (TARGET_SVE)
  7981. #define HAVE_cond_sqshluvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7982. #define HAVE_cond_srshrvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7983. #define HAVE_cond_urshrvnx8hi ((TARGET_SVE) && (TARGET_SVE2))
  7984. #define HAVE_cond_asrdvnx4si (TARGET_SVE)
  7985. #define HAVE_cond_sqshluvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7986. #define HAVE_cond_srshrvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7987. #define HAVE_cond_urshrvnx4si ((TARGET_SVE) && (TARGET_SVE2))
  7988. #define HAVE_cond_asrdvnx2di (TARGET_SVE)
  7989. #define HAVE_cond_sqshluvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7990. #define HAVE_cond_srshrvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7991. #define HAVE_cond_urshrvnx2di ((TARGET_SVE) && (TARGET_SVE2))
  7992. #define HAVE_cond_fscalevnx8hf (TARGET_SVE)
  7993. #define HAVE_cond_fscalevnx4sf (TARGET_SVE)
  7994. #define HAVE_cond_fscalevnx2df (TARGET_SVE)
  7995. #define HAVE_addvnx8hf3 (TARGET_SVE)
  7996. #define HAVE_smax_nanvnx8hf3 (TARGET_SVE)
  7997. #define HAVE_smaxvnx8hf3 (TARGET_SVE)
  7998. #define HAVE_smin_nanvnx8hf3 (TARGET_SVE)
  7999. #define HAVE_sminvnx8hf3 (TARGET_SVE)
  8000. #define HAVE_mulvnx8hf3 (TARGET_SVE)
  8001. #define HAVE_mulxvnx8hf3 (TARGET_SVE)
  8002. #define HAVE_subvnx8hf3 (TARGET_SVE)
  8003. #define HAVE_addvnx4sf3 (TARGET_SVE)
  8004. #define HAVE_smax_nanvnx4sf3 (TARGET_SVE)
  8005. #define HAVE_smaxvnx4sf3 (TARGET_SVE)
  8006. #define HAVE_smin_nanvnx4sf3 (TARGET_SVE)
  8007. #define HAVE_sminvnx4sf3 (TARGET_SVE)
  8008. #define HAVE_mulvnx4sf3 (TARGET_SVE)
  8009. #define HAVE_mulxvnx4sf3 (TARGET_SVE)
  8010. #define HAVE_subvnx4sf3 (TARGET_SVE)
  8011. #define HAVE_addvnx2df3 (TARGET_SVE)
  8012. #define HAVE_smax_nanvnx2df3 (TARGET_SVE)
  8013. #define HAVE_smaxvnx2df3 (TARGET_SVE)
  8014. #define HAVE_smin_nanvnx2df3 (TARGET_SVE)
  8015. #define HAVE_sminvnx2df3 (TARGET_SVE)
  8016. #define HAVE_mulvnx2df3 (TARGET_SVE)
  8017. #define HAVE_mulxvnx2df3 (TARGET_SVE)
  8018. #define HAVE_subvnx2df3 (TARGET_SVE)
  8019. #define HAVE_cond_addvnx8hf (TARGET_SVE)
  8020. #define HAVE_cond_divvnx8hf (TARGET_SVE)
  8021. #define HAVE_cond_smax_nanvnx8hf (TARGET_SVE)
  8022. #define HAVE_cond_smaxvnx8hf (TARGET_SVE)
  8023. #define HAVE_cond_smin_nanvnx8hf (TARGET_SVE)
  8024. #define HAVE_cond_sminvnx8hf (TARGET_SVE)
  8025. #define HAVE_cond_mulvnx8hf (TARGET_SVE)
  8026. #define HAVE_cond_mulxvnx8hf (TARGET_SVE)
  8027. #define HAVE_cond_subvnx8hf (TARGET_SVE)
  8028. #define HAVE_cond_addvnx4sf (TARGET_SVE)
  8029. #define HAVE_cond_divvnx4sf (TARGET_SVE)
  8030. #define HAVE_cond_smax_nanvnx4sf (TARGET_SVE)
  8031. #define HAVE_cond_smaxvnx4sf (TARGET_SVE)
  8032. #define HAVE_cond_smin_nanvnx4sf (TARGET_SVE)
  8033. #define HAVE_cond_sminvnx4sf (TARGET_SVE)
  8034. #define HAVE_cond_mulvnx4sf (TARGET_SVE)
  8035. #define HAVE_cond_mulxvnx4sf (TARGET_SVE)
  8036. #define HAVE_cond_subvnx4sf (TARGET_SVE)
  8037. #define HAVE_cond_addvnx2df (TARGET_SVE)
  8038. #define HAVE_cond_divvnx2df (TARGET_SVE)
  8039. #define HAVE_cond_smax_nanvnx2df (TARGET_SVE)
  8040. #define HAVE_cond_smaxvnx2df (TARGET_SVE)
  8041. #define HAVE_cond_smin_nanvnx2df (TARGET_SVE)
  8042. #define HAVE_cond_sminvnx2df (TARGET_SVE)
  8043. #define HAVE_cond_mulvnx2df (TARGET_SVE)
  8044. #define HAVE_cond_mulxvnx2df (TARGET_SVE)
  8045. #define HAVE_cond_subvnx2df (TARGET_SVE)
  8046. #define HAVE_cond_cadd90vnx8hf (TARGET_SVE)
  8047. #define HAVE_cond_cadd270vnx8hf (TARGET_SVE)
  8048. #define HAVE_cond_cadd90vnx4sf (TARGET_SVE)
  8049. #define HAVE_cond_cadd270vnx4sf (TARGET_SVE)
  8050. #define HAVE_cond_cadd90vnx2df (TARGET_SVE)
  8051. #define HAVE_cond_cadd270vnx2df (TARGET_SVE)
  8052. #define HAVE_aarch64_pred_abdvnx8hf (TARGET_SVE)
  8053. #define HAVE_aarch64_pred_abdvnx4sf (TARGET_SVE)
  8054. #define HAVE_aarch64_pred_abdvnx2df (TARGET_SVE)
  8055. #define HAVE_aarch64_cond_abdvnx8hf (TARGET_SVE)
  8056. #define HAVE_aarch64_cond_abdvnx4sf (TARGET_SVE)
  8057. #define HAVE_aarch64_cond_abdvnx2df (TARGET_SVE)
  8058. #define HAVE_divvnx8hf3 (TARGET_SVE)
  8059. #define HAVE_divvnx4sf3 (TARGET_SVE)
  8060. #define HAVE_divvnx2df3 (TARGET_SVE)
  8061. #define HAVE_aarch64_frecpevnx8hf (TARGET_SVE)
  8062. #define HAVE_aarch64_frecpevnx4sf (TARGET_SVE)
  8063. #define HAVE_aarch64_frecpevnx2df (TARGET_SVE)
  8064. #define HAVE_aarch64_frecpsvnx8hf (TARGET_SVE)
  8065. #define HAVE_aarch64_frecpsvnx4sf (TARGET_SVE)
  8066. #define HAVE_aarch64_frecpsvnx2df (TARGET_SVE)
  8067. #define HAVE_copysignvnx8hf3 (TARGET_SVE)
  8068. #define HAVE_copysignvnx4sf3 (TARGET_SVE)
  8069. #define HAVE_copysignvnx2df3 (TARGET_SVE)
  8070. #define HAVE_xorsignvnx8hf3 (TARGET_SVE)
  8071. #define HAVE_xorsignvnx4sf3 (TARGET_SVE)
  8072. #define HAVE_xorsignvnx2df3 (TARGET_SVE)
  8073. #define HAVE_fmaxvnx8hf3 (TARGET_SVE)
  8074. #define HAVE_fminvnx8hf3 (TARGET_SVE)
  8075. #define HAVE_fmaxvnx4sf3 (TARGET_SVE)
  8076. #define HAVE_fminvnx4sf3 (TARGET_SVE)
  8077. #define HAVE_fmaxvnx2df3 (TARGET_SVE)
  8078. #define HAVE_fminvnx2df3 (TARGET_SVE)
  8079. #define HAVE_iorvnx16bi3 (TARGET_SVE)
  8080. #define HAVE_xorvnx16bi3 (TARGET_SVE)
  8081. #define HAVE_iorvnx8bi3 (TARGET_SVE)
  8082. #define HAVE_xorvnx8bi3 (TARGET_SVE)
  8083. #define HAVE_iorvnx4bi3 (TARGET_SVE)
  8084. #define HAVE_xorvnx4bi3 (TARGET_SVE)
  8085. #define HAVE_iorvnx2bi3 (TARGET_SVE)
  8086. #define HAVE_xorvnx2bi3 (TARGET_SVE)
  8087. #define HAVE_fmavnx16qi4 (TARGET_SVE)
  8088. #define HAVE_fmavnx8hi4 (TARGET_SVE)
  8089. #define HAVE_fmavnx4si4 (TARGET_SVE)
  8090. #define HAVE_fmavnx2di4 (TARGET_SVE)
  8091. #define HAVE_cond_fmavnx16qi (TARGET_SVE)
  8092. #define HAVE_cond_fmavnx8hi (TARGET_SVE)
  8093. #define HAVE_cond_fmavnx4si (TARGET_SVE)
  8094. #define HAVE_cond_fmavnx2di (TARGET_SVE)
  8095. #define HAVE_fnmavnx16qi4 (TARGET_SVE)
  8096. #define HAVE_fnmavnx8hi4 (TARGET_SVE)
  8097. #define HAVE_fnmavnx4si4 (TARGET_SVE)
  8098. #define HAVE_fnmavnx2di4 (TARGET_SVE)
  8099. #define HAVE_cond_fnmavnx16qi (TARGET_SVE)
  8100. #define HAVE_cond_fnmavnx8hi (TARGET_SVE)
  8101. #define HAVE_cond_fnmavnx4si (TARGET_SVE)
  8102. #define HAVE_cond_fnmavnx2di (TARGET_SVE)
  8103. #define HAVE_ssadvnx16qi (TARGET_SVE)
  8104. #define HAVE_usadvnx16qi (TARGET_SVE)
  8105. #define HAVE_ssadvnx8hi (TARGET_SVE)
  8106. #define HAVE_usadvnx8hi (TARGET_SVE)
  8107. #define HAVE_fmavnx8hf4 (TARGET_SVE)
  8108. #define HAVE_fnmavnx8hf4 (TARGET_SVE)
  8109. #define HAVE_fnmsvnx8hf4 (TARGET_SVE)
  8110. #define HAVE_fmsvnx8hf4 (TARGET_SVE)
  8111. #define HAVE_fmavnx4sf4 (TARGET_SVE)
  8112. #define HAVE_fnmavnx4sf4 (TARGET_SVE)
  8113. #define HAVE_fnmsvnx4sf4 (TARGET_SVE)
  8114. #define HAVE_fmsvnx4sf4 (TARGET_SVE)
  8115. #define HAVE_fmavnx2df4 (TARGET_SVE)
  8116. #define HAVE_fnmavnx2df4 (TARGET_SVE)
  8117. #define HAVE_fnmsvnx2df4 (TARGET_SVE)
  8118. #define HAVE_fmsvnx2df4 (TARGET_SVE)
  8119. #define HAVE_cond_fmavnx8hf (TARGET_SVE)
  8120. #define HAVE_cond_fnmavnx8hf (TARGET_SVE)
  8121. #define HAVE_cond_fnmsvnx8hf (TARGET_SVE)
  8122. #define HAVE_cond_fmsvnx8hf (TARGET_SVE)
  8123. #define HAVE_cond_fmavnx4sf (TARGET_SVE)
  8124. #define HAVE_cond_fnmavnx4sf (TARGET_SVE)
  8125. #define HAVE_cond_fnmsvnx4sf (TARGET_SVE)
  8126. #define HAVE_cond_fmsvnx4sf (TARGET_SVE)
  8127. #define HAVE_cond_fmavnx2df (TARGET_SVE)
  8128. #define HAVE_cond_fnmavnx2df (TARGET_SVE)
  8129. #define HAVE_cond_fnmsvnx2df (TARGET_SVE)
  8130. #define HAVE_cond_fmsvnx2df (TARGET_SVE)
  8131. #define HAVE_cond_fcmlavnx8hf (TARGET_SVE)
  8132. #define HAVE_cond_fcmla90vnx8hf (TARGET_SVE)
  8133. #define HAVE_cond_fcmla180vnx8hf (TARGET_SVE)
  8134. #define HAVE_cond_fcmla270vnx8hf (TARGET_SVE)
  8135. #define HAVE_cond_fcmlavnx4sf (TARGET_SVE)
  8136. #define HAVE_cond_fcmla90vnx4sf (TARGET_SVE)
  8137. #define HAVE_cond_fcmla180vnx4sf (TARGET_SVE)
  8138. #define HAVE_cond_fcmla270vnx4sf (TARGET_SVE)
  8139. #define HAVE_cond_fcmlavnx2df (TARGET_SVE)
  8140. #define HAVE_cond_fcmla90vnx2df (TARGET_SVE)
  8141. #define HAVE_cond_fcmla180vnx2df (TARGET_SVE)
  8142. #define HAVE_cond_fcmla270vnx2df (TARGET_SVE)
  8143. #define HAVE_vcond_mask_vnx16qivnx16bi (TARGET_SVE)
  8144. #define HAVE_vcond_mask_vnx8hivnx8bi (TARGET_SVE)
  8145. #define HAVE_vcond_mask_vnx4sivnx4bi (TARGET_SVE)
  8146. #define HAVE_vcond_mask_vnx2divnx2bi (TARGET_SVE)
  8147. #define HAVE_vcond_mask_vnx8bfvnx8bi (TARGET_SVE)
  8148. #define HAVE_vcond_mask_vnx8hfvnx8bi (TARGET_SVE)
  8149. #define HAVE_vcond_mask_vnx4sfvnx4bi (TARGET_SVE)
  8150. #define HAVE_vcond_mask_vnx2dfvnx2bi (TARGET_SVE)
  8151. #define HAVE_vcondvnx16qivnx16qi (TARGET_SVE)
  8152. #define HAVE_vcondvnx8hivnx8hi (TARGET_SVE)
  8153. #define HAVE_vcondvnx4sivnx4si (TARGET_SVE)
  8154. #define HAVE_vcondvnx2divnx2di (TARGET_SVE)
  8155. #define HAVE_vcondvnx8bfvnx8hi (TARGET_SVE)
  8156. #define HAVE_vcondvnx8hfvnx8hi (TARGET_SVE)
  8157. #define HAVE_vcondvnx4sfvnx4si (TARGET_SVE)
  8158. #define HAVE_vcondvnx2dfvnx2di (TARGET_SVE)
  8159. #define HAVE_vconduvnx16qivnx16qi (TARGET_SVE)
  8160. #define HAVE_vconduvnx8hivnx8hi (TARGET_SVE)
  8161. #define HAVE_vconduvnx4sivnx4si (TARGET_SVE)
  8162. #define HAVE_vconduvnx2divnx2di (TARGET_SVE)
  8163. #define HAVE_vconduvnx8bfvnx8hi (TARGET_SVE)
  8164. #define HAVE_vconduvnx8hfvnx8hi (TARGET_SVE)
  8165. #define HAVE_vconduvnx4sfvnx4si (TARGET_SVE)
  8166. #define HAVE_vconduvnx2dfvnx2di (TARGET_SVE)
  8167. #define HAVE_vcondvnx8hivnx8hf (TARGET_SVE)
  8168. #define HAVE_vcondvnx4sivnx4sf (TARGET_SVE)
  8169. #define HAVE_vcondvnx2divnx2df (TARGET_SVE)
  8170. #define HAVE_vcondvnx8bfvnx8hf (TARGET_SVE)
  8171. #define HAVE_vcondvnx8hfvnx8hf (TARGET_SVE)
  8172. #define HAVE_vcondvnx4sfvnx4sf (TARGET_SVE)
  8173. #define HAVE_vcondvnx2dfvnx2df (TARGET_SVE)
  8174. #define HAVE_vec_cmpvnx16qivnx16bi (TARGET_SVE)
  8175. #define HAVE_vec_cmpvnx8hivnx8bi (TARGET_SVE)
  8176. #define HAVE_vec_cmpvnx4sivnx4bi (TARGET_SVE)
  8177. #define HAVE_vec_cmpvnx2divnx2bi (TARGET_SVE)
  8178. #define HAVE_vec_cmpuvnx16qivnx16bi (TARGET_SVE)
  8179. #define HAVE_vec_cmpuvnx8hivnx8bi (TARGET_SVE)
  8180. #define HAVE_vec_cmpuvnx4sivnx4bi (TARGET_SVE)
  8181. #define HAVE_vec_cmpuvnx2divnx2bi (TARGET_SVE)
  8182. #define HAVE_vec_cmpvnx8hfvnx8bi (TARGET_SVE)
  8183. #define HAVE_vec_cmpvnx4sfvnx4bi (TARGET_SVE)
  8184. #define HAVE_vec_cmpvnx2dfvnx2bi (TARGET_SVE)
  8185. #define HAVE_aarch64_pred_facgevnx8hf (TARGET_SVE)
  8186. #define HAVE_aarch64_pred_facgtvnx8hf (TARGET_SVE)
  8187. #define HAVE_aarch64_pred_faclevnx8hf (TARGET_SVE)
  8188. #define HAVE_aarch64_pred_facltvnx8hf (TARGET_SVE)
  8189. #define HAVE_aarch64_pred_facgevnx4sf (TARGET_SVE)
  8190. #define HAVE_aarch64_pred_facgtvnx4sf (TARGET_SVE)
  8191. #define HAVE_aarch64_pred_faclevnx4sf (TARGET_SVE)
  8192. #define HAVE_aarch64_pred_facltvnx4sf (TARGET_SVE)
  8193. #define HAVE_aarch64_pred_facgevnx2df (TARGET_SVE)
  8194. #define HAVE_aarch64_pred_facgtvnx2df (TARGET_SVE)
  8195. #define HAVE_aarch64_pred_faclevnx2df (TARGET_SVE)
  8196. #define HAVE_aarch64_pred_facltvnx2df (TARGET_SVE)
  8197. #define HAVE_cbranchvnx16bi4 1
  8198. #define HAVE_cbranchvnx8bi4 1
  8199. #define HAVE_cbranchvnx4bi4 1
  8200. #define HAVE_cbranchvnx2bi4 1
  8201. #define HAVE_reduc_plus_scal_vnx16qi (TARGET_SVE)
  8202. #define HAVE_reduc_plus_scal_vnx8hi (TARGET_SVE)
  8203. #define HAVE_reduc_plus_scal_vnx4si (TARGET_SVE)
  8204. #define HAVE_reduc_plus_scal_vnx2di (TARGET_SVE)
  8205. #define HAVE_reduc_and_scal_vnx16qi (TARGET_SVE)
  8206. #define HAVE_reduc_ior_scal_vnx16qi (TARGET_SVE)
  8207. #define HAVE_reduc_smax_scal_vnx16qi (TARGET_SVE)
  8208. #define HAVE_reduc_smin_scal_vnx16qi (TARGET_SVE)
  8209. #define HAVE_reduc_umax_scal_vnx16qi (TARGET_SVE)
  8210. #define HAVE_reduc_umin_scal_vnx16qi (TARGET_SVE)
  8211. #define HAVE_reduc_xor_scal_vnx16qi (TARGET_SVE)
  8212. #define HAVE_reduc_and_scal_vnx8hi (TARGET_SVE)
  8213. #define HAVE_reduc_ior_scal_vnx8hi (TARGET_SVE)
  8214. #define HAVE_reduc_smax_scal_vnx8hi (TARGET_SVE)
  8215. #define HAVE_reduc_smin_scal_vnx8hi (TARGET_SVE)
  8216. #define HAVE_reduc_umax_scal_vnx8hi (TARGET_SVE)
  8217. #define HAVE_reduc_umin_scal_vnx8hi (TARGET_SVE)
  8218. #define HAVE_reduc_xor_scal_vnx8hi (TARGET_SVE)
  8219. #define HAVE_reduc_and_scal_vnx4si (TARGET_SVE)
  8220. #define HAVE_reduc_ior_scal_vnx4si (TARGET_SVE)
  8221. #define HAVE_reduc_smax_scal_vnx4si (TARGET_SVE)
  8222. #define HAVE_reduc_smin_scal_vnx4si (TARGET_SVE)
  8223. #define HAVE_reduc_umax_scal_vnx4si (TARGET_SVE)
  8224. #define HAVE_reduc_umin_scal_vnx4si (TARGET_SVE)
  8225. #define HAVE_reduc_xor_scal_vnx4si (TARGET_SVE)
  8226. #define HAVE_reduc_and_scal_vnx2di (TARGET_SVE)
  8227. #define HAVE_reduc_ior_scal_vnx2di (TARGET_SVE)
  8228. #define HAVE_reduc_smax_scal_vnx2di (TARGET_SVE)
  8229. #define HAVE_reduc_smin_scal_vnx2di (TARGET_SVE)
  8230. #define HAVE_reduc_umax_scal_vnx2di (TARGET_SVE)
  8231. #define HAVE_reduc_umin_scal_vnx2di (TARGET_SVE)
  8232. #define HAVE_reduc_xor_scal_vnx2di (TARGET_SVE)
  8233. #define HAVE_reduc_plus_scal_vnx8hf (TARGET_SVE)
  8234. #define HAVE_reduc_smax_nan_scal_vnx8hf (TARGET_SVE)
  8235. #define HAVE_reduc_smax_scal_vnx8hf (TARGET_SVE)
  8236. #define HAVE_reduc_smin_nan_scal_vnx8hf (TARGET_SVE)
  8237. #define HAVE_reduc_smin_scal_vnx8hf (TARGET_SVE)
  8238. #define HAVE_reduc_plus_scal_vnx4sf (TARGET_SVE)
  8239. #define HAVE_reduc_smax_nan_scal_vnx4sf (TARGET_SVE)
  8240. #define HAVE_reduc_smax_scal_vnx4sf (TARGET_SVE)
  8241. #define HAVE_reduc_smin_nan_scal_vnx4sf (TARGET_SVE)
  8242. #define HAVE_reduc_smin_scal_vnx4sf (TARGET_SVE)
  8243. #define HAVE_reduc_plus_scal_vnx2df (TARGET_SVE)
  8244. #define HAVE_reduc_smax_nan_scal_vnx2df (TARGET_SVE)
  8245. #define HAVE_reduc_smax_scal_vnx2df (TARGET_SVE)
  8246. #define HAVE_reduc_smin_nan_scal_vnx2df (TARGET_SVE)
  8247. #define HAVE_reduc_smin_scal_vnx2df (TARGET_SVE)
  8248. #define HAVE_fold_left_plus_vnx8hf (TARGET_SVE)
  8249. #define HAVE_fold_left_plus_vnx4sf (TARGET_SVE)
  8250. #define HAVE_fold_left_plus_vnx2df (TARGET_SVE)
  8251. #define HAVE_vec_permvnx16qi (TARGET_SVE && GET_MODE_NUNITS (VNx16QImode).is_constant ())
  8252. #define HAVE_vec_permvnx8hi (TARGET_SVE && GET_MODE_NUNITS (VNx8HImode).is_constant ())
  8253. #define HAVE_vec_permvnx4si (TARGET_SVE && GET_MODE_NUNITS (VNx4SImode).is_constant ())
  8254. #define HAVE_vec_permvnx2di (TARGET_SVE && GET_MODE_NUNITS (VNx2DImode).is_constant ())
  8255. #define HAVE_vec_permvnx8bf (TARGET_SVE && GET_MODE_NUNITS (VNx8BFmode).is_constant ())
  8256. #define HAVE_vec_permvnx8hf (TARGET_SVE && GET_MODE_NUNITS (VNx8HFmode).is_constant ())
  8257. #define HAVE_vec_permvnx4sf (TARGET_SVE && GET_MODE_NUNITS (VNx4SFmode).is_constant ())
  8258. #define HAVE_vec_permvnx2df (TARGET_SVE && GET_MODE_NUNITS (VNx2DFmode).is_constant ())
  8259. #define HAVE_vec_unpacks_hi_vnx16qi (TARGET_SVE)
  8260. #define HAVE_vec_unpacku_hi_vnx16qi (TARGET_SVE)
  8261. #define HAVE_vec_unpacks_lo_vnx16qi (TARGET_SVE)
  8262. #define HAVE_vec_unpacku_lo_vnx16qi (TARGET_SVE)
  8263. #define HAVE_vec_unpacks_hi_vnx8hi (TARGET_SVE)
  8264. #define HAVE_vec_unpacku_hi_vnx8hi (TARGET_SVE)
  8265. #define HAVE_vec_unpacks_lo_vnx8hi (TARGET_SVE)
  8266. #define HAVE_vec_unpacku_lo_vnx8hi (TARGET_SVE)
  8267. #define HAVE_vec_unpacks_hi_vnx4si (TARGET_SVE)
  8268. #define HAVE_vec_unpacku_hi_vnx4si (TARGET_SVE)
  8269. #define HAVE_vec_unpacks_lo_vnx4si (TARGET_SVE)
  8270. #define HAVE_vec_unpacku_lo_vnx4si (TARGET_SVE)
  8271. #define HAVE_fix_truncvnx8hfvnx8hi2 (TARGET_SVE)
  8272. #define HAVE_fixuns_truncvnx8hfvnx8hi2 (TARGET_SVE)
  8273. #define HAVE_fix_truncvnx4sfvnx4si2 (TARGET_SVE)
  8274. #define HAVE_fixuns_truncvnx4sfvnx4si2 (TARGET_SVE)
  8275. #define HAVE_fix_truncvnx2dfvnx2di2 (TARGET_SVE)
  8276. #define HAVE_fixuns_truncvnx2dfvnx2di2 (TARGET_SVE)
  8277. #define HAVE_cond_fix_trunc_nontruncvnx8hfvnx8hi (TARGET_SVE && 16 >= 16)
  8278. #define HAVE_cond_fixuns_trunc_nontruncvnx8hfvnx8hi (TARGET_SVE && 16 >= 16)
  8279. #define HAVE_cond_fix_trunc_nontruncvnx8hfvnx4si (TARGET_SVE && 32 >= 16)
  8280. #define HAVE_cond_fixuns_trunc_nontruncvnx8hfvnx4si (TARGET_SVE && 32 >= 16)
  8281. #define HAVE_cond_fix_trunc_nontruncvnx4sfvnx4si (TARGET_SVE && 32 >= 32)
  8282. #define HAVE_cond_fixuns_trunc_nontruncvnx4sfvnx4si (TARGET_SVE && 32 >= 32)
  8283. #define HAVE_cond_fix_trunc_nontruncvnx8hfvnx2di (TARGET_SVE && 64 >= 16)
  8284. #define HAVE_cond_fixuns_trunc_nontruncvnx8hfvnx2di (TARGET_SVE && 64 >= 16)
  8285. #define HAVE_cond_fix_trunc_nontruncvnx4sfvnx2di (TARGET_SVE && 64 >= 32)
  8286. #define HAVE_cond_fixuns_trunc_nontruncvnx4sfvnx2di (TARGET_SVE && 64 >= 32)
  8287. #define HAVE_cond_fix_trunc_nontruncvnx2dfvnx2di (TARGET_SVE && 64 >= 64)
  8288. #define HAVE_cond_fixuns_trunc_nontruncvnx2dfvnx2di (TARGET_SVE && 64 >= 64)
  8289. #define HAVE_cond_fix_trunc_truncvnx2dfvnx4si (TARGET_SVE)
  8290. #define HAVE_cond_fixuns_trunc_truncvnx2dfvnx4si (TARGET_SVE)
  8291. #define HAVE_vec_pack_sfix_trunc_vnx2df (TARGET_SVE)
  8292. #define HAVE_vec_pack_ufix_trunc_vnx2df (TARGET_SVE)
  8293. #define HAVE_floatvnx8hivnx8hf2 (TARGET_SVE)
  8294. #define HAVE_floatunsvnx8hivnx8hf2 (TARGET_SVE)
  8295. #define HAVE_floatvnx4sivnx4sf2 (TARGET_SVE)
  8296. #define HAVE_floatunsvnx4sivnx4sf2 (TARGET_SVE)
  8297. #define HAVE_floatvnx2divnx2df2 (TARGET_SVE)
  8298. #define HAVE_floatunsvnx2divnx2df2 (TARGET_SVE)
  8299. #define HAVE_cond_float_nonextendvnx8hivnx8hf (TARGET_SVE && 16 >= 16)
  8300. #define HAVE_cond_floatuns_nonextendvnx8hivnx8hf (TARGET_SVE && 16 >= 16)
  8301. #define HAVE_cond_float_nonextendvnx4sivnx8hf (TARGET_SVE && 32 >= 16)
  8302. #define HAVE_cond_floatuns_nonextendvnx4sivnx8hf (TARGET_SVE && 32 >= 16)
  8303. #define HAVE_cond_float_nonextendvnx4sivnx4sf (TARGET_SVE && 32 >= 32)
  8304. #define HAVE_cond_floatuns_nonextendvnx4sivnx4sf (TARGET_SVE && 32 >= 32)
  8305. #define HAVE_cond_float_nonextendvnx2divnx8hf (TARGET_SVE && 64 >= 16)
  8306. #define HAVE_cond_floatuns_nonextendvnx2divnx8hf (TARGET_SVE && 64 >= 16)
  8307. #define HAVE_cond_float_nonextendvnx2divnx4sf (TARGET_SVE && 64 >= 32)
  8308. #define HAVE_cond_floatuns_nonextendvnx2divnx4sf (TARGET_SVE && 64 >= 32)
  8309. #define HAVE_cond_float_nonextendvnx2divnx2df (TARGET_SVE && 64 >= 64)
  8310. #define HAVE_cond_floatuns_nonextendvnx2divnx2df (TARGET_SVE && 64 >= 64)
  8311. #define HAVE_cond_float_extendvnx4sivnx2df (TARGET_SVE)
  8312. #define HAVE_cond_floatuns_extendvnx4sivnx2df (TARGET_SVE)
  8313. #define HAVE_vec_unpacks_float_lo_vnx4si (TARGET_SVE)
  8314. #define HAVE_vec_unpacks_float_hi_vnx4si (TARGET_SVE)
  8315. #define HAVE_vec_unpacku_float_lo_vnx4si (TARGET_SVE)
  8316. #define HAVE_vec_unpacku_float_hi_vnx4si (TARGET_SVE)
  8317. #define HAVE_vec_pack_trunc_vnx4sf (TARGET_SVE)
  8318. #define HAVE_vec_pack_trunc_vnx2df (TARGET_SVE)
  8319. #define HAVE_cond_fcvt_truncvnx4sfvnx8hf (TARGET_SVE && 32 > 16)
  8320. #define HAVE_cond_fcvt_truncvnx2dfvnx8hf (TARGET_SVE && 64 > 16)
  8321. #define HAVE_cond_fcvt_truncvnx2dfvnx4sf (TARGET_SVE && 64 > 32)
  8322. #define HAVE_cond_fcvt_truncvnx4sfvnx8bf (TARGET_SVE_BF16)
  8323. #define HAVE_vec_unpacks_lo_vnx8hf (TARGET_SVE)
  8324. #define HAVE_vec_unpacks_hi_vnx8hf (TARGET_SVE)
  8325. #define HAVE_vec_unpacks_lo_vnx4sf (TARGET_SVE)
  8326. #define HAVE_vec_unpacks_hi_vnx4sf (TARGET_SVE)
  8327. #define HAVE_cond_fcvt_nontruncvnx8hfvnx4sf (TARGET_SVE && 32 > 16)
  8328. #define HAVE_cond_fcvt_nontruncvnx8hfvnx2df (TARGET_SVE && 64 > 16)
  8329. #define HAVE_cond_fcvt_nontruncvnx4sfvnx2df (TARGET_SVE && 64 > 32)
  8330. #define HAVE_vec_unpacks_hi_vnx16bi (TARGET_SVE)
  8331. #define HAVE_vec_unpacku_hi_vnx16bi (TARGET_SVE)
  8332. #define HAVE_vec_unpacks_lo_vnx16bi (TARGET_SVE)
  8333. #define HAVE_vec_unpacku_lo_vnx16bi (TARGET_SVE)
  8334. #define HAVE_vec_unpacks_hi_vnx8bi (TARGET_SVE)
  8335. #define HAVE_vec_unpacku_hi_vnx8bi (TARGET_SVE)
  8336. #define HAVE_vec_unpacks_lo_vnx8bi (TARGET_SVE)
  8337. #define HAVE_vec_unpacku_lo_vnx8bi (TARGET_SVE)
  8338. #define HAVE_vec_unpacks_hi_vnx4bi (TARGET_SVE)
  8339. #define HAVE_vec_unpacku_hi_vnx4bi (TARGET_SVE)
  8340. #define HAVE_vec_unpacks_lo_vnx4bi (TARGET_SVE)
  8341. #define HAVE_vec_unpacku_lo_vnx4bi (TARGET_SVE)
  8342. #define HAVE_aarch64_sve_incvnx8hi_pat (TARGET_SVE)
  8343. #define HAVE_aarch64_sve_sqincvnx8hi_pat (TARGET_SVE)
  8344. #define HAVE_aarch64_sve_uqincvnx8hi_pat (TARGET_SVE)
  8345. #define HAVE_aarch64_sve_decvnx8hi_pat (TARGET_SVE)
  8346. #define HAVE_aarch64_sve_sqdecvnx8hi_pat (TARGET_SVE)
  8347. #define HAVE_aarch64_sve_uqdecvnx8hi_pat (TARGET_SVE)
  8348. #define HAVE_aarch64_sve_incdivnx16bi_cntp (TARGET_SVE)
  8349. #define HAVE_aarch64_sve_sqincdivnx16bi_cntp (TARGET_SVE)
  8350. #define HAVE_aarch64_sve_uqincdivnx16bi_cntp (TARGET_SVE)
  8351. #define HAVE_aarch64_sve_incdivnx8bi_cntp (TARGET_SVE)
  8352. #define HAVE_aarch64_sve_sqincdivnx8bi_cntp (TARGET_SVE)
  8353. #define HAVE_aarch64_sve_uqincdivnx8bi_cntp (TARGET_SVE)
  8354. #define HAVE_aarch64_sve_incdivnx4bi_cntp (TARGET_SVE)
  8355. #define HAVE_aarch64_sve_sqincdivnx4bi_cntp (TARGET_SVE)
  8356. #define HAVE_aarch64_sve_uqincdivnx4bi_cntp (TARGET_SVE)
  8357. #define HAVE_aarch64_sve_incdivnx2bi_cntp (TARGET_SVE)
  8358. #define HAVE_aarch64_sve_sqincdivnx2bi_cntp (TARGET_SVE)
  8359. #define HAVE_aarch64_sve_uqincdivnx2bi_cntp (TARGET_SVE)
  8360. #define HAVE_aarch64_sve_sqincsivnx16bi_cntp (TARGET_SVE)
  8361. #define HAVE_aarch64_sve_uqincsivnx16bi_cntp (TARGET_SVE)
  8362. #define HAVE_aarch64_sve_sqincsivnx8bi_cntp (TARGET_SVE)
  8363. #define HAVE_aarch64_sve_uqincsivnx8bi_cntp (TARGET_SVE)
  8364. #define HAVE_aarch64_sve_sqincsivnx4bi_cntp (TARGET_SVE)
  8365. #define HAVE_aarch64_sve_uqincsivnx4bi_cntp (TARGET_SVE)
  8366. #define HAVE_aarch64_sve_sqincsivnx2bi_cntp (TARGET_SVE)
  8367. #define HAVE_aarch64_sve_uqincsivnx2bi_cntp (TARGET_SVE)
  8368. #define HAVE_aarch64_sve_incvnx2di_cntp (TARGET_SVE)
  8369. #define HAVE_aarch64_sve_sqincvnx2di_cntp (TARGET_SVE)
  8370. #define HAVE_aarch64_sve_uqincvnx2di_cntp (TARGET_SVE)
  8371. #define HAVE_aarch64_sve_incvnx4si_cntp (TARGET_SVE)
  8372. #define HAVE_aarch64_sve_sqincvnx4si_cntp (TARGET_SVE)
  8373. #define HAVE_aarch64_sve_uqincvnx4si_cntp (TARGET_SVE)
  8374. #define HAVE_aarch64_sve_incvnx8hi_cntp (TARGET_SVE)
  8375. #define HAVE_aarch64_sve_sqincvnx8hi_cntp (TARGET_SVE)
  8376. #define HAVE_aarch64_sve_uqincvnx8hi_cntp (TARGET_SVE)
  8377. #define HAVE_aarch64_sve_decdivnx16bi_cntp (TARGET_SVE)
  8378. #define HAVE_aarch64_sve_sqdecdivnx16bi_cntp (TARGET_SVE)
  8379. #define HAVE_aarch64_sve_uqdecdivnx16bi_cntp (TARGET_SVE)
  8380. #define HAVE_aarch64_sve_decdivnx8bi_cntp (TARGET_SVE)
  8381. #define HAVE_aarch64_sve_sqdecdivnx8bi_cntp (TARGET_SVE)
  8382. #define HAVE_aarch64_sve_uqdecdivnx8bi_cntp (TARGET_SVE)
  8383. #define HAVE_aarch64_sve_decdivnx4bi_cntp (TARGET_SVE)
  8384. #define HAVE_aarch64_sve_sqdecdivnx4bi_cntp (TARGET_SVE)
  8385. #define HAVE_aarch64_sve_uqdecdivnx4bi_cntp (TARGET_SVE)
  8386. #define HAVE_aarch64_sve_decdivnx2bi_cntp (TARGET_SVE)
  8387. #define HAVE_aarch64_sve_sqdecdivnx2bi_cntp (TARGET_SVE)
  8388. #define HAVE_aarch64_sve_uqdecdivnx2bi_cntp (TARGET_SVE)
  8389. #define HAVE_aarch64_sve_sqdecsivnx16bi_cntp (TARGET_SVE)
  8390. #define HAVE_aarch64_sve_uqdecsivnx16bi_cntp (TARGET_SVE)
  8391. #define HAVE_aarch64_sve_sqdecsivnx8bi_cntp (TARGET_SVE)
  8392. #define HAVE_aarch64_sve_uqdecsivnx8bi_cntp (TARGET_SVE)
  8393. #define HAVE_aarch64_sve_sqdecsivnx4bi_cntp (TARGET_SVE)
  8394. #define HAVE_aarch64_sve_uqdecsivnx4bi_cntp (TARGET_SVE)
  8395. #define HAVE_aarch64_sve_sqdecsivnx2bi_cntp (TARGET_SVE)
  8396. #define HAVE_aarch64_sve_uqdecsivnx2bi_cntp (TARGET_SVE)
  8397. #define HAVE_aarch64_sve_decvnx2di_cntp (TARGET_SVE)
  8398. #define HAVE_aarch64_sve_sqdecvnx2di_cntp (TARGET_SVE)
  8399. #define HAVE_aarch64_sve_uqdecvnx2di_cntp (TARGET_SVE)
  8400. #define HAVE_aarch64_sve_decvnx4si_cntp (TARGET_SVE)
  8401. #define HAVE_aarch64_sve_sqdecvnx4si_cntp (TARGET_SVE)
  8402. #define HAVE_aarch64_sve_uqdecvnx4si_cntp (TARGET_SVE)
  8403. #define HAVE_aarch64_sve_decvnx8hi_cntp (TARGET_SVE)
  8404. #define HAVE_aarch64_sve_sqdecvnx8hi_cntp (TARGET_SVE)
  8405. #define HAVE_aarch64_sve_uqdecvnx8hi_cntp (TARGET_SVE)
  8406. #define HAVE_smulhsvnx16qi3 (TARGET_SVE2)
  8407. #define HAVE_umulhsvnx16qi3 (TARGET_SVE2)
  8408. #define HAVE_smulhrsvnx16qi3 (TARGET_SVE2)
  8409. #define HAVE_umulhrsvnx16qi3 (TARGET_SVE2)
  8410. #define HAVE_smulhsvnx8hi3 (TARGET_SVE2)
  8411. #define HAVE_umulhsvnx8hi3 (TARGET_SVE2)
  8412. #define HAVE_smulhrsvnx8hi3 (TARGET_SVE2)
  8413. #define HAVE_umulhrsvnx8hi3 (TARGET_SVE2)
  8414. #define HAVE_smulhsvnx4si3 (TARGET_SVE2)
  8415. #define HAVE_umulhsvnx4si3 (TARGET_SVE2)
  8416. #define HAVE_smulhrsvnx4si3 (TARGET_SVE2)
  8417. #define HAVE_umulhrsvnx4si3 (TARGET_SVE2)
  8418. #define HAVE_avgvnx16qi3_floor (TARGET_SVE2)
  8419. #define HAVE_uavgvnx16qi3_floor (TARGET_SVE2)
  8420. #define HAVE_avgvnx8hi3_floor (TARGET_SVE2)
  8421. #define HAVE_uavgvnx8hi3_floor (TARGET_SVE2)
  8422. #define HAVE_avgvnx4si3_floor (TARGET_SVE2)
  8423. #define HAVE_uavgvnx4si3_floor (TARGET_SVE2)
  8424. #define HAVE_avgvnx2di3_floor (TARGET_SVE2)
  8425. #define HAVE_uavgvnx2di3_floor (TARGET_SVE2)
  8426. #define HAVE_avgvnx16qi3_ceil (TARGET_SVE2)
  8427. #define HAVE_uavgvnx16qi3_ceil (TARGET_SVE2)
  8428. #define HAVE_avgvnx8hi3_ceil (TARGET_SVE2)
  8429. #define HAVE_uavgvnx8hi3_ceil (TARGET_SVE2)
  8430. #define HAVE_avgvnx4si3_ceil (TARGET_SVE2)
  8431. #define HAVE_uavgvnx4si3_ceil (TARGET_SVE2)
  8432. #define HAVE_avgvnx2di3_ceil (TARGET_SVE2)
  8433. #define HAVE_uavgvnx2di3_ceil (TARGET_SVE2)
  8434. #define HAVE_cond_shaddvnx16qi (TARGET_SVE2)
  8435. #define HAVE_cond_shsubvnx16qi (TARGET_SVE2)
  8436. #define HAVE_cond_sqrshlvnx16qi (TARGET_SVE2)
  8437. #define HAVE_cond_srhaddvnx16qi (TARGET_SVE2)
  8438. #define HAVE_cond_srshlvnx16qi (TARGET_SVE2)
  8439. #define HAVE_cond_suqaddvnx16qi (TARGET_SVE2)
  8440. #define HAVE_cond_uhaddvnx16qi (TARGET_SVE2)
  8441. #define HAVE_cond_uhsubvnx16qi (TARGET_SVE2)
  8442. #define HAVE_cond_uqrshlvnx16qi (TARGET_SVE2)
  8443. #define HAVE_cond_urhaddvnx16qi (TARGET_SVE2)
  8444. #define HAVE_cond_urshlvnx16qi (TARGET_SVE2)
  8445. #define HAVE_cond_usqaddvnx16qi (TARGET_SVE2)
  8446. #define HAVE_cond_shaddvnx8hi (TARGET_SVE2)
  8447. #define HAVE_cond_shsubvnx8hi (TARGET_SVE2)
  8448. #define HAVE_cond_sqrshlvnx8hi (TARGET_SVE2)
  8449. #define HAVE_cond_srhaddvnx8hi (TARGET_SVE2)
  8450. #define HAVE_cond_srshlvnx8hi (TARGET_SVE2)
  8451. #define HAVE_cond_suqaddvnx8hi (TARGET_SVE2)
  8452. #define HAVE_cond_uhaddvnx8hi (TARGET_SVE2)
  8453. #define HAVE_cond_uhsubvnx8hi (TARGET_SVE2)
  8454. #define HAVE_cond_uqrshlvnx8hi (TARGET_SVE2)
  8455. #define HAVE_cond_urhaddvnx8hi (TARGET_SVE2)
  8456. #define HAVE_cond_urshlvnx8hi (TARGET_SVE2)
  8457. #define HAVE_cond_usqaddvnx8hi (TARGET_SVE2)
  8458. #define HAVE_cond_shaddvnx4si (TARGET_SVE2)
  8459. #define HAVE_cond_shsubvnx4si (TARGET_SVE2)
  8460. #define HAVE_cond_sqrshlvnx4si (TARGET_SVE2)
  8461. #define HAVE_cond_srhaddvnx4si (TARGET_SVE2)
  8462. #define HAVE_cond_srshlvnx4si (TARGET_SVE2)
  8463. #define HAVE_cond_suqaddvnx4si (TARGET_SVE2)
  8464. #define HAVE_cond_uhaddvnx4si (TARGET_SVE2)
  8465. #define HAVE_cond_uhsubvnx4si (TARGET_SVE2)
  8466. #define HAVE_cond_uqrshlvnx4si (TARGET_SVE2)
  8467. #define HAVE_cond_urhaddvnx4si (TARGET_SVE2)
  8468. #define HAVE_cond_urshlvnx4si (TARGET_SVE2)
  8469. #define HAVE_cond_usqaddvnx4si (TARGET_SVE2)
  8470. #define HAVE_cond_shaddvnx2di (TARGET_SVE2)
  8471. #define HAVE_cond_shsubvnx2di (TARGET_SVE2)
  8472. #define HAVE_cond_sqrshlvnx2di (TARGET_SVE2)
  8473. #define HAVE_cond_srhaddvnx2di (TARGET_SVE2)
  8474. #define HAVE_cond_srshlvnx2di (TARGET_SVE2)
  8475. #define HAVE_cond_suqaddvnx2di (TARGET_SVE2)
  8476. #define HAVE_cond_uhaddvnx2di (TARGET_SVE2)
  8477. #define HAVE_cond_uhsubvnx2di (TARGET_SVE2)
  8478. #define HAVE_cond_uqrshlvnx2di (TARGET_SVE2)
  8479. #define HAVE_cond_urhaddvnx2di (TARGET_SVE2)
  8480. #define HAVE_cond_urshlvnx2di (TARGET_SVE2)
  8481. #define HAVE_cond_usqaddvnx2di (TARGET_SVE2)
  8482. #define HAVE_cond_sqshlvnx16qi (TARGET_SVE2)
  8483. #define HAVE_cond_uqshlvnx16qi (TARGET_SVE2)
  8484. #define HAVE_cond_sqshlvnx8hi (TARGET_SVE2)
  8485. #define HAVE_cond_uqshlvnx8hi (TARGET_SVE2)
  8486. #define HAVE_cond_sqshlvnx4si (TARGET_SVE2)
  8487. #define HAVE_cond_uqshlvnx4si (TARGET_SVE2)
  8488. #define HAVE_cond_sqshlvnx2di (TARGET_SVE2)
  8489. #define HAVE_cond_uqshlvnx2di (TARGET_SVE2)
  8490. #define HAVE_aarch64_sve2_bcaxvnx16qi (TARGET_SVE2)
  8491. #define HAVE_aarch64_sve2_bcaxvnx8hi (TARGET_SVE2)
  8492. #define HAVE_aarch64_sve2_bcaxvnx4si (TARGET_SVE2)
  8493. #define HAVE_aarch64_sve2_bcaxvnx2di (TARGET_SVE2)
  8494. #define HAVE_aarch64_sve2_bslvnx16qi (TARGET_SVE2)
  8495. #define HAVE_aarch64_sve2_bslvnx8hi (TARGET_SVE2)
  8496. #define HAVE_aarch64_sve2_bslvnx4si (TARGET_SVE2)
  8497. #define HAVE_aarch64_sve2_bslvnx2di (TARGET_SVE2)
  8498. #define HAVE_aarch64_sve2_nbslvnx16qi (TARGET_SVE2)
  8499. #define HAVE_aarch64_sve2_nbslvnx8hi (TARGET_SVE2)
  8500. #define HAVE_aarch64_sve2_nbslvnx4si (TARGET_SVE2)
  8501. #define HAVE_aarch64_sve2_nbslvnx2di (TARGET_SVE2)
  8502. #define HAVE_aarch64_sve2_bsl1nvnx16qi (TARGET_SVE2)
  8503. #define HAVE_aarch64_sve2_bsl1nvnx8hi (TARGET_SVE2)
  8504. #define HAVE_aarch64_sve2_bsl1nvnx4si (TARGET_SVE2)
  8505. #define HAVE_aarch64_sve2_bsl1nvnx2di (TARGET_SVE2)
  8506. #define HAVE_aarch64_sve2_bsl2nvnx16qi (TARGET_SVE2)
  8507. #define HAVE_aarch64_sve2_bsl2nvnx8hi (TARGET_SVE2)
  8508. #define HAVE_aarch64_sve2_bsl2nvnx4si (TARGET_SVE2)
  8509. #define HAVE_aarch64_sve2_bsl2nvnx2di (TARGET_SVE2)
  8510. #define HAVE_aarch64_sve_add_asrvnx16qi (TARGET_SVE2)
  8511. #define HAVE_aarch64_sve_add_lsrvnx16qi (TARGET_SVE2)
  8512. #define HAVE_aarch64_sve_add_asrvnx8hi (TARGET_SVE2)
  8513. #define HAVE_aarch64_sve_add_lsrvnx8hi (TARGET_SVE2)
  8514. #define HAVE_aarch64_sve_add_asrvnx4si (TARGET_SVE2)
  8515. #define HAVE_aarch64_sve_add_lsrvnx4si (TARGET_SVE2)
  8516. #define HAVE_aarch64_sve_add_asrvnx2di (TARGET_SVE2)
  8517. #define HAVE_aarch64_sve_add_lsrvnx2di (TARGET_SVE2)
  8518. #define HAVE_aarch64_sve2_sabavnx16qi (TARGET_SVE2)
  8519. #define HAVE_aarch64_sve2_uabavnx16qi (TARGET_SVE2)
  8520. #define HAVE_aarch64_sve2_sabavnx8hi (TARGET_SVE2)
  8521. #define HAVE_aarch64_sve2_uabavnx8hi (TARGET_SVE2)
  8522. #define HAVE_aarch64_sve2_sabavnx4si (TARGET_SVE2)
  8523. #define HAVE_aarch64_sve2_uabavnx4si (TARGET_SVE2)
  8524. #define HAVE_aarch64_sve2_sabavnx2di (TARGET_SVE2)
  8525. #define HAVE_aarch64_sve2_uabavnx2di (TARGET_SVE2)
  8526. #define HAVE_cond_sadalpvnx8hi (TARGET_SVE2)
  8527. #define HAVE_cond_uadalpvnx8hi (TARGET_SVE2)
  8528. #define HAVE_cond_sadalpvnx4si (TARGET_SVE2)
  8529. #define HAVE_cond_uadalpvnx4si (TARGET_SVE2)
  8530. #define HAVE_cond_sadalpvnx2di (TARGET_SVE2)
  8531. #define HAVE_cond_uadalpvnx2di (TARGET_SVE2)
  8532. #define HAVE_cond_fcvtltvnx4sf (TARGET_SVE2)
  8533. #define HAVE_cond_fcvtltvnx2df (TARGET_SVE2)
  8534. #define HAVE_cond_fcvtxvnx4sf (TARGET_SVE2)
  8535. #define HAVE_cond_urecpevnx4si (TARGET_SVE2)
  8536. #define HAVE_cond_ursqrtevnx4si (TARGET_SVE2)
  8537. #define HAVE_cond_flogbvnx8hf (TARGET_SVE2)
  8538. #define HAVE_cond_flogbvnx4sf (TARGET_SVE2)
  8539. #define HAVE_cond_flogbvnx2df (TARGET_SVE2)
  8540. #define HAVE_check_raw_ptrssi (TARGET_SVE2)
  8541. #define HAVE_check_war_ptrssi (TARGET_SVE2)
  8542. #define HAVE_check_raw_ptrsdi (TARGET_SVE2)
  8543. #define HAVE_check_war_ptrsdi (TARGET_SVE2)
  8544. extern rtx gen_indirect_jump (rtx);
  8545. extern rtx gen_jump (rtx);
  8546. extern rtx gen_ccmpccsi (rtx, rtx, rtx, rtx, rtx, rtx);
  8547. extern rtx gen_ccmpccdi (rtx, rtx, rtx, rtx, rtx, rtx);
  8548. extern rtx gen_ccmpccfpsf (rtx, rtx, rtx, rtx, rtx, rtx);
  8549. extern rtx gen_ccmpccfpdf (rtx, rtx, rtx, rtx, rtx, rtx);
  8550. extern rtx gen_ccmpccfpesf (rtx, rtx, rtx, rtx, rtx, rtx);
  8551. extern rtx gen_ccmpccfpedf (rtx, rtx, rtx, rtx, rtx, rtx);
  8552. extern rtx gen_ccmpccsi_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8553. extern rtx gen_ccmpccdi_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8554. extern rtx gen_ccmpccfpsf_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8555. extern rtx gen_ccmpccfpdf_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8556. extern rtx gen_ccmpccfpesf_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8557. extern rtx gen_ccmpccfpedf_rev (rtx, rtx, rtx, rtx, rtx, rtx);
  8558. extern rtx gen_condjump (rtx, rtx, rtx);
  8559. extern rtx gen_nop (void);
  8560. extern rtx gen_prefetch (rtx, rtx, rtx);
  8561. extern rtx gen_trap (void);
  8562. extern rtx gen_simple_return (void);
  8563. extern rtx gen_insv_immsi (rtx, rtx, rtx);
  8564. extern rtx gen_insv_immdi (rtx, rtx, rtx);
  8565. extern rtx gen_aarch64_movksi (rtx, rtx, rtx, rtx);
  8566. extern rtx gen_aarch64_movkdi (rtx, rtx, rtx, rtx);
  8567. extern rtx gen_load_pair_sw_sisi (rtx, rtx, rtx, rtx);
  8568. extern rtx gen_load_pair_sw_sfsi (rtx, rtx, rtx, rtx);
  8569. extern rtx gen_load_pair_sw_sisf (rtx, rtx, rtx, rtx);
  8570. extern rtx gen_load_pair_sw_sfsf (rtx, rtx, rtx, rtx);
  8571. extern rtx gen_load_pair_dw_didi (rtx, rtx, rtx, rtx);
  8572. extern rtx gen_load_pair_dw_didf (rtx, rtx, rtx, rtx);
  8573. extern rtx gen_load_pair_dw_dfdi (rtx, rtx, rtx, rtx);
  8574. extern rtx gen_load_pair_dw_dfdf (rtx, rtx, rtx, rtx);
  8575. extern rtx gen_load_pair_dw_tftf (rtx, rtx, rtx, rtx);
  8576. extern rtx gen_store_pair_sw_sisi (rtx, rtx, rtx, rtx);
  8577. extern rtx gen_store_pair_sw_sfsi (rtx, rtx, rtx, rtx);
  8578. extern rtx gen_store_pair_sw_sisf (rtx, rtx, rtx, rtx);
  8579. extern rtx gen_store_pair_sw_sfsf (rtx, rtx, rtx, rtx);
  8580. extern rtx gen_store_pair_dw_didi (rtx, rtx, rtx, rtx);
  8581. extern rtx gen_store_pair_dw_didf (rtx, rtx, rtx, rtx);
  8582. extern rtx gen_store_pair_dw_dfdi (rtx, rtx, rtx, rtx);
  8583. extern rtx gen_store_pair_dw_dfdf (rtx, rtx, rtx, rtx);
  8584. extern rtx gen_store_pair_dw_tftf (rtx, rtx, rtx, rtx);
  8585. extern rtx gen_loadwb_pairsi_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8586. extern rtx gen_loadwb_pairsi_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8587. extern rtx gen_loadwb_pairdi_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8588. extern rtx gen_loadwb_pairdi_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8589. extern rtx gen_loadwb_pairsf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8590. extern rtx gen_loadwb_pairdf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8591. extern rtx gen_loadwb_pairsf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8592. extern rtx gen_loadwb_pairdf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8593. extern rtx gen_loadwb_pairti_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8594. extern rtx gen_loadwb_pairtf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8595. extern rtx gen_loadwb_pairti_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8596. extern rtx gen_loadwb_pairtf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8597. extern rtx gen_storewb_pairsi_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8598. extern rtx gen_storewb_pairsi_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8599. extern rtx gen_storewb_pairdi_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8600. extern rtx gen_storewb_pairdi_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8601. extern rtx gen_storewb_pairsf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8602. extern rtx gen_storewb_pairdf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8603. extern rtx gen_storewb_pairsf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8604. extern rtx gen_storewb_pairdf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8605. extern rtx gen_storewb_pairti_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8606. extern rtx gen_storewb_pairtf_si (rtx, rtx, rtx, rtx, rtx, rtx);
  8607. extern rtx gen_storewb_pairti_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8608. extern rtx gen_storewb_pairtf_di (rtx, rtx, rtx, rtx, rtx, rtx);
  8609. extern rtx gen_addsi3_compare0 (rtx, rtx, rtx);
  8610. extern rtx gen_adddi3_compare0 (rtx, rtx, rtx);
  8611. extern rtx gen_addsi3_compareC (rtx, rtx, rtx);
  8612. extern rtx gen_adddi3_compareC (rtx, rtx, rtx);
  8613. extern rtx gen_addsi3_compareV_imm (rtx, rtx, rtx);
  8614. extern rtx gen_adddi3_compareV_imm (rtx, rtx, rtx);
  8615. extern rtx gen_addsi3_compareV (rtx, rtx, rtx);
  8616. extern rtx gen_adddi3_compareV (rtx, rtx, rtx);
  8617. extern rtx gen_aarch64_subsi_compare0 (rtx, rtx);
  8618. extern rtx gen_aarch64_subdi_compare0 (rtx, rtx);
  8619. extern rtx gen_subsi3 (rtx, rtx, rtx);
  8620. extern rtx gen_subdi3 (rtx, rtx, rtx);
  8621. extern rtx gen_subvsi_insn (rtx, rtx, rtx);
  8622. extern rtx gen_subvdi_insn (rtx, rtx, rtx);
  8623. extern rtx gen_subvsi_imm (rtx, rtx, rtx);
  8624. extern rtx gen_subvdi_imm (rtx, rtx, rtx);
  8625. extern rtx gen_negvsi_insn (rtx, rtx);
  8626. extern rtx gen_negvdi_insn (rtx, rtx);
  8627. extern rtx gen_negvsi_cmp_only (rtx);
  8628. extern rtx gen_negvdi_cmp_only (rtx);
  8629. extern rtx gen_negdi_carryout (rtx, rtx);
  8630. extern rtx gen_negvdi_carryinV (rtx, rtx);
  8631. extern rtx gen_subsi3_compare1_imm (rtx, rtx, rtx, rtx);
  8632. extern rtx gen_subdi3_compare1_imm (rtx, rtx, rtx, rtx);
  8633. extern rtx gen_subsi3_compare1 (rtx, rtx, rtx);
  8634. extern rtx gen_subdi3_compare1 (rtx, rtx, rtx);
  8635. extern rtx gen_negsi2 (rtx, rtx);
  8636. extern rtx gen_negdi2 (rtx, rtx);
  8637. extern rtx gen_negsi2_compare0 (rtx, rtx);
  8638. extern rtx gen_negdi2_compare0 (rtx, rtx);
  8639. extern rtx gen_mulsi3 (rtx, rtx, rtx);
  8640. extern rtx gen_muldi3 (rtx, rtx, rtx);
  8641. extern rtx gen_maddsi (rtx, rtx, rtx, rtx);
  8642. extern rtx gen_madddi (rtx, rtx, rtx, rtx);
  8643. extern rtx gen_mulsidi3 (rtx, rtx, rtx);
  8644. extern rtx gen_umulsidi3 (rtx, rtx, rtx);
  8645. extern rtx gen_maddsidi4 (rtx, rtx, rtx, rtx);
  8646. extern rtx gen_umaddsidi4 (rtx, rtx, rtx, rtx);
  8647. extern rtx gen_msubsidi4 (rtx, rtx, rtx, rtx);
  8648. extern rtx gen_umsubsidi4 (rtx, rtx, rtx, rtx);
  8649. extern rtx gen_smuldi3_highpart (rtx, rtx, rtx);
  8650. extern rtx gen_umuldi3_highpart (rtx, rtx, rtx);
  8651. extern rtx gen_divsi3 (rtx, rtx, rtx);
  8652. extern rtx gen_udivsi3 (rtx, rtx, rtx);
  8653. extern rtx gen_divdi3 (rtx, rtx, rtx);
  8654. extern rtx gen_udivdi3 (rtx, rtx, rtx);
  8655. extern rtx gen_cmpsi (rtx, rtx);
  8656. extern rtx gen_cmpdi (rtx, rtx);
  8657. extern rtx gen_fcmpsf (rtx, rtx);
  8658. extern rtx gen_fcmpdf (rtx, rtx);
  8659. extern rtx gen_fcmpesf (rtx, rtx);
  8660. extern rtx gen_fcmpedf (rtx, rtx);
  8661. extern rtx gen_aarch64_cstoreqi (rtx, rtx, rtx);
  8662. extern rtx gen_aarch64_cstorehi (rtx, rtx, rtx);
  8663. extern rtx gen_aarch64_cstoresi (rtx, rtx, rtx);
  8664. extern rtx gen_aarch64_cstoredi (rtx, rtx, rtx);
  8665. extern rtx gen_cstoreqi_neg (rtx, rtx, rtx);
  8666. extern rtx gen_cstorehi_neg (rtx, rtx, rtx);
  8667. extern rtx gen_cstoresi_neg (rtx, rtx, rtx);
  8668. extern rtx gen_cstoredi_neg (rtx, rtx, rtx);
  8669. extern rtx gen_aarch64_crc32b (rtx, rtx, rtx);
  8670. extern rtx gen_aarch64_crc32h (rtx, rtx, rtx);
  8671. extern rtx gen_aarch64_crc32w (rtx, rtx, rtx);
  8672. extern rtx gen_aarch64_crc32x (rtx, rtx, rtx);
  8673. extern rtx gen_aarch64_crc32cb (rtx, rtx, rtx);
  8674. extern rtx gen_aarch64_crc32ch (rtx, rtx, rtx);
  8675. extern rtx gen_aarch64_crc32cw (rtx, rtx, rtx);
  8676. extern rtx gen_aarch64_crc32cx (rtx, rtx, rtx);
  8677. extern rtx gen_csinc3si_insn (rtx, rtx, rtx, rtx);
  8678. extern rtx gen_csinc3di_insn (rtx, rtx, rtx, rtx);
  8679. extern rtx gen_csneg3_uxtw_insn (rtx, rtx, rtx, rtx);
  8680. extern rtx gen_csneg3si_insn (rtx, rtx, rtx, rtx);
  8681. extern rtx gen_csneg3di_insn (rtx, rtx, rtx, rtx);
  8682. extern rtx gen_aarch64_uqdecsi (rtx, rtx, rtx);
  8683. extern rtx gen_aarch64_uqdecdi (rtx, rtx, rtx);
  8684. extern rtx gen_andsi3 (rtx, rtx, rtx);
  8685. extern rtx gen_iorsi3 (rtx, rtx, rtx);
  8686. extern rtx gen_xorsi3 (rtx, rtx, rtx);
  8687. extern rtx gen_anddi3 (rtx, rtx, rtx);
  8688. extern rtx gen_iordi3 (rtx, rtx, rtx);
  8689. extern rtx gen_xordi3 (rtx, rtx, rtx);
  8690. extern rtx gen_one_cmplsi2 (rtx, rtx);
  8691. extern rtx gen_one_cmpldi2 (rtx, rtx);
  8692. extern rtx gen_and_one_cmpl_ashlsi3 (rtx, rtx, rtx, rtx);
  8693. extern rtx gen_ior_one_cmpl_ashlsi3 (rtx, rtx, rtx, rtx);
  8694. extern rtx gen_xor_one_cmpl_ashlsi3 (rtx, rtx, rtx, rtx);
  8695. extern rtx gen_and_one_cmpl_ashrsi3 (rtx, rtx, rtx, rtx);
  8696. extern rtx gen_ior_one_cmpl_ashrsi3 (rtx, rtx, rtx, rtx);
  8697. extern rtx gen_xor_one_cmpl_ashrsi3 (rtx, rtx, rtx, rtx);
  8698. extern rtx gen_and_one_cmpl_lshrsi3 (rtx, rtx, rtx, rtx);
  8699. extern rtx gen_ior_one_cmpl_lshrsi3 (rtx, rtx, rtx, rtx);
  8700. extern rtx gen_xor_one_cmpl_lshrsi3 (rtx, rtx, rtx, rtx);
  8701. extern rtx gen_and_one_cmpl_rotrsi3 (rtx, rtx, rtx, rtx);
  8702. extern rtx gen_ior_one_cmpl_rotrsi3 (rtx, rtx, rtx, rtx);
  8703. extern rtx gen_xor_one_cmpl_rotrsi3 (rtx, rtx, rtx, rtx);
  8704. extern rtx gen_and_one_cmpl_ashldi3 (rtx, rtx, rtx, rtx);
  8705. extern rtx gen_ior_one_cmpl_ashldi3 (rtx, rtx, rtx, rtx);
  8706. extern rtx gen_xor_one_cmpl_ashldi3 (rtx, rtx, rtx, rtx);
  8707. extern rtx gen_and_one_cmpl_ashrdi3 (rtx, rtx, rtx, rtx);
  8708. extern rtx gen_ior_one_cmpl_ashrdi3 (rtx, rtx, rtx, rtx);
  8709. extern rtx gen_xor_one_cmpl_ashrdi3 (rtx, rtx, rtx, rtx);
  8710. extern rtx gen_and_one_cmpl_lshrdi3 (rtx, rtx, rtx, rtx);
  8711. extern rtx gen_ior_one_cmpl_lshrdi3 (rtx, rtx, rtx, rtx);
  8712. extern rtx gen_xor_one_cmpl_lshrdi3 (rtx, rtx, rtx, rtx);
  8713. extern rtx gen_and_one_cmpl_rotrdi3 (rtx, rtx, rtx, rtx);
  8714. extern rtx gen_ior_one_cmpl_rotrdi3 (rtx, rtx, rtx, rtx);
  8715. extern rtx gen_xor_one_cmpl_rotrdi3 (rtx, rtx, rtx, rtx);
  8716. extern rtx gen_clzsi2 (rtx, rtx);
  8717. extern rtx gen_clzdi2 (rtx, rtx);
  8718. extern rtx gen_clrsbsi2 (rtx, rtx);
  8719. extern rtx gen_clrsbdi2 (rtx, rtx);
  8720. extern rtx gen_rbitsi2 (rtx, rtx);
  8721. extern rtx gen_rbitdi2 (rtx, rtx);
  8722. extern rtx gen_ctzsi2 (rtx, rtx);
  8723. extern rtx gen_ctzdi2 (rtx, rtx);
  8724. extern rtx gen_bswapsi2 (rtx, rtx);
  8725. extern rtx gen_bswapdi2 (rtx, rtx);
  8726. extern rtx gen_bswaphi2 (rtx, rtx);
  8727. extern rtx gen_rev16si2 (rtx, rtx, rtx, rtx);
  8728. extern rtx gen_rev16di2 (rtx, rtx, rtx, rtx);
  8729. extern rtx gen_rev16si2_alt (rtx, rtx, rtx, rtx);
  8730. extern rtx gen_rev16di2_alt (rtx, rtx, rtx, rtx);
  8731. extern rtx gen_btrunchf2 (rtx, rtx);
  8732. extern rtx gen_ceilhf2 (rtx, rtx);
  8733. extern rtx gen_floorhf2 (rtx, rtx);
  8734. extern rtx gen_frintnhf2 (rtx, rtx);
  8735. extern rtx gen_nearbyinthf2 (rtx, rtx);
  8736. extern rtx gen_rinthf2 (rtx, rtx);
  8737. extern rtx gen_roundhf2 (rtx, rtx);
  8738. extern rtx gen_btruncsf2 (rtx, rtx);
  8739. extern rtx gen_ceilsf2 (rtx, rtx);
  8740. extern rtx gen_floorsf2 (rtx, rtx);
  8741. extern rtx gen_frintnsf2 (rtx, rtx);
  8742. extern rtx gen_nearbyintsf2 (rtx, rtx);
  8743. extern rtx gen_rintsf2 (rtx, rtx);
  8744. extern rtx gen_roundsf2 (rtx, rtx);
  8745. extern rtx gen_btruncdf2 (rtx, rtx);
  8746. extern rtx gen_ceildf2 (rtx, rtx);
  8747. extern rtx gen_floordf2 (rtx, rtx);
  8748. extern rtx gen_frintndf2 (rtx, rtx);
  8749. extern rtx gen_nearbyintdf2 (rtx, rtx);
  8750. extern rtx gen_rintdf2 (rtx, rtx);
  8751. extern rtx gen_rounddf2 (rtx, rtx);
  8752. extern rtx gen_lbtrunchfsi2 (rtx, rtx);
  8753. extern rtx gen_lceilhfsi2 (rtx, rtx);
  8754. extern rtx gen_lfloorhfsi2 (rtx, rtx);
  8755. extern rtx gen_lroundhfsi2 (rtx, rtx);
  8756. extern rtx gen_lfrintnhfsi2 (rtx, rtx);
  8757. extern rtx gen_lbtruncuhfsi2 (rtx, rtx);
  8758. extern rtx gen_lceiluhfsi2 (rtx, rtx);
  8759. extern rtx gen_lflooruhfsi2 (rtx, rtx);
  8760. extern rtx gen_lrounduhfsi2 (rtx, rtx);
  8761. extern rtx gen_lfrintnuhfsi2 (rtx, rtx);
  8762. extern rtx gen_lbtruncsfsi2 (rtx, rtx);
  8763. extern rtx gen_lceilsfsi2 (rtx, rtx);
  8764. extern rtx gen_lfloorsfsi2 (rtx, rtx);
  8765. extern rtx gen_lroundsfsi2 (rtx, rtx);
  8766. extern rtx gen_lfrintnsfsi2 (rtx, rtx);
  8767. extern rtx gen_lbtruncusfsi2 (rtx, rtx);
  8768. extern rtx gen_lceilusfsi2 (rtx, rtx);
  8769. extern rtx gen_lfloorusfsi2 (rtx, rtx);
  8770. extern rtx gen_lroundusfsi2 (rtx, rtx);
  8771. extern rtx gen_lfrintnusfsi2 (rtx, rtx);
  8772. extern rtx gen_lbtruncdfsi2 (rtx, rtx);
  8773. extern rtx gen_lceildfsi2 (rtx, rtx);
  8774. extern rtx gen_lfloordfsi2 (rtx, rtx);
  8775. extern rtx gen_lrounddfsi2 (rtx, rtx);
  8776. extern rtx gen_lfrintndfsi2 (rtx, rtx);
  8777. extern rtx gen_lbtruncudfsi2 (rtx, rtx);
  8778. extern rtx gen_lceiludfsi2 (rtx, rtx);
  8779. extern rtx gen_lfloorudfsi2 (rtx, rtx);
  8780. extern rtx gen_lroundudfsi2 (rtx, rtx);
  8781. extern rtx gen_lfrintnudfsi2 (rtx, rtx);
  8782. extern rtx gen_lbtrunchfdi2 (rtx, rtx);
  8783. extern rtx gen_lceilhfdi2 (rtx, rtx);
  8784. extern rtx gen_lfloorhfdi2 (rtx, rtx);
  8785. extern rtx gen_lroundhfdi2 (rtx, rtx);
  8786. extern rtx gen_lfrintnhfdi2 (rtx, rtx);
  8787. extern rtx gen_lbtruncuhfdi2 (rtx, rtx);
  8788. extern rtx gen_lceiluhfdi2 (rtx, rtx);
  8789. extern rtx gen_lflooruhfdi2 (rtx, rtx);
  8790. extern rtx gen_lrounduhfdi2 (rtx, rtx);
  8791. extern rtx gen_lfrintnuhfdi2 (rtx, rtx);
  8792. extern rtx gen_lbtruncsfdi2 (rtx, rtx);
  8793. extern rtx gen_lceilsfdi2 (rtx, rtx);
  8794. extern rtx gen_lfloorsfdi2 (rtx, rtx);
  8795. extern rtx gen_lroundsfdi2 (rtx, rtx);
  8796. extern rtx gen_lfrintnsfdi2 (rtx, rtx);
  8797. extern rtx gen_lbtruncusfdi2 (rtx, rtx);
  8798. extern rtx gen_lceilusfdi2 (rtx, rtx);
  8799. extern rtx gen_lfloorusfdi2 (rtx, rtx);
  8800. extern rtx gen_lroundusfdi2 (rtx, rtx);
  8801. extern rtx gen_lfrintnusfdi2 (rtx, rtx);
  8802. extern rtx gen_lbtruncdfdi2 (rtx, rtx);
  8803. extern rtx gen_lceildfdi2 (rtx, rtx);
  8804. extern rtx gen_lfloordfdi2 (rtx, rtx);
  8805. extern rtx gen_lrounddfdi2 (rtx, rtx);
  8806. extern rtx gen_lfrintndfdi2 (rtx, rtx);
  8807. extern rtx gen_lbtruncudfdi2 (rtx, rtx);
  8808. extern rtx gen_lceiludfdi2 (rtx, rtx);
  8809. extern rtx gen_lfloorudfdi2 (rtx, rtx);
  8810. extern rtx gen_lroundudfdi2 (rtx, rtx);
  8811. extern rtx gen_lfrintnudfdi2 (rtx, rtx);
  8812. extern rtx gen_extendsfdf2 (rtx, rtx);
  8813. extern rtx gen_extendhfsf2 (rtx, rtx);
  8814. extern rtx gen_extendhfdf2 (rtx, rtx);
  8815. extern rtx gen_truncdfsf2 (rtx, rtx);
  8816. extern rtx gen_truncsfhf2 (rtx, rtx);
  8817. extern rtx gen_truncdfhf2 (rtx, rtx);
  8818. extern rtx gen_fix_truncsfsi2 (rtx, rtx);
  8819. extern rtx gen_fixuns_truncsfsi2 (rtx, rtx);
  8820. extern rtx gen_fix_truncdfdi2 (rtx, rtx);
  8821. extern rtx gen_fixuns_truncdfdi2 (rtx, rtx);
  8822. extern rtx gen_fix_trunchfsi2 (rtx, rtx);
  8823. extern rtx gen_fixuns_trunchfsi2 (rtx, rtx);
  8824. extern rtx gen_fix_trunchfdi2 (rtx, rtx);
  8825. extern rtx gen_fixuns_trunchfdi2 (rtx, rtx);
  8826. extern rtx gen_fix_truncdfsi2 (rtx, rtx);
  8827. extern rtx gen_fixuns_truncdfsi2 (rtx, rtx);
  8828. extern rtx gen_fix_truncsfdi2 (rtx, rtx);
  8829. extern rtx gen_fixuns_truncsfdi2 (rtx, rtx);
  8830. extern rtx gen_floatsisf2 (rtx, rtx);
  8831. extern rtx gen_floatunssisf2 (rtx, rtx);
  8832. extern rtx gen_floatdidf2 (rtx, rtx);
  8833. extern rtx gen_floatunsdidf2 (rtx, rtx);
  8834. extern rtx gen_floatdisf2 (rtx, rtx);
  8835. extern rtx gen_floatunsdisf2 (rtx, rtx);
  8836. extern rtx gen_floatsidf2 (rtx, rtx);
  8837. extern rtx gen_floatunssidf2 (rtx, rtx);
  8838. extern rtx gen_aarch64_fp16_floatsihf2 (rtx, rtx);
  8839. extern rtx gen_aarch64_fp16_floatunssihf2 (rtx, rtx);
  8840. extern rtx gen_aarch64_fp16_floatdihf2 (rtx, rtx);
  8841. extern rtx gen_aarch64_fp16_floatunsdihf2 (rtx, rtx);
  8842. extern rtx gen_fcvtzssf3 (rtx, rtx, rtx);
  8843. extern rtx gen_fcvtzusf3 (rtx, rtx, rtx);
  8844. extern rtx gen_fcvtzsdf3 (rtx, rtx, rtx);
  8845. extern rtx gen_fcvtzudf3 (rtx, rtx, rtx);
  8846. extern rtx gen_scvtfsi3 (rtx, rtx, rtx);
  8847. extern rtx gen_ucvtfsi3 (rtx, rtx, rtx);
  8848. extern rtx gen_scvtfdi3 (rtx, rtx, rtx);
  8849. extern rtx gen_ucvtfdi3 (rtx, rtx, rtx);
  8850. extern rtx gen_fcvtzshfsi3 (rtx, rtx, rtx);
  8851. extern rtx gen_fcvtzuhfsi3 (rtx, rtx, rtx);
  8852. extern rtx gen_fcvtzshfdi3 (rtx, rtx, rtx);
  8853. extern rtx gen_fcvtzuhfdi3 (rtx, rtx, rtx);
  8854. extern rtx gen_scvtfsihf3 (rtx, rtx, rtx);
  8855. extern rtx gen_ucvtfsihf3 (rtx, rtx, rtx);
  8856. extern rtx gen_scvtfdihf3 (rtx, rtx, rtx);
  8857. extern rtx gen_ucvtfdihf3 (rtx, rtx, rtx);
  8858. extern rtx gen_fcvtzshf3 (rtx, rtx, rtx);
  8859. extern rtx gen_fcvtzuhf3 (rtx, rtx, rtx);
  8860. extern rtx gen_scvtfhi3 (rtx, rtx, rtx);
  8861. extern rtx gen_ucvtfhi3 (rtx, rtx, rtx);
  8862. extern rtx gen_addhf3 (rtx, rtx, rtx);
  8863. extern rtx gen_addsf3 (rtx, rtx, rtx);
  8864. extern rtx gen_adddf3 (rtx, rtx, rtx);
  8865. extern rtx gen_subhf3 (rtx, rtx, rtx);
  8866. extern rtx gen_subsf3 (rtx, rtx, rtx);
  8867. extern rtx gen_subdf3 (rtx, rtx, rtx);
  8868. extern rtx gen_mulhf3 (rtx, rtx, rtx);
  8869. extern rtx gen_mulsf3 (rtx, rtx, rtx);
  8870. extern rtx gen_muldf3 (rtx, rtx, rtx);
  8871. extern rtx gen_neghf2 (rtx, rtx);
  8872. extern rtx gen_negsf2 (rtx, rtx);
  8873. extern rtx gen_negdf2 (rtx, rtx);
  8874. extern rtx gen_abshf2 (rtx, rtx);
  8875. extern rtx gen_abssf2 (rtx, rtx);
  8876. extern rtx gen_absdf2 (rtx, rtx);
  8877. extern rtx gen_smaxsf3 (rtx, rtx, rtx);
  8878. extern rtx gen_smaxdf3 (rtx, rtx, rtx);
  8879. extern rtx gen_sminsf3 (rtx, rtx, rtx);
  8880. extern rtx gen_smindf3 (rtx, rtx, rtx);
  8881. extern rtx gen_smax_nanhf3 (rtx, rtx, rtx);
  8882. extern rtx gen_smin_nanhf3 (rtx, rtx, rtx);
  8883. extern rtx gen_fmaxhf3 (rtx, rtx, rtx);
  8884. extern rtx gen_fminhf3 (rtx, rtx, rtx);
  8885. extern rtx gen_smax_nansf3 (rtx, rtx, rtx);
  8886. extern rtx gen_smin_nansf3 (rtx, rtx, rtx);
  8887. extern rtx gen_fmaxsf3 (rtx, rtx, rtx);
  8888. extern rtx gen_fminsf3 (rtx, rtx, rtx);
  8889. extern rtx gen_smax_nandf3 (rtx, rtx, rtx);
  8890. extern rtx gen_smin_nandf3 (rtx, rtx, rtx);
  8891. extern rtx gen_fmaxdf3 (rtx, rtx, rtx);
  8892. extern rtx gen_fmindf3 (rtx, rtx, rtx);
  8893. extern rtx gen_copysignsf3_insn (rtx, rtx, rtx, rtx);
  8894. extern rtx gen_copysigndf3_insn (rtx, rtx, rtx, rtx);
  8895. extern rtx gen_aarch64_movdi_tilow (rtx, rtx);
  8896. extern rtx gen_aarch64_movdi_tflow (rtx, rtx);
  8897. extern rtx gen_aarch64_movdi_tihigh (rtx, rtx);
  8898. extern rtx gen_aarch64_movdi_tfhigh (rtx, rtx);
  8899. extern rtx gen_aarch64_movtihigh_di (rtx, rtx);
  8900. extern rtx gen_aarch64_movtfhigh_di (rtx, rtx);
  8901. extern rtx gen_aarch64_movtilow_di (rtx, rtx);
  8902. extern rtx gen_aarch64_movtflow_di (rtx, rtx);
  8903. extern rtx gen_aarch64_movtilow_tilow (rtx, rtx);
  8904. extern rtx gen_add_losym_si (rtx, rtx, rtx);
  8905. extern rtx gen_add_losym_di (rtx, rtx, rtx);
  8906. extern rtx gen_ldr_got_small_si (rtx, rtx, rtx);
  8907. extern rtx gen_ldr_got_small_di (rtx, rtx, rtx);
  8908. extern rtx gen_ldr_got_small_sidi (rtx, rtx, rtx);
  8909. extern rtx gen_ldr_got_small_28k_si (rtx, rtx, rtx);
  8910. extern rtx gen_ldr_got_small_28k_di (rtx, rtx, rtx);
  8911. extern rtx gen_ldr_got_small_28k_sidi (rtx, rtx, rtx);
  8912. extern rtx gen_ldr_got_tiny_si (rtx, rtx);
  8913. extern rtx gen_ldr_got_tiny_di (rtx, rtx);
  8914. extern rtx gen_ldr_got_tiny_sidi (rtx, rtx);
  8915. extern rtx gen_aarch64_load_tp_hard (rtx);
  8916. extern rtx gen_tlsie_small_si (rtx, rtx);
  8917. extern rtx gen_tlsie_small_di (rtx, rtx);
  8918. extern rtx gen_tlsie_small_sidi (rtx, rtx);
  8919. extern rtx gen_tlsie_tiny_si (rtx, rtx, rtx);
  8920. extern rtx gen_tlsie_tiny_di (rtx, rtx, rtx);
  8921. extern rtx gen_tlsie_tiny_sidi (rtx, rtx, rtx);
  8922. extern rtx gen_tlsle12_si (rtx, rtx, rtx);
  8923. extern rtx gen_tlsle12_di (rtx, rtx, rtx);
  8924. extern rtx gen_tlsle24_si (rtx, rtx, rtx);
  8925. extern rtx gen_tlsle24_di (rtx, rtx, rtx);
  8926. extern rtx gen_tlsle32_si (rtx, rtx);
  8927. extern rtx gen_tlsle32_di (rtx, rtx);
  8928. extern rtx gen_tlsle48_si (rtx, rtx);
  8929. extern rtx gen_tlsle48_di (rtx, rtx);
  8930. extern rtx gen_tlsdesc_small_advsimd_si (rtx);
  8931. extern rtx gen_tlsdesc_small_advsimd_di (rtx);
  8932. extern rtx gen_tlsdesc_small_sve_si (rtx, rtx);
  8933. extern rtx gen_tlsdesc_small_sve_di (rtx, rtx);
  8934. extern rtx gen_stack_tie (rtx, rtx);
  8935. extern rtx gen_aarch64_fjcvtzs (rtx, rtx);
  8936. extern rtx gen_paciasp (void);
  8937. extern rtx gen_autiasp (void);
  8938. extern rtx gen_pacibsp (void);
  8939. extern rtx gen_autibsp (void);
  8940. extern rtx gen_pacia1716 (void);
  8941. extern rtx gen_autia1716 (void);
  8942. extern rtx gen_pacib1716 (void);
  8943. extern rtx gen_autib1716 (void);
  8944. extern rtx gen_xpaclri (void);
  8945. extern rtx gen_blockage (void);
  8946. extern rtx gen_probe_stack_range (rtx, rtx, rtx);
  8947. extern rtx gen_probe_sve_stack_clash_si (rtx, rtx, rtx, rtx, rtx);
  8948. extern rtx gen_probe_sve_stack_clash_di (rtx, rtx, rtx, rtx, rtx);
  8949. extern rtx gen_reg_stack_protect_address_si (rtx, rtx);
  8950. extern rtx gen_reg_stack_protect_address_di (rtx, rtx);
  8951. extern rtx gen_stack_protect_set_si (rtx, rtx);
  8952. extern rtx gen_stack_protect_set_di (rtx, rtx);
  8953. extern rtx gen_stack_protect_test_si (rtx, rtx);
  8954. extern rtx gen_stack_protect_test_di (rtx, rtx);
  8955. extern rtx gen_set_fpcr (rtx);
  8956. extern rtx gen_get_fpcr (rtx);
  8957. extern rtx gen_set_fpsr (rtx);
  8958. extern rtx gen_get_fpsr (rtx);
  8959. extern rtx gen_speculation_tracker (rtx);
  8960. extern rtx gen_speculation_tracker_rev (rtx);
  8961. extern rtx gen_bti_noarg (void);
  8962. extern rtx gen_bti_c (void);
  8963. extern rtx gen_bti_j (void);
  8964. extern rtx gen_bti_jc (void);
  8965. extern rtx gen_speculation_barrier (void);
  8966. extern rtx gen_despeculate_simpleqi (rtx, rtx, rtx);
  8967. extern rtx gen_despeculate_simplehi (rtx, rtx, rtx);
  8968. extern rtx gen_despeculate_simplesi (rtx, rtx, rtx);
  8969. extern rtx gen_despeculate_simpledi (rtx, rtx, rtx);
  8970. extern rtx gen_despeculate_simpleti (rtx, rtx, rtx);
  8971. extern rtx gen_aarch64_frint32zv2sf (rtx, rtx);
  8972. extern rtx gen_aarch64_frint32xv2sf (rtx, rtx);
  8973. extern rtx gen_aarch64_frint64zv2sf (rtx, rtx);
  8974. extern rtx gen_aarch64_frint64xv2sf (rtx, rtx);
  8975. extern rtx gen_aarch64_frint32zv4sf (rtx, rtx);
  8976. extern rtx gen_aarch64_frint32xv4sf (rtx, rtx);
  8977. extern rtx gen_aarch64_frint64zv4sf (rtx, rtx);
  8978. extern rtx gen_aarch64_frint64xv4sf (rtx, rtx);
  8979. extern rtx gen_aarch64_frint32zv2df (rtx, rtx);
  8980. extern rtx gen_aarch64_frint32xv2df (rtx, rtx);
  8981. extern rtx gen_aarch64_frint64zv2df (rtx, rtx);
  8982. extern rtx gen_aarch64_frint64xv2df (rtx, rtx);
  8983. extern rtx gen_aarch64_frint32zdf (rtx, rtx);
  8984. extern rtx gen_aarch64_frint32xdf (rtx, rtx);
  8985. extern rtx gen_aarch64_frint64zdf (rtx, rtx);
  8986. extern rtx gen_aarch64_frint64xdf (rtx, rtx);
  8987. extern rtx gen_aarch64_frint32zsf (rtx, rtx);
  8988. extern rtx gen_aarch64_frint32xsf (rtx, rtx);
  8989. extern rtx gen_aarch64_frint64zsf (rtx, rtx);
  8990. extern rtx gen_aarch64_frint64xsf (rtx, rtx);
  8991. extern rtx gen_tstart (rtx);
  8992. extern rtx gen_ttest (rtx);
  8993. extern rtx gen_tcommit (void);
  8994. extern rtx gen_tcancel (rtx);
  8995. extern rtx gen_aarch64_rndr (rtx);
  8996. extern rtx gen_aarch64_rndrrs (rtx);
  8997. extern rtx gen_irg (rtx, rtx, rtx);
  8998. extern rtx gen_gmi (rtx, rtx, rtx);
  8999. extern rtx gen_addg (rtx, rtx, rtx, rtx);
  9000. extern rtx gen_subp (rtx, rtx, rtx);
  9001. extern rtx gen_ldg (rtx, rtx, rtx);
  9002. extern rtx gen_stg (rtx, rtx, rtx);
  9003. extern rtx gen_aarch64_simd_dupv8qi (rtx, rtx);
  9004. extern rtx gen_aarch64_simd_dupv16qi (rtx, rtx);
  9005. extern rtx gen_aarch64_simd_dupv4hi (rtx, rtx);
  9006. extern rtx gen_aarch64_simd_dupv8hi (rtx, rtx);
  9007. extern rtx gen_aarch64_simd_dupv2si (rtx, rtx);
  9008. extern rtx gen_aarch64_simd_dupv4si (rtx, rtx);
  9009. extern rtx gen_aarch64_simd_dupv2di (rtx, rtx);
  9010. extern rtx gen_aarch64_simd_dupv4hf (rtx, rtx);
  9011. extern rtx gen_aarch64_simd_dupv8hf (rtx, rtx);
  9012. extern rtx gen_aarch64_simd_dupv2sf (rtx, rtx);
  9013. extern rtx gen_aarch64_simd_dupv4sf (rtx, rtx);
  9014. extern rtx gen_aarch64_simd_dupv2df (rtx, rtx);
  9015. extern rtx gen_aarch64_simd_dupv4bf (rtx, rtx);
  9016. extern rtx gen_aarch64_simd_dupv8bf (rtx, rtx);
  9017. extern rtx gen_aarch64_dup_lanev8qi (rtx, rtx, rtx);
  9018. extern rtx gen_aarch64_dup_lanev16qi (rtx, rtx, rtx);
  9019. extern rtx gen_aarch64_dup_lanev4hi (rtx, rtx, rtx);
  9020. extern rtx gen_aarch64_dup_lanev8hi (rtx, rtx, rtx);
  9021. extern rtx gen_aarch64_dup_lanev2si (rtx, rtx, rtx);
  9022. extern rtx gen_aarch64_dup_lanev4si (rtx, rtx, rtx);
  9023. extern rtx gen_aarch64_dup_lanev2di (rtx, rtx, rtx);
  9024. extern rtx gen_aarch64_dup_lanev4hf (rtx, rtx, rtx);
  9025. extern rtx gen_aarch64_dup_lanev8hf (rtx, rtx, rtx);
  9026. extern rtx gen_aarch64_dup_lanev4bf (rtx, rtx, rtx);
  9027. extern rtx gen_aarch64_dup_lanev8bf (rtx, rtx, rtx);
  9028. extern rtx gen_aarch64_dup_lanev2sf (rtx, rtx, rtx);
  9029. extern rtx gen_aarch64_dup_lanev4sf (rtx, rtx, rtx);
  9030. extern rtx gen_aarch64_dup_lanev2df (rtx, rtx, rtx);
  9031. extern rtx gen_aarch64_dup_lane_to_128v8qi (rtx, rtx, rtx);
  9032. extern rtx gen_aarch64_dup_lane_to_64v16qi (rtx, rtx, rtx);
  9033. extern rtx gen_aarch64_dup_lane_to_128v4hi (rtx, rtx, rtx);
  9034. extern rtx gen_aarch64_dup_lane_to_64v8hi (rtx, rtx, rtx);
  9035. extern rtx gen_aarch64_dup_lane_to_128v2si (rtx, rtx, rtx);
  9036. extern rtx gen_aarch64_dup_lane_to_64v4si (rtx, rtx, rtx);
  9037. extern rtx gen_aarch64_dup_lane_to_128v4hf (rtx, rtx, rtx);
  9038. extern rtx gen_aarch64_dup_lane_to_64v8hf (rtx, rtx, rtx);
  9039. extern rtx gen_aarch64_dup_lane_to_128v2sf (rtx, rtx, rtx);
  9040. extern rtx gen_aarch64_dup_lane_to_64v4sf (rtx, rtx, rtx);
  9041. extern rtx gen_aarch64_store_lane0v8qi (rtx, rtx, rtx);
  9042. extern rtx gen_aarch64_store_lane0v16qi (rtx, rtx, rtx);
  9043. extern rtx gen_aarch64_store_lane0v4hi (rtx, rtx, rtx);
  9044. extern rtx gen_aarch64_store_lane0v8hi (rtx, rtx, rtx);
  9045. extern rtx gen_aarch64_store_lane0v2si (rtx, rtx, rtx);
  9046. extern rtx gen_aarch64_store_lane0v4si (rtx, rtx, rtx);
  9047. extern rtx gen_aarch64_store_lane0v2di (rtx, rtx, rtx);
  9048. extern rtx gen_aarch64_store_lane0v4hf (rtx, rtx, rtx);
  9049. extern rtx gen_aarch64_store_lane0v8hf (rtx, rtx, rtx);
  9050. extern rtx gen_aarch64_store_lane0v4bf (rtx, rtx, rtx);
  9051. extern rtx gen_aarch64_store_lane0v8bf (rtx, rtx, rtx);
  9052. extern rtx gen_aarch64_store_lane0v2sf (rtx, rtx, rtx);
  9053. extern rtx gen_aarch64_store_lane0v4sf (rtx, rtx, rtx);
  9054. extern rtx gen_aarch64_store_lane0v2df (rtx, rtx, rtx);
  9055. extern rtx gen_load_pairv8qiv8qi (rtx, rtx, rtx, rtx);
  9056. extern rtx gen_load_pairv4hiv8qi (rtx, rtx, rtx, rtx);
  9057. extern rtx gen_load_pairv4hfv8qi (rtx, rtx, rtx, rtx);
  9058. extern rtx gen_load_pairv2siv8qi (rtx, rtx, rtx, rtx);
  9059. extern rtx gen_load_pairv2sfv8qi (rtx, rtx, rtx, rtx);
  9060. extern rtx gen_load_pairdfv8qi (rtx, rtx, rtx, rtx);
  9061. extern rtx gen_load_pairv8qiv4hi (rtx, rtx, rtx, rtx);
  9062. extern rtx gen_load_pairv4hiv4hi (rtx, rtx, rtx, rtx);
  9063. extern rtx gen_load_pairv4hfv4hi (rtx, rtx, rtx, rtx);
  9064. extern rtx gen_load_pairv2siv4hi (rtx, rtx, rtx, rtx);
  9065. extern rtx gen_load_pairv2sfv4hi (rtx, rtx, rtx, rtx);
  9066. extern rtx gen_load_pairdfv4hi (rtx, rtx, rtx, rtx);
  9067. extern rtx gen_load_pairv8qiv4hf (rtx, rtx, rtx, rtx);
  9068. extern rtx gen_load_pairv4hiv4hf (rtx, rtx, rtx, rtx);
  9069. extern rtx gen_load_pairv4hfv4hf (rtx, rtx, rtx, rtx);
  9070. extern rtx gen_load_pairv2siv4hf (rtx, rtx, rtx, rtx);
  9071. extern rtx gen_load_pairv2sfv4hf (rtx, rtx, rtx, rtx);
  9072. extern rtx gen_load_pairdfv4hf (rtx, rtx, rtx, rtx);
  9073. extern rtx gen_load_pairv8qiv2si (rtx, rtx, rtx, rtx);
  9074. extern rtx gen_load_pairv4hiv2si (rtx, rtx, rtx, rtx);
  9075. extern rtx gen_load_pairv4hfv2si (rtx, rtx, rtx, rtx);
  9076. extern rtx gen_load_pairv2siv2si (rtx, rtx, rtx, rtx);
  9077. extern rtx gen_load_pairv2sfv2si (rtx, rtx, rtx, rtx);
  9078. extern rtx gen_load_pairdfv2si (rtx, rtx, rtx, rtx);
  9079. extern rtx gen_load_pairv8qiv2sf (rtx, rtx, rtx, rtx);
  9080. extern rtx gen_load_pairv4hiv2sf (rtx, rtx, rtx, rtx);
  9081. extern rtx gen_load_pairv4hfv2sf (rtx, rtx, rtx, rtx);
  9082. extern rtx gen_load_pairv2siv2sf (rtx, rtx, rtx, rtx);
  9083. extern rtx gen_load_pairv2sfv2sf (rtx, rtx, rtx, rtx);
  9084. extern rtx gen_load_pairdfv2sf (rtx, rtx, rtx, rtx);
  9085. extern rtx gen_load_pairv8qidf (rtx, rtx, rtx, rtx);
  9086. extern rtx gen_load_pairv4hidf (rtx, rtx, rtx, rtx);
  9087. extern rtx gen_load_pairv4hfdf (rtx, rtx, rtx, rtx);
  9088. extern rtx gen_load_pairv2sidf (rtx, rtx, rtx, rtx);
  9089. extern rtx gen_load_pairv2sfdf (rtx, rtx, rtx, rtx);
  9090. extern rtx gen_load_pairdfdf (rtx, rtx, rtx, rtx);
  9091. extern rtx gen_vec_store_pairv8qiv8qi (rtx, rtx, rtx, rtx);
  9092. extern rtx gen_vec_store_pairv4hiv8qi (rtx, rtx, rtx, rtx);
  9093. extern rtx gen_vec_store_pairv4hfv8qi (rtx, rtx, rtx, rtx);
  9094. extern rtx gen_vec_store_pairv2siv8qi (rtx, rtx, rtx, rtx);
  9095. extern rtx gen_vec_store_pairv2sfv8qi (rtx, rtx, rtx, rtx);
  9096. extern rtx gen_vec_store_pairdfv8qi (rtx, rtx, rtx, rtx);
  9097. extern rtx gen_vec_store_pairv8qiv4hi (rtx, rtx, rtx, rtx);
  9098. extern rtx gen_vec_store_pairv4hiv4hi (rtx, rtx, rtx, rtx);
  9099. extern rtx gen_vec_store_pairv4hfv4hi (rtx, rtx, rtx, rtx);
  9100. extern rtx gen_vec_store_pairv2siv4hi (rtx, rtx, rtx, rtx);
  9101. extern rtx gen_vec_store_pairv2sfv4hi (rtx, rtx, rtx, rtx);
  9102. extern rtx gen_vec_store_pairdfv4hi (rtx, rtx, rtx, rtx);
  9103. extern rtx gen_vec_store_pairv8qiv4hf (rtx, rtx, rtx, rtx);
  9104. extern rtx gen_vec_store_pairv4hiv4hf (rtx, rtx, rtx, rtx);
  9105. extern rtx gen_vec_store_pairv4hfv4hf (rtx, rtx, rtx, rtx);
  9106. extern rtx gen_vec_store_pairv2siv4hf (rtx, rtx, rtx, rtx);
  9107. extern rtx gen_vec_store_pairv2sfv4hf (rtx, rtx, rtx, rtx);
  9108. extern rtx gen_vec_store_pairdfv4hf (rtx, rtx, rtx, rtx);
  9109. extern rtx gen_vec_store_pairv8qiv2si (rtx, rtx, rtx, rtx);
  9110. extern rtx gen_vec_store_pairv4hiv2si (rtx, rtx, rtx, rtx);
  9111. extern rtx gen_vec_store_pairv4hfv2si (rtx, rtx, rtx, rtx);
  9112. extern rtx gen_vec_store_pairv2siv2si (rtx, rtx, rtx, rtx);
  9113. extern rtx gen_vec_store_pairv2sfv2si (rtx, rtx, rtx, rtx);
  9114. extern rtx gen_vec_store_pairdfv2si (rtx, rtx, rtx, rtx);
  9115. extern rtx gen_vec_store_pairv8qiv2sf (rtx, rtx, rtx, rtx);
  9116. extern rtx gen_vec_store_pairv4hiv2sf (rtx, rtx, rtx, rtx);
  9117. extern rtx gen_vec_store_pairv4hfv2sf (rtx, rtx, rtx, rtx);
  9118. extern rtx gen_vec_store_pairv2siv2sf (rtx, rtx, rtx, rtx);
  9119. extern rtx gen_vec_store_pairv2sfv2sf (rtx, rtx, rtx, rtx);
  9120. extern rtx gen_vec_store_pairdfv2sf (rtx, rtx, rtx, rtx);
  9121. extern rtx gen_vec_store_pairv8qidf (rtx, rtx, rtx, rtx);
  9122. extern rtx gen_vec_store_pairv4hidf (rtx, rtx, rtx, rtx);
  9123. extern rtx gen_vec_store_pairv4hfdf (rtx, rtx, rtx, rtx);
  9124. extern rtx gen_vec_store_pairv2sidf (rtx, rtx, rtx, rtx);
  9125. extern rtx gen_vec_store_pairv2sfdf (rtx, rtx, rtx, rtx);
  9126. extern rtx gen_vec_store_pairdfdf (rtx, rtx, rtx, rtx);
  9127. extern rtx gen_load_pairv16qiv16qi (rtx, rtx, rtx, rtx);
  9128. extern rtx gen_load_pairv16qiv8hi (rtx, rtx, rtx, rtx);
  9129. extern rtx gen_load_pairv16qiv4si (rtx, rtx, rtx, rtx);
  9130. extern rtx gen_load_pairv16qiv2di (rtx, rtx, rtx, rtx);
  9131. extern rtx gen_load_pairv16qiv8hf (rtx, rtx, rtx, rtx);
  9132. extern rtx gen_load_pairv16qiv8bf (rtx, rtx, rtx, rtx);
  9133. extern rtx gen_load_pairv16qiv4sf (rtx, rtx, rtx, rtx);
  9134. extern rtx gen_load_pairv16qiv2df (rtx, rtx, rtx, rtx);
  9135. extern rtx gen_load_pairv8hiv16qi (rtx, rtx, rtx, rtx);
  9136. extern rtx gen_load_pairv8hiv8hi (rtx, rtx, rtx, rtx);
  9137. extern rtx gen_load_pairv8hiv4si (rtx, rtx, rtx, rtx);
  9138. extern rtx gen_load_pairv8hiv2di (rtx, rtx, rtx, rtx);
  9139. extern rtx gen_load_pairv8hiv8hf (rtx, rtx, rtx, rtx);
  9140. extern rtx gen_load_pairv8hiv8bf (rtx, rtx, rtx, rtx);
  9141. extern rtx gen_load_pairv8hiv4sf (rtx, rtx, rtx, rtx);
  9142. extern rtx gen_load_pairv8hiv2df (rtx, rtx, rtx, rtx);
  9143. extern rtx gen_load_pairv4siv16qi (rtx, rtx, rtx, rtx);
  9144. extern rtx gen_load_pairv4siv8hi (rtx, rtx, rtx, rtx);
  9145. extern rtx gen_load_pairv4siv4si (rtx, rtx, rtx, rtx);
  9146. extern rtx gen_load_pairv4siv2di (rtx, rtx, rtx, rtx);
  9147. extern rtx gen_load_pairv4siv8hf (rtx, rtx, rtx, rtx);
  9148. extern rtx gen_load_pairv4siv8bf (rtx, rtx, rtx, rtx);
  9149. extern rtx gen_load_pairv4siv4sf (rtx, rtx, rtx, rtx);
  9150. extern rtx gen_load_pairv4siv2df (rtx, rtx, rtx, rtx);
  9151. extern rtx gen_load_pairv2div16qi (rtx, rtx, rtx, rtx);
  9152. extern rtx gen_load_pairv2div8hi (rtx, rtx, rtx, rtx);
  9153. extern rtx gen_load_pairv2div4si (rtx, rtx, rtx, rtx);
  9154. extern rtx gen_load_pairv2div2di (rtx, rtx, rtx, rtx);
  9155. extern rtx gen_load_pairv2div8hf (rtx, rtx, rtx, rtx);
  9156. extern rtx gen_load_pairv2div8bf (rtx, rtx, rtx, rtx);
  9157. extern rtx gen_load_pairv2div4sf (rtx, rtx, rtx, rtx);
  9158. extern rtx gen_load_pairv2div2df (rtx, rtx, rtx, rtx);
  9159. extern rtx gen_load_pairv8hfv16qi (rtx, rtx, rtx, rtx);
  9160. extern rtx gen_load_pairv8hfv8hi (rtx, rtx, rtx, rtx);
  9161. extern rtx gen_load_pairv8hfv4si (rtx, rtx, rtx, rtx);
  9162. extern rtx gen_load_pairv8hfv2di (rtx, rtx, rtx, rtx);
  9163. extern rtx gen_load_pairv8hfv8hf (rtx, rtx, rtx, rtx);
  9164. extern rtx gen_load_pairv8hfv8bf (rtx, rtx, rtx, rtx);
  9165. extern rtx gen_load_pairv8hfv4sf (rtx, rtx, rtx, rtx);
  9166. extern rtx gen_load_pairv8hfv2df (rtx, rtx, rtx, rtx);
  9167. extern rtx gen_load_pairv4sfv16qi (rtx, rtx, rtx, rtx);
  9168. extern rtx gen_load_pairv4sfv8hi (rtx, rtx, rtx, rtx);
  9169. extern rtx gen_load_pairv4sfv4si (rtx, rtx, rtx, rtx);
  9170. extern rtx gen_load_pairv4sfv2di (rtx, rtx, rtx, rtx);
  9171. extern rtx gen_load_pairv4sfv8hf (rtx, rtx, rtx, rtx);
  9172. extern rtx gen_load_pairv4sfv8bf (rtx, rtx, rtx, rtx);
  9173. extern rtx gen_load_pairv4sfv4sf (rtx, rtx, rtx, rtx);
  9174. extern rtx gen_load_pairv4sfv2df (rtx, rtx, rtx, rtx);
  9175. extern rtx gen_load_pairv2dfv16qi (rtx, rtx, rtx, rtx);
  9176. extern rtx gen_load_pairv2dfv8hi (rtx, rtx, rtx, rtx);
  9177. extern rtx gen_load_pairv2dfv4si (rtx, rtx, rtx, rtx);
  9178. extern rtx gen_load_pairv2dfv2di (rtx, rtx, rtx, rtx);
  9179. extern rtx gen_load_pairv2dfv8hf (rtx, rtx, rtx, rtx);
  9180. extern rtx gen_load_pairv2dfv8bf (rtx, rtx, rtx, rtx);
  9181. extern rtx gen_load_pairv2dfv4sf (rtx, rtx, rtx, rtx);
  9182. extern rtx gen_load_pairv2dfv2df (rtx, rtx, rtx, rtx);
  9183. extern rtx gen_load_pairv8bfv16qi (rtx, rtx, rtx, rtx);
  9184. extern rtx gen_load_pairv8bfv8hi (rtx, rtx, rtx, rtx);
  9185. extern rtx gen_load_pairv8bfv4si (rtx, rtx, rtx, rtx);
  9186. extern rtx gen_load_pairv8bfv2di (rtx, rtx, rtx, rtx);
  9187. extern rtx gen_load_pairv8bfv8hf (rtx, rtx, rtx, rtx);
  9188. extern rtx gen_load_pairv8bfv8bf (rtx, rtx, rtx, rtx);
  9189. extern rtx gen_load_pairv8bfv4sf (rtx, rtx, rtx, rtx);
  9190. extern rtx gen_load_pairv8bfv2df (rtx, rtx, rtx, rtx);
  9191. extern rtx gen_vec_store_pairv16qiv16qi (rtx, rtx, rtx, rtx);
  9192. extern rtx gen_vec_store_pairv16qiv8hi (rtx, rtx, rtx, rtx);
  9193. extern rtx gen_vec_store_pairv16qiv4si (rtx, rtx, rtx, rtx);
  9194. extern rtx gen_vec_store_pairv16qiv2di (rtx, rtx, rtx, rtx);
  9195. extern rtx gen_vec_store_pairv16qiv8hf (rtx, rtx, rtx, rtx);
  9196. extern rtx gen_vec_store_pairv16qiv8bf (rtx, rtx, rtx, rtx);
  9197. extern rtx gen_vec_store_pairv16qiv4sf (rtx, rtx, rtx, rtx);
  9198. extern rtx gen_vec_store_pairv16qiv2df (rtx, rtx, rtx, rtx);
  9199. extern rtx gen_vec_store_pairv8hiv16qi (rtx, rtx, rtx, rtx);
  9200. extern rtx gen_vec_store_pairv8hiv8hi (rtx, rtx, rtx, rtx);
  9201. extern rtx gen_vec_store_pairv8hiv4si (rtx, rtx, rtx, rtx);
  9202. extern rtx gen_vec_store_pairv8hiv2di (rtx, rtx, rtx, rtx);
  9203. extern rtx gen_vec_store_pairv8hiv8hf (rtx, rtx, rtx, rtx);
  9204. extern rtx gen_vec_store_pairv8hiv8bf (rtx, rtx, rtx, rtx);
  9205. extern rtx gen_vec_store_pairv8hiv4sf (rtx, rtx, rtx, rtx);
  9206. extern rtx gen_vec_store_pairv8hiv2df (rtx, rtx, rtx, rtx);
  9207. extern rtx gen_vec_store_pairv4siv16qi (rtx, rtx, rtx, rtx);
  9208. extern rtx gen_vec_store_pairv4siv8hi (rtx, rtx, rtx, rtx);
  9209. extern rtx gen_vec_store_pairv4siv4si (rtx, rtx, rtx, rtx);
  9210. extern rtx gen_vec_store_pairv4siv2di (rtx, rtx, rtx, rtx);
  9211. extern rtx gen_vec_store_pairv4siv8hf (rtx, rtx, rtx, rtx);
  9212. extern rtx gen_vec_store_pairv4siv8bf (rtx, rtx, rtx, rtx);
  9213. extern rtx gen_vec_store_pairv4siv4sf (rtx, rtx, rtx, rtx);
  9214. extern rtx gen_vec_store_pairv4siv2df (rtx, rtx, rtx, rtx);
  9215. extern rtx gen_vec_store_pairv2div16qi (rtx, rtx, rtx, rtx);
  9216. extern rtx gen_vec_store_pairv2div8hi (rtx, rtx, rtx, rtx);
  9217. extern rtx gen_vec_store_pairv2div4si (rtx, rtx, rtx, rtx);
  9218. extern rtx gen_vec_store_pairv2div2di (rtx, rtx, rtx, rtx);
  9219. extern rtx gen_vec_store_pairv2div8hf (rtx, rtx, rtx, rtx);
  9220. extern rtx gen_vec_store_pairv2div8bf (rtx, rtx, rtx, rtx);
  9221. extern rtx gen_vec_store_pairv2div4sf (rtx, rtx, rtx, rtx);
  9222. extern rtx gen_vec_store_pairv2div2df (rtx, rtx, rtx, rtx);
  9223. extern rtx gen_vec_store_pairv8hfv16qi (rtx, rtx, rtx, rtx);
  9224. extern rtx gen_vec_store_pairv8hfv8hi (rtx, rtx, rtx, rtx);
  9225. extern rtx gen_vec_store_pairv8hfv4si (rtx, rtx, rtx, rtx);
  9226. extern rtx gen_vec_store_pairv8hfv2di (rtx, rtx, rtx, rtx);
  9227. extern rtx gen_vec_store_pairv8hfv8hf (rtx, rtx, rtx, rtx);
  9228. extern rtx gen_vec_store_pairv8hfv8bf (rtx, rtx, rtx, rtx);
  9229. extern rtx gen_vec_store_pairv8hfv4sf (rtx, rtx, rtx, rtx);
  9230. extern rtx gen_vec_store_pairv8hfv2df (rtx, rtx, rtx, rtx);
  9231. extern rtx gen_vec_store_pairv4sfv16qi (rtx, rtx, rtx, rtx);
  9232. extern rtx gen_vec_store_pairv4sfv8hi (rtx, rtx, rtx, rtx);
  9233. extern rtx gen_vec_store_pairv4sfv4si (rtx, rtx, rtx, rtx);
  9234. extern rtx gen_vec_store_pairv4sfv2di (rtx, rtx, rtx, rtx);
  9235. extern rtx gen_vec_store_pairv4sfv8hf (rtx, rtx, rtx, rtx);
  9236. extern rtx gen_vec_store_pairv4sfv8bf (rtx, rtx, rtx, rtx);
  9237. extern rtx gen_vec_store_pairv4sfv4sf (rtx, rtx, rtx, rtx);
  9238. extern rtx gen_vec_store_pairv4sfv2df (rtx, rtx, rtx, rtx);
  9239. extern rtx gen_vec_store_pairv2dfv16qi (rtx, rtx, rtx, rtx);
  9240. extern rtx gen_vec_store_pairv2dfv8hi (rtx, rtx, rtx, rtx);
  9241. extern rtx gen_vec_store_pairv2dfv4si (rtx, rtx, rtx, rtx);
  9242. extern rtx gen_vec_store_pairv2dfv2di (rtx, rtx, rtx, rtx);
  9243. extern rtx gen_vec_store_pairv2dfv8hf (rtx, rtx, rtx, rtx);
  9244. extern rtx gen_vec_store_pairv2dfv8bf (rtx, rtx, rtx, rtx);
  9245. extern rtx gen_vec_store_pairv2dfv4sf (rtx, rtx, rtx, rtx);
  9246. extern rtx gen_vec_store_pairv2dfv2df (rtx, rtx, rtx, rtx);
  9247. extern rtx gen_vec_store_pairv8bfv16qi (rtx, rtx, rtx, rtx);
  9248. extern rtx gen_vec_store_pairv8bfv8hi (rtx, rtx, rtx, rtx);
  9249. extern rtx gen_vec_store_pairv8bfv4si (rtx, rtx, rtx, rtx);
  9250. extern rtx gen_vec_store_pairv8bfv2di (rtx, rtx, rtx, rtx);
  9251. extern rtx gen_vec_store_pairv8bfv8hf (rtx, rtx, rtx, rtx);
  9252. extern rtx gen_vec_store_pairv8bfv8bf (rtx, rtx, rtx, rtx);
  9253. extern rtx gen_vec_store_pairv8bfv4sf (rtx, rtx, rtx, rtx);
  9254. extern rtx gen_vec_store_pairv8bfv2df (rtx, rtx, rtx, rtx);
  9255. extern rtx gen_aarch64_simd_mov_from_v16qilow (rtx, rtx, rtx);
  9256. extern rtx gen_aarch64_simd_mov_from_v8hilow (rtx, rtx, rtx);
  9257. extern rtx gen_aarch64_simd_mov_from_v4silow (rtx, rtx, rtx);
  9258. extern rtx gen_aarch64_simd_mov_from_v8hflow (rtx, rtx, rtx);
  9259. extern rtx gen_aarch64_simd_mov_from_v8bflow (rtx, rtx, rtx);
  9260. extern rtx gen_aarch64_simd_mov_from_v4sflow (rtx, rtx, rtx);
  9261. extern rtx gen_aarch64_simd_mov_from_v16qihigh (rtx, rtx, rtx);
  9262. extern rtx gen_aarch64_simd_mov_from_v8hihigh (rtx, rtx, rtx);
  9263. extern rtx gen_aarch64_simd_mov_from_v4sihigh (rtx, rtx, rtx);
  9264. extern rtx gen_aarch64_simd_mov_from_v8hfhigh (rtx, rtx, rtx);
  9265. extern rtx gen_aarch64_simd_mov_from_v8bfhigh (rtx, rtx, rtx);
  9266. extern rtx gen_aarch64_simd_mov_from_v4sfhigh (rtx, rtx, rtx);
  9267. extern rtx gen_ornv8qi3 (rtx, rtx, rtx);
  9268. extern rtx gen_ornv16qi3 (rtx, rtx, rtx);
  9269. extern rtx gen_ornv4hi3 (rtx, rtx, rtx);
  9270. extern rtx gen_ornv8hi3 (rtx, rtx, rtx);
  9271. extern rtx gen_ornv2si3 (rtx, rtx, rtx);
  9272. extern rtx gen_ornv4si3 (rtx, rtx, rtx);
  9273. extern rtx gen_ornv2di3 (rtx, rtx, rtx);
  9274. extern rtx gen_bicv8qi3 (rtx, rtx, rtx);
  9275. extern rtx gen_bicv16qi3 (rtx, rtx, rtx);
  9276. extern rtx gen_bicv4hi3 (rtx, rtx, rtx);
  9277. extern rtx gen_bicv8hi3 (rtx, rtx, rtx);
  9278. extern rtx gen_bicv2si3 (rtx, rtx, rtx);
  9279. extern rtx gen_bicv4si3 (rtx, rtx, rtx);
  9280. extern rtx gen_bicv2di3 (rtx, rtx, rtx);
  9281. extern rtx gen_addv8qi3 (rtx, rtx, rtx);
  9282. extern rtx gen_addv16qi3 (rtx, rtx, rtx);
  9283. extern rtx gen_addv4hi3 (rtx, rtx, rtx);
  9284. extern rtx gen_addv8hi3 (rtx, rtx, rtx);
  9285. extern rtx gen_addv2si3 (rtx, rtx, rtx);
  9286. extern rtx gen_addv4si3 (rtx, rtx, rtx);
  9287. extern rtx gen_addv2di3 (rtx, rtx, rtx);
  9288. extern rtx gen_subv8qi3 (rtx, rtx, rtx);
  9289. extern rtx gen_subv16qi3 (rtx, rtx, rtx);
  9290. extern rtx gen_subv4hi3 (rtx, rtx, rtx);
  9291. extern rtx gen_subv8hi3 (rtx, rtx, rtx);
  9292. extern rtx gen_subv2si3 (rtx, rtx, rtx);
  9293. extern rtx gen_subv4si3 (rtx, rtx, rtx);
  9294. extern rtx gen_subv2di3 (rtx, rtx, rtx);
  9295. extern rtx gen_mulv8qi3 (rtx, rtx, rtx);
  9296. extern rtx gen_mulv16qi3 (rtx, rtx, rtx);
  9297. extern rtx gen_mulv4hi3 (rtx, rtx, rtx);
  9298. extern rtx gen_mulv8hi3 (rtx, rtx, rtx);
  9299. extern rtx gen_mulv2si3 (rtx, rtx, rtx);
  9300. extern rtx gen_mulv4si3 (rtx, rtx, rtx);
  9301. extern rtx gen_bswapv4hi2 (rtx, rtx);
  9302. extern rtx gen_bswapv8hi2 (rtx, rtx);
  9303. extern rtx gen_bswapv2si2 (rtx, rtx);
  9304. extern rtx gen_bswapv4si2 (rtx, rtx);
  9305. extern rtx gen_bswapv2di2 (rtx, rtx);
  9306. extern rtx gen_aarch64_rbitv8qi (rtx, rtx);
  9307. extern rtx gen_aarch64_rbitv16qi (rtx, rtx);
  9308. extern rtx gen_aarch64_fcadd90v4hf (rtx, rtx, rtx);
  9309. extern rtx gen_aarch64_fcadd270v4hf (rtx, rtx, rtx);
  9310. extern rtx gen_aarch64_fcadd90v8hf (rtx, rtx, rtx);
  9311. extern rtx gen_aarch64_fcadd270v8hf (rtx, rtx, rtx);
  9312. extern rtx gen_aarch64_fcadd90v2sf (rtx, rtx, rtx);
  9313. extern rtx gen_aarch64_fcadd270v2sf (rtx, rtx, rtx);
  9314. extern rtx gen_aarch64_fcadd90v4sf (rtx, rtx, rtx);
  9315. extern rtx gen_aarch64_fcadd270v4sf (rtx, rtx, rtx);
  9316. extern rtx gen_aarch64_fcadd90v2df (rtx, rtx, rtx);
  9317. extern rtx gen_aarch64_fcadd270v2df (rtx, rtx, rtx);
  9318. extern rtx gen_aarch64_fcmla0v4hf (rtx, rtx, rtx, rtx);
  9319. extern rtx gen_aarch64_fcmla90v4hf (rtx, rtx, rtx, rtx);
  9320. extern rtx gen_aarch64_fcmla180v4hf (rtx, rtx, rtx, rtx);
  9321. extern rtx gen_aarch64_fcmla270v4hf (rtx, rtx, rtx, rtx);
  9322. extern rtx gen_aarch64_fcmla0v8hf (rtx, rtx, rtx, rtx);
  9323. extern rtx gen_aarch64_fcmla90v8hf (rtx, rtx, rtx, rtx);
  9324. extern rtx gen_aarch64_fcmla180v8hf (rtx, rtx, rtx, rtx);
  9325. extern rtx gen_aarch64_fcmla270v8hf (rtx, rtx, rtx, rtx);
  9326. extern rtx gen_aarch64_fcmla0v2sf (rtx, rtx, rtx, rtx);
  9327. extern rtx gen_aarch64_fcmla90v2sf (rtx, rtx, rtx, rtx);
  9328. extern rtx gen_aarch64_fcmla180v2sf (rtx, rtx, rtx, rtx);
  9329. extern rtx gen_aarch64_fcmla270v2sf (rtx, rtx, rtx, rtx);
  9330. extern rtx gen_aarch64_fcmla0v4sf (rtx, rtx, rtx, rtx);
  9331. extern rtx gen_aarch64_fcmla90v4sf (rtx, rtx, rtx, rtx);
  9332. extern rtx gen_aarch64_fcmla180v4sf (rtx, rtx, rtx, rtx);
  9333. extern rtx gen_aarch64_fcmla270v4sf (rtx, rtx, rtx, rtx);
  9334. extern rtx gen_aarch64_fcmla0v2df (rtx, rtx, rtx, rtx);
  9335. extern rtx gen_aarch64_fcmla90v2df (rtx, rtx, rtx, rtx);
  9336. extern rtx gen_aarch64_fcmla180v2df (rtx, rtx, rtx, rtx);
  9337. extern rtx gen_aarch64_fcmla270v2df (rtx, rtx, rtx, rtx);
  9338. extern rtx gen_aarch64_fcmla_lane0v4hf (rtx, rtx, rtx, rtx, rtx);
  9339. extern rtx gen_aarch64_fcmla_lane90v4hf (rtx, rtx, rtx, rtx, rtx);
  9340. extern rtx gen_aarch64_fcmla_lane180v4hf (rtx, rtx, rtx, rtx, rtx);
  9341. extern rtx gen_aarch64_fcmla_lane270v4hf (rtx, rtx, rtx, rtx, rtx);
  9342. extern rtx gen_aarch64_fcmla_lane0v8hf (rtx, rtx, rtx, rtx, rtx);
  9343. extern rtx gen_aarch64_fcmla_lane90v8hf (rtx, rtx, rtx, rtx, rtx);
  9344. extern rtx gen_aarch64_fcmla_lane180v8hf (rtx, rtx, rtx, rtx, rtx);
  9345. extern rtx gen_aarch64_fcmla_lane270v8hf (rtx, rtx, rtx, rtx, rtx);
  9346. extern rtx gen_aarch64_fcmla_lane0v2sf (rtx, rtx, rtx, rtx, rtx);
  9347. extern rtx gen_aarch64_fcmla_lane90v2sf (rtx, rtx, rtx, rtx, rtx);
  9348. extern rtx gen_aarch64_fcmla_lane180v2sf (rtx, rtx, rtx, rtx, rtx);
  9349. extern rtx gen_aarch64_fcmla_lane270v2sf (rtx, rtx, rtx, rtx, rtx);
  9350. extern rtx gen_aarch64_fcmla_lane0v4sf (rtx, rtx, rtx, rtx, rtx);
  9351. extern rtx gen_aarch64_fcmla_lane90v4sf (rtx, rtx, rtx, rtx, rtx);
  9352. extern rtx gen_aarch64_fcmla_lane180v4sf (rtx, rtx, rtx, rtx, rtx);
  9353. extern rtx gen_aarch64_fcmla_lane270v4sf (rtx, rtx, rtx, rtx, rtx);
  9354. extern rtx gen_aarch64_fcmla_lane0v2df (rtx, rtx, rtx, rtx, rtx);
  9355. extern rtx gen_aarch64_fcmla_lane90v2df (rtx, rtx, rtx, rtx, rtx);
  9356. extern rtx gen_aarch64_fcmla_lane180v2df (rtx, rtx, rtx, rtx, rtx);
  9357. extern rtx gen_aarch64_fcmla_lane270v2df (rtx, rtx, rtx, rtx, rtx);
  9358. extern rtx gen_aarch64_fcmla_laneq0v4hf (rtx, rtx, rtx, rtx, rtx);
  9359. extern rtx gen_aarch64_fcmla_laneq90v4hf (rtx, rtx, rtx, rtx, rtx);
  9360. extern rtx gen_aarch64_fcmla_laneq180v4hf (rtx, rtx, rtx, rtx, rtx);
  9361. extern rtx gen_aarch64_fcmla_laneq270v4hf (rtx, rtx, rtx, rtx, rtx);
  9362. extern rtx gen_aarch64_fcmlaq_lane0v8hf (rtx, rtx, rtx, rtx, rtx);
  9363. extern rtx gen_aarch64_fcmlaq_lane90v8hf (rtx, rtx, rtx, rtx, rtx);
  9364. extern rtx gen_aarch64_fcmlaq_lane180v8hf (rtx, rtx, rtx, rtx, rtx);
  9365. extern rtx gen_aarch64_fcmlaq_lane270v8hf (rtx, rtx, rtx, rtx, rtx);
  9366. extern rtx gen_aarch64_fcmlaq_lane0v4sf (rtx, rtx, rtx, rtx, rtx);
  9367. extern rtx gen_aarch64_fcmlaq_lane90v4sf (rtx, rtx, rtx, rtx, rtx);
  9368. extern rtx gen_aarch64_fcmlaq_lane180v4sf (rtx, rtx, rtx, rtx, rtx);
  9369. extern rtx gen_aarch64_fcmlaq_lane270v4sf (rtx, rtx, rtx, rtx, rtx);
  9370. extern rtx gen_aarch64_sdotv8qi (rtx, rtx, rtx, rtx);
  9371. extern rtx gen_aarch64_udotv8qi (rtx, rtx, rtx, rtx);
  9372. extern rtx gen_aarch64_sdotv16qi (rtx, rtx, rtx, rtx);
  9373. extern rtx gen_aarch64_udotv16qi (rtx, rtx, rtx, rtx);
  9374. extern rtx gen_aarch64_usdotv8qi (rtx, rtx, rtx, rtx);
  9375. extern rtx gen_aarch64_usdotv16qi (rtx, rtx, rtx, rtx);
  9376. extern rtx gen_aarch64_sdot_lanev8qi (rtx, rtx, rtx, rtx, rtx);
  9377. extern rtx gen_aarch64_udot_lanev8qi (rtx, rtx, rtx, rtx, rtx);
  9378. extern rtx gen_aarch64_sdot_lanev16qi (rtx, rtx, rtx, rtx, rtx);
  9379. extern rtx gen_aarch64_udot_lanev16qi (rtx, rtx, rtx, rtx, rtx);
  9380. extern rtx gen_aarch64_sdot_laneqv8qi (rtx, rtx, rtx, rtx, rtx);
  9381. extern rtx gen_aarch64_udot_laneqv8qi (rtx, rtx, rtx, rtx, rtx);
  9382. extern rtx gen_aarch64_sdot_laneqv16qi (rtx, rtx, rtx, rtx, rtx);
  9383. extern rtx gen_aarch64_udot_laneqv16qi (rtx, rtx, rtx, rtx, rtx);
  9384. extern rtx gen_aarch64_usdot_lanev8qi (rtx, rtx, rtx, rtx, rtx);
  9385. extern rtx gen_aarch64_sudot_lanev8qi (rtx, rtx, rtx, rtx, rtx);
  9386. extern rtx gen_aarch64_usdot_lanev16qi (rtx, rtx, rtx, rtx, rtx);
  9387. extern rtx gen_aarch64_sudot_lanev16qi (rtx, rtx, rtx, rtx, rtx);
  9388. extern rtx gen_aarch64_usdot_laneqv8qi (rtx, rtx, rtx, rtx, rtx);
  9389. extern rtx gen_aarch64_sudot_laneqv8qi (rtx, rtx, rtx, rtx, rtx);
  9390. extern rtx gen_aarch64_usdot_laneqv16qi (rtx, rtx, rtx, rtx, rtx);
  9391. extern rtx gen_aarch64_sudot_laneqv16qi (rtx, rtx, rtx, rtx, rtx);
  9392. extern rtx gen_aarch64_rsqrtev4hf (rtx, rtx);
  9393. extern rtx gen_aarch64_rsqrtev8hf (rtx, rtx);
  9394. extern rtx gen_aarch64_rsqrtev2sf (rtx, rtx);
  9395. extern rtx gen_aarch64_rsqrtev4sf (rtx, rtx);
  9396. extern rtx gen_aarch64_rsqrtev2df (rtx, rtx);
  9397. extern rtx gen_aarch64_rsqrtehf (rtx, rtx);
  9398. extern rtx gen_aarch64_rsqrtesf (rtx, rtx);
  9399. extern rtx gen_aarch64_rsqrtedf (rtx, rtx);
  9400. extern rtx gen_aarch64_rsqrtsv4hf (rtx, rtx, rtx);
  9401. extern rtx gen_aarch64_rsqrtsv8hf (rtx, rtx, rtx);
  9402. extern rtx gen_aarch64_rsqrtsv2sf (rtx, rtx, rtx);
  9403. extern rtx gen_aarch64_rsqrtsv4sf (rtx, rtx, rtx);
  9404. extern rtx gen_aarch64_rsqrtsv2df (rtx, rtx, rtx);
  9405. extern rtx gen_aarch64_rsqrtshf (rtx, rtx, rtx);
  9406. extern rtx gen_aarch64_rsqrtssf (rtx, rtx, rtx);
  9407. extern rtx gen_aarch64_rsqrtsdf (rtx, rtx, rtx);
  9408. extern rtx gen_negv8qi2 (rtx, rtx);
  9409. extern rtx gen_negv16qi2 (rtx, rtx);
  9410. extern rtx gen_negv4hi2 (rtx, rtx);
  9411. extern rtx gen_negv8hi2 (rtx, rtx);
  9412. extern rtx gen_negv2si2 (rtx, rtx);
  9413. extern rtx gen_negv4si2 (rtx, rtx);
  9414. extern rtx gen_negv2di2 (rtx, rtx);
  9415. extern rtx gen_absv8qi2 (rtx, rtx);
  9416. extern rtx gen_absv16qi2 (rtx, rtx);
  9417. extern rtx gen_absv4hi2 (rtx, rtx);
  9418. extern rtx gen_absv8hi2 (rtx, rtx);
  9419. extern rtx gen_absv2si2 (rtx, rtx);
  9420. extern rtx gen_absv4si2 (rtx, rtx);
  9421. extern rtx gen_absv2di2 (rtx, rtx);
  9422. extern rtx gen_aarch64_absv8qi (rtx, rtx);
  9423. extern rtx gen_aarch64_absv16qi (rtx, rtx);
  9424. extern rtx gen_aarch64_absv4hi (rtx, rtx);
  9425. extern rtx gen_aarch64_absv8hi (rtx, rtx);
  9426. extern rtx gen_aarch64_absv2si (rtx, rtx);
  9427. extern rtx gen_aarch64_absv4si (rtx, rtx);
  9428. extern rtx gen_aarch64_absv2di (rtx, rtx);
  9429. extern rtx gen_aarch64_absdi (rtx, rtx);
  9430. extern rtx gen_aarch64_sabdv8qi_3 (rtx, rtx, rtx);
  9431. extern rtx gen_aarch64_uabdv8qi_3 (rtx, rtx, rtx);
  9432. extern rtx gen_aarch64_sabdv16qi_3 (rtx, rtx, rtx);
  9433. extern rtx gen_aarch64_uabdv16qi_3 (rtx, rtx, rtx);
  9434. extern rtx gen_aarch64_sabdv4hi_3 (rtx, rtx, rtx);
  9435. extern rtx gen_aarch64_uabdv4hi_3 (rtx, rtx, rtx);
  9436. extern rtx gen_aarch64_sabdv8hi_3 (rtx, rtx, rtx);
  9437. extern rtx gen_aarch64_uabdv8hi_3 (rtx, rtx, rtx);
  9438. extern rtx gen_aarch64_sabdv2si_3 (rtx, rtx, rtx);
  9439. extern rtx gen_aarch64_uabdv2si_3 (rtx, rtx, rtx);
  9440. extern rtx gen_aarch64_sabdv4si_3 (rtx, rtx, rtx);
  9441. extern rtx gen_aarch64_uabdv4si_3 (rtx, rtx, rtx);
  9442. extern rtx gen_aarch64_sabdl2v8qi_3 (rtx, rtx, rtx);
  9443. extern rtx gen_aarch64_uabdl2v8qi_3 (rtx, rtx, rtx);
  9444. extern rtx gen_aarch64_sabdl2v16qi_3 (rtx, rtx, rtx);
  9445. extern rtx gen_aarch64_uabdl2v16qi_3 (rtx, rtx, rtx);
  9446. extern rtx gen_aarch64_sabdl2v4hi_3 (rtx, rtx, rtx);
  9447. extern rtx gen_aarch64_uabdl2v4hi_3 (rtx, rtx, rtx);
  9448. extern rtx gen_aarch64_sabdl2v8hi_3 (rtx, rtx, rtx);
  9449. extern rtx gen_aarch64_uabdl2v8hi_3 (rtx, rtx, rtx);
  9450. extern rtx gen_aarch64_sabdl2v4si_3 (rtx, rtx, rtx);
  9451. extern rtx gen_aarch64_uabdl2v4si_3 (rtx, rtx, rtx);
  9452. extern rtx gen_aarch64_sabalv8qi_4 (rtx, rtx, rtx, rtx);
  9453. extern rtx gen_aarch64_uabalv8qi_4 (rtx, rtx, rtx, rtx);
  9454. extern rtx gen_aarch64_sabalv16qi_4 (rtx, rtx, rtx, rtx);
  9455. extern rtx gen_aarch64_uabalv16qi_4 (rtx, rtx, rtx, rtx);
  9456. extern rtx gen_aarch64_sabalv4hi_4 (rtx, rtx, rtx, rtx);
  9457. extern rtx gen_aarch64_uabalv4hi_4 (rtx, rtx, rtx, rtx);
  9458. extern rtx gen_aarch64_sabalv8hi_4 (rtx, rtx, rtx, rtx);
  9459. extern rtx gen_aarch64_uabalv8hi_4 (rtx, rtx, rtx, rtx);
  9460. extern rtx gen_aarch64_sabalv4si_4 (rtx, rtx, rtx, rtx);
  9461. extern rtx gen_aarch64_uabalv4si_4 (rtx, rtx, rtx, rtx);
  9462. extern rtx gen_aarch64_sadalpv8qi_3 (rtx, rtx, rtx);
  9463. extern rtx gen_aarch64_uadalpv8qi_3 (rtx, rtx, rtx);
  9464. extern rtx gen_aarch64_sadalpv16qi_3 (rtx, rtx, rtx);
  9465. extern rtx gen_aarch64_uadalpv16qi_3 (rtx, rtx, rtx);
  9466. extern rtx gen_aarch64_sadalpv4hi_3 (rtx, rtx, rtx);
  9467. extern rtx gen_aarch64_uadalpv4hi_3 (rtx, rtx, rtx);
  9468. extern rtx gen_aarch64_sadalpv8hi_3 (rtx, rtx, rtx);
  9469. extern rtx gen_aarch64_uadalpv8hi_3 (rtx, rtx, rtx);
  9470. extern rtx gen_aarch64_sadalpv4si_3 (rtx, rtx, rtx);
  9471. extern rtx gen_aarch64_uadalpv4si_3 (rtx, rtx, rtx);
  9472. extern rtx gen_abav8qi_3 (rtx, rtx, rtx, rtx);
  9473. extern rtx gen_abav16qi_3 (rtx, rtx, rtx, rtx);
  9474. extern rtx gen_abav4hi_3 (rtx, rtx, rtx, rtx);
  9475. extern rtx gen_abav8hi_3 (rtx, rtx, rtx, rtx);
  9476. extern rtx gen_abav2si_3 (rtx, rtx, rtx, rtx);
  9477. extern rtx gen_abav4si_3 (rtx, rtx, rtx, rtx);
  9478. extern rtx gen_fabdv4hf3 (rtx, rtx, rtx);
  9479. extern rtx gen_fabdv8hf3 (rtx, rtx, rtx);
  9480. extern rtx gen_fabdv2sf3 (rtx, rtx, rtx);
  9481. extern rtx gen_fabdv4sf3 (rtx, rtx, rtx);
  9482. extern rtx gen_fabdv2df3 (rtx, rtx, rtx);
  9483. extern rtx gen_fabdhf3 (rtx, rtx, rtx);
  9484. extern rtx gen_fabdsf3 (rtx, rtx, rtx);
  9485. extern rtx gen_fabddf3 (rtx, rtx, rtx);
  9486. extern rtx gen_andv8qi3 (rtx, rtx, rtx);
  9487. extern rtx gen_andv16qi3 (rtx, rtx, rtx);
  9488. extern rtx gen_andv4hi3 (rtx, rtx, rtx);
  9489. extern rtx gen_andv8hi3 (rtx, rtx, rtx);
  9490. extern rtx gen_andv2si3 (rtx, rtx, rtx);
  9491. extern rtx gen_andv4si3 (rtx, rtx, rtx);
  9492. extern rtx gen_andv2di3 (rtx, rtx, rtx);
  9493. extern rtx gen_iorv8qi3 (rtx, rtx, rtx);
  9494. extern rtx gen_iorv16qi3 (rtx, rtx, rtx);
  9495. extern rtx gen_iorv4hi3 (rtx, rtx, rtx);
  9496. extern rtx gen_iorv8hi3 (rtx, rtx, rtx);
  9497. extern rtx gen_iorv2si3 (rtx, rtx, rtx);
  9498. extern rtx gen_iorv4si3 (rtx, rtx, rtx);
  9499. extern rtx gen_iorv2di3 (rtx, rtx, rtx);
  9500. extern rtx gen_xorv8qi3 (rtx, rtx, rtx);
  9501. extern rtx gen_xorv16qi3 (rtx, rtx, rtx);
  9502. extern rtx gen_xorv4hi3 (rtx, rtx, rtx);
  9503. extern rtx gen_xorv8hi3 (rtx, rtx, rtx);
  9504. extern rtx gen_xorv2si3 (rtx, rtx, rtx);
  9505. extern rtx gen_xorv4si3 (rtx, rtx, rtx);
  9506. extern rtx gen_xorv2di3 (rtx, rtx, rtx);
  9507. extern rtx gen_one_cmplv8qi2 (rtx, rtx);
  9508. extern rtx gen_one_cmplv16qi2 (rtx, rtx);
  9509. extern rtx gen_one_cmplv4hi2 (rtx, rtx);
  9510. extern rtx gen_one_cmplv8hi2 (rtx, rtx);
  9511. extern rtx gen_one_cmplv2si2 (rtx, rtx);
  9512. extern rtx gen_one_cmplv4si2 (rtx, rtx);
  9513. extern rtx gen_one_cmplv2di2 (rtx, rtx);
  9514. extern rtx gen_aarch64_simd_vec_setv8qi (rtx, rtx, rtx, rtx);
  9515. extern rtx gen_aarch64_simd_vec_setv16qi (rtx, rtx, rtx, rtx);
  9516. extern rtx gen_aarch64_simd_vec_setv4hi (rtx, rtx, rtx, rtx);
  9517. extern rtx gen_aarch64_simd_vec_setv8hi (rtx, rtx, rtx, rtx);
  9518. extern rtx gen_aarch64_simd_vec_setv2si (rtx, rtx, rtx, rtx);
  9519. extern rtx gen_aarch64_simd_vec_setv4si (rtx, rtx, rtx, rtx);
  9520. extern rtx gen_aarch64_simd_vec_setv2di (rtx, rtx, rtx, rtx);
  9521. extern rtx gen_aarch64_simd_vec_setv4hf (rtx, rtx, rtx, rtx);
  9522. extern rtx gen_aarch64_simd_vec_setv8hf (rtx, rtx, rtx, rtx);
  9523. extern rtx gen_aarch64_simd_vec_setv4bf (rtx, rtx, rtx, rtx);
  9524. extern rtx gen_aarch64_simd_vec_setv8bf (rtx, rtx, rtx, rtx);
  9525. extern rtx gen_aarch64_simd_vec_setv2sf (rtx, rtx, rtx, rtx);
  9526. extern rtx gen_aarch64_simd_vec_setv4sf (rtx, rtx, rtx, rtx);
  9527. extern rtx gen_aarch64_simd_vec_setv2df (rtx, rtx, rtx, rtx);
  9528. extern rtx gen_aarch64_simd_lshrv8qi (rtx, rtx, rtx);
  9529. extern rtx gen_aarch64_simd_lshrv16qi (rtx, rtx, rtx);
  9530. extern rtx gen_aarch64_simd_lshrv4hi (rtx, rtx, rtx);
  9531. extern rtx gen_aarch64_simd_lshrv8hi (rtx, rtx, rtx);
  9532. extern rtx gen_aarch64_simd_lshrv2si (rtx, rtx, rtx);
  9533. extern rtx gen_aarch64_simd_lshrv4si (rtx, rtx, rtx);
  9534. extern rtx gen_aarch64_simd_lshrv2di (rtx, rtx, rtx);
  9535. extern rtx gen_aarch64_simd_ashrv8qi (rtx, rtx, rtx);
  9536. extern rtx gen_aarch64_simd_ashrv16qi (rtx, rtx, rtx);
  9537. extern rtx gen_aarch64_simd_ashrv4hi (rtx, rtx, rtx);
  9538. extern rtx gen_aarch64_simd_ashrv8hi (rtx, rtx, rtx);
  9539. extern rtx gen_aarch64_simd_ashrv2si (rtx, rtx, rtx);
  9540. extern rtx gen_aarch64_simd_ashrv4si (rtx, rtx, rtx);
  9541. extern rtx gen_aarch64_simd_ashrv2di (rtx, rtx, rtx);
  9542. extern rtx gen_aarch64_simd_imm_shlv8qi (rtx, rtx, rtx);
  9543. extern rtx gen_aarch64_simd_imm_shlv16qi (rtx, rtx, rtx);
  9544. extern rtx gen_aarch64_simd_imm_shlv4hi (rtx, rtx, rtx);
  9545. extern rtx gen_aarch64_simd_imm_shlv8hi (rtx, rtx, rtx);
  9546. extern rtx gen_aarch64_simd_imm_shlv2si (rtx, rtx, rtx);
  9547. extern rtx gen_aarch64_simd_imm_shlv4si (rtx, rtx, rtx);
  9548. extern rtx gen_aarch64_simd_imm_shlv2di (rtx, rtx, rtx);
  9549. extern rtx gen_aarch64_simd_reg_sshlv8qi (rtx, rtx, rtx);
  9550. extern rtx gen_aarch64_simd_reg_sshlv16qi (rtx, rtx, rtx);
  9551. extern rtx gen_aarch64_simd_reg_sshlv4hi (rtx, rtx, rtx);
  9552. extern rtx gen_aarch64_simd_reg_sshlv8hi (rtx, rtx, rtx);
  9553. extern rtx gen_aarch64_simd_reg_sshlv2si (rtx, rtx, rtx);
  9554. extern rtx gen_aarch64_simd_reg_sshlv4si (rtx, rtx, rtx);
  9555. extern rtx gen_aarch64_simd_reg_sshlv2di (rtx, rtx, rtx);
  9556. extern rtx gen_aarch64_simd_reg_shlv8qi_unsigned (rtx, rtx, rtx);
  9557. extern rtx gen_aarch64_simd_reg_shlv16qi_unsigned (rtx, rtx, rtx);
  9558. extern rtx gen_aarch64_simd_reg_shlv4hi_unsigned (rtx, rtx, rtx);
  9559. extern rtx gen_aarch64_simd_reg_shlv8hi_unsigned (rtx, rtx, rtx);
  9560. extern rtx gen_aarch64_simd_reg_shlv2si_unsigned (rtx, rtx, rtx);
  9561. extern rtx gen_aarch64_simd_reg_shlv4si_unsigned (rtx, rtx, rtx);
  9562. extern rtx gen_aarch64_simd_reg_shlv2di_unsigned (rtx, rtx, rtx);
  9563. extern rtx gen_aarch64_simd_reg_shlv8qi_signed (rtx, rtx, rtx);
  9564. extern rtx gen_aarch64_simd_reg_shlv16qi_signed (rtx, rtx, rtx);
  9565. extern rtx gen_aarch64_simd_reg_shlv4hi_signed (rtx, rtx, rtx);
  9566. extern rtx gen_aarch64_simd_reg_shlv8hi_signed (rtx, rtx, rtx);
  9567. extern rtx gen_aarch64_simd_reg_shlv2si_signed (rtx, rtx, rtx);
  9568. extern rtx gen_aarch64_simd_reg_shlv4si_signed (rtx, rtx, rtx);
  9569. extern rtx gen_aarch64_simd_reg_shlv2di_signed (rtx, rtx, rtx);
  9570. extern rtx gen_vec_shr_v8qi (rtx, rtx, rtx);
  9571. extern rtx gen_vec_shr_v4hi (rtx, rtx, rtx);
  9572. extern rtx gen_vec_shr_v4hf (rtx, rtx, rtx);
  9573. extern rtx gen_vec_shr_v2si (rtx, rtx, rtx);
  9574. extern rtx gen_vec_shr_v2sf (rtx, rtx, rtx);
  9575. extern rtx gen_vec_shr_v4bf (rtx, rtx, rtx);
  9576. extern rtx gen_aarch64_mlav8qi (rtx, rtx, rtx, rtx);
  9577. extern rtx gen_aarch64_mlav16qi (rtx, rtx, rtx, rtx);
  9578. extern rtx gen_aarch64_mlav4hi (rtx, rtx, rtx, rtx);
  9579. extern rtx gen_aarch64_mlav8hi (rtx, rtx, rtx, rtx);
  9580. extern rtx gen_aarch64_mlav2si (rtx, rtx, rtx, rtx);
  9581. extern rtx gen_aarch64_mlav4si (rtx, rtx, rtx, rtx);
  9582. extern rtx gen_aarch64_mlsv8qi (rtx, rtx, rtx, rtx);
  9583. extern rtx gen_aarch64_mlsv16qi (rtx, rtx, rtx, rtx);
  9584. extern rtx gen_aarch64_mlsv4hi (rtx, rtx, rtx, rtx);
  9585. extern rtx gen_aarch64_mlsv8hi (rtx, rtx, rtx, rtx);
  9586. extern rtx gen_aarch64_mlsv2si (rtx, rtx, rtx, rtx);
  9587. extern rtx gen_aarch64_mlsv4si (rtx, rtx, rtx, rtx);
  9588. extern rtx gen_smaxv8qi3 (rtx, rtx, rtx);
  9589. extern rtx gen_sminv8qi3 (rtx, rtx, rtx);
  9590. extern rtx gen_umaxv8qi3 (rtx, rtx, rtx);
  9591. extern rtx gen_uminv8qi3 (rtx, rtx, rtx);
  9592. extern rtx gen_smaxv16qi3 (rtx, rtx, rtx);
  9593. extern rtx gen_sminv16qi3 (rtx, rtx, rtx);
  9594. extern rtx gen_umaxv16qi3 (rtx, rtx, rtx);
  9595. extern rtx gen_uminv16qi3 (rtx, rtx, rtx);
  9596. extern rtx gen_smaxv4hi3 (rtx, rtx, rtx);
  9597. extern rtx gen_sminv4hi3 (rtx, rtx, rtx);
  9598. extern rtx gen_umaxv4hi3 (rtx, rtx, rtx);
  9599. extern rtx gen_uminv4hi3 (rtx, rtx, rtx);
  9600. extern rtx gen_smaxv8hi3 (rtx, rtx, rtx);
  9601. extern rtx gen_sminv8hi3 (rtx, rtx, rtx);
  9602. extern rtx gen_umaxv8hi3 (rtx, rtx, rtx);
  9603. extern rtx gen_uminv8hi3 (rtx, rtx, rtx);
  9604. extern rtx gen_smaxv2si3 (rtx, rtx, rtx);
  9605. extern rtx gen_sminv2si3 (rtx, rtx, rtx);
  9606. extern rtx gen_umaxv2si3 (rtx, rtx, rtx);
  9607. extern rtx gen_uminv2si3 (rtx, rtx, rtx);
  9608. extern rtx gen_smaxv4si3 (rtx, rtx, rtx);
  9609. extern rtx gen_sminv4si3 (rtx, rtx, rtx);
  9610. extern rtx gen_umaxv4si3 (rtx, rtx, rtx);
  9611. extern rtx gen_uminv4si3 (rtx, rtx, rtx);
  9612. extern rtx gen_aarch64_umaxpv8qi (rtx, rtx, rtx);
  9613. extern rtx gen_aarch64_uminpv8qi (rtx, rtx, rtx);
  9614. extern rtx gen_aarch64_smaxpv8qi (rtx, rtx, rtx);
  9615. extern rtx gen_aarch64_sminpv8qi (rtx, rtx, rtx);
  9616. extern rtx gen_aarch64_umaxpv16qi (rtx, rtx, rtx);
  9617. extern rtx gen_aarch64_uminpv16qi (rtx, rtx, rtx);
  9618. extern rtx gen_aarch64_smaxpv16qi (rtx, rtx, rtx);
  9619. extern rtx gen_aarch64_sminpv16qi (rtx, rtx, rtx);
  9620. extern rtx gen_aarch64_umaxpv4hi (rtx, rtx, rtx);
  9621. extern rtx gen_aarch64_uminpv4hi (rtx, rtx, rtx);
  9622. extern rtx gen_aarch64_smaxpv4hi (rtx, rtx, rtx);
  9623. extern rtx gen_aarch64_sminpv4hi (rtx, rtx, rtx);
  9624. extern rtx gen_aarch64_umaxpv8hi (rtx, rtx, rtx);
  9625. extern rtx gen_aarch64_uminpv8hi (rtx, rtx, rtx);
  9626. extern rtx gen_aarch64_smaxpv8hi (rtx, rtx, rtx);
  9627. extern rtx gen_aarch64_sminpv8hi (rtx, rtx, rtx);
  9628. extern rtx gen_aarch64_umaxpv2si (rtx, rtx, rtx);
  9629. extern rtx gen_aarch64_uminpv2si (rtx, rtx, rtx);
  9630. extern rtx gen_aarch64_smaxpv2si (rtx, rtx, rtx);
  9631. extern rtx gen_aarch64_sminpv2si (rtx, rtx, rtx);
  9632. extern rtx gen_aarch64_umaxpv4si (rtx, rtx, rtx);
  9633. extern rtx gen_aarch64_uminpv4si (rtx, rtx, rtx);
  9634. extern rtx gen_aarch64_smaxpv4si (rtx, rtx, rtx);
  9635. extern rtx gen_aarch64_sminpv4si (rtx, rtx, rtx);
  9636. extern rtx gen_aarch64_smax_nanpv4hf (rtx, rtx, rtx);
  9637. extern rtx gen_aarch64_smin_nanpv4hf (rtx, rtx, rtx);
  9638. extern rtx gen_aarch64_smaxpv4hf (rtx, rtx, rtx);
  9639. extern rtx gen_aarch64_sminpv4hf (rtx, rtx, rtx);
  9640. extern rtx gen_aarch64_smax_nanpv8hf (rtx, rtx, rtx);
  9641. extern rtx gen_aarch64_smin_nanpv8hf (rtx, rtx, rtx);
  9642. extern rtx gen_aarch64_smaxpv8hf (rtx, rtx, rtx);
  9643. extern rtx gen_aarch64_sminpv8hf (rtx, rtx, rtx);
  9644. extern rtx gen_aarch64_smax_nanpv2sf (rtx, rtx, rtx);
  9645. extern rtx gen_aarch64_smin_nanpv2sf (rtx, rtx, rtx);
  9646. extern rtx gen_aarch64_smaxpv2sf (rtx, rtx, rtx);
  9647. extern rtx gen_aarch64_sminpv2sf (rtx, rtx, rtx);
  9648. extern rtx gen_aarch64_smax_nanpv4sf (rtx, rtx, rtx);
  9649. extern rtx gen_aarch64_smin_nanpv4sf (rtx, rtx, rtx);
  9650. extern rtx gen_aarch64_smaxpv4sf (rtx, rtx, rtx);
  9651. extern rtx gen_aarch64_sminpv4sf (rtx, rtx, rtx);
  9652. extern rtx gen_aarch64_smax_nanpv2df (rtx, rtx, rtx);
  9653. extern rtx gen_aarch64_smin_nanpv2df (rtx, rtx, rtx);
  9654. extern rtx gen_aarch64_smaxpv2df (rtx, rtx, rtx);
  9655. extern rtx gen_aarch64_sminpv2df (rtx, rtx, rtx);
  9656. extern rtx gen_move_lo_quad_internal_v16qi (rtx, rtx, rtx);
  9657. extern rtx gen_move_lo_quad_internal_v8hi (rtx, rtx, rtx);
  9658. extern rtx gen_move_lo_quad_internal_v4si (rtx, rtx, rtx);
  9659. extern rtx gen_move_lo_quad_internal_v2di (rtx, rtx, rtx);
  9660. extern rtx gen_move_lo_quad_internal_v8hf (rtx, rtx, rtx);
  9661. extern rtx gen_move_lo_quad_internal_v8bf (rtx, rtx, rtx);
  9662. extern rtx gen_move_lo_quad_internal_v4sf (rtx, rtx, rtx);
  9663. extern rtx gen_move_lo_quad_internal_v2df (rtx, rtx, rtx);
  9664. extern rtx gen_move_lo_quad_internal_be_v16qi (rtx, rtx, rtx);
  9665. extern rtx gen_move_lo_quad_internal_be_v8hi (rtx, rtx, rtx);
  9666. extern rtx gen_move_lo_quad_internal_be_v4si (rtx, rtx, rtx);
  9667. extern rtx gen_move_lo_quad_internal_be_v2di (rtx, rtx, rtx);
  9668. extern rtx gen_move_lo_quad_internal_be_v8hf (rtx, rtx, rtx);
  9669. extern rtx gen_move_lo_quad_internal_be_v8bf (rtx, rtx, rtx);
  9670. extern rtx gen_move_lo_quad_internal_be_v4sf (rtx, rtx, rtx);
  9671. extern rtx gen_move_lo_quad_internal_be_v2df (rtx, rtx, rtx);
  9672. extern rtx gen_aarch64_simd_move_hi_quad_v16qi (rtx, rtx, rtx);
  9673. extern rtx gen_aarch64_simd_move_hi_quad_v8hi (rtx, rtx, rtx);
  9674. extern rtx gen_aarch64_simd_move_hi_quad_v4si (rtx, rtx, rtx);
  9675. extern rtx gen_aarch64_simd_move_hi_quad_v2di (rtx, rtx, rtx);
  9676. extern rtx gen_aarch64_simd_move_hi_quad_v8hf (rtx, rtx, rtx);
  9677. extern rtx gen_aarch64_simd_move_hi_quad_v8bf (rtx, rtx, rtx);
  9678. extern rtx gen_aarch64_simd_move_hi_quad_v4sf (rtx, rtx, rtx);
  9679. extern rtx gen_aarch64_simd_move_hi_quad_v2df (rtx, rtx, rtx);
  9680. extern rtx gen_aarch64_simd_move_hi_quad_be_v16qi (rtx, rtx, rtx);
  9681. extern rtx gen_aarch64_simd_move_hi_quad_be_v8hi (rtx, rtx, rtx);
  9682. extern rtx gen_aarch64_simd_move_hi_quad_be_v4si (rtx, rtx, rtx);
  9683. extern rtx gen_aarch64_simd_move_hi_quad_be_v2di (rtx, rtx, rtx);
  9684. extern rtx gen_aarch64_simd_move_hi_quad_be_v8hf (rtx, rtx, rtx);
  9685. extern rtx gen_aarch64_simd_move_hi_quad_be_v8bf (rtx, rtx, rtx);
  9686. extern rtx gen_aarch64_simd_move_hi_quad_be_v4sf (rtx, rtx, rtx);
  9687. extern rtx gen_aarch64_simd_move_hi_quad_be_v2df (rtx, rtx, rtx);
  9688. extern rtx gen_aarch64_simd_vec_pack_trunc_v8hi (rtx, rtx);
  9689. extern rtx gen_aarch64_simd_vec_pack_trunc_v4si (rtx, rtx);
  9690. extern rtx gen_aarch64_simd_vec_pack_trunc_v2di (rtx, rtx);
  9691. extern rtx gen_vec_pack_trunc_v8hi (rtx, rtx, rtx);
  9692. extern rtx gen_vec_pack_trunc_v4si (rtx, rtx, rtx);
  9693. extern rtx gen_vec_pack_trunc_v2di (rtx, rtx, rtx);
  9694. extern rtx gen_aarch64_simd_vec_unpacks_lo_v16qi (rtx, rtx, rtx);
  9695. extern rtx gen_aarch64_simd_vec_unpacku_lo_v16qi (rtx, rtx, rtx);
  9696. extern rtx gen_aarch64_simd_vec_unpacks_lo_v8hi (rtx, rtx, rtx);
  9697. extern rtx gen_aarch64_simd_vec_unpacku_lo_v8hi (rtx, rtx, rtx);
  9698. extern rtx gen_aarch64_simd_vec_unpacks_lo_v4si (rtx, rtx, rtx);
  9699. extern rtx gen_aarch64_simd_vec_unpacku_lo_v4si (rtx, rtx, rtx);
  9700. extern rtx gen_aarch64_simd_vec_unpacks_hi_v16qi (rtx, rtx, rtx);
  9701. extern rtx gen_aarch64_simd_vec_unpacku_hi_v16qi (rtx, rtx, rtx);
  9702. extern rtx gen_aarch64_simd_vec_unpacks_hi_v8hi (rtx, rtx, rtx);
  9703. extern rtx gen_aarch64_simd_vec_unpacku_hi_v8hi (rtx, rtx, rtx);
  9704. extern rtx gen_aarch64_simd_vec_unpacks_hi_v4si (rtx, rtx, rtx);
  9705. extern rtx gen_aarch64_simd_vec_unpacku_hi_v4si (rtx, rtx, rtx);
  9706. extern rtx gen_aarch64_simd_vec_smult_lo_v16qi (rtx, rtx, rtx, rtx);
  9707. extern rtx gen_aarch64_simd_vec_umult_lo_v16qi (rtx, rtx, rtx, rtx);
  9708. extern rtx gen_aarch64_simd_vec_smult_lo_v8hi (rtx, rtx, rtx, rtx);
  9709. extern rtx gen_aarch64_simd_vec_umult_lo_v8hi (rtx, rtx, rtx, rtx);
  9710. extern rtx gen_aarch64_simd_vec_smult_lo_v4si (rtx, rtx, rtx, rtx);
  9711. extern rtx gen_aarch64_simd_vec_umult_lo_v4si (rtx, rtx, rtx, rtx);
  9712. extern rtx gen_aarch64_intrinsic_vec_smult_lo_v8qi (rtx, rtx, rtx);
  9713. extern rtx gen_aarch64_intrinsic_vec_umult_lo_v8qi (rtx, rtx, rtx);
  9714. extern rtx gen_aarch64_intrinsic_vec_smult_lo_v4hi (rtx, rtx, rtx);
  9715. extern rtx gen_aarch64_intrinsic_vec_umult_lo_v4hi (rtx, rtx, rtx);
  9716. extern rtx gen_aarch64_intrinsic_vec_smult_lo_v2si (rtx, rtx, rtx);
  9717. extern rtx gen_aarch64_intrinsic_vec_umult_lo_v2si (rtx, rtx, rtx);
  9718. extern rtx gen_aarch64_simd_vec_smult_hi_v16qi (rtx, rtx, rtx, rtx);
  9719. extern rtx gen_aarch64_simd_vec_umult_hi_v16qi (rtx, rtx, rtx, rtx);
  9720. extern rtx gen_aarch64_simd_vec_smult_hi_v8hi (rtx, rtx, rtx, rtx);
  9721. extern rtx gen_aarch64_simd_vec_umult_hi_v8hi (rtx, rtx, rtx, rtx);
  9722. extern rtx gen_aarch64_simd_vec_smult_hi_v4si (rtx, rtx, rtx, rtx);
  9723. extern rtx gen_aarch64_simd_vec_umult_hi_v4si (rtx, rtx, rtx, rtx);
  9724. extern rtx gen_aarch64_vec_smult_lane_v4hi (rtx, rtx, rtx, rtx);
  9725. extern rtx gen_aarch64_vec_umult_lane_v4hi (rtx, rtx, rtx, rtx);
  9726. extern rtx gen_aarch64_vec_smult_laneq_v4hi (rtx, rtx, rtx, rtx);
  9727. extern rtx gen_aarch64_vec_umult_laneq_v4hi (rtx, rtx, rtx, rtx);
  9728. extern rtx gen_aarch64_vec_smult_lane_v2si (rtx, rtx, rtx, rtx);
  9729. extern rtx gen_aarch64_vec_umult_lane_v2si (rtx, rtx, rtx, rtx);
  9730. extern rtx gen_aarch64_vec_smult_laneq_v2si (rtx, rtx, rtx, rtx);
  9731. extern rtx gen_aarch64_vec_umult_laneq_v2si (rtx, rtx, rtx, rtx);
  9732. extern rtx gen_aarch64_vec_smlal_lane_v4hi (rtx, rtx, rtx, rtx, rtx);
  9733. extern rtx gen_aarch64_vec_umlal_lane_v4hi (rtx, rtx, rtx, rtx, rtx);
  9734. extern rtx gen_aarch64_vec_smlal_laneq_v4hi (rtx, rtx, rtx, rtx, rtx);
  9735. extern rtx gen_aarch64_vec_umlal_laneq_v4hi (rtx, rtx, rtx, rtx, rtx);
  9736. extern rtx gen_aarch64_vec_smlal_lane_v2si (rtx, rtx, rtx, rtx, rtx);
  9737. extern rtx gen_aarch64_vec_umlal_lane_v2si (rtx, rtx, rtx, rtx, rtx);
  9738. extern rtx gen_aarch64_vec_smlal_laneq_v2si (rtx, rtx, rtx, rtx, rtx);
  9739. extern rtx gen_aarch64_vec_umlal_laneq_v2si (rtx, rtx, rtx, rtx, rtx);
  9740. extern rtx gen_addv4hf3 (rtx, rtx, rtx);
  9741. extern rtx gen_addv8hf3 (rtx, rtx, rtx);
  9742. extern rtx gen_addv2sf3 (rtx, rtx, rtx);
  9743. extern rtx gen_addv4sf3 (rtx, rtx, rtx);
  9744. extern rtx gen_addv2df3 (rtx, rtx, rtx);
  9745. extern rtx gen_subv4hf3 (rtx, rtx, rtx);
  9746. extern rtx gen_subv8hf3 (rtx, rtx, rtx);
  9747. extern rtx gen_subv2sf3 (rtx, rtx, rtx);
  9748. extern rtx gen_subv4sf3 (rtx, rtx, rtx);
  9749. extern rtx gen_subv2df3 (rtx, rtx, rtx);
  9750. extern rtx gen_mulv4hf3 (rtx, rtx, rtx);
  9751. extern rtx gen_mulv8hf3 (rtx, rtx, rtx);
  9752. extern rtx gen_mulv2sf3 (rtx, rtx, rtx);
  9753. extern rtx gen_mulv4sf3 (rtx, rtx, rtx);
  9754. extern rtx gen_mulv2df3 (rtx, rtx, rtx);
  9755. extern rtx gen_negv4hf2 (rtx, rtx);
  9756. extern rtx gen_negv8hf2 (rtx, rtx);
  9757. extern rtx gen_negv2sf2 (rtx, rtx);
  9758. extern rtx gen_negv4sf2 (rtx, rtx);
  9759. extern rtx gen_negv2df2 (rtx, rtx);
  9760. extern rtx gen_absv4hf2 (rtx, rtx);
  9761. extern rtx gen_absv8hf2 (rtx, rtx);
  9762. extern rtx gen_absv2sf2 (rtx, rtx);
  9763. extern rtx gen_absv4sf2 (rtx, rtx);
  9764. extern rtx gen_absv2df2 (rtx, rtx);
  9765. extern rtx gen_fmav4hf4 (rtx, rtx, rtx, rtx);
  9766. extern rtx gen_fmav8hf4 (rtx, rtx, rtx, rtx);
  9767. extern rtx gen_fmav2sf4 (rtx, rtx, rtx, rtx);
  9768. extern rtx gen_fmav4sf4 (rtx, rtx, rtx, rtx);
  9769. extern rtx gen_fmav2df4 (rtx, rtx, rtx, rtx);
  9770. extern rtx gen_fnmav4hf4 (rtx, rtx, rtx, rtx);
  9771. extern rtx gen_fnmav8hf4 (rtx, rtx, rtx, rtx);
  9772. extern rtx gen_fnmav2sf4 (rtx, rtx, rtx, rtx);
  9773. extern rtx gen_fnmav4sf4 (rtx, rtx, rtx, rtx);
  9774. extern rtx gen_fnmav2df4 (rtx, rtx, rtx, rtx);
  9775. extern rtx gen_btruncv4hf2 (rtx, rtx);
  9776. extern rtx gen_ceilv4hf2 (rtx, rtx);
  9777. extern rtx gen_floorv4hf2 (rtx, rtx);
  9778. extern rtx gen_frintnv4hf2 (rtx, rtx);
  9779. extern rtx gen_nearbyintv4hf2 (rtx, rtx);
  9780. extern rtx gen_rintv4hf2 (rtx, rtx);
  9781. extern rtx gen_roundv4hf2 (rtx, rtx);
  9782. extern rtx gen_btruncv8hf2 (rtx, rtx);
  9783. extern rtx gen_ceilv8hf2 (rtx, rtx);
  9784. extern rtx gen_floorv8hf2 (rtx, rtx);
  9785. extern rtx gen_frintnv8hf2 (rtx, rtx);
  9786. extern rtx gen_nearbyintv8hf2 (rtx, rtx);
  9787. extern rtx gen_rintv8hf2 (rtx, rtx);
  9788. extern rtx gen_roundv8hf2 (rtx, rtx);
  9789. extern rtx gen_btruncv2sf2 (rtx, rtx);
  9790. extern rtx gen_ceilv2sf2 (rtx, rtx);
  9791. extern rtx gen_floorv2sf2 (rtx, rtx);
  9792. extern rtx gen_frintnv2sf2 (rtx, rtx);
  9793. extern rtx gen_nearbyintv2sf2 (rtx, rtx);
  9794. extern rtx gen_rintv2sf2 (rtx, rtx);
  9795. extern rtx gen_roundv2sf2 (rtx, rtx);
  9796. extern rtx gen_btruncv4sf2 (rtx, rtx);
  9797. extern rtx gen_ceilv4sf2 (rtx, rtx);
  9798. extern rtx gen_floorv4sf2 (rtx, rtx);
  9799. extern rtx gen_frintnv4sf2 (rtx, rtx);
  9800. extern rtx gen_nearbyintv4sf2 (rtx, rtx);
  9801. extern rtx gen_rintv4sf2 (rtx, rtx);
  9802. extern rtx gen_roundv4sf2 (rtx, rtx);
  9803. extern rtx gen_btruncv2df2 (rtx, rtx);
  9804. extern rtx gen_ceilv2df2 (rtx, rtx);
  9805. extern rtx gen_floorv2df2 (rtx, rtx);
  9806. extern rtx gen_frintnv2df2 (rtx, rtx);
  9807. extern rtx gen_nearbyintv2df2 (rtx, rtx);
  9808. extern rtx gen_rintv2df2 (rtx, rtx);
  9809. extern rtx gen_roundv2df2 (rtx, rtx);
  9810. extern rtx gen_lbtruncv4hfv4hi2 (rtx, rtx);
  9811. extern rtx gen_lceilv4hfv4hi2 (rtx, rtx);
  9812. extern rtx gen_lfloorv4hfv4hi2 (rtx, rtx);
  9813. extern rtx gen_lroundv4hfv4hi2 (rtx, rtx);
  9814. extern rtx gen_lfrintnv4hfv4hi2 (rtx, rtx);
  9815. extern rtx gen_lbtruncuv4hfv4hi2 (rtx, rtx);
  9816. extern rtx gen_lceiluv4hfv4hi2 (rtx, rtx);
  9817. extern rtx gen_lflooruv4hfv4hi2 (rtx, rtx);
  9818. extern rtx gen_lrounduv4hfv4hi2 (rtx, rtx);
  9819. extern rtx gen_lfrintnuv4hfv4hi2 (rtx, rtx);
  9820. extern rtx gen_lbtruncv8hfv8hi2 (rtx, rtx);
  9821. extern rtx gen_lceilv8hfv8hi2 (rtx, rtx);
  9822. extern rtx gen_lfloorv8hfv8hi2 (rtx, rtx);
  9823. extern rtx gen_lroundv8hfv8hi2 (rtx, rtx);
  9824. extern rtx gen_lfrintnv8hfv8hi2 (rtx, rtx);
  9825. extern rtx gen_lbtruncuv8hfv8hi2 (rtx, rtx);
  9826. extern rtx gen_lceiluv8hfv8hi2 (rtx, rtx);
  9827. extern rtx gen_lflooruv8hfv8hi2 (rtx, rtx);
  9828. extern rtx gen_lrounduv8hfv8hi2 (rtx, rtx);
  9829. extern rtx gen_lfrintnuv8hfv8hi2 (rtx, rtx);
  9830. extern rtx gen_lbtruncv2sfv2si2 (rtx, rtx);
  9831. extern rtx gen_lceilv2sfv2si2 (rtx, rtx);
  9832. extern rtx gen_lfloorv2sfv2si2 (rtx, rtx);
  9833. extern rtx gen_lroundv2sfv2si2 (rtx, rtx);
  9834. extern rtx gen_lfrintnv2sfv2si2 (rtx, rtx);
  9835. extern rtx gen_lbtruncuv2sfv2si2 (rtx, rtx);
  9836. extern rtx gen_lceiluv2sfv2si2 (rtx, rtx);
  9837. extern rtx gen_lflooruv2sfv2si2 (rtx, rtx);
  9838. extern rtx gen_lrounduv2sfv2si2 (rtx, rtx);
  9839. extern rtx gen_lfrintnuv2sfv2si2 (rtx, rtx);
  9840. extern rtx gen_lbtruncv4sfv4si2 (rtx, rtx);
  9841. extern rtx gen_lceilv4sfv4si2 (rtx, rtx);
  9842. extern rtx gen_lfloorv4sfv4si2 (rtx, rtx);
  9843. extern rtx gen_lroundv4sfv4si2 (rtx, rtx);
  9844. extern rtx gen_lfrintnv4sfv4si2 (rtx, rtx);
  9845. extern rtx gen_lbtruncuv4sfv4si2 (rtx, rtx);
  9846. extern rtx gen_lceiluv4sfv4si2 (rtx, rtx);
  9847. extern rtx gen_lflooruv4sfv4si2 (rtx, rtx);
  9848. extern rtx gen_lrounduv4sfv4si2 (rtx, rtx);
  9849. extern rtx gen_lfrintnuv4sfv4si2 (rtx, rtx);
  9850. extern rtx gen_lbtruncv2dfv2di2 (rtx, rtx);
  9851. extern rtx gen_lceilv2dfv2di2 (rtx, rtx);
  9852. extern rtx gen_lfloorv2dfv2di2 (rtx, rtx);
  9853. extern rtx gen_lroundv2dfv2di2 (rtx, rtx);
  9854. extern rtx gen_lfrintnv2dfv2di2 (rtx, rtx);
  9855. extern rtx gen_lbtruncuv2dfv2di2 (rtx, rtx);
  9856. extern rtx gen_lceiluv2dfv2di2 (rtx, rtx);
  9857. extern rtx gen_lflooruv2dfv2di2 (rtx, rtx);
  9858. extern rtx gen_lrounduv2dfv2di2 (rtx, rtx);
  9859. extern rtx gen_lfrintnuv2dfv2di2 (rtx, rtx);
  9860. extern rtx gen_lbtrunchfhi2 (rtx, rtx);
  9861. extern rtx gen_lceilhfhi2 (rtx, rtx);
  9862. extern rtx gen_lfloorhfhi2 (rtx, rtx);
  9863. extern rtx gen_lroundhfhi2 (rtx, rtx);
  9864. extern rtx gen_lfrintnhfhi2 (rtx, rtx);
  9865. extern rtx gen_lbtruncuhfhi2 (rtx, rtx);
  9866. extern rtx gen_lceiluhfhi2 (rtx, rtx);
  9867. extern rtx gen_lflooruhfhi2 (rtx, rtx);
  9868. extern rtx gen_lrounduhfhi2 (rtx, rtx);
  9869. extern rtx gen_lfrintnuhfhi2 (rtx, rtx);
  9870. extern rtx gen_fix_trunchfhi2 (rtx, rtx);
  9871. extern rtx gen_fixuns_trunchfhi2 (rtx, rtx);
  9872. extern rtx gen_floathihf2 (rtx, rtx);
  9873. extern rtx gen_floatunshihf2 (rtx, rtx);
  9874. extern rtx gen_floatv4hiv4hf2 (rtx, rtx);
  9875. extern rtx gen_floatunsv4hiv4hf2 (rtx, rtx);
  9876. extern rtx gen_floatv8hiv8hf2 (rtx, rtx);
  9877. extern rtx gen_floatunsv8hiv8hf2 (rtx, rtx);
  9878. extern rtx gen_floatv2siv2sf2 (rtx, rtx);
  9879. extern rtx gen_floatunsv2siv2sf2 (rtx, rtx);
  9880. extern rtx gen_floatv4siv4sf2 (rtx, rtx);
  9881. extern rtx gen_floatunsv4siv4sf2 (rtx, rtx);
  9882. extern rtx gen_floatv2div2df2 (rtx, rtx);
  9883. extern rtx gen_floatunsv2div2df2 (rtx, rtx);
  9884. extern rtx gen_aarch64_simd_vec_unpacks_lo_v8hf (rtx, rtx, rtx);
  9885. extern rtx gen_aarch64_simd_vec_unpacks_lo_v4sf (rtx, rtx, rtx);
  9886. extern rtx gen_fcvtzsv4hf3 (rtx, rtx, rtx);
  9887. extern rtx gen_fcvtzuv4hf3 (rtx, rtx, rtx);
  9888. extern rtx gen_fcvtzsv8hf3 (rtx, rtx, rtx);
  9889. extern rtx gen_fcvtzuv8hf3 (rtx, rtx, rtx);
  9890. extern rtx gen_fcvtzsv2sf3 (rtx, rtx, rtx);
  9891. extern rtx gen_fcvtzuv2sf3 (rtx, rtx, rtx);
  9892. extern rtx gen_fcvtzsv4sf3 (rtx, rtx, rtx);
  9893. extern rtx gen_fcvtzuv4sf3 (rtx, rtx, rtx);
  9894. extern rtx gen_fcvtzsv2df3 (rtx, rtx, rtx);
  9895. extern rtx gen_fcvtzuv2df3 (rtx, rtx, rtx);
  9896. extern rtx gen_scvtfv4hi3 (rtx, rtx, rtx);
  9897. extern rtx gen_ucvtfv4hi3 (rtx, rtx, rtx);
  9898. extern rtx gen_scvtfv8hi3 (rtx, rtx, rtx);
  9899. extern rtx gen_ucvtfv8hi3 (rtx, rtx, rtx);
  9900. extern rtx gen_scvtfv2si3 (rtx, rtx, rtx);
  9901. extern rtx gen_ucvtfv2si3 (rtx, rtx, rtx);
  9902. extern rtx gen_scvtfv4si3 (rtx, rtx, rtx);
  9903. extern rtx gen_ucvtfv4si3 (rtx, rtx, rtx);
  9904. extern rtx gen_scvtfv2di3 (rtx, rtx, rtx);
  9905. extern rtx gen_ucvtfv2di3 (rtx, rtx, rtx);
  9906. extern rtx gen_aarch64_simd_vec_unpacks_hi_v8hf (rtx, rtx, rtx);
  9907. extern rtx gen_aarch64_simd_vec_unpacks_hi_v4sf (rtx, rtx, rtx);
  9908. extern rtx gen_aarch64_float_extend_lo_v2df (rtx, rtx);
  9909. extern rtx gen_aarch64_float_extend_lo_v4sf (rtx, rtx);
  9910. extern rtx gen_aarch64_float_truncate_lo_v2sf (rtx, rtx);
  9911. extern rtx gen_aarch64_float_truncate_lo_v4hf (rtx, rtx);
  9912. extern rtx gen_aarch64_float_truncate_hi_v4sf_le (rtx, rtx, rtx);
  9913. extern rtx gen_aarch64_float_truncate_hi_v8hf_le (rtx, rtx, rtx);
  9914. extern rtx gen_aarch64_float_truncate_hi_v4sf_be (rtx, rtx, rtx);
  9915. extern rtx gen_aarch64_float_truncate_hi_v8hf_be (rtx, rtx, rtx);
  9916. extern rtx gen_smaxv4hf3 (rtx, rtx, rtx);
  9917. extern rtx gen_sminv4hf3 (rtx, rtx, rtx);
  9918. extern rtx gen_smaxv8hf3 (rtx, rtx, rtx);
  9919. extern rtx gen_sminv8hf3 (rtx, rtx, rtx);
  9920. extern rtx gen_smaxv2sf3 (rtx, rtx, rtx);
  9921. extern rtx gen_sminv2sf3 (rtx, rtx, rtx);
  9922. extern rtx gen_smaxv4sf3 (rtx, rtx, rtx);
  9923. extern rtx gen_sminv4sf3 (rtx, rtx, rtx);
  9924. extern rtx gen_smaxv2df3 (rtx, rtx, rtx);
  9925. extern rtx gen_sminv2df3 (rtx, rtx, rtx);
  9926. extern rtx gen_smax_nanv4hf3 (rtx, rtx, rtx);
  9927. extern rtx gen_smin_nanv4hf3 (rtx, rtx, rtx);
  9928. extern rtx gen_fmaxv4hf3 (rtx, rtx, rtx);
  9929. extern rtx gen_fminv4hf3 (rtx, rtx, rtx);
  9930. extern rtx gen_smax_nanv8hf3 (rtx, rtx, rtx);
  9931. extern rtx gen_smin_nanv8hf3 (rtx, rtx, rtx);
  9932. extern rtx gen_fmaxv8hf3 (rtx, rtx, rtx);
  9933. extern rtx gen_fminv8hf3 (rtx, rtx, rtx);
  9934. extern rtx gen_smax_nanv2sf3 (rtx, rtx, rtx);
  9935. extern rtx gen_smin_nanv2sf3 (rtx, rtx, rtx);
  9936. extern rtx gen_fmaxv2sf3 (rtx, rtx, rtx);
  9937. extern rtx gen_fminv2sf3 (rtx, rtx, rtx);
  9938. extern rtx gen_smax_nanv4sf3 (rtx, rtx, rtx);
  9939. extern rtx gen_smin_nanv4sf3 (rtx, rtx, rtx);
  9940. extern rtx gen_fmaxv4sf3 (rtx, rtx, rtx);
  9941. extern rtx gen_fminv4sf3 (rtx, rtx, rtx);
  9942. extern rtx gen_smax_nanv2df3 (rtx, rtx, rtx);
  9943. extern rtx gen_smin_nanv2df3 (rtx, rtx, rtx);
  9944. extern rtx gen_fmaxv2df3 (rtx, rtx, rtx);
  9945. extern rtx gen_fminv2df3 (rtx, rtx, rtx);
  9946. extern rtx gen_aarch64_faddpv4hf (rtx, rtx, rtx);
  9947. extern rtx gen_aarch64_faddpv8hf (rtx, rtx, rtx);
  9948. extern rtx gen_aarch64_faddpv2sf (rtx, rtx, rtx);
  9949. extern rtx gen_aarch64_faddpv4sf (rtx, rtx, rtx);
  9950. extern rtx gen_aarch64_faddpv2df (rtx, rtx, rtx);
  9951. extern rtx gen_aarch64_reduc_plus_internalv8qi (rtx, rtx);
  9952. extern rtx gen_aarch64_reduc_plus_internalv16qi (rtx, rtx);
  9953. extern rtx gen_aarch64_reduc_plus_internalv4hi (rtx, rtx);
  9954. extern rtx gen_aarch64_reduc_plus_internalv8hi (rtx, rtx);
  9955. extern rtx gen_aarch64_reduc_plus_internalv4si (rtx, rtx);
  9956. extern rtx gen_aarch64_reduc_plus_internalv2di (rtx, rtx);
  9957. extern rtx gen_aarch64_zero_extendsi_reduc_plus_v8qi (rtx, rtx);
  9958. extern rtx gen_aarch64_zero_extenddi_reduc_plus_v8qi (rtx, rtx);
  9959. extern rtx gen_aarch64_zero_extendsi_reduc_plus_v16qi (rtx, rtx);
  9960. extern rtx gen_aarch64_zero_extenddi_reduc_plus_v16qi (rtx, rtx);
  9961. extern rtx gen_aarch64_zero_extendsi_reduc_plus_v4hi (rtx, rtx);
  9962. extern rtx gen_aarch64_zero_extenddi_reduc_plus_v4hi (rtx, rtx);
  9963. extern rtx gen_aarch64_zero_extendsi_reduc_plus_v8hi (rtx, rtx);
  9964. extern rtx gen_aarch64_zero_extenddi_reduc_plus_v8hi (rtx, rtx);
  9965. extern rtx gen_aarch64_reduc_plus_internalv2si (rtx, rtx);
  9966. extern rtx gen_reduc_plus_scal_v2sf (rtx, rtx);
  9967. extern rtx gen_reduc_plus_scal_v2df (rtx, rtx);
  9968. extern rtx gen_clrsbv8qi2 (rtx, rtx);
  9969. extern rtx gen_clrsbv16qi2 (rtx, rtx);
  9970. extern rtx gen_clrsbv4hi2 (rtx, rtx);
  9971. extern rtx gen_clrsbv8hi2 (rtx, rtx);
  9972. extern rtx gen_clrsbv2si2 (rtx, rtx);
  9973. extern rtx gen_clrsbv4si2 (rtx, rtx);
  9974. extern rtx gen_clzv8qi2 (rtx, rtx);
  9975. extern rtx gen_clzv16qi2 (rtx, rtx);
  9976. extern rtx gen_clzv4hi2 (rtx, rtx);
  9977. extern rtx gen_clzv8hi2 (rtx, rtx);
  9978. extern rtx gen_clzv2si2 (rtx, rtx);
  9979. extern rtx gen_clzv4si2 (rtx, rtx);
  9980. extern rtx gen_popcountv8qi2 (rtx, rtx);
  9981. extern rtx gen_popcountv16qi2 (rtx, rtx);
  9982. extern rtx gen_aarch64_reduc_umax_internalv8qi (rtx, rtx);
  9983. extern rtx gen_aarch64_reduc_umin_internalv8qi (rtx, rtx);
  9984. extern rtx gen_aarch64_reduc_smax_internalv8qi (rtx, rtx);
  9985. extern rtx gen_aarch64_reduc_smin_internalv8qi (rtx, rtx);
  9986. extern rtx gen_aarch64_reduc_umax_internalv16qi (rtx, rtx);
  9987. extern rtx gen_aarch64_reduc_umin_internalv16qi (rtx, rtx);
  9988. extern rtx gen_aarch64_reduc_smax_internalv16qi (rtx, rtx);
  9989. extern rtx gen_aarch64_reduc_smin_internalv16qi (rtx, rtx);
  9990. extern rtx gen_aarch64_reduc_umax_internalv4hi (rtx, rtx);
  9991. extern rtx gen_aarch64_reduc_umin_internalv4hi (rtx, rtx);
  9992. extern rtx gen_aarch64_reduc_smax_internalv4hi (rtx, rtx);
  9993. extern rtx gen_aarch64_reduc_smin_internalv4hi (rtx, rtx);
  9994. extern rtx gen_aarch64_reduc_umax_internalv8hi (rtx, rtx);
  9995. extern rtx gen_aarch64_reduc_umin_internalv8hi (rtx, rtx);
  9996. extern rtx gen_aarch64_reduc_smax_internalv8hi (rtx, rtx);
  9997. extern rtx gen_aarch64_reduc_smin_internalv8hi (rtx, rtx);
  9998. extern rtx gen_aarch64_reduc_umax_internalv4si (rtx, rtx);
  9999. extern rtx gen_aarch64_reduc_umin_internalv4si (rtx, rtx);
  10000. extern rtx gen_aarch64_reduc_smax_internalv4si (rtx, rtx);
  10001. extern rtx gen_aarch64_reduc_smin_internalv4si (rtx, rtx);
  10002. extern rtx gen_aarch64_reduc_umax_internalv2si (rtx, rtx);
  10003. extern rtx gen_aarch64_reduc_umin_internalv2si (rtx, rtx);
  10004. extern rtx gen_aarch64_reduc_smax_internalv2si (rtx, rtx);
  10005. extern rtx gen_aarch64_reduc_smin_internalv2si (rtx, rtx);
  10006. extern rtx gen_aarch64_reduc_smax_nan_internalv4hf (rtx, rtx);
  10007. extern rtx gen_aarch64_reduc_smin_nan_internalv4hf (rtx, rtx);
  10008. extern rtx gen_aarch64_reduc_smax_internalv4hf (rtx, rtx);
  10009. extern rtx gen_aarch64_reduc_smin_internalv4hf (rtx, rtx);
  10010. extern rtx gen_aarch64_reduc_smax_nan_internalv8hf (rtx, rtx);
  10011. extern rtx gen_aarch64_reduc_smin_nan_internalv8hf (rtx, rtx);
  10012. extern rtx gen_aarch64_reduc_smax_internalv8hf (rtx, rtx);
  10013. extern rtx gen_aarch64_reduc_smin_internalv8hf (rtx, rtx);
  10014. extern rtx gen_aarch64_reduc_smax_nan_internalv2sf (rtx, rtx);
  10015. extern rtx gen_aarch64_reduc_smin_nan_internalv2sf (rtx, rtx);
  10016. extern rtx gen_aarch64_reduc_smax_internalv2sf (rtx, rtx);
  10017. extern rtx gen_aarch64_reduc_smin_internalv2sf (rtx, rtx);
  10018. extern rtx gen_aarch64_reduc_smax_nan_internalv4sf (rtx, rtx);
  10019. extern rtx gen_aarch64_reduc_smin_nan_internalv4sf (rtx, rtx);
  10020. extern rtx gen_aarch64_reduc_smax_internalv4sf (rtx, rtx);
  10021. extern rtx gen_aarch64_reduc_smin_internalv4sf (rtx, rtx);
  10022. extern rtx gen_aarch64_reduc_smax_nan_internalv2df (rtx, rtx);
  10023. extern rtx gen_aarch64_reduc_smin_nan_internalv2df (rtx, rtx);
  10024. extern rtx gen_aarch64_reduc_smax_internalv2df (rtx, rtx);
  10025. extern rtx gen_aarch64_reduc_smin_internalv2df (rtx, rtx);
  10026. extern rtx gen_aarch64_simd_bslv8qi_internal (rtx, rtx, rtx, rtx);
  10027. extern rtx gen_aarch64_simd_bslv16qi_internal (rtx, rtx, rtx, rtx);
  10028. extern rtx gen_aarch64_simd_bslv4hi_internal (rtx, rtx, rtx, rtx);
  10029. extern rtx gen_aarch64_simd_bslv8hi_internal (rtx, rtx, rtx, rtx);
  10030. extern rtx gen_aarch64_simd_bslv2si_internal (rtx, rtx, rtx, rtx);
  10031. extern rtx gen_aarch64_simd_bslv4si_internal (rtx, rtx, rtx, rtx);
  10032. extern rtx gen_aarch64_simd_bslv2di_internal (rtx, rtx, rtx, rtx);
  10033. extern rtx gen_aarch64_simd_bsldi_internal (rtx, rtx, rtx, rtx);
  10034. extern rtx gen_aarch64_simd_bsldi_alt (rtx, rtx, rtx, rtx);
  10035. extern rtx gen_aarch64_get_lanev8qi (rtx, rtx, rtx);
  10036. extern rtx gen_aarch64_get_lanev16qi (rtx, rtx, rtx);
  10037. extern rtx gen_aarch64_get_lanev4hi (rtx, rtx, rtx);
  10038. extern rtx gen_aarch64_get_lanev8hi (rtx, rtx, rtx);
  10039. extern rtx gen_aarch64_get_lanev2si (rtx, rtx, rtx);
  10040. extern rtx gen_aarch64_get_lanev4si (rtx, rtx, rtx);
  10041. extern rtx gen_aarch64_get_lanev2di (rtx, rtx, rtx);
  10042. extern rtx gen_aarch64_get_lanev4hf (rtx, rtx, rtx);
  10043. extern rtx gen_aarch64_get_lanev8hf (rtx, rtx, rtx);
  10044. extern rtx gen_aarch64_get_lanev4bf (rtx, rtx, rtx);
  10045. extern rtx gen_aarch64_get_lanev8bf (rtx, rtx, rtx);
  10046. extern rtx gen_aarch64_get_lanev2sf (rtx, rtx, rtx);
  10047. extern rtx gen_aarch64_get_lanev4sf (rtx, rtx, rtx);
  10048. extern rtx gen_aarch64_get_lanev2df (rtx, rtx, rtx);
  10049. extern rtx gen_load_pair_lanesv8qi (rtx, rtx, rtx);
  10050. extern rtx gen_load_pair_lanesv4hi (rtx, rtx, rtx);
  10051. extern rtx gen_load_pair_lanesv4bf (rtx, rtx, rtx);
  10052. extern rtx gen_load_pair_lanesv4hf (rtx, rtx, rtx);
  10053. extern rtx gen_load_pair_lanesv2si (rtx, rtx, rtx);
  10054. extern rtx gen_load_pair_lanesv2sf (rtx, rtx, rtx);
  10055. extern rtx gen_load_pair_lanesdi (rtx, rtx, rtx);
  10056. extern rtx gen_load_pair_lanesdf (rtx, rtx, rtx);
  10057. extern rtx gen_store_pair_lanesv8qi (rtx, rtx, rtx);
  10058. extern rtx gen_store_pair_lanesv4hi (rtx, rtx, rtx);
  10059. extern rtx gen_store_pair_lanesv4bf (rtx, rtx, rtx);
  10060. extern rtx gen_store_pair_lanesv4hf (rtx, rtx, rtx);
  10061. extern rtx gen_store_pair_lanesv2si (rtx, rtx, rtx);
  10062. extern rtx gen_store_pair_lanesv2sf (rtx, rtx, rtx);
  10063. extern rtx gen_store_pair_lanesdi (rtx, rtx, rtx);
  10064. extern rtx gen_store_pair_lanesdf (rtx, rtx, rtx);
  10065. extern rtx gen_aarch64_combinezv8qi (rtx, rtx, rtx);
  10066. extern rtx gen_aarch64_combinezv4hi (rtx, rtx, rtx);
  10067. extern rtx gen_aarch64_combinezv4bf (rtx, rtx, rtx);
  10068. extern rtx gen_aarch64_combinezv4hf (rtx, rtx, rtx);
  10069. extern rtx gen_aarch64_combinezv2si (rtx, rtx, rtx);
  10070. extern rtx gen_aarch64_combinezv2sf (rtx, rtx, rtx);
  10071. extern rtx gen_aarch64_combinezdi (rtx, rtx, rtx);
  10072. extern rtx gen_aarch64_combinezdf (rtx, rtx, rtx);
  10073. extern rtx gen_aarch64_combinez_bev8qi (rtx, rtx, rtx);
  10074. extern rtx gen_aarch64_combinez_bev4hi (rtx, rtx, rtx);
  10075. extern rtx gen_aarch64_combinez_bev4bf (rtx, rtx, rtx);
  10076. extern rtx gen_aarch64_combinez_bev4hf (rtx, rtx, rtx);
  10077. extern rtx gen_aarch64_combinez_bev2si (rtx, rtx, rtx);
  10078. extern rtx gen_aarch64_combinez_bev2sf (rtx, rtx, rtx);
  10079. extern rtx gen_aarch64_combinez_bedi (rtx, rtx, rtx);
  10080. extern rtx gen_aarch64_combinez_bedf (rtx, rtx, rtx);
  10081. extern rtx gen_aarch64_saddlv16qi_hi_internal (rtx, rtx, rtx, rtx);
  10082. extern rtx gen_aarch64_ssublv16qi_hi_internal (rtx, rtx, rtx, rtx);
  10083. extern rtx gen_aarch64_uaddlv16qi_hi_internal (rtx, rtx, rtx, rtx);
  10084. extern rtx gen_aarch64_usublv16qi_hi_internal (rtx, rtx, rtx, rtx);
  10085. extern rtx gen_aarch64_saddlv8hi_hi_internal (rtx, rtx, rtx, rtx);
  10086. extern rtx gen_aarch64_ssublv8hi_hi_internal (rtx, rtx, rtx, rtx);
  10087. extern rtx gen_aarch64_uaddlv8hi_hi_internal (rtx, rtx, rtx, rtx);
  10088. extern rtx gen_aarch64_usublv8hi_hi_internal (rtx, rtx, rtx, rtx);
  10089. extern rtx gen_aarch64_saddlv4si_hi_internal (rtx, rtx, rtx, rtx);
  10090. extern rtx gen_aarch64_ssublv4si_hi_internal (rtx, rtx, rtx, rtx);
  10091. extern rtx gen_aarch64_uaddlv4si_hi_internal (rtx, rtx, rtx, rtx);
  10092. extern rtx gen_aarch64_usublv4si_hi_internal (rtx, rtx, rtx, rtx);
  10093. extern rtx gen_aarch64_saddlv16qi_lo_internal (rtx, rtx, rtx, rtx);
  10094. extern rtx gen_aarch64_ssublv16qi_lo_internal (rtx, rtx, rtx, rtx);
  10095. extern rtx gen_aarch64_uaddlv16qi_lo_internal (rtx, rtx, rtx, rtx);
  10096. extern rtx gen_aarch64_usublv16qi_lo_internal (rtx, rtx, rtx, rtx);
  10097. extern rtx gen_aarch64_saddlv8hi_lo_internal (rtx, rtx, rtx, rtx);
  10098. extern rtx gen_aarch64_ssublv8hi_lo_internal (rtx, rtx, rtx, rtx);
  10099. extern rtx gen_aarch64_uaddlv8hi_lo_internal (rtx, rtx, rtx, rtx);
  10100. extern rtx gen_aarch64_usublv8hi_lo_internal (rtx, rtx, rtx, rtx);
  10101. extern rtx gen_aarch64_saddlv4si_lo_internal (rtx, rtx, rtx, rtx);
  10102. extern rtx gen_aarch64_ssublv4si_lo_internal (rtx, rtx, rtx, rtx);
  10103. extern rtx gen_aarch64_uaddlv4si_lo_internal (rtx, rtx, rtx, rtx);
  10104. extern rtx gen_aarch64_usublv4si_lo_internal (rtx, rtx, rtx, rtx);
  10105. extern rtx gen_aarch64_saddlv8qi (rtx, rtx, rtx);
  10106. extern rtx gen_aarch64_ssublv8qi (rtx, rtx, rtx);
  10107. extern rtx gen_aarch64_uaddlv8qi (rtx, rtx, rtx);
  10108. extern rtx gen_aarch64_usublv8qi (rtx, rtx, rtx);
  10109. extern rtx gen_aarch64_saddlv4hi (rtx, rtx, rtx);
  10110. extern rtx gen_aarch64_ssublv4hi (rtx, rtx, rtx);
  10111. extern rtx gen_aarch64_uaddlv4hi (rtx, rtx, rtx);
  10112. extern rtx gen_aarch64_usublv4hi (rtx, rtx, rtx);
  10113. extern rtx gen_aarch64_saddlv2si (rtx, rtx, rtx);
  10114. extern rtx gen_aarch64_ssublv2si (rtx, rtx, rtx);
  10115. extern rtx gen_aarch64_uaddlv2si (rtx, rtx, rtx);
  10116. extern rtx gen_aarch64_usublv2si (rtx, rtx, rtx);
  10117. extern rtx gen_aarch64_ssubwv8qi (rtx, rtx, rtx);
  10118. extern rtx gen_aarch64_usubwv8qi (rtx, rtx, rtx);
  10119. extern rtx gen_aarch64_ssubwv4hi (rtx, rtx, rtx);
  10120. extern rtx gen_aarch64_usubwv4hi (rtx, rtx, rtx);
  10121. extern rtx gen_aarch64_ssubwv2si (rtx, rtx, rtx);
  10122. extern rtx gen_aarch64_usubwv2si (rtx, rtx, rtx);
  10123. extern rtx gen_aarch64_ssubwv16qi_internal (rtx, rtx, rtx, rtx);
  10124. extern rtx gen_aarch64_usubwv16qi_internal (rtx, rtx, rtx, rtx);
  10125. extern rtx gen_aarch64_ssubwv8hi_internal (rtx, rtx, rtx, rtx);
  10126. extern rtx gen_aarch64_usubwv8hi_internal (rtx, rtx, rtx, rtx);
  10127. extern rtx gen_aarch64_ssubwv4si_internal (rtx, rtx, rtx, rtx);
  10128. extern rtx gen_aarch64_usubwv4si_internal (rtx, rtx, rtx, rtx);
  10129. extern rtx gen_aarch64_ssubw2v16qi_internal (rtx, rtx, rtx, rtx);
  10130. extern rtx gen_aarch64_usubw2v16qi_internal (rtx, rtx, rtx, rtx);
  10131. extern rtx gen_aarch64_ssubw2v8hi_internal (rtx, rtx, rtx, rtx);
  10132. extern rtx gen_aarch64_usubw2v8hi_internal (rtx, rtx, rtx, rtx);
  10133. extern rtx gen_aarch64_ssubw2v4si_internal (rtx, rtx, rtx, rtx);
  10134. extern rtx gen_aarch64_usubw2v4si_internal (rtx, rtx, rtx, rtx);
  10135. extern rtx gen_aarch64_saddwv8qi (rtx, rtx, rtx);
  10136. extern rtx gen_aarch64_uaddwv8qi (rtx, rtx, rtx);
  10137. extern rtx gen_aarch64_saddwv4hi (rtx, rtx, rtx);
  10138. extern rtx gen_aarch64_uaddwv4hi (rtx, rtx, rtx);
  10139. extern rtx gen_aarch64_saddwv2si (rtx, rtx, rtx);
  10140. extern rtx gen_aarch64_uaddwv2si (rtx, rtx, rtx);
  10141. extern rtx gen_aarch64_saddwv16qi_internal (rtx, rtx, rtx, rtx);
  10142. extern rtx gen_aarch64_uaddwv16qi_internal (rtx, rtx, rtx, rtx);
  10143. extern rtx gen_aarch64_saddwv8hi_internal (rtx, rtx, rtx, rtx);
  10144. extern rtx gen_aarch64_uaddwv8hi_internal (rtx, rtx, rtx, rtx);
  10145. extern rtx gen_aarch64_saddwv4si_internal (rtx, rtx, rtx, rtx);
  10146. extern rtx gen_aarch64_uaddwv4si_internal (rtx, rtx, rtx, rtx);
  10147. extern rtx gen_aarch64_saddw2v16qi_internal (rtx, rtx, rtx, rtx);
  10148. extern rtx gen_aarch64_uaddw2v16qi_internal (rtx, rtx, rtx, rtx);
  10149. extern rtx gen_aarch64_saddw2v8hi_internal (rtx, rtx, rtx, rtx);
  10150. extern rtx gen_aarch64_uaddw2v8hi_internal (rtx, rtx, rtx, rtx);
  10151. extern rtx gen_aarch64_saddw2v4si_internal (rtx, rtx, rtx, rtx);
  10152. extern rtx gen_aarch64_uaddw2v4si_internal (rtx, rtx, rtx, rtx);
  10153. extern rtx gen_aarch64_shaddv8qi (rtx, rtx, rtx);
  10154. extern rtx gen_aarch64_uhaddv8qi (rtx, rtx, rtx);
  10155. extern rtx gen_aarch64_srhaddv8qi (rtx, rtx, rtx);
  10156. extern rtx gen_aarch64_urhaddv8qi (rtx, rtx, rtx);
  10157. extern rtx gen_aarch64_shsubv8qi (rtx, rtx, rtx);
  10158. extern rtx gen_aarch64_uhsubv8qi (rtx, rtx, rtx);
  10159. extern rtx gen_aarch64_shaddv16qi (rtx, rtx, rtx);
  10160. extern rtx gen_aarch64_uhaddv16qi (rtx, rtx, rtx);
  10161. extern rtx gen_aarch64_srhaddv16qi (rtx, rtx, rtx);
  10162. extern rtx gen_aarch64_urhaddv16qi (rtx, rtx, rtx);
  10163. extern rtx gen_aarch64_shsubv16qi (rtx, rtx, rtx);
  10164. extern rtx gen_aarch64_uhsubv16qi (rtx, rtx, rtx);
  10165. extern rtx gen_aarch64_shaddv4hi (rtx, rtx, rtx);
  10166. extern rtx gen_aarch64_uhaddv4hi (rtx, rtx, rtx);
  10167. extern rtx gen_aarch64_srhaddv4hi (rtx, rtx, rtx);
  10168. extern rtx gen_aarch64_urhaddv4hi (rtx, rtx, rtx);
  10169. extern rtx gen_aarch64_shsubv4hi (rtx, rtx, rtx);
  10170. extern rtx gen_aarch64_uhsubv4hi (rtx, rtx, rtx);
  10171. extern rtx gen_aarch64_shaddv8hi (rtx, rtx, rtx);
  10172. extern rtx gen_aarch64_uhaddv8hi (rtx, rtx, rtx);
  10173. extern rtx gen_aarch64_srhaddv8hi (rtx, rtx, rtx);
  10174. extern rtx gen_aarch64_urhaddv8hi (rtx, rtx, rtx);
  10175. extern rtx gen_aarch64_shsubv8hi (rtx, rtx, rtx);
  10176. extern rtx gen_aarch64_uhsubv8hi (rtx, rtx, rtx);
  10177. extern rtx gen_aarch64_shaddv2si (rtx, rtx, rtx);
  10178. extern rtx gen_aarch64_uhaddv2si (rtx, rtx, rtx);
  10179. extern rtx gen_aarch64_srhaddv2si (rtx, rtx, rtx);
  10180. extern rtx gen_aarch64_urhaddv2si (rtx, rtx, rtx);
  10181. extern rtx gen_aarch64_shsubv2si (rtx, rtx, rtx);
  10182. extern rtx gen_aarch64_uhsubv2si (rtx, rtx, rtx);
  10183. extern rtx gen_aarch64_shaddv4si (rtx, rtx, rtx);
  10184. extern rtx gen_aarch64_uhaddv4si (rtx, rtx, rtx);
  10185. extern rtx gen_aarch64_srhaddv4si (rtx, rtx, rtx);
  10186. extern rtx gen_aarch64_urhaddv4si (rtx, rtx, rtx);
  10187. extern rtx gen_aarch64_shsubv4si (rtx, rtx, rtx);
  10188. extern rtx gen_aarch64_uhsubv4si (rtx, rtx, rtx);
  10189. extern rtx gen_aarch64_addhnv8hi (rtx, rtx, rtx);
  10190. extern rtx gen_aarch64_raddhnv8hi (rtx, rtx, rtx);
  10191. extern rtx gen_aarch64_subhnv8hi (rtx, rtx, rtx);
  10192. extern rtx gen_aarch64_rsubhnv8hi (rtx, rtx, rtx);
  10193. extern rtx gen_aarch64_addhnv4si (rtx, rtx, rtx);
  10194. extern rtx gen_aarch64_raddhnv4si (rtx, rtx, rtx);
  10195. extern rtx gen_aarch64_subhnv4si (rtx, rtx, rtx);
  10196. extern rtx gen_aarch64_rsubhnv4si (rtx, rtx, rtx);
  10197. extern rtx gen_aarch64_addhnv2di (rtx, rtx, rtx);
  10198. extern rtx gen_aarch64_raddhnv2di (rtx, rtx, rtx);
  10199. extern rtx gen_aarch64_subhnv2di (rtx, rtx, rtx);
  10200. extern rtx gen_aarch64_rsubhnv2di (rtx, rtx, rtx);
  10201. extern rtx gen_aarch64_addhn2v8hi (rtx, rtx, rtx, rtx);
  10202. extern rtx gen_aarch64_raddhn2v8hi (rtx, rtx, rtx, rtx);
  10203. extern rtx gen_aarch64_subhn2v8hi (rtx, rtx, rtx, rtx);
  10204. extern rtx gen_aarch64_rsubhn2v8hi (rtx, rtx, rtx, rtx);
  10205. extern rtx gen_aarch64_addhn2v4si (rtx, rtx, rtx, rtx);
  10206. extern rtx gen_aarch64_raddhn2v4si (rtx, rtx, rtx, rtx);
  10207. extern rtx gen_aarch64_subhn2v4si (rtx, rtx, rtx, rtx);
  10208. extern rtx gen_aarch64_rsubhn2v4si (rtx, rtx, rtx, rtx);
  10209. extern rtx gen_aarch64_addhn2v2di (rtx, rtx, rtx, rtx);
  10210. extern rtx gen_aarch64_raddhn2v2di (rtx, rtx, rtx, rtx);
  10211. extern rtx gen_aarch64_subhn2v2di (rtx, rtx, rtx, rtx);
  10212. extern rtx gen_aarch64_rsubhn2v2di (rtx, rtx, rtx, rtx);
  10213. extern rtx gen_aarch64_pmulv8qi (rtx, rtx, rtx);
  10214. extern rtx gen_aarch64_pmulv16qi (rtx, rtx, rtx);
  10215. extern rtx gen_aarch64_fmulxv4hf (rtx, rtx, rtx);
  10216. extern rtx gen_aarch64_fmulxv8hf (rtx, rtx, rtx);
  10217. extern rtx gen_aarch64_fmulxv2sf (rtx, rtx, rtx);
  10218. extern rtx gen_aarch64_fmulxv4sf (rtx, rtx, rtx);
  10219. extern rtx gen_aarch64_fmulxv2df (rtx, rtx, rtx);
  10220. extern rtx gen_aarch64_fmulxhf (rtx, rtx, rtx);
  10221. extern rtx gen_aarch64_fmulxsf (rtx, rtx, rtx);
  10222. extern rtx gen_aarch64_fmulxdf (rtx, rtx, rtx);
  10223. extern rtx gen_aarch64_sqaddv8qi (rtx, rtx, rtx);
  10224. extern rtx gen_aarch64_uqaddv8qi (rtx, rtx, rtx);
  10225. extern rtx gen_aarch64_sqsubv8qi (rtx, rtx, rtx);
  10226. extern rtx gen_aarch64_uqsubv8qi (rtx, rtx, rtx);
  10227. extern rtx gen_aarch64_sqaddv16qi (rtx, rtx, rtx);
  10228. extern rtx gen_aarch64_uqaddv16qi (rtx, rtx, rtx);
  10229. extern rtx gen_aarch64_sqsubv16qi (rtx, rtx, rtx);
  10230. extern rtx gen_aarch64_uqsubv16qi (rtx, rtx, rtx);
  10231. extern rtx gen_aarch64_sqaddv4hi (rtx, rtx, rtx);
  10232. extern rtx gen_aarch64_uqaddv4hi (rtx, rtx, rtx);
  10233. extern rtx gen_aarch64_sqsubv4hi (rtx, rtx, rtx);
  10234. extern rtx gen_aarch64_uqsubv4hi (rtx, rtx, rtx);
  10235. extern rtx gen_aarch64_sqaddv8hi (rtx, rtx, rtx);
  10236. extern rtx gen_aarch64_uqaddv8hi (rtx, rtx, rtx);
  10237. extern rtx gen_aarch64_sqsubv8hi (rtx, rtx, rtx);
  10238. extern rtx gen_aarch64_uqsubv8hi (rtx, rtx, rtx);
  10239. extern rtx gen_aarch64_sqaddv2si (rtx, rtx, rtx);
  10240. extern rtx gen_aarch64_uqaddv2si (rtx, rtx, rtx);
  10241. extern rtx gen_aarch64_sqsubv2si (rtx, rtx, rtx);
  10242. extern rtx gen_aarch64_uqsubv2si (rtx, rtx, rtx);
  10243. extern rtx gen_aarch64_sqaddv4si (rtx, rtx, rtx);
  10244. extern rtx gen_aarch64_uqaddv4si (rtx, rtx, rtx);
  10245. extern rtx gen_aarch64_sqsubv4si (rtx, rtx, rtx);
  10246. extern rtx gen_aarch64_uqsubv4si (rtx, rtx, rtx);
  10247. extern rtx gen_aarch64_sqaddv2di (rtx, rtx, rtx);
  10248. extern rtx gen_aarch64_uqaddv2di (rtx, rtx, rtx);
  10249. extern rtx gen_aarch64_sqsubv2di (rtx, rtx, rtx);
  10250. extern rtx gen_aarch64_uqsubv2di (rtx, rtx, rtx);
  10251. extern rtx gen_aarch64_sqaddqi (rtx, rtx, rtx);
  10252. extern rtx gen_aarch64_uqaddqi (rtx, rtx, rtx);
  10253. extern rtx gen_aarch64_sqsubqi (rtx, rtx, rtx);
  10254. extern rtx gen_aarch64_uqsubqi (rtx, rtx, rtx);
  10255. extern rtx gen_aarch64_sqaddhi (rtx, rtx, rtx);
  10256. extern rtx gen_aarch64_uqaddhi (rtx, rtx, rtx);
  10257. extern rtx gen_aarch64_sqsubhi (rtx, rtx, rtx);
  10258. extern rtx gen_aarch64_uqsubhi (rtx, rtx, rtx);
  10259. extern rtx gen_aarch64_sqaddsi (rtx, rtx, rtx);
  10260. extern rtx gen_aarch64_uqaddsi (rtx, rtx, rtx);
  10261. extern rtx gen_aarch64_sqsubsi (rtx, rtx, rtx);
  10262. extern rtx gen_aarch64_uqsubsi (rtx, rtx, rtx);
  10263. extern rtx gen_aarch64_sqadddi (rtx, rtx, rtx);
  10264. extern rtx gen_aarch64_uqadddi (rtx, rtx, rtx);
  10265. extern rtx gen_aarch64_sqsubdi (rtx, rtx, rtx);
  10266. extern rtx gen_aarch64_uqsubdi (rtx, rtx, rtx);
  10267. extern rtx gen_aarch64_suqaddv8qi (rtx, rtx, rtx);
  10268. extern rtx gen_aarch64_usqaddv8qi (rtx, rtx, rtx);
  10269. extern rtx gen_aarch64_suqaddv16qi (rtx, rtx, rtx);
  10270. extern rtx gen_aarch64_usqaddv16qi (rtx, rtx, rtx);
  10271. extern rtx gen_aarch64_suqaddv4hi (rtx, rtx, rtx);
  10272. extern rtx gen_aarch64_usqaddv4hi (rtx, rtx, rtx);
  10273. extern rtx gen_aarch64_suqaddv8hi (rtx, rtx, rtx);
  10274. extern rtx gen_aarch64_usqaddv8hi (rtx, rtx, rtx);
  10275. extern rtx gen_aarch64_suqaddv2si (rtx, rtx, rtx);
  10276. extern rtx gen_aarch64_usqaddv2si (rtx, rtx, rtx);
  10277. extern rtx gen_aarch64_suqaddv4si (rtx, rtx, rtx);
  10278. extern rtx gen_aarch64_usqaddv4si (rtx, rtx, rtx);
  10279. extern rtx gen_aarch64_suqaddv2di (rtx, rtx, rtx);
  10280. extern rtx gen_aarch64_usqaddv2di (rtx, rtx, rtx);
  10281. extern rtx gen_aarch64_suqaddqi (rtx, rtx, rtx);
  10282. extern rtx gen_aarch64_usqaddqi (rtx, rtx, rtx);
  10283. extern rtx gen_aarch64_suqaddhi (rtx, rtx, rtx);
  10284. extern rtx gen_aarch64_usqaddhi (rtx, rtx, rtx);
  10285. extern rtx gen_aarch64_suqaddsi (rtx, rtx, rtx);
  10286. extern rtx gen_aarch64_usqaddsi (rtx, rtx, rtx);
  10287. extern rtx gen_aarch64_suqadddi (rtx, rtx, rtx);
  10288. extern rtx gen_aarch64_usqadddi (rtx, rtx, rtx);
  10289. extern rtx gen_aarch64_sqmovunv8hi (rtx, rtx);
  10290. extern rtx gen_aarch64_sqmovunv4si (rtx, rtx);
  10291. extern rtx gen_aarch64_sqmovunv2di (rtx, rtx);
  10292. extern rtx gen_aarch64_sqmovunhi (rtx, rtx);
  10293. extern rtx gen_aarch64_sqmovunsi (rtx, rtx);
  10294. extern rtx gen_aarch64_sqmovundi (rtx, rtx);
  10295. extern rtx gen_aarch64_sqmovnv8hi (rtx, rtx);
  10296. extern rtx gen_aarch64_uqmovnv8hi (rtx, rtx);
  10297. extern rtx gen_aarch64_sqmovnv4si (rtx, rtx);
  10298. extern rtx gen_aarch64_uqmovnv4si (rtx, rtx);
  10299. extern rtx gen_aarch64_sqmovnv2di (rtx, rtx);
  10300. extern rtx gen_aarch64_uqmovnv2di (rtx, rtx);
  10301. extern rtx gen_aarch64_sqmovnhi (rtx, rtx);
  10302. extern rtx gen_aarch64_uqmovnhi (rtx, rtx);
  10303. extern rtx gen_aarch64_sqmovnsi (rtx, rtx);
  10304. extern rtx gen_aarch64_uqmovnsi (rtx, rtx);
  10305. extern rtx gen_aarch64_sqmovndi (rtx, rtx);
  10306. extern rtx gen_aarch64_uqmovndi (rtx, rtx);
  10307. extern rtx gen_aarch64_sqnegv8qi (rtx, rtx);
  10308. extern rtx gen_aarch64_sqabsv8qi (rtx, rtx);
  10309. extern rtx gen_aarch64_sqnegv16qi (rtx, rtx);
  10310. extern rtx gen_aarch64_sqabsv16qi (rtx, rtx);
  10311. extern rtx gen_aarch64_sqnegv4hi (rtx, rtx);
  10312. extern rtx gen_aarch64_sqabsv4hi (rtx, rtx);
  10313. extern rtx gen_aarch64_sqnegv8hi (rtx, rtx);
  10314. extern rtx gen_aarch64_sqabsv8hi (rtx, rtx);
  10315. extern rtx gen_aarch64_sqnegv2si (rtx, rtx);
  10316. extern rtx gen_aarch64_sqabsv2si (rtx, rtx);
  10317. extern rtx gen_aarch64_sqnegv4si (rtx, rtx);
  10318. extern rtx gen_aarch64_sqabsv4si (rtx, rtx);
  10319. extern rtx gen_aarch64_sqnegv2di (rtx, rtx);
  10320. extern rtx gen_aarch64_sqabsv2di (rtx, rtx);
  10321. extern rtx gen_aarch64_sqnegqi (rtx, rtx);
  10322. extern rtx gen_aarch64_sqabsqi (rtx, rtx);
  10323. extern rtx gen_aarch64_sqneghi (rtx, rtx);
  10324. extern rtx gen_aarch64_sqabshi (rtx, rtx);
  10325. extern rtx gen_aarch64_sqnegsi (rtx, rtx);
  10326. extern rtx gen_aarch64_sqabssi (rtx, rtx);
  10327. extern rtx gen_aarch64_sqnegdi (rtx, rtx);
  10328. extern rtx gen_aarch64_sqabsdi (rtx, rtx);
  10329. extern rtx gen_aarch64_sqdmulhv4hi (rtx, rtx, rtx);
  10330. extern rtx gen_aarch64_sqrdmulhv4hi (rtx, rtx, rtx);
  10331. extern rtx gen_aarch64_sqdmulhv8hi (rtx, rtx, rtx);
  10332. extern rtx gen_aarch64_sqrdmulhv8hi (rtx, rtx, rtx);
  10333. extern rtx gen_aarch64_sqdmulhv2si (rtx, rtx, rtx);
  10334. extern rtx gen_aarch64_sqrdmulhv2si (rtx, rtx, rtx);
  10335. extern rtx gen_aarch64_sqdmulhv4si (rtx, rtx, rtx);
  10336. extern rtx gen_aarch64_sqrdmulhv4si (rtx, rtx, rtx);
  10337. extern rtx gen_aarch64_sqdmulhhi (rtx, rtx, rtx);
  10338. extern rtx gen_aarch64_sqrdmulhhi (rtx, rtx, rtx);
  10339. extern rtx gen_aarch64_sqdmulhsi (rtx, rtx, rtx);
  10340. extern rtx gen_aarch64_sqrdmulhsi (rtx, rtx, rtx);
  10341. extern rtx gen_aarch64_sqdmulh_lanev4hi (rtx, rtx, rtx, rtx);
  10342. extern rtx gen_aarch64_sqrdmulh_lanev4hi (rtx, rtx, rtx, rtx);
  10343. extern rtx gen_aarch64_sqdmulh_lanev8hi (rtx, rtx, rtx, rtx);
  10344. extern rtx gen_aarch64_sqrdmulh_lanev8hi (rtx, rtx, rtx, rtx);
  10345. extern rtx gen_aarch64_sqdmulh_lanev2si (rtx, rtx, rtx, rtx);
  10346. extern rtx gen_aarch64_sqrdmulh_lanev2si (rtx, rtx, rtx, rtx);
  10347. extern rtx gen_aarch64_sqdmulh_lanev4si (rtx, rtx, rtx, rtx);
  10348. extern rtx gen_aarch64_sqrdmulh_lanev4si (rtx, rtx, rtx, rtx);
  10349. extern rtx gen_aarch64_sqdmulh_laneqv4hi (rtx, rtx, rtx, rtx);
  10350. extern rtx gen_aarch64_sqrdmulh_laneqv4hi (rtx, rtx, rtx, rtx);
  10351. extern rtx gen_aarch64_sqdmulh_laneqv8hi (rtx, rtx, rtx, rtx);
  10352. extern rtx gen_aarch64_sqrdmulh_laneqv8hi (rtx, rtx, rtx, rtx);
  10353. extern rtx gen_aarch64_sqdmulh_laneqv2si (rtx, rtx, rtx, rtx);
  10354. extern rtx gen_aarch64_sqrdmulh_laneqv2si (rtx, rtx, rtx, rtx);
  10355. extern rtx gen_aarch64_sqdmulh_laneqv4si (rtx, rtx, rtx, rtx);
  10356. extern rtx gen_aarch64_sqrdmulh_laneqv4si (rtx, rtx, rtx, rtx);
  10357. extern rtx gen_aarch64_sqdmulh_lanehi (rtx, rtx, rtx, rtx);
  10358. extern rtx gen_aarch64_sqrdmulh_lanehi (rtx, rtx, rtx, rtx);
  10359. extern rtx gen_aarch64_sqdmulh_lanesi (rtx, rtx, rtx, rtx);
  10360. extern rtx gen_aarch64_sqrdmulh_lanesi (rtx, rtx, rtx, rtx);
  10361. extern rtx gen_aarch64_sqdmulh_laneqhi (rtx, rtx, rtx, rtx);
  10362. extern rtx gen_aarch64_sqrdmulh_laneqhi (rtx, rtx, rtx, rtx);
  10363. extern rtx gen_aarch64_sqdmulh_laneqsi (rtx, rtx, rtx, rtx);
  10364. extern rtx gen_aarch64_sqrdmulh_laneqsi (rtx, rtx, rtx, rtx);
  10365. extern rtx gen_aarch64_sqrdmlahv4hi (rtx, rtx, rtx, rtx);
  10366. extern rtx gen_aarch64_sqrdmlshv4hi (rtx, rtx, rtx, rtx);
  10367. extern rtx gen_aarch64_sqrdmlahv8hi (rtx, rtx, rtx, rtx);
  10368. extern rtx gen_aarch64_sqrdmlshv8hi (rtx, rtx, rtx, rtx);
  10369. extern rtx gen_aarch64_sqrdmlahv2si (rtx, rtx, rtx, rtx);
  10370. extern rtx gen_aarch64_sqrdmlshv2si (rtx, rtx, rtx, rtx);
  10371. extern rtx gen_aarch64_sqrdmlahv4si (rtx, rtx, rtx, rtx);
  10372. extern rtx gen_aarch64_sqrdmlshv4si (rtx, rtx, rtx, rtx);
  10373. extern rtx gen_aarch64_sqrdmlahhi (rtx, rtx, rtx, rtx);
  10374. extern rtx gen_aarch64_sqrdmlshhi (rtx, rtx, rtx, rtx);
  10375. extern rtx gen_aarch64_sqrdmlahsi (rtx, rtx, rtx, rtx);
  10376. extern rtx gen_aarch64_sqrdmlshsi (rtx, rtx, rtx, rtx);
  10377. extern rtx gen_aarch64_sqrdmlah_lanev4hi (rtx, rtx, rtx, rtx, rtx);
  10378. extern rtx gen_aarch64_sqrdmlsh_lanev4hi (rtx, rtx, rtx, rtx, rtx);
  10379. extern rtx gen_aarch64_sqrdmlah_lanev8hi (rtx, rtx, rtx, rtx, rtx);
  10380. extern rtx gen_aarch64_sqrdmlsh_lanev8hi (rtx, rtx, rtx, rtx, rtx);
  10381. extern rtx gen_aarch64_sqrdmlah_lanev2si (rtx, rtx, rtx, rtx, rtx);
  10382. extern rtx gen_aarch64_sqrdmlsh_lanev2si (rtx, rtx, rtx, rtx, rtx);
  10383. extern rtx gen_aarch64_sqrdmlah_lanev4si (rtx, rtx, rtx, rtx, rtx);
  10384. extern rtx gen_aarch64_sqrdmlsh_lanev4si (rtx, rtx, rtx, rtx, rtx);
  10385. extern rtx gen_aarch64_sqrdmlah_lanehi (rtx, rtx, rtx, rtx, rtx);
  10386. extern rtx gen_aarch64_sqrdmlsh_lanehi (rtx, rtx, rtx, rtx, rtx);
  10387. extern rtx gen_aarch64_sqrdmlah_lanesi (rtx, rtx, rtx, rtx, rtx);
  10388. extern rtx gen_aarch64_sqrdmlsh_lanesi (rtx, rtx, rtx, rtx, rtx);
  10389. extern rtx gen_aarch64_sqrdmlah_laneqv4hi (rtx, rtx, rtx, rtx, rtx);
  10390. extern rtx gen_aarch64_sqrdmlsh_laneqv4hi (rtx, rtx, rtx, rtx, rtx);
  10391. extern rtx gen_aarch64_sqrdmlah_laneqv8hi (rtx, rtx, rtx, rtx, rtx);
  10392. extern rtx gen_aarch64_sqrdmlsh_laneqv8hi (rtx, rtx, rtx, rtx, rtx);
  10393. extern rtx gen_aarch64_sqrdmlah_laneqv2si (rtx, rtx, rtx, rtx, rtx);
  10394. extern rtx gen_aarch64_sqrdmlsh_laneqv2si (rtx, rtx, rtx, rtx, rtx);
  10395. extern rtx gen_aarch64_sqrdmlah_laneqv4si (rtx, rtx, rtx, rtx, rtx);
  10396. extern rtx gen_aarch64_sqrdmlsh_laneqv4si (rtx, rtx, rtx, rtx, rtx);
  10397. extern rtx gen_aarch64_sqrdmlah_laneqhi (rtx, rtx, rtx, rtx, rtx);
  10398. extern rtx gen_aarch64_sqrdmlsh_laneqhi (rtx, rtx, rtx, rtx, rtx);
  10399. extern rtx gen_aarch64_sqrdmlah_laneqsi (rtx, rtx, rtx, rtx, rtx);
  10400. extern rtx gen_aarch64_sqrdmlsh_laneqsi (rtx, rtx, rtx, rtx, rtx);
  10401. extern rtx gen_aarch64_sqdmlalv4hi (rtx, rtx, rtx, rtx);
  10402. extern rtx gen_aarch64_sqdmlslv4hi (rtx, rtx, rtx, rtx);
  10403. extern rtx gen_aarch64_sqdmlalv2si (rtx, rtx, rtx, rtx);
  10404. extern rtx gen_aarch64_sqdmlslv2si (rtx, rtx, rtx, rtx);
  10405. extern rtx gen_aarch64_sqdmlalhi (rtx, rtx, rtx, rtx);
  10406. extern rtx gen_aarch64_sqdmlslhi (rtx, rtx, rtx, rtx);
  10407. extern rtx gen_aarch64_sqdmlalsi (rtx, rtx, rtx, rtx);
  10408. extern rtx gen_aarch64_sqdmlslsi (rtx, rtx, rtx, rtx);
  10409. extern rtx gen_aarch64_sqdmlal_lanev4hi (rtx, rtx, rtx, rtx, rtx);
  10410. extern rtx gen_aarch64_sqdmlsl_lanev4hi (rtx, rtx, rtx, rtx, rtx);
  10411. extern rtx gen_aarch64_sqdmlal_lanev2si (rtx, rtx, rtx, rtx, rtx);
  10412. extern rtx gen_aarch64_sqdmlsl_lanev2si (rtx, rtx, rtx, rtx, rtx);
  10413. extern rtx gen_aarch64_sqdmlal_laneqv4hi (rtx, rtx, rtx, rtx, rtx);
  10414. extern rtx gen_aarch64_sqdmlsl_laneqv4hi (rtx, rtx, rtx, rtx, rtx);
  10415. extern rtx gen_aarch64_sqdmlal_laneqv2si (rtx, rtx, rtx, rtx, rtx);
  10416. extern rtx gen_aarch64_sqdmlsl_laneqv2si (rtx, rtx, rtx, rtx, rtx);
  10417. extern rtx gen_aarch64_sqdmlal_lanehi (rtx, rtx, rtx, rtx, rtx);
  10418. extern rtx gen_aarch64_sqdmlsl_lanehi (rtx, rtx, rtx, rtx, rtx);
  10419. extern rtx gen_aarch64_sqdmlal_lanesi (rtx, rtx, rtx, rtx, rtx);
  10420. extern rtx gen_aarch64_sqdmlsl_lanesi (rtx, rtx, rtx, rtx, rtx);
  10421. extern rtx gen_aarch64_sqdmlal_laneqhi (rtx, rtx, rtx, rtx, rtx);
  10422. extern rtx gen_aarch64_sqdmlsl_laneqhi (rtx, rtx, rtx, rtx, rtx);
  10423. extern rtx gen_aarch64_sqdmlal_laneqsi (rtx, rtx, rtx, rtx, rtx);
  10424. extern rtx gen_aarch64_sqdmlsl_laneqsi (rtx, rtx, rtx, rtx, rtx);
  10425. extern rtx gen_aarch64_sqdmlal_nv4hi (rtx, rtx, rtx, rtx);
  10426. extern rtx gen_aarch64_sqdmlsl_nv4hi (rtx, rtx, rtx, rtx);
  10427. extern rtx gen_aarch64_sqdmlal_nv2si (rtx, rtx, rtx, rtx);
  10428. extern rtx gen_aarch64_sqdmlsl_nv2si (rtx, rtx, rtx, rtx);
  10429. extern rtx gen_aarch64_sqdmlal2v8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10430. extern rtx gen_aarch64_sqdmlsl2v8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10431. extern rtx gen_aarch64_sqdmlal2v4si_internal (rtx, rtx, rtx, rtx, rtx);
  10432. extern rtx gen_aarch64_sqdmlsl2v4si_internal (rtx, rtx, rtx, rtx, rtx);
  10433. extern rtx gen_aarch64_sqdmlal2_lanev8hi_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10434. extern rtx gen_aarch64_sqdmlsl2_lanev8hi_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10435. extern rtx gen_aarch64_sqdmlal2_lanev4si_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10436. extern rtx gen_aarch64_sqdmlsl2_lanev4si_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10437. extern rtx gen_aarch64_sqdmlal2_laneqv8hi_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10438. extern rtx gen_aarch64_sqdmlsl2_laneqv8hi_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10439. extern rtx gen_aarch64_sqdmlal2_laneqv4si_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10440. extern rtx gen_aarch64_sqdmlsl2_laneqv4si_internal (rtx, rtx, rtx, rtx, rtx, rtx);
  10441. extern rtx gen_aarch64_sqdmlal2_nv8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10442. extern rtx gen_aarch64_sqdmlsl2_nv8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10443. extern rtx gen_aarch64_sqdmlal2_nv4si_internal (rtx, rtx, rtx, rtx, rtx);
  10444. extern rtx gen_aarch64_sqdmlsl2_nv4si_internal (rtx, rtx, rtx, rtx, rtx);
  10445. extern rtx gen_aarch64_sqdmullv4hi (rtx, rtx, rtx);
  10446. extern rtx gen_aarch64_sqdmullv2si (rtx, rtx, rtx);
  10447. extern rtx gen_aarch64_sqdmullhi (rtx, rtx, rtx);
  10448. extern rtx gen_aarch64_sqdmullsi (rtx, rtx, rtx);
  10449. extern rtx gen_aarch64_sqdmull_lanev4hi (rtx, rtx, rtx, rtx);
  10450. extern rtx gen_aarch64_sqdmull_lanev2si (rtx, rtx, rtx, rtx);
  10451. extern rtx gen_aarch64_sqdmull_laneqv4hi (rtx, rtx, rtx, rtx);
  10452. extern rtx gen_aarch64_sqdmull_laneqv2si (rtx, rtx, rtx, rtx);
  10453. extern rtx gen_aarch64_sqdmull_lanehi (rtx, rtx, rtx, rtx);
  10454. extern rtx gen_aarch64_sqdmull_lanesi (rtx, rtx, rtx, rtx);
  10455. extern rtx gen_aarch64_sqdmull_laneqhi (rtx, rtx, rtx, rtx);
  10456. extern rtx gen_aarch64_sqdmull_laneqsi (rtx, rtx, rtx, rtx);
  10457. extern rtx gen_aarch64_sqdmull_nv4hi (rtx, rtx, rtx);
  10458. extern rtx gen_aarch64_sqdmull_nv2si (rtx, rtx, rtx);
  10459. extern rtx gen_aarch64_sqdmull2v8hi_internal (rtx, rtx, rtx, rtx);
  10460. extern rtx gen_aarch64_sqdmull2v4si_internal (rtx, rtx, rtx, rtx);
  10461. extern rtx gen_aarch64_sqdmull2_lanev8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10462. extern rtx gen_aarch64_sqdmull2_lanev4si_internal (rtx, rtx, rtx, rtx, rtx);
  10463. extern rtx gen_aarch64_sqdmull2_laneqv8hi_internal (rtx, rtx, rtx, rtx, rtx);
  10464. extern rtx gen_aarch64_sqdmull2_laneqv4si_internal (rtx, rtx, rtx, rtx, rtx);
  10465. extern rtx gen_aarch64_sqdmull2_nv8hi_internal (rtx, rtx, rtx, rtx);
  10466. extern rtx gen_aarch64_sqdmull2_nv4si_internal (rtx, rtx, rtx, rtx);
  10467. extern rtx gen_aarch64_sshlv8qi (rtx, rtx, rtx);
  10468. extern rtx gen_aarch64_ushlv8qi (rtx, rtx, rtx);
  10469. extern rtx gen_aarch64_srshlv8qi (rtx, rtx, rtx);
  10470. extern rtx gen_aarch64_urshlv8qi (rtx, rtx, rtx);
  10471. extern rtx gen_aarch64_sshlv16qi (rtx, rtx, rtx);
  10472. extern rtx gen_aarch64_ushlv16qi (rtx, rtx, rtx);
  10473. extern rtx gen_aarch64_srshlv16qi (rtx, rtx, rtx);
  10474. extern rtx gen_aarch64_urshlv16qi (rtx, rtx, rtx);
  10475. extern rtx gen_aarch64_sshlv4hi (rtx, rtx, rtx);
  10476. extern rtx gen_aarch64_ushlv4hi (rtx, rtx, rtx);
  10477. extern rtx gen_aarch64_srshlv4hi (rtx, rtx, rtx);
  10478. extern rtx gen_aarch64_urshlv4hi (rtx, rtx, rtx);
  10479. extern rtx gen_aarch64_sshlv8hi (rtx, rtx, rtx);
  10480. extern rtx gen_aarch64_ushlv8hi (rtx, rtx, rtx);
  10481. extern rtx gen_aarch64_srshlv8hi (rtx, rtx, rtx);
  10482. extern rtx gen_aarch64_urshlv8hi (rtx, rtx, rtx);
  10483. extern rtx gen_aarch64_sshlv2si (rtx, rtx, rtx);
  10484. extern rtx gen_aarch64_ushlv2si (rtx, rtx, rtx);
  10485. extern rtx gen_aarch64_srshlv2si (rtx, rtx, rtx);
  10486. extern rtx gen_aarch64_urshlv2si (rtx, rtx, rtx);
  10487. extern rtx gen_aarch64_sshlv4si (rtx, rtx, rtx);
  10488. extern rtx gen_aarch64_ushlv4si (rtx, rtx, rtx);
  10489. extern rtx gen_aarch64_srshlv4si (rtx, rtx, rtx);
  10490. extern rtx gen_aarch64_urshlv4si (rtx, rtx, rtx);
  10491. extern rtx gen_aarch64_sshlv2di (rtx, rtx, rtx);
  10492. extern rtx gen_aarch64_ushlv2di (rtx, rtx, rtx);
  10493. extern rtx gen_aarch64_srshlv2di (rtx, rtx, rtx);
  10494. extern rtx gen_aarch64_urshlv2di (rtx, rtx, rtx);
  10495. extern rtx gen_aarch64_sshldi (rtx, rtx, rtx);
  10496. extern rtx gen_aarch64_ushldi (rtx, rtx, rtx);
  10497. extern rtx gen_aarch64_srshldi (rtx, rtx, rtx);
  10498. extern rtx gen_aarch64_urshldi (rtx, rtx, rtx);
  10499. extern rtx gen_aarch64_sqshlv8qi (rtx, rtx, rtx);
  10500. extern rtx gen_aarch64_uqshlv8qi (rtx, rtx, rtx);
  10501. extern rtx gen_aarch64_sqrshlv8qi (rtx, rtx, rtx);
  10502. extern rtx gen_aarch64_uqrshlv8qi (rtx, rtx, rtx);
  10503. extern rtx gen_aarch64_sqshlv16qi (rtx, rtx, rtx);
  10504. extern rtx gen_aarch64_uqshlv16qi (rtx, rtx, rtx);
  10505. extern rtx gen_aarch64_sqrshlv16qi (rtx, rtx, rtx);
  10506. extern rtx gen_aarch64_uqrshlv16qi (rtx, rtx, rtx);
  10507. extern rtx gen_aarch64_sqshlv4hi (rtx, rtx, rtx);
  10508. extern rtx gen_aarch64_uqshlv4hi (rtx, rtx, rtx);
  10509. extern rtx gen_aarch64_sqrshlv4hi (rtx, rtx, rtx);
  10510. extern rtx gen_aarch64_uqrshlv4hi (rtx, rtx, rtx);
  10511. extern rtx gen_aarch64_sqshlv8hi (rtx, rtx, rtx);
  10512. extern rtx gen_aarch64_uqshlv8hi (rtx, rtx, rtx);
  10513. extern rtx gen_aarch64_sqrshlv8hi (rtx, rtx, rtx);
  10514. extern rtx gen_aarch64_uqrshlv8hi (rtx, rtx, rtx);
  10515. extern rtx gen_aarch64_sqshlv2si (rtx, rtx, rtx);
  10516. extern rtx gen_aarch64_uqshlv2si (rtx, rtx, rtx);
  10517. extern rtx gen_aarch64_sqrshlv2si (rtx, rtx, rtx);
  10518. extern rtx gen_aarch64_uqrshlv2si (rtx, rtx, rtx);
  10519. extern rtx gen_aarch64_sqshlv4si (rtx, rtx, rtx);
  10520. extern rtx gen_aarch64_uqshlv4si (rtx, rtx, rtx);
  10521. extern rtx gen_aarch64_sqrshlv4si (rtx, rtx, rtx);
  10522. extern rtx gen_aarch64_uqrshlv4si (rtx, rtx, rtx);
  10523. extern rtx gen_aarch64_sqshlv2di (rtx, rtx, rtx);
  10524. extern rtx gen_aarch64_uqshlv2di (rtx, rtx, rtx);
  10525. extern rtx gen_aarch64_sqrshlv2di (rtx, rtx, rtx);
  10526. extern rtx gen_aarch64_uqrshlv2di (rtx, rtx, rtx);
  10527. extern rtx gen_aarch64_sqshlqi (rtx, rtx, rtx);
  10528. extern rtx gen_aarch64_uqshlqi (rtx, rtx, rtx);
  10529. extern rtx gen_aarch64_sqrshlqi (rtx, rtx, rtx);
  10530. extern rtx gen_aarch64_uqrshlqi (rtx, rtx, rtx);
  10531. extern rtx gen_aarch64_sqshlhi (rtx, rtx, rtx);
  10532. extern rtx gen_aarch64_uqshlhi (rtx, rtx, rtx);
  10533. extern rtx gen_aarch64_sqrshlhi (rtx, rtx, rtx);
  10534. extern rtx gen_aarch64_uqrshlhi (rtx, rtx, rtx);
  10535. extern rtx gen_aarch64_sqshlsi (rtx, rtx, rtx);
  10536. extern rtx gen_aarch64_uqshlsi (rtx, rtx, rtx);
  10537. extern rtx gen_aarch64_sqrshlsi (rtx, rtx, rtx);
  10538. extern rtx gen_aarch64_uqrshlsi (rtx, rtx, rtx);
  10539. extern rtx gen_aarch64_sqshldi (rtx, rtx, rtx);
  10540. extern rtx gen_aarch64_uqshldi (rtx, rtx, rtx);
  10541. extern rtx gen_aarch64_sqrshldi (rtx, rtx, rtx);
  10542. extern rtx gen_aarch64_uqrshldi (rtx, rtx, rtx);
  10543. extern rtx gen_aarch64_sshll_nv8qi (rtx, rtx, rtx);
  10544. extern rtx gen_aarch64_ushll_nv8qi (rtx, rtx, rtx);
  10545. extern rtx gen_aarch64_sshll_nv4hi (rtx, rtx, rtx);
  10546. extern rtx gen_aarch64_ushll_nv4hi (rtx, rtx, rtx);
  10547. extern rtx gen_aarch64_sshll_nv2si (rtx, rtx, rtx);
  10548. extern rtx gen_aarch64_ushll_nv2si (rtx, rtx, rtx);
  10549. extern rtx gen_aarch64_sshll2_nv16qi (rtx, rtx, rtx);
  10550. extern rtx gen_aarch64_ushll2_nv16qi (rtx, rtx, rtx);
  10551. extern rtx gen_aarch64_sshll2_nv8hi (rtx, rtx, rtx);
  10552. extern rtx gen_aarch64_ushll2_nv8hi (rtx, rtx, rtx);
  10553. extern rtx gen_aarch64_sshll2_nv4si (rtx, rtx, rtx);
  10554. extern rtx gen_aarch64_ushll2_nv4si (rtx, rtx, rtx);
  10555. extern rtx gen_aarch64_srshr_nv8qi (rtx, rtx, rtx);
  10556. extern rtx gen_aarch64_urshr_nv8qi (rtx, rtx, rtx);
  10557. extern rtx gen_aarch64_srshr_nv16qi (rtx, rtx, rtx);
  10558. extern rtx gen_aarch64_urshr_nv16qi (rtx, rtx, rtx);
  10559. extern rtx gen_aarch64_srshr_nv4hi (rtx, rtx, rtx);
  10560. extern rtx gen_aarch64_urshr_nv4hi (rtx, rtx, rtx);
  10561. extern rtx gen_aarch64_srshr_nv8hi (rtx, rtx, rtx);
  10562. extern rtx gen_aarch64_urshr_nv8hi (rtx, rtx, rtx);
  10563. extern rtx gen_aarch64_srshr_nv2si (rtx, rtx, rtx);
  10564. extern rtx gen_aarch64_urshr_nv2si (rtx, rtx, rtx);
  10565. extern rtx gen_aarch64_srshr_nv4si (rtx, rtx, rtx);
  10566. extern rtx gen_aarch64_urshr_nv4si (rtx, rtx, rtx);
  10567. extern rtx gen_aarch64_srshr_nv2di (rtx, rtx, rtx);
  10568. extern rtx gen_aarch64_urshr_nv2di (rtx, rtx, rtx);
  10569. extern rtx gen_aarch64_srshr_ndi (rtx, rtx, rtx);
  10570. extern rtx gen_aarch64_urshr_ndi (rtx, rtx, rtx);
  10571. extern rtx gen_aarch64_ssra_nv8qi (rtx, rtx, rtx, rtx);
  10572. extern rtx gen_aarch64_usra_nv8qi (rtx, rtx, rtx, rtx);
  10573. extern rtx gen_aarch64_srsra_nv8qi (rtx, rtx, rtx, rtx);
  10574. extern rtx gen_aarch64_ursra_nv8qi (rtx, rtx, rtx, rtx);
  10575. extern rtx gen_aarch64_ssra_nv16qi (rtx, rtx, rtx, rtx);
  10576. extern rtx gen_aarch64_usra_nv16qi (rtx, rtx, rtx, rtx);
  10577. extern rtx gen_aarch64_srsra_nv16qi (rtx, rtx, rtx, rtx);
  10578. extern rtx gen_aarch64_ursra_nv16qi (rtx, rtx, rtx, rtx);
  10579. extern rtx gen_aarch64_ssra_nv4hi (rtx, rtx, rtx, rtx);
  10580. extern rtx gen_aarch64_usra_nv4hi (rtx, rtx, rtx, rtx);
  10581. extern rtx gen_aarch64_srsra_nv4hi (rtx, rtx, rtx, rtx);
  10582. extern rtx gen_aarch64_ursra_nv4hi (rtx, rtx, rtx, rtx);
  10583. extern rtx gen_aarch64_ssra_nv8hi (rtx, rtx, rtx, rtx);
  10584. extern rtx gen_aarch64_usra_nv8hi (rtx, rtx, rtx, rtx);
  10585. extern rtx gen_aarch64_srsra_nv8hi (rtx, rtx, rtx, rtx);
  10586. extern rtx gen_aarch64_ursra_nv8hi (rtx, rtx, rtx, rtx);
  10587. extern rtx gen_aarch64_ssra_nv2si (rtx, rtx, rtx, rtx);
  10588. extern rtx gen_aarch64_usra_nv2si (rtx, rtx, rtx, rtx);
  10589. extern rtx gen_aarch64_srsra_nv2si (rtx, rtx, rtx, rtx);
  10590. extern rtx gen_aarch64_ursra_nv2si (rtx, rtx, rtx, rtx);
  10591. extern rtx gen_aarch64_ssra_nv4si (rtx, rtx, rtx, rtx);
  10592. extern rtx gen_aarch64_usra_nv4si (rtx, rtx, rtx, rtx);
  10593. extern rtx gen_aarch64_srsra_nv4si (rtx, rtx, rtx, rtx);
  10594. extern rtx gen_aarch64_ursra_nv4si (rtx, rtx, rtx, rtx);
  10595. extern rtx gen_aarch64_ssra_nv2di (rtx, rtx, rtx, rtx);
  10596. extern rtx gen_aarch64_usra_nv2di (rtx, rtx, rtx, rtx);
  10597. extern rtx gen_aarch64_srsra_nv2di (rtx, rtx, rtx, rtx);
  10598. extern rtx gen_aarch64_ursra_nv2di (rtx, rtx, rtx, rtx);
  10599. extern rtx gen_aarch64_ssra_ndi (rtx, rtx, rtx, rtx);
  10600. extern rtx gen_aarch64_usra_ndi (rtx, rtx, rtx, rtx);
  10601. extern rtx gen_aarch64_srsra_ndi (rtx, rtx, rtx, rtx);
  10602. extern rtx gen_aarch64_ursra_ndi (rtx, rtx, rtx, rtx);
  10603. extern rtx gen_aarch64_ssli_nv8qi (rtx, rtx, rtx, rtx);
  10604. extern rtx gen_aarch64_usli_nv8qi (rtx, rtx, rtx, rtx);
  10605. extern rtx gen_aarch64_ssri_nv8qi (rtx, rtx, rtx, rtx);
  10606. extern rtx gen_aarch64_usri_nv8qi (rtx, rtx, rtx, rtx);
  10607. extern rtx gen_aarch64_ssli_nv16qi (rtx, rtx, rtx, rtx);
  10608. extern rtx gen_aarch64_usli_nv16qi (rtx, rtx, rtx, rtx);
  10609. extern rtx gen_aarch64_ssri_nv16qi (rtx, rtx, rtx, rtx);
  10610. extern rtx gen_aarch64_usri_nv16qi (rtx, rtx, rtx, rtx);
  10611. extern rtx gen_aarch64_ssli_nv4hi (rtx, rtx, rtx, rtx);
  10612. extern rtx gen_aarch64_usli_nv4hi (rtx, rtx, rtx, rtx);
  10613. extern rtx gen_aarch64_ssri_nv4hi (rtx, rtx, rtx, rtx);
  10614. extern rtx gen_aarch64_usri_nv4hi (rtx, rtx, rtx, rtx);
  10615. extern rtx gen_aarch64_ssli_nv8hi (rtx, rtx, rtx, rtx);
  10616. extern rtx gen_aarch64_usli_nv8hi (rtx, rtx, rtx, rtx);
  10617. extern rtx gen_aarch64_ssri_nv8hi (rtx, rtx, rtx, rtx);
  10618. extern rtx gen_aarch64_usri_nv8hi (rtx, rtx, rtx, rtx);
  10619. extern rtx gen_aarch64_ssli_nv2si (rtx, rtx, rtx, rtx);
  10620. extern rtx gen_aarch64_usli_nv2si (rtx, rtx, rtx, rtx);
  10621. extern rtx gen_aarch64_ssri_nv2si (rtx, rtx, rtx, rtx);
  10622. extern rtx gen_aarch64_usri_nv2si (rtx, rtx, rtx, rtx);
  10623. extern rtx gen_aarch64_ssli_nv4si (rtx, rtx, rtx, rtx);
  10624. extern rtx gen_aarch64_usli_nv4si (rtx, rtx, rtx, rtx);
  10625. extern rtx gen_aarch64_ssri_nv4si (rtx, rtx, rtx, rtx);
  10626. extern rtx gen_aarch64_usri_nv4si (rtx, rtx, rtx, rtx);
  10627. extern rtx gen_aarch64_ssli_nv2di (rtx, rtx, rtx, rtx);
  10628. extern rtx gen_aarch64_usli_nv2di (rtx, rtx, rtx, rtx);
  10629. extern rtx gen_aarch64_ssri_nv2di (rtx, rtx, rtx, rtx);
  10630. extern rtx gen_aarch64_usri_nv2di (rtx, rtx, rtx, rtx);
  10631. extern rtx gen_aarch64_ssli_ndi (rtx, rtx, rtx, rtx);
  10632. extern rtx gen_aarch64_usli_ndi (rtx, rtx, rtx, rtx);
  10633. extern rtx gen_aarch64_ssri_ndi (rtx, rtx, rtx, rtx);
  10634. extern rtx gen_aarch64_usri_ndi (rtx, rtx, rtx, rtx);
  10635. extern rtx gen_aarch64_sqshlu_nv8qi (rtx, rtx, rtx);
  10636. extern rtx gen_aarch64_sqshl_nv8qi (rtx, rtx, rtx);
  10637. extern rtx gen_aarch64_uqshl_nv8qi (rtx, rtx, rtx);
  10638. extern rtx gen_aarch64_sqshlu_nv16qi (rtx, rtx, rtx);
  10639. extern rtx gen_aarch64_sqshl_nv16qi (rtx, rtx, rtx);
  10640. extern rtx gen_aarch64_uqshl_nv16qi (rtx, rtx, rtx);
  10641. extern rtx gen_aarch64_sqshlu_nv4hi (rtx, rtx, rtx);
  10642. extern rtx gen_aarch64_sqshl_nv4hi (rtx, rtx, rtx);
  10643. extern rtx gen_aarch64_uqshl_nv4hi (rtx, rtx, rtx);
  10644. extern rtx gen_aarch64_sqshlu_nv8hi (rtx, rtx, rtx);
  10645. extern rtx gen_aarch64_sqshl_nv8hi (rtx, rtx, rtx);
  10646. extern rtx gen_aarch64_uqshl_nv8hi (rtx, rtx, rtx);
  10647. extern rtx gen_aarch64_sqshlu_nv2si (rtx, rtx, rtx);
  10648. extern rtx gen_aarch64_sqshl_nv2si (rtx, rtx, rtx);
  10649. extern rtx gen_aarch64_uqshl_nv2si (rtx, rtx, rtx);
  10650. extern rtx gen_aarch64_sqshlu_nv4si (rtx, rtx, rtx);
  10651. extern rtx gen_aarch64_sqshl_nv4si (rtx, rtx, rtx);
  10652. extern rtx gen_aarch64_uqshl_nv4si (rtx, rtx, rtx);
  10653. extern rtx gen_aarch64_sqshlu_nv2di (rtx, rtx, rtx);
  10654. extern rtx gen_aarch64_sqshl_nv2di (rtx, rtx, rtx);
  10655. extern rtx gen_aarch64_uqshl_nv2di (rtx, rtx, rtx);
  10656. extern rtx gen_aarch64_sqshlu_nqi (rtx, rtx, rtx);
  10657. extern rtx gen_aarch64_sqshl_nqi (rtx, rtx, rtx);
  10658. extern rtx gen_aarch64_uqshl_nqi (rtx, rtx, rtx);
  10659. extern rtx gen_aarch64_sqshlu_nhi (rtx, rtx, rtx);
  10660. extern rtx gen_aarch64_sqshl_nhi (rtx, rtx, rtx);
  10661. extern rtx gen_aarch64_uqshl_nhi (rtx, rtx, rtx);
  10662. extern rtx gen_aarch64_sqshlu_nsi (rtx, rtx, rtx);
  10663. extern rtx gen_aarch64_sqshl_nsi (rtx, rtx, rtx);
  10664. extern rtx gen_aarch64_uqshl_nsi (rtx, rtx, rtx);
  10665. extern rtx gen_aarch64_sqshlu_ndi (rtx, rtx, rtx);
  10666. extern rtx gen_aarch64_sqshl_ndi (rtx, rtx, rtx);
  10667. extern rtx gen_aarch64_uqshl_ndi (rtx, rtx, rtx);
  10668. extern rtx gen_aarch64_sqshrun_nv8hi (rtx, rtx, rtx);
  10669. extern rtx gen_aarch64_sqrshrun_nv8hi (rtx, rtx, rtx);
  10670. extern rtx gen_aarch64_sqshrn_nv8hi (rtx, rtx, rtx);
  10671. extern rtx gen_aarch64_uqshrn_nv8hi (rtx, rtx, rtx);
  10672. extern rtx gen_aarch64_sqrshrn_nv8hi (rtx, rtx, rtx);
  10673. extern rtx gen_aarch64_uqrshrn_nv8hi (rtx, rtx, rtx);
  10674. extern rtx gen_aarch64_sqshrun_nv4si (rtx, rtx, rtx);
  10675. extern rtx gen_aarch64_sqrshrun_nv4si (rtx, rtx, rtx);
  10676. extern rtx gen_aarch64_sqshrn_nv4si (rtx, rtx, rtx);
  10677. extern rtx gen_aarch64_uqshrn_nv4si (rtx, rtx, rtx);
  10678. extern rtx gen_aarch64_sqrshrn_nv4si (rtx, rtx, rtx);
  10679. extern rtx gen_aarch64_uqrshrn_nv4si (rtx, rtx, rtx);
  10680. extern rtx gen_aarch64_sqshrun_nv2di (rtx, rtx, rtx);
  10681. extern rtx gen_aarch64_sqrshrun_nv2di (rtx, rtx, rtx);
  10682. extern rtx gen_aarch64_sqshrn_nv2di (rtx, rtx, rtx);
  10683. extern rtx gen_aarch64_uqshrn_nv2di (rtx, rtx, rtx);
  10684. extern rtx gen_aarch64_sqrshrn_nv2di (rtx, rtx, rtx);
  10685. extern rtx gen_aarch64_uqrshrn_nv2di (rtx, rtx, rtx);
  10686. extern rtx gen_aarch64_sqshrun_nhi (rtx, rtx, rtx);
  10687. extern rtx gen_aarch64_sqrshrun_nhi (rtx, rtx, rtx);
  10688. extern rtx gen_aarch64_sqshrn_nhi (rtx, rtx, rtx);
  10689. extern rtx gen_aarch64_uqshrn_nhi (rtx, rtx, rtx);
  10690. extern rtx gen_aarch64_sqrshrn_nhi (rtx, rtx, rtx);
  10691. extern rtx gen_aarch64_uqrshrn_nhi (rtx, rtx, rtx);
  10692. extern rtx gen_aarch64_sqshrun_nsi (rtx, rtx, rtx);
  10693. extern rtx gen_aarch64_sqrshrun_nsi (rtx, rtx, rtx);
  10694. extern rtx gen_aarch64_sqshrn_nsi (rtx, rtx, rtx);
  10695. extern rtx gen_aarch64_uqshrn_nsi (rtx, rtx, rtx);
  10696. extern rtx gen_aarch64_sqrshrn_nsi (rtx, rtx, rtx);
  10697. extern rtx gen_aarch64_uqrshrn_nsi (rtx, rtx, rtx);
  10698. extern rtx gen_aarch64_sqshrun_ndi (rtx, rtx, rtx);
  10699. extern rtx gen_aarch64_sqrshrun_ndi (rtx, rtx, rtx);
  10700. extern rtx gen_aarch64_sqshrn_ndi (rtx, rtx, rtx);
  10701. extern rtx gen_aarch64_uqshrn_ndi (rtx, rtx, rtx);
  10702. extern rtx gen_aarch64_sqrshrn_ndi (rtx, rtx, rtx);
  10703. extern rtx gen_aarch64_uqrshrn_ndi (rtx, rtx, rtx);
  10704. extern rtx gen_aarch64_cmltv8qi (rtx, rtx, rtx);
  10705. extern rtx gen_aarch64_cmlev8qi (rtx, rtx, rtx);
  10706. extern rtx gen_aarch64_cmeqv8qi (rtx, rtx, rtx);
  10707. extern rtx gen_aarch64_cmgev8qi (rtx, rtx, rtx);
  10708. extern rtx gen_aarch64_cmgtv8qi (rtx, rtx, rtx);
  10709. extern rtx gen_aarch64_cmltv16qi (rtx, rtx, rtx);
  10710. extern rtx gen_aarch64_cmlev16qi (rtx, rtx, rtx);
  10711. extern rtx gen_aarch64_cmeqv16qi (rtx, rtx, rtx);
  10712. extern rtx gen_aarch64_cmgev16qi (rtx, rtx, rtx);
  10713. extern rtx gen_aarch64_cmgtv16qi (rtx, rtx, rtx);
  10714. extern rtx gen_aarch64_cmltv4hi (rtx, rtx, rtx);
  10715. extern rtx gen_aarch64_cmlev4hi (rtx, rtx, rtx);
  10716. extern rtx gen_aarch64_cmeqv4hi (rtx, rtx, rtx);
  10717. extern rtx gen_aarch64_cmgev4hi (rtx, rtx, rtx);
  10718. extern rtx gen_aarch64_cmgtv4hi (rtx, rtx, rtx);
  10719. extern rtx gen_aarch64_cmltv8hi (rtx, rtx, rtx);
  10720. extern rtx gen_aarch64_cmlev8hi (rtx, rtx, rtx);
  10721. extern rtx gen_aarch64_cmeqv8hi (rtx, rtx, rtx);
  10722. extern rtx gen_aarch64_cmgev8hi (rtx, rtx, rtx);
  10723. extern rtx gen_aarch64_cmgtv8hi (rtx, rtx, rtx);
  10724. extern rtx gen_aarch64_cmltv2si (rtx, rtx, rtx);
  10725. extern rtx gen_aarch64_cmlev2si (rtx, rtx, rtx);
  10726. extern rtx gen_aarch64_cmeqv2si (rtx, rtx, rtx);
  10727. extern rtx gen_aarch64_cmgev2si (rtx, rtx, rtx);
  10728. extern rtx gen_aarch64_cmgtv2si (rtx, rtx, rtx);
  10729. extern rtx gen_aarch64_cmltv4si (rtx, rtx, rtx);
  10730. extern rtx gen_aarch64_cmlev4si (rtx, rtx, rtx);
  10731. extern rtx gen_aarch64_cmeqv4si (rtx, rtx, rtx);
  10732. extern rtx gen_aarch64_cmgev4si (rtx, rtx, rtx);
  10733. extern rtx gen_aarch64_cmgtv4si (rtx, rtx, rtx);
  10734. extern rtx gen_aarch64_cmltv2di (rtx, rtx, rtx);
  10735. extern rtx gen_aarch64_cmlev2di (rtx, rtx, rtx);
  10736. extern rtx gen_aarch64_cmeqv2di (rtx, rtx, rtx);
  10737. extern rtx gen_aarch64_cmgev2di (rtx, rtx, rtx);
  10738. extern rtx gen_aarch64_cmgtv2di (rtx, rtx, rtx);
  10739. extern rtx gen_aarch64_cmltdi (rtx, rtx, rtx);
  10740. extern rtx gen_aarch64_cmledi (rtx, rtx, rtx);
  10741. extern rtx gen_aarch64_cmeqdi (rtx, rtx, rtx);
  10742. extern rtx gen_aarch64_cmgedi (rtx, rtx, rtx);
  10743. extern rtx gen_aarch64_cmgtdi (rtx, rtx, rtx);
  10744. extern rtx gen_aarch64_cmltuv8qi (rtx, rtx, rtx);
  10745. extern rtx gen_aarch64_cmleuv8qi (rtx, rtx, rtx);
  10746. extern rtx gen_aarch64_cmgeuv8qi (rtx, rtx, rtx);
  10747. extern rtx gen_aarch64_cmgtuv8qi (rtx, rtx, rtx);
  10748. extern rtx gen_aarch64_cmltuv16qi (rtx, rtx, rtx);
  10749. extern rtx gen_aarch64_cmleuv16qi (rtx, rtx, rtx);
  10750. extern rtx gen_aarch64_cmgeuv16qi (rtx, rtx, rtx);
  10751. extern rtx gen_aarch64_cmgtuv16qi (rtx, rtx, rtx);
  10752. extern rtx gen_aarch64_cmltuv4hi (rtx, rtx, rtx);
  10753. extern rtx gen_aarch64_cmleuv4hi (rtx, rtx, rtx);
  10754. extern rtx gen_aarch64_cmgeuv4hi (rtx, rtx, rtx);
  10755. extern rtx gen_aarch64_cmgtuv4hi (rtx, rtx, rtx);
  10756. extern rtx gen_aarch64_cmltuv8hi (rtx, rtx, rtx);
  10757. extern rtx gen_aarch64_cmleuv8hi (rtx, rtx, rtx);
  10758. extern rtx gen_aarch64_cmgeuv8hi (rtx, rtx, rtx);
  10759. extern rtx gen_aarch64_cmgtuv8hi (rtx, rtx, rtx);
  10760. extern rtx gen_aarch64_cmltuv2si (rtx, rtx, rtx);
  10761. extern rtx gen_aarch64_cmleuv2si (rtx, rtx, rtx);
  10762. extern rtx gen_aarch64_cmgeuv2si (rtx, rtx, rtx);
  10763. extern rtx gen_aarch64_cmgtuv2si (rtx, rtx, rtx);
  10764. extern rtx gen_aarch64_cmltuv4si (rtx, rtx, rtx);
  10765. extern rtx gen_aarch64_cmleuv4si (rtx, rtx, rtx);
  10766. extern rtx gen_aarch64_cmgeuv4si (rtx, rtx, rtx);
  10767. extern rtx gen_aarch64_cmgtuv4si (rtx, rtx, rtx);
  10768. extern rtx gen_aarch64_cmltuv2di (rtx, rtx, rtx);
  10769. extern rtx gen_aarch64_cmleuv2di (rtx, rtx, rtx);
  10770. extern rtx gen_aarch64_cmgeuv2di (rtx, rtx, rtx);
  10771. extern rtx gen_aarch64_cmgtuv2di (rtx, rtx, rtx);
  10772. extern rtx gen_aarch64_cmltudi (rtx, rtx, rtx);
  10773. extern rtx gen_aarch64_cmleudi (rtx, rtx, rtx);
  10774. extern rtx gen_aarch64_cmgeudi (rtx, rtx, rtx);
  10775. extern rtx gen_aarch64_cmgtudi (rtx, rtx, rtx);
  10776. extern rtx gen_aarch64_cmtstv8qi (rtx, rtx, rtx, rtx, rtx);
  10777. extern rtx gen_aarch64_cmtstv16qi (rtx, rtx, rtx, rtx, rtx);
  10778. extern rtx gen_aarch64_cmtstv4hi (rtx, rtx, rtx, rtx, rtx);
  10779. extern rtx gen_aarch64_cmtstv8hi (rtx, rtx, rtx, rtx, rtx);
  10780. extern rtx gen_aarch64_cmtstv2si (rtx, rtx, rtx, rtx, rtx);
  10781. extern rtx gen_aarch64_cmtstv4si (rtx, rtx, rtx, rtx, rtx);
  10782. extern rtx gen_aarch64_cmtstv2di (rtx, rtx, rtx, rtx, rtx);
  10783. extern rtx gen_aarch64_cmtstdi (rtx, rtx, rtx);
  10784. extern rtx gen_aarch64_cmltv4hf (rtx, rtx, rtx);
  10785. extern rtx gen_aarch64_cmlev4hf (rtx, rtx, rtx);
  10786. extern rtx gen_aarch64_cmeqv4hf (rtx, rtx, rtx);
  10787. extern rtx gen_aarch64_cmgev4hf (rtx, rtx, rtx);
  10788. extern rtx gen_aarch64_cmgtv4hf (rtx, rtx, rtx);
  10789. extern rtx gen_aarch64_cmltv8hf (rtx, rtx, rtx);
  10790. extern rtx gen_aarch64_cmlev8hf (rtx, rtx, rtx);
  10791. extern rtx gen_aarch64_cmeqv8hf (rtx, rtx, rtx);
  10792. extern rtx gen_aarch64_cmgev8hf (rtx, rtx, rtx);
  10793. extern rtx gen_aarch64_cmgtv8hf (rtx, rtx, rtx);
  10794. extern rtx gen_aarch64_cmltv2sf (rtx, rtx, rtx);
  10795. extern rtx gen_aarch64_cmlev2sf (rtx, rtx, rtx);
  10796. extern rtx gen_aarch64_cmeqv2sf (rtx, rtx, rtx);
  10797. extern rtx gen_aarch64_cmgev2sf (rtx, rtx, rtx);
  10798. extern rtx gen_aarch64_cmgtv2sf (rtx, rtx, rtx);
  10799. extern rtx gen_aarch64_cmltv4sf (rtx, rtx, rtx);
  10800. extern rtx gen_aarch64_cmlev4sf (rtx, rtx, rtx);
  10801. extern rtx gen_aarch64_cmeqv4sf (rtx, rtx, rtx);
  10802. extern rtx gen_aarch64_cmgev4sf (rtx, rtx, rtx);
  10803. extern rtx gen_aarch64_cmgtv4sf (rtx, rtx, rtx);
  10804. extern rtx gen_aarch64_cmltv2df (rtx, rtx, rtx);
  10805. extern rtx gen_aarch64_cmlev2df (rtx, rtx, rtx);
  10806. extern rtx gen_aarch64_cmeqv2df (rtx, rtx, rtx);
  10807. extern rtx gen_aarch64_cmgev2df (rtx, rtx, rtx);
  10808. extern rtx gen_aarch64_cmgtv2df (rtx, rtx, rtx);
  10809. extern rtx gen_aarch64_cmlthf (rtx, rtx, rtx);
  10810. extern rtx gen_aarch64_cmlehf (rtx, rtx, rtx);
  10811. extern rtx gen_aarch64_cmeqhf (rtx, rtx, rtx);
  10812. extern rtx gen_aarch64_cmgehf (rtx, rtx, rtx);
  10813. extern rtx gen_aarch64_cmgthf (rtx, rtx, rtx);
  10814. extern rtx gen_aarch64_cmltsf (rtx, rtx, rtx);
  10815. extern rtx gen_aarch64_cmlesf (rtx, rtx, rtx);
  10816. extern rtx gen_aarch64_cmeqsf (rtx, rtx, rtx);
  10817. extern rtx gen_aarch64_cmgesf (rtx, rtx, rtx);
  10818. extern rtx gen_aarch64_cmgtsf (rtx, rtx, rtx);
  10819. extern rtx gen_aarch64_cmltdf (rtx, rtx, rtx);
  10820. extern rtx gen_aarch64_cmledf (rtx, rtx, rtx);
  10821. extern rtx gen_aarch64_cmeqdf (rtx, rtx, rtx);
  10822. extern rtx gen_aarch64_cmgedf (rtx, rtx, rtx);
  10823. extern rtx gen_aarch64_cmgtdf (rtx, rtx, rtx);
  10824. extern rtx gen_aarch64_facltv4hf (rtx, rtx, rtx);
  10825. extern rtx gen_aarch64_faclev4hf (rtx, rtx, rtx);
  10826. extern rtx gen_aarch64_facgev4hf (rtx, rtx, rtx);
  10827. extern rtx gen_aarch64_facgtv4hf (rtx, rtx, rtx);
  10828. extern rtx gen_aarch64_facltv8hf (rtx, rtx, rtx);
  10829. extern rtx gen_aarch64_faclev8hf (rtx, rtx, rtx);
  10830. extern rtx gen_aarch64_facgev8hf (rtx, rtx, rtx);
  10831. extern rtx gen_aarch64_facgtv8hf (rtx, rtx, rtx);
  10832. extern rtx gen_aarch64_facltv2sf (rtx, rtx, rtx);
  10833. extern rtx gen_aarch64_faclev2sf (rtx, rtx, rtx);
  10834. extern rtx gen_aarch64_facgev2sf (rtx, rtx, rtx);
  10835. extern rtx gen_aarch64_facgtv2sf (rtx, rtx, rtx);
  10836. extern rtx gen_aarch64_facltv4sf (rtx, rtx, rtx);
  10837. extern rtx gen_aarch64_faclev4sf (rtx, rtx, rtx);
  10838. extern rtx gen_aarch64_facgev4sf (rtx, rtx, rtx);
  10839. extern rtx gen_aarch64_facgtv4sf (rtx, rtx, rtx);
  10840. extern rtx gen_aarch64_facltv2df (rtx, rtx, rtx);
  10841. extern rtx gen_aarch64_faclev2df (rtx, rtx, rtx);
  10842. extern rtx gen_aarch64_facgev2df (rtx, rtx, rtx);
  10843. extern rtx gen_aarch64_facgtv2df (rtx, rtx, rtx);
  10844. extern rtx gen_aarch64_faclthf (rtx, rtx, rtx);
  10845. extern rtx gen_aarch64_faclehf (rtx, rtx, rtx);
  10846. extern rtx gen_aarch64_facgehf (rtx, rtx, rtx);
  10847. extern rtx gen_aarch64_facgthf (rtx, rtx, rtx);
  10848. extern rtx gen_aarch64_facltsf (rtx, rtx, rtx);
  10849. extern rtx gen_aarch64_faclesf (rtx, rtx, rtx);
  10850. extern rtx gen_aarch64_facgesf (rtx, rtx, rtx);
  10851. extern rtx gen_aarch64_facgtsf (rtx, rtx, rtx);
  10852. extern rtx gen_aarch64_facltdf (rtx, rtx, rtx);
  10853. extern rtx gen_aarch64_facledf (rtx, rtx, rtx);
  10854. extern rtx gen_aarch64_facgedf (rtx, rtx, rtx);
  10855. extern rtx gen_aarch64_facgtdf (rtx, rtx, rtx);
  10856. extern rtx gen_aarch64_addpv8qi (rtx, rtx, rtx);
  10857. extern rtx gen_aarch64_addpv4hi (rtx, rtx, rtx);
  10858. extern rtx gen_aarch64_addpv2si (rtx, rtx, rtx);
  10859. extern rtx gen_aarch64_addpdi (rtx, rtx);
  10860. extern rtx gen_aarch64_simd_ld2v16qi (rtx, rtx);
  10861. extern rtx gen_aarch64_simd_ld2v8hi (rtx, rtx);
  10862. extern rtx gen_aarch64_simd_ld2v4si (rtx, rtx);
  10863. extern rtx gen_aarch64_simd_ld2v2di (rtx, rtx);
  10864. extern rtx gen_aarch64_simd_ld2v8hf (rtx, rtx);
  10865. extern rtx gen_aarch64_simd_ld2v4sf (rtx, rtx);
  10866. extern rtx gen_aarch64_simd_ld2v2df (rtx, rtx);
  10867. extern rtx gen_aarch64_simd_ld2v8bf (rtx, rtx);
  10868. extern rtx gen_aarch64_simd_ld2rv8qi (rtx, rtx);
  10869. extern rtx gen_aarch64_simd_ld2rv16qi (rtx, rtx);
  10870. extern rtx gen_aarch64_simd_ld2rv4hi (rtx, rtx);
  10871. extern rtx gen_aarch64_simd_ld2rv8hi (rtx, rtx);
  10872. extern rtx gen_aarch64_simd_ld2rv2si (rtx, rtx);
  10873. extern rtx gen_aarch64_simd_ld2rv4si (rtx, rtx);
  10874. extern rtx gen_aarch64_simd_ld2rv4bf (rtx, rtx);
  10875. extern rtx gen_aarch64_simd_ld2rv8bf (rtx, rtx);
  10876. extern rtx gen_aarch64_simd_ld2rv2di (rtx, rtx);
  10877. extern rtx gen_aarch64_simd_ld2rv4hf (rtx, rtx);
  10878. extern rtx gen_aarch64_simd_ld2rv8hf (rtx, rtx);
  10879. extern rtx gen_aarch64_simd_ld2rv2sf (rtx, rtx);
  10880. extern rtx gen_aarch64_simd_ld2rv4sf (rtx, rtx);
  10881. extern rtx gen_aarch64_simd_ld2rv2df (rtx, rtx);
  10882. extern rtx gen_aarch64_simd_ld2rdi (rtx, rtx);
  10883. extern rtx gen_aarch64_simd_ld2rdf (rtx, rtx);
  10884. extern rtx gen_aarch64_vec_load_lanesoi_lanev8qi (rtx, rtx, rtx, rtx);
  10885. extern rtx gen_aarch64_vec_load_lanesoi_lanev16qi (rtx, rtx, rtx, rtx);
  10886. extern rtx gen_aarch64_vec_load_lanesoi_lanev4hi (rtx, rtx, rtx, rtx);
  10887. extern rtx gen_aarch64_vec_load_lanesoi_lanev8hi (rtx, rtx, rtx, rtx);
  10888. extern rtx gen_aarch64_vec_load_lanesoi_lanev2si (rtx, rtx, rtx, rtx);
  10889. extern rtx gen_aarch64_vec_load_lanesoi_lanev4si (rtx, rtx, rtx, rtx);
  10890. extern rtx gen_aarch64_vec_load_lanesoi_lanev4bf (rtx, rtx, rtx, rtx);
  10891. extern rtx gen_aarch64_vec_load_lanesoi_lanev8bf (rtx, rtx, rtx, rtx);
  10892. extern rtx gen_aarch64_vec_load_lanesoi_lanev2di (rtx, rtx, rtx, rtx);
  10893. extern rtx gen_aarch64_vec_load_lanesoi_lanev4hf (rtx, rtx, rtx, rtx);
  10894. extern rtx gen_aarch64_vec_load_lanesoi_lanev8hf (rtx, rtx, rtx, rtx);
  10895. extern rtx gen_aarch64_vec_load_lanesoi_lanev2sf (rtx, rtx, rtx, rtx);
  10896. extern rtx gen_aarch64_vec_load_lanesoi_lanev4sf (rtx, rtx, rtx, rtx);
  10897. extern rtx gen_aarch64_vec_load_lanesoi_lanev2df (rtx, rtx, rtx, rtx);
  10898. extern rtx gen_aarch64_vec_load_lanesoi_lanedi (rtx, rtx, rtx, rtx);
  10899. extern rtx gen_aarch64_vec_load_lanesoi_lanedf (rtx, rtx, rtx, rtx);
  10900. extern rtx gen_aarch64_simd_st2v16qi (rtx, rtx);
  10901. extern rtx gen_aarch64_simd_st2v8hi (rtx, rtx);
  10902. extern rtx gen_aarch64_simd_st2v4si (rtx, rtx);
  10903. extern rtx gen_aarch64_simd_st2v2di (rtx, rtx);
  10904. extern rtx gen_aarch64_simd_st2v8hf (rtx, rtx);
  10905. extern rtx gen_aarch64_simd_st2v4sf (rtx, rtx);
  10906. extern rtx gen_aarch64_simd_st2v2df (rtx, rtx);
  10907. extern rtx gen_aarch64_simd_st2v8bf (rtx, rtx);
  10908. extern rtx gen_aarch64_vec_store_lanesoi_lanev8qi (rtx, rtx, rtx);
  10909. extern rtx gen_aarch64_vec_store_lanesoi_lanev16qi (rtx, rtx, rtx);
  10910. extern rtx gen_aarch64_vec_store_lanesoi_lanev4hi (rtx, rtx, rtx);
  10911. extern rtx gen_aarch64_vec_store_lanesoi_lanev8hi (rtx, rtx, rtx);
  10912. extern rtx gen_aarch64_vec_store_lanesoi_lanev2si (rtx, rtx, rtx);
  10913. extern rtx gen_aarch64_vec_store_lanesoi_lanev4si (rtx, rtx, rtx);
  10914. extern rtx gen_aarch64_vec_store_lanesoi_lanev4bf (rtx, rtx, rtx);
  10915. extern rtx gen_aarch64_vec_store_lanesoi_lanev8bf (rtx, rtx, rtx);
  10916. extern rtx gen_aarch64_vec_store_lanesoi_lanev2di (rtx, rtx, rtx);
  10917. extern rtx gen_aarch64_vec_store_lanesoi_lanev4hf (rtx, rtx, rtx);
  10918. extern rtx gen_aarch64_vec_store_lanesoi_lanev8hf (rtx, rtx, rtx);
  10919. extern rtx gen_aarch64_vec_store_lanesoi_lanev2sf (rtx, rtx, rtx);
  10920. extern rtx gen_aarch64_vec_store_lanesoi_lanev4sf (rtx, rtx, rtx);
  10921. extern rtx gen_aarch64_vec_store_lanesoi_lanev2df (rtx, rtx, rtx);
  10922. extern rtx gen_aarch64_vec_store_lanesoi_lanedi (rtx, rtx, rtx);
  10923. extern rtx gen_aarch64_vec_store_lanesoi_lanedf (rtx, rtx, rtx);
  10924. extern rtx gen_aarch64_simd_ld3v16qi (rtx, rtx);
  10925. extern rtx gen_aarch64_simd_ld3v8hi (rtx, rtx);
  10926. extern rtx gen_aarch64_simd_ld3v4si (rtx, rtx);
  10927. extern rtx gen_aarch64_simd_ld3v2di (rtx, rtx);
  10928. extern rtx gen_aarch64_simd_ld3v8hf (rtx, rtx);
  10929. extern rtx gen_aarch64_simd_ld3v4sf (rtx, rtx);
  10930. extern rtx gen_aarch64_simd_ld3v2df (rtx, rtx);
  10931. extern rtx gen_aarch64_simd_ld3v8bf (rtx, rtx);
  10932. extern rtx gen_aarch64_simd_ld3rv8qi (rtx, rtx);
  10933. extern rtx gen_aarch64_simd_ld3rv16qi (rtx, rtx);
  10934. extern rtx gen_aarch64_simd_ld3rv4hi (rtx, rtx);
  10935. extern rtx gen_aarch64_simd_ld3rv8hi (rtx, rtx);
  10936. extern rtx gen_aarch64_simd_ld3rv2si (rtx, rtx);
  10937. extern rtx gen_aarch64_simd_ld3rv4si (rtx, rtx);
  10938. extern rtx gen_aarch64_simd_ld3rv4bf (rtx, rtx);
  10939. extern rtx gen_aarch64_simd_ld3rv8bf (rtx, rtx);
  10940. extern rtx gen_aarch64_simd_ld3rv2di (rtx, rtx);
  10941. extern rtx gen_aarch64_simd_ld3rv4hf (rtx, rtx);
  10942. extern rtx gen_aarch64_simd_ld3rv8hf (rtx, rtx);
  10943. extern rtx gen_aarch64_simd_ld3rv2sf (rtx, rtx);
  10944. extern rtx gen_aarch64_simd_ld3rv4sf (rtx, rtx);
  10945. extern rtx gen_aarch64_simd_ld3rv2df (rtx, rtx);
  10946. extern rtx gen_aarch64_simd_ld3rdi (rtx, rtx);
  10947. extern rtx gen_aarch64_simd_ld3rdf (rtx, rtx);
  10948. extern rtx gen_aarch64_vec_load_lanesci_lanev8qi (rtx, rtx, rtx, rtx);
  10949. extern rtx gen_aarch64_vec_load_lanesci_lanev16qi (rtx, rtx, rtx, rtx);
  10950. extern rtx gen_aarch64_vec_load_lanesci_lanev4hi (rtx, rtx, rtx, rtx);
  10951. extern rtx gen_aarch64_vec_load_lanesci_lanev8hi (rtx, rtx, rtx, rtx);
  10952. extern rtx gen_aarch64_vec_load_lanesci_lanev2si (rtx, rtx, rtx, rtx);
  10953. extern rtx gen_aarch64_vec_load_lanesci_lanev4si (rtx, rtx, rtx, rtx);
  10954. extern rtx gen_aarch64_vec_load_lanesci_lanev4bf (rtx, rtx, rtx, rtx);
  10955. extern rtx gen_aarch64_vec_load_lanesci_lanev8bf (rtx, rtx, rtx, rtx);
  10956. extern rtx gen_aarch64_vec_load_lanesci_lanev2di (rtx, rtx, rtx, rtx);
  10957. extern rtx gen_aarch64_vec_load_lanesci_lanev4hf (rtx, rtx, rtx, rtx);
  10958. extern rtx gen_aarch64_vec_load_lanesci_lanev8hf (rtx, rtx, rtx, rtx);
  10959. extern rtx gen_aarch64_vec_load_lanesci_lanev2sf (rtx, rtx, rtx, rtx);
  10960. extern rtx gen_aarch64_vec_load_lanesci_lanev4sf (rtx, rtx, rtx, rtx);
  10961. extern rtx gen_aarch64_vec_load_lanesci_lanev2df (rtx, rtx, rtx, rtx);
  10962. extern rtx gen_aarch64_vec_load_lanesci_lanedi (rtx, rtx, rtx, rtx);
  10963. extern rtx gen_aarch64_vec_load_lanesci_lanedf (rtx, rtx, rtx, rtx);
  10964. extern rtx gen_aarch64_simd_st3v16qi (rtx, rtx);
  10965. extern rtx gen_aarch64_simd_st3v8hi (rtx, rtx);
  10966. extern rtx gen_aarch64_simd_st3v4si (rtx, rtx);
  10967. extern rtx gen_aarch64_simd_st3v2di (rtx, rtx);
  10968. extern rtx gen_aarch64_simd_st3v8hf (rtx, rtx);
  10969. extern rtx gen_aarch64_simd_st3v4sf (rtx, rtx);
  10970. extern rtx gen_aarch64_simd_st3v2df (rtx, rtx);
  10971. extern rtx gen_aarch64_simd_st3v8bf (rtx, rtx);
  10972. extern rtx gen_aarch64_vec_store_lanesci_lanev8qi (rtx, rtx, rtx);
  10973. extern rtx gen_aarch64_vec_store_lanesci_lanev16qi (rtx, rtx, rtx);
  10974. extern rtx gen_aarch64_vec_store_lanesci_lanev4hi (rtx, rtx, rtx);
  10975. extern rtx gen_aarch64_vec_store_lanesci_lanev8hi (rtx, rtx, rtx);
  10976. extern rtx gen_aarch64_vec_store_lanesci_lanev2si (rtx, rtx, rtx);
  10977. extern rtx gen_aarch64_vec_store_lanesci_lanev4si (rtx, rtx, rtx);
  10978. extern rtx gen_aarch64_vec_store_lanesci_lanev4bf (rtx, rtx, rtx);
  10979. extern rtx gen_aarch64_vec_store_lanesci_lanev8bf (rtx, rtx, rtx);
  10980. extern rtx gen_aarch64_vec_store_lanesci_lanev2di (rtx, rtx, rtx);
  10981. extern rtx gen_aarch64_vec_store_lanesci_lanev4hf (rtx, rtx, rtx);
  10982. extern rtx gen_aarch64_vec_store_lanesci_lanev8hf (rtx, rtx, rtx);
  10983. extern rtx gen_aarch64_vec_store_lanesci_lanev2sf (rtx, rtx, rtx);
  10984. extern rtx gen_aarch64_vec_store_lanesci_lanev4sf (rtx, rtx, rtx);
  10985. extern rtx gen_aarch64_vec_store_lanesci_lanev2df (rtx, rtx, rtx);
  10986. extern rtx gen_aarch64_vec_store_lanesci_lanedi (rtx, rtx, rtx);
  10987. extern rtx gen_aarch64_vec_store_lanesci_lanedf (rtx, rtx, rtx);
  10988. extern rtx gen_aarch64_simd_ld4v16qi (rtx, rtx);
  10989. extern rtx gen_aarch64_simd_ld4v8hi (rtx, rtx);
  10990. extern rtx gen_aarch64_simd_ld4v4si (rtx, rtx);
  10991. extern rtx gen_aarch64_simd_ld4v2di (rtx, rtx);
  10992. extern rtx gen_aarch64_simd_ld4v8hf (rtx, rtx);
  10993. extern rtx gen_aarch64_simd_ld4v4sf (rtx, rtx);
  10994. extern rtx gen_aarch64_simd_ld4v2df (rtx, rtx);
  10995. extern rtx gen_aarch64_simd_ld4v8bf (rtx, rtx);
  10996. extern rtx gen_aarch64_simd_ld4rv8qi (rtx, rtx);
  10997. extern rtx gen_aarch64_simd_ld4rv16qi (rtx, rtx);
  10998. extern rtx gen_aarch64_simd_ld4rv4hi (rtx, rtx);
  10999. extern rtx gen_aarch64_simd_ld4rv8hi (rtx, rtx);
  11000. extern rtx gen_aarch64_simd_ld4rv2si (rtx, rtx);
  11001. extern rtx gen_aarch64_simd_ld4rv4si (rtx, rtx);
  11002. extern rtx gen_aarch64_simd_ld4rv4bf (rtx, rtx);
  11003. extern rtx gen_aarch64_simd_ld4rv8bf (rtx, rtx);
  11004. extern rtx gen_aarch64_simd_ld4rv2di (rtx, rtx);
  11005. extern rtx gen_aarch64_simd_ld4rv4hf (rtx, rtx);
  11006. extern rtx gen_aarch64_simd_ld4rv8hf (rtx, rtx);
  11007. extern rtx gen_aarch64_simd_ld4rv2sf (rtx, rtx);
  11008. extern rtx gen_aarch64_simd_ld4rv4sf (rtx, rtx);
  11009. extern rtx gen_aarch64_simd_ld4rv2df (rtx, rtx);
  11010. extern rtx gen_aarch64_simd_ld4rdi (rtx, rtx);
  11011. extern rtx gen_aarch64_simd_ld4rdf (rtx, rtx);
  11012. extern rtx gen_aarch64_vec_load_lanesxi_lanev8qi (rtx, rtx, rtx, rtx);
  11013. extern rtx gen_aarch64_vec_load_lanesxi_lanev16qi (rtx, rtx, rtx, rtx);
  11014. extern rtx gen_aarch64_vec_load_lanesxi_lanev4hi (rtx, rtx, rtx, rtx);
  11015. extern rtx gen_aarch64_vec_load_lanesxi_lanev8hi (rtx, rtx, rtx, rtx);
  11016. extern rtx gen_aarch64_vec_load_lanesxi_lanev2si (rtx, rtx, rtx, rtx);
  11017. extern rtx gen_aarch64_vec_load_lanesxi_lanev4si (rtx, rtx, rtx, rtx);
  11018. extern rtx gen_aarch64_vec_load_lanesxi_lanev4bf (rtx, rtx, rtx, rtx);
  11019. extern rtx gen_aarch64_vec_load_lanesxi_lanev8bf (rtx, rtx, rtx, rtx);
  11020. extern rtx gen_aarch64_vec_load_lanesxi_lanev2di (rtx, rtx, rtx, rtx);
  11021. extern rtx gen_aarch64_vec_load_lanesxi_lanev4hf (rtx, rtx, rtx, rtx);
  11022. extern rtx gen_aarch64_vec_load_lanesxi_lanev8hf (rtx, rtx, rtx, rtx);
  11023. extern rtx gen_aarch64_vec_load_lanesxi_lanev2sf (rtx, rtx, rtx, rtx);
  11024. extern rtx gen_aarch64_vec_load_lanesxi_lanev4sf (rtx, rtx, rtx, rtx);
  11025. extern rtx gen_aarch64_vec_load_lanesxi_lanev2df (rtx, rtx, rtx, rtx);
  11026. extern rtx gen_aarch64_vec_load_lanesxi_lanedi (rtx, rtx, rtx, rtx);
  11027. extern rtx gen_aarch64_vec_load_lanesxi_lanedf (rtx, rtx, rtx, rtx);
  11028. extern rtx gen_aarch64_simd_st4v16qi (rtx, rtx);
  11029. extern rtx gen_aarch64_simd_st4v8hi (rtx, rtx);
  11030. extern rtx gen_aarch64_simd_st4v4si (rtx, rtx);
  11031. extern rtx gen_aarch64_simd_st4v2di (rtx, rtx);
  11032. extern rtx gen_aarch64_simd_st4v8hf (rtx, rtx);
  11033. extern rtx gen_aarch64_simd_st4v4sf (rtx, rtx);
  11034. extern rtx gen_aarch64_simd_st4v2df (rtx, rtx);
  11035. extern rtx gen_aarch64_simd_st4v8bf (rtx, rtx);
  11036. extern rtx gen_aarch64_vec_store_lanesxi_lanev8qi (rtx, rtx, rtx);
  11037. extern rtx gen_aarch64_vec_store_lanesxi_lanev16qi (rtx, rtx, rtx);
  11038. extern rtx gen_aarch64_vec_store_lanesxi_lanev4hi (rtx, rtx, rtx);
  11039. extern rtx gen_aarch64_vec_store_lanesxi_lanev8hi (rtx, rtx, rtx);
  11040. extern rtx gen_aarch64_vec_store_lanesxi_lanev2si (rtx, rtx, rtx);
  11041. extern rtx gen_aarch64_vec_store_lanesxi_lanev4si (rtx, rtx, rtx);
  11042. extern rtx gen_aarch64_vec_store_lanesxi_lanev4bf (rtx, rtx, rtx);
  11043. extern rtx gen_aarch64_vec_store_lanesxi_lanev8bf (rtx, rtx, rtx);
  11044. extern rtx gen_aarch64_vec_store_lanesxi_lanev2di (rtx, rtx, rtx);
  11045. extern rtx gen_aarch64_vec_store_lanesxi_lanev4hf (rtx, rtx, rtx);
  11046. extern rtx gen_aarch64_vec_store_lanesxi_lanev8hf (rtx, rtx, rtx);
  11047. extern rtx gen_aarch64_vec_store_lanesxi_lanev2sf (rtx, rtx, rtx);
  11048. extern rtx gen_aarch64_vec_store_lanesxi_lanev4sf (rtx, rtx, rtx);
  11049. extern rtx gen_aarch64_vec_store_lanesxi_lanev2df (rtx, rtx, rtx);
  11050. extern rtx gen_aarch64_vec_store_lanesxi_lanedi (rtx, rtx, rtx);
  11051. extern rtx gen_aarch64_vec_store_lanesxi_lanedf (rtx, rtx, rtx);
  11052. extern rtx gen_aarch64_rev_reglistoi (rtx, rtx, rtx);
  11053. extern rtx gen_aarch64_rev_reglistci (rtx, rtx, rtx);
  11054. extern rtx gen_aarch64_rev_reglistxi (rtx, rtx, rtx);
  11055. extern rtx gen_aarch64_ld1_x3_v8qi (rtx, rtx);
  11056. extern rtx gen_aarch64_ld1_x3_v16qi (rtx, rtx);
  11057. extern rtx gen_aarch64_ld1_x3_v4hi (rtx, rtx);
  11058. extern rtx gen_aarch64_ld1_x3_v8hi (rtx, rtx);
  11059. extern rtx gen_aarch64_ld1_x3_v2si (rtx, rtx);
  11060. extern rtx gen_aarch64_ld1_x3_v4si (rtx, rtx);
  11061. extern rtx gen_aarch64_ld1_x3_v4bf (rtx, rtx);
  11062. extern rtx gen_aarch64_ld1_x3_v8bf (rtx, rtx);
  11063. extern rtx gen_aarch64_ld1_x3_v2di (rtx, rtx);
  11064. extern rtx gen_aarch64_ld1_x3_v4hf (rtx, rtx);
  11065. extern rtx gen_aarch64_ld1_x3_v8hf (rtx, rtx);
  11066. extern rtx gen_aarch64_ld1_x3_v2sf (rtx, rtx);
  11067. extern rtx gen_aarch64_ld1_x3_v4sf (rtx, rtx);
  11068. extern rtx gen_aarch64_ld1_x3_v2df (rtx, rtx);
  11069. extern rtx gen_aarch64_ld1_x3_di (rtx, rtx);
  11070. extern rtx gen_aarch64_ld1_x3_df (rtx, rtx);
  11071. extern rtx gen_aarch64_ld1_x4_v8qi (rtx, rtx);
  11072. extern rtx gen_aarch64_ld1_x4_v16qi (rtx, rtx);
  11073. extern rtx gen_aarch64_ld1_x4_v4hi (rtx, rtx);
  11074. extern rtx gen_aarch64_ld1_x4_v8hi (rtx, rtx);
  11075. extern rtx gen_aarch64_ld1_x4_v2si (rtx, rtx);
  11076. extern rtx gen_aarch64_ld1_x4_v4si (rtx, rtx);
  11077. extern rtx gen_aarch64_ld1_x4_v4bf (rtx, rtx);
  11078. extern rtx gen_aarch64_ld1_x4_v8bf (rtx, rtx);
  11079. extern rtx gen_aarch64_ld1_x4_v2di (rtx, rtx);
  11080. extern rtx gen_aarch64_ld1_x4_v4hf (rtx, rtx);
  11081. extern rtx gen_aarch64_ld1_x4_v8hf (rtx, rtx);
  11082. extern rtx gen_aarch64_ld1_x4_v2sf (rtx, rtx);
  11083. extern rtx gen_aarch64_ld1_x4_v4sf (rtx, rtx);
  11084. extern rtx gen_aarch64_ld1_x4_v2df (rtx, rtx);
  11085. extern rtx gen_aarch64_ld1_x4_di (rtx, rtx);
  11086. extern rtx gen_aarch64_ld1_x4_df (rtx, rtx);
  11087. extern rtx gen_aarch64_st1_x2_v8qi (rtx, rtx);
  11088. extern rtx gen_aarch64_st1_x2_v16qi (rtx, rtx);
  11089. extern rtx gen_aarch64_st1_x2_v4hi (rtx, rtx);
  11090. extern rtx gen_aarch64_st1_x2_v8hi (rtx, rtx);
  11091. extern rtx gen_aarch64_st1_x2_v2si (rtx, rtx);
  11092. extern rtx gen_aarch64_st1_x2_v4si (rtx, rtx);
  11093. extern rtx gen_aarch64_st1_x2_v4bf (rtx, rtx);
  11094. extern rtx gen_aarch64_st1_x2_v8bf (rtx, rtx);
  11095. extern rtx gen_aarch64_st1_x2_v2di (rtx, rtx);
  11096. extern rtx gen_aarch64_st1_x2_v4hf (rtx, rtx);
  11097. extern rtx gen_aarch64_st1_x2_v8hf (rtx, rtx);
  11098. extern rtx gen_aarch64_st1_x2_v2sf (rtx, rtx);
  11099. extern rtx gen_aarch64_st1_x2_v4sf (rtx, rtx);
  11100. extern rtx gen_aarch64_st1_x2_v2df (rtx, rtx);
  11101. extern rtx gen_aarch64_st1_x2_di (rtx, rtx);
  11102. extern rtx gen_aarch64_st1_x2_df (rtx, rtx);
  11103. extern rtx gen_aarch64_st1_x3_v8qi (rtx, rtx);
  11104. extern rtx gen_aarch64_st1_x3_v16qi (rtx, rtx);
  11105. extern rtx gen_aarch64_st1_x3_v4hi (rtx, rtx);
  11106. extern rtx gen_aarch64_st1_x3_v8hi (rtx, rtx);
  11107. extern rtx gen_aarch64_st1_x3_v2si (rtx, rtx);
  11108. extern rtx gen_aarch64_st1_x3_v4si (rtx, rtx);
  11109. extern rtx gen_aarch64_st1_x3_v4bf (rtx, rtx);
  11110. extern rtx gen_aarch64_st1_x3_v8bf (rtx, rtx);
  11111. extern rtx gen_aarch64_st1_x3_v2di (rtx, rtx);
  11112. extern rtx gen_aarch64_st1_x3_v4hf (rtx, rtx);
  11113. extern rtx gen_aarch64_st1_x3_v8hf (rtx, rtx);
  11114. extern rtx gen_aarch64_st1_x3_v2sf (rtx, rtx);
  11115. extern rtx gen_aarch64_st1_x3_v4sf (rtx, rtx);
  11116. extern rtx gen_aarch64_st1_x3_v2df (rtx, rtx);
  11117. extern rtx gen_aarch64_st1_x3_di (rtx, rtx);
  11118. extern rtx gen_aarch64_st1_x3_df (rtx, rtx);
  11119. extern rtx gen_aarch64_st1_x4_v8qi (rtx, rtx);
  11120. extern rtx gen_aarch64_st1_x4_v16qi (rtx, rtx);
  11121. extern rtx gen_aarch64_st1_x4_v4hi (rtx, rtx);
  11122. extern rtx gen_aarch64_st1_x4_v8hi (rtx, rtx);
  11123. extern rtx gen_aarch64_st1_x4_v2si (rtx, rtx);
  11124. extern rtx gen_aarch64_st1_x4_v4si (rtx, rtx);
  11125. extern rtx gen_aarch64_st1_x4_v4bf (rtx, rtx);
  11126. extern rtx gen_aarch64_st1_x4_v8bf (rtx, rtx);
  11127. extern rtx gen_aarch64_st1_x4_v2di (rtx, rtx);
  11128. extern rtx gen_aarch64_st1_x4_v4hf (rtx, rtx);
  11129. extern rtx gen_aarch64_st1_x4_v8hf (rtx, rtx);
  11130. extern rtx gen_aarch64_st1_x4_v2sf (rtx, rtx);
  11131. extern rtx gen_aarch64_st1_x4_v4sf (rtx, rtx);
  11132. extern rtx gen_aarch64_st1_x4_v2df (rtx, rtx);
  11133. extern rtx gen_aarch64_st1_x4_di (rtx, rtx);
  11134. extern rtx gen_aarch64_st1_x4_df (rtx, rtx);
  11135. extern rtx gen_aarch64_be_ld1v8qi (rtx, rtx);
  11136. extern rtx gen_aarch64_be_ld1v16qi (rtx, rtx);
  11137. extern rtx gen_aarch64_be_ld1v4hi (rtx, rtx);
  11138. extern rtx gen_aarch64_be_ld1v8hi (rtx, rtx);
  11139. extern rtx gen_aarch64_be_ld1v2si (rtx, rtx);
  11140. extern rtx gen_aarch64_be_ld1v4si (rtx, rtx);
  11141. extern rtx gen_aarch64_be_ld1v2di (rtx, rtx);
  11142. extern rtx gen_aarch64_be_ld1v4hf (rtx, rtx);
  11143. extern rtx gen_aarch64_be_ld1v8hf (rtx, rtx);
  11144. extern rtx gen_aarch64_be_ld1v4bf (rtx, rtx);
  11145. extern rtx gen_aarch64_be_ld1v8bf (rtx, rtx);
  11146. extern rtx gen_aarch64_be_ld1v2sf (rtx, rtx);
  11147. extern rtx gen_aarch64_be_ld1v4sf (rtx, rtx);
  11148. extern rtx gen_aarch64_be_ld1v2df (rtx, rtx);
  11149. extern rtx gen_aarch64_be_ld1di (rtx, rtx);
  11150. extern rtx gen_aarch64_be_st1v8qi (rtx, rtx);
  11151. extern rtx gen_aarch64_be_st1v16qi (rtx, rtx);
  11152. extern rtx gen_aarch64_be_st1v4hi (rtx, rtx);
  11153. extern rtx gen_aarch64_be_st1v8hi (rtx, rtx);
  11154. extern rtx gen_aarch64_be_st1v2si (rtx, rtx);
  11155. extern rtx gen_aarch64_be_st1v4si (rtx, rtx);
  11156. extern rtx gen_aarch64_be_st1v2di (rtx, rtx);
  11157. extern rtx gen_aarch64_be_st1v4hf (rtx, rtx);
  11158. extern rtx gen_aarch64_be_st1v8hf (rtx, rtx);
  11159. extern rtx gen_aarch64_be_st1v4bf (rtx, rtx);
  11160. extern rtx gen_aarch64_be_st1v8bf (rtx, rtx);
  11161. extern rtx gen_aarch64_be_st1v2sf (rtx, rtx);
  11162. extern rtx gen_aarch64_be_st1v4sf (rtx, rtx);
  11163. extern rtx gen_aarch64_be_st1v2df (rtx, rtx);
  11164. extern rtx gen_aarch64_be_st1di (rtx, rtx);
  11165. extern rtx gen_aarch64_ld2v8qi_dreg (rtx, rtx);
  11166. extern rtx gen_aarch64_ld2v4hi_dreg (rtx, rtx);
  11167. extern rtx gen_aarch64_ld2v4hf_dreg (rtx, rtx);
  11168. extern rtx gen_aarch64_ld2v2si_dreg (rtx, rtx);
  11169. extern rtx gen_aarch64_ld2v2sf_dreg (rtx, rtx);
  11170. extern rtx gen_aarch64_ld2v4bf_dreg (rtx, rtx);
  11171. extern rtx gen_aarch64_ld2di_dreg (rtx, rtx);
  11172. extern rtx gen_aarch64_ld2df_dreg (rtx, rtx);
  11173. extern rtx gen_aarch64_ld3v8qi_dreg (rtx, rtx);
  11174. extern rtx gen_aarch64_ld3v4hi_dreg (rtx, rtx);
  11175. extern rtx gen_aarch64_ld3v4hf_dreg (rtx, rtx);
  11176. extern rtx gen_aarch64_ld3v2si_dreg (rtx, rtx);
  11177. extern rtx gen_aarch64_ld3v2sf_dreg (rtx, rtx);
  11178. extern rtx gen_aarch64_ld3v4bf_dreg (rtx, rtx);
  11179. extern rtx gen_aarch64_ld3di_dreg (rtx, rtx);
  11180. extern rtx gen_aarch64_ld3df_dreg (rtx, rtx);
  11181. extern rtx gen_aarch64_ld4v8qi_dreg (rtx, rtx);
  11182. extern rtx gen_aarch64_ld4v4hi_dreg (rtx, rtx);
  11183. extern rtx gen_aarch64_ld4v4hf_dreg (rtx, rtx);
  11184. extern rtx gen_aarch64_ld4v2si_dreg (rtx, rtx);
  11185. extern rtx gen_aarch64_ld4v2sf_dreg (rtx, rtx);
  11186. extern rtx gen_aarch64_ld4v4bf_dreg (rtx, rtx);
  11187. extern rtx gen_aarch64_ld4di_dreg (rtx, rtx);
  11188. extern rtx gen_aarch64_ld4df_dreg (rtx, rtx);
  11189. extern rtx gen_aarch64_tbl1v8qi (rtx, rtx, rtx);
  11190. extern rtx gen_aarch64_tbl1v16qi (rtx, rtx, rtx);
  11191. extern rtx gen_aarch64_tbl2v16qi (rtx, rtx, rtx);
  11192. extern rtx gen_aarch64_tbl3v8qi (rtx, rtx, rtx);
  11193. extern rtx gen_aarch64_tbl3v16qi (rtx, rtx, rtx);
  11194. extern rtx gen_aarch64_tbx4v8qi (rtx, rtx, rtx, rtx);
  11195. extern rtx gen_aarch64_tbx4v16qi (rtx, rtx, rtx, rtx);
  11196. extern rtx gen_aarch64_qtbl3v8qi (rtx, rtx, rtx);
  11197. extern rtx gen_aarch64_qtbl3v16qi (rtx, rtx, rtx);
  11198. extern rtx gen_aarch64_qtbx3v8qi (rtx, rtx, rtx, rtx);
  11199. extern rtx gen_aarch64_qtbx3v16qi (rtx, rtx, rtx, rtx);
  11200. extern rtx gen_aarch64_qtbl4v8qi (rtx, rtx, rtx);
  11201. extern rtx gen_aarch64_qtbl4v16qi (rtx, rtx, rtx);
  11202. extern rtx gen_aarch64_qtbx4v8qi (rtx, rtx, rtx, rtx);
  11203. extern rtx gen_aarch64_qtbx4v16qi (rtx, rtx, rtx, rtx);
  11204. extern rtx gen_aarch64_combinev16qi (rtx, rtx, rtx);
  11205. extern rtx gen_aarch64_zip1v8qi (rtx, rtx, rtx);
  11206. extern rtx gen_aarch64_zip2v8qi (rtx, rtx, rtx);
  11207. extern rtx gen_aarch64_trn1v8qi (rtx, rtx, rtx);
  11208. extern rtx gen_aarch64_trn2v8qi (rtx, rtx, rtx);
  11209. extern rtx gen_aarch64_uzp1v8qi (rtx, rtx, rtx);
  11210. extern rtx gen_aarch64_uzp2v8qi (rtx, rtx, rtx);
  11211. extern rtx gen_aarch64_zip1v16qi (rtx, rtx, rtx);
  11212. extern rtx gen_aarch64_zip2v16qi (rtx, rtx, rtx);
  11213. extern rtx gen_aarch64_trn1v16qi (rtx, rtx, rtx);
  11214. extern rtx gen_aarch64_trn2v16qi (rtx, rtx, rtx);
  11215. extern rtx gen_aarch64_uzp1v16qi (rtx, rtx, rtx);
  11216. extern rtx gen_aarch64_uzp2v16qi (rtx, rtx, rtx);
  11217. extern rtx gen_aarch64_zip1v4hi (rtx, rtx, rtx);
  11218. extern rtx gen_aarch64_zip2v4hi (rtx, rtx, rtx);
  11219. extern rtx gen_aarch64_trn1v4hi (rtx, rtx, rtx);
  11220. extern rtx gen_aarch64_trn2v4hi (rtx, rtx, rtx);
  11221. extern rtx gen_aarch64_uzp1v4hi (rtx, rtx, rtx);
  11222. extern rtx gen_aarch64_uzp2v4hi (rtx, rtx, rtx);
  11223. extern rtx gen_aarch64_zip1v8hi (rtx, rtx, rtx);
  11224. extern rtx gen_aarch64_zip2v8hi (rtx, rtx, rtx);
  11225. extern rtx gen_aarch64_trn1v8hi (rtx, rtx, rtx);
  11226. extern rtx gen_aarch64_trn2v8hi (rtx, rtx, rtx);
  11227. extern rtx gen_aarch64_uzp1v8hi (rtx, rtx, rtx);
  11228. extern rtx gen_aarch64_uzp2v8hi (rtx, rtx, rtx);
  11229. extern rtx gen_aarch64_zip1v2si (rtx, rtx, rtx);
  11230. extern rtx gen_aarch64_zip2v2si (rtx, rtx, rtx);
  11231. extern rtx gen_aarch64_trn1v2si (rtx, rtx, rtx);
  11232. extern rtx gen_aarch64_trn2v2si (rtx, rtx, rtx);
  11233. extern rtx gen_aarch64_uzp1v2si (rtx, rtx, rtx);
  11234. extern rtx gen_aarch64_uzp2v2si (rtx, rtx, rtx);
  11235. extern rtx gen_aarch64_zip1v4si (rtx, rtx, rtx);
  11236. extern rtx gen_aarch64_zip2v4si (rtx, rtx, rtx);
  11237. extern rtx gen_aarch64_trn1v4si (rtx, rtx, rtx);
  11238. extern rtx gen_aarch64_trn2v4si (rtx, rtx, rtx);
  11239. extern rtx gen_aarch64_uzp1v4si (rtx, rtx, rtx);
  11240. extern rtx gen_aarch64_uzp2v4si (rtx, rtx, rtx);
  11241. extern rtx gen_aarch64_zip1v2di (rtx, rtx, rtx);
  11242. extern rtx gen_aarch64_zip2v2di (rtx, rtx, rtx);
  11243. extern rtx gen_aarch64_trn1v2di (rtx, rtx, rtx);
  11244. extern rtx gen_aarch64_trn2v2di (rtx, rtx, rtx);
  11245. extern rtx gen_aarch64_uzp1v2di (rtx, rtx, rtx);
  11246. extern rtx gen_aarch64_uzp2v2di (rtx, rtx, rtx);
  11247. extern rtx gen_aarch64_zip1v4hf (rtx, rtx, rtx);
  11248. extern rtx gen_aarch64_zip2v4hf (rtx, rtx, rtx);
  11249. extern rtx gen_aarch64_trn1v4hf (rtx, rtx, rtx);
  11250. extern rtx gen_aarch64_trn2v4hf (rtx, rtx, rtx);
  11251. extern rtx gen_aarch64_uzp1v4hf (rtx, rtx, rtx);
  11252. extern rtx gen_aarch64_uzp2v4hf (rtx, rtx, rtx);
  11253. extern rtx gen_aarch64_zip1v8hf (rtx, rtx, rtx);
  11254. extern rtx gen_aarch64_zip2v8hf (rtx, rtx, rtx);
  11255. extern rtx gen_aarch64_trn1v8hf (rtx, rtx, rtx);
  11256. extern rtx gen_aarch64_trn2v8hf (rtx, rtx, rtx);
  11257. extern rtx gen_aarch64_uzp1v8hf (rtx, rtx, rtx);
  11258. extern rtx gen_aarch64_uzp2v8hf (rtx, rtx, rtx);
  11259. extern rtx gen_aarch64_zip1v4bf (rtx, rtx, rtx);
  11260. extern rtx gen_aarch64_zip2v4bf (rtx, rtx, rtx);
  11261. extern rtx gen_aarch64_trn1v4bf (rtx, rtx, rtx);
  11262. extern rtx gen_aarch64_trn2v4bf (rtx, rtx, rtx);
  11263. extern rtx gen_aarch64_uzp1v4bf (rtx, rtx, rtx);
  11264. extern rtx gen_aarch64_uzp2v4bf (rtx, rtx, rtx);
  11265. extern rtx gen_aarch64_zip1v8bf (rtx, rtx, rtx);
  11266. extern rtx gen_aarch64_zip2v8bf (rtx, rtx, rtx);
  11267. extern rtx gen_aarch64_trn1v8bf (rtx, rtx, rtx);
  11268. extern rtx gen_aarch64_trn2v8bf (rtx, rtx, rtx);
  11269. extern rtx gen_aarch64_uzp1v8bf (rtx, rtx, rtx);
  11270. extern rtx gen_aarch64_uzp2v8bf (rtx, rtx, rtx);
  11271. extern rtx gen_aarch64_zip1v2sf (rtx, rtx, rtx);
  11272. extern rtx gen_aarch64_zip2v2sf (rtx, rtx, rtx);
  11273. extern rtx gen_aarch64_trn1v2sf (rtx, rtx, rtx);
  11274. extern rtx gen_aarch64_trn2v2sf (rtx, rtx, rtx);
  11275. extern rtx gen_aarch64_uzp1v2sf (rtx, rtx, rtx);
  11276. extern rtx gen_aarch64_uzp2v2sf (rtx, rtx, rtx);
  11277. extern rtx gen_aarch64_zip1v4sf (rtx, rtx, rtx);
  11278. extern rtx gen_aarch64_zip2v4sf (rtx, rtx, rtx);
  11279. extern rtx gen_aarch64_trn1v4sf (rtx, rtx, rtx);
  11280. extern rtx gen_aarch64_trn2v4sf (rtx, rtx, rtx);
  11281. extern rtx gen_aarch64_uzp1v4sf (rtx, rtx, rtx);
  11282. extern rtx gen_aarch64_uzp2v4sf (rtx, rtx, rtx);
  11283. extern rtx gen_aarch64_zip1v2df (rtx, rtx, rtx);
  11284. extern rtx gen_aarch64_zip2v2df (rtx, rtx, rtx);
  11285. extern rtx gen_aarch64_trn1v2df (rtx, rtx, rtx);
  11286. extern rtx gen_aarch64_trn2v2df (rtx, rtx, rtx);
  11287. extern rtx gen_aarch64_uzp1v2df (rtx, rtx, rtx);
  11288. extern rtx gen_aarch64_uzp2v2df (rtx, rtx, rtx);
  11289. extern rtx gen_aarch64_extv8qi (rtx, rtx, rtx, rtx);
  11290. extern rtx gen_aarch64_extv16qi (rtx, rtx, rtx, rtx);
  11291. extern rtx gen_aarch64_extv4hi (rtx, rtx, rtx, rtx);
  11292. extern rtx gen_aarch64_extv8hi (rtx, rtx, rtx, rtx);
  11293. extern rtx gen_aarch64_extv2si (rtx, rtx, rtx, rtx);
  11294. extern rtx gen_aarch64_extv4si (rtx, rtx, rtx, rtx);
  11295. extern rtx gen_aarch64_extv2di (rtx, rtx, rtx, rtx);
  11296. extern rtx gen_aarch64_extv4hf (rtx, rtx, rtx, rtx);
  11297. extern rtx gen_aarch64_extv8hf (rtx, rtx, rtx, rtx);
  11298. extern rtx gen_aarch64_extv4bf (rtx, rtx, rtx, rtx);
  11299. extern rtx gen_aarch64_extv8bf (rtx, rtx, rtx, rtx);
  11300. extern rtx gen_aarch64_extv2sf (rtx, rtx, rtx, rtx);
  11301. extern rtx gen_aarch64_extv4sf (rtx, rtx, rtx, rtx);
  11302. extern rtx gen_aarch64_extv2df (rtx, rtx, rtx, rtx);
  11303. extern rtx gen_aarch64_rev64v8qi (rtx, rtx);
  11304. extern rtx gen_aarch64_rev32v8qi (rtx, rtx);
  11305. extern rtx gen_aarch64_rev16v8qi (rtx, rtx);
  11306. extern rtx gen_aarch64_rev64v16qi (rtx, rtx);
  11307. extern rtx gen_aarch64_rev32v16qi (rtx, rtx);
  11308. extern rtx gen_aarch64_rev16v16qi (rtx, rtx);
  11309. extern rtx gen_aarch64_rev64v4hi (rtx, rtx);
  11310. extern rtx gen_aarch64_rev32v4hi (rtx, rtx);
  11311. extern rtx gen_aarch64_rev16v4hi (rtx, rtx);
  11312. extern rtx gen_aarch64_rev64v8hi (rtx, rtx);
  11313. extern rtx gen_aarch64_rev32v8hi (rtx, rtx);
  11314. extern rtx gen_aarch64_rev16v8hi (rtx, rtx);
  11315. extern rtx gen_aarch64_rev64v2si (rtx, rtx);
  11316. extern rtx gen_aarch64_rev32v2si (rtx, rtx);
  11317. extern rtx gen_aarch64_rev16v2si (rtx, rtx);
  11318. extern rtx gen_aarch64_rev64v4si (rtx, rtx);
  11319. extern rtx gen_aarch64_rev32v4si (rtx, rtx);
  11320. extern rtx gen_aarch64_rev16v4si (rtx, rtx);
  11321. extern rtx gen_aarch64_rev64v2di (rtx, rtx);
  11322. extern rtx gen_aarch64_rev32v2di (rtx, rtx);
  11323. extern rtx gen_aarch64_rev16v2di (rtx, rtx);
  11324. extern rtx gen_aarch64_rev64v4hf (rtx, rtx);
  11325. extern rtx gen_aarch64_rev32v4hf (rtx, rtx);
  11326. extern rtx gen_aarch64_rev16v4hf (rtx, rtx);
  11327. extern rtx gen_aarch64_rev64v8hf (rtx, rtx);
  11328. extern rtx gen_aarch64_rev32v8hf (rtx, rtx);
  11329. extern rtx gen_aarch64_rev16v8hf (rtx, rtx);
  11330. extern rtx gen_aarch64_rev64v4bf (rtx, rtx);
  11331. extern rtx gen_aarch64_rev32v4bf (rtx, rtx);
  11332. extern rtx gen_aarch64_rev16v4bf (rtx, rtx);
  11333. extern rtx gen_aarch64_rev64v8bf (rtx, rtx);
  11334. extern rtx gen_aarch64_rev32v8bf (rtx, rtx);
  11335. extern rtx gen_aarch64_rev16v8bf (rtx, rtx);
  11336. extern rtx gen_aarch64_rev64v2sf (rtx, rtx);
  11337. extern rtx gen_aarch64_rev32v2sf (rtx, rtx);
  11338. extern rtx gen_aarch64_rev16v2sf (rtx, rtx);
  11339. extern rtx gen_aarch64_rev64v4sf (rtx, rtx);
  11340. extern rtx gen_aarch64_rev32v4sf (rtx, rtx);
  11341. extern rtx gen_aarch64_rev16v4sf (rtx, rtx);
  11342. extern rtx gen_aarch64_rev64v2df (rtx, rtx);
  11343. extern rtx gen_aarch64_rev32v2df (rtx, rtx);
  11344. extern rtx gen_aarch64_rev16v2df (rtx, rtx);
  11345. extern rtx gen_aarch64_st2v8qi_dreg (rtx, rtx);
  11346. extern rtx gen_aarch64_st2v4hi_dreg (rtx, rtx);
  11347. extern rtx gen_aarch64_st2v4hf_dreg (rtx, rtx);
  11348. extern rtx gen_aarch64_st2v2si_dreg (rtx, rtx);
  11349. extern rtx gen_aarch64_st2v2sf_dreg (rtx, rtx);
  11350. extern rtx gen_aarch64_st2v4bf_dreg (rtx, rtx);
  11351. extern rtx gen_aarch64_st2di_dreg (rtx, rtx);
  11352. extern rtx gen_aarch64_st2df_dreg (rtx, rtx);
  11353. extern rtx gen_aarch64_st3v8qi_dreg (rtx, rtx);
  11354. extern rtx gen_aarch64_st3v4hi_dreg (rtx, rtx);
  11355. extern rtx gen_aarch64_st3v4hf_dreg (rtx, rtx);
  11356. extern rtx gen_aarch64_st3v2si_dreg (rtx, rtx);
  11357. extern rtx gen_aarch64_st3v2sf_dreg (rtx, rtx);
  11358. extern rtx gen_aarch64_st3v4bf_dreg (rtx, rtx);
  11359. extern rtx gen_aarch64_st3di_dreg (rtx, rtx);
  11360. extern rtx gen_aarch64_st3df_dreg (rtx, rtx);
  11361. extern rtx gen_aarch64_st4v8qi_dreg (rtx, rtx);
  11362. extern rtx gen_aarch64_st4v4hi_dreg (rtx, rtx);
  11363. extern rtx gen_aarch64_st4v4hf_dreg (rtx, rtx);
  11364. extern rtx gen_aarch64_st4v2si_dreg (rtx, rtx);
  11365. extern rtx gen_aarch64_st4v2sf_dreg (rtx, rtx);
  11366. extern rtx gen_aarch64_st4v4bf_dreg (rtx, rtx);
  11367. extern rtx gen_aarch64_st4di_dreg (rtx, rtx);
  11368. extern rtx gen_aarch64_st4df_dreg (rtx, rtx);
  11369. extern rtx gen_aarch64_simd_ld1v16qi_x2 (rtx, rtx);
  11370. extern rtx gen_aarch64_simd_ld1v8hi_x2 (rtx, rtx);
  11371. extern rtx gen_aarch64_simd_ld1v4si_x2 (rtx, rtx);
  11372. extern rtx gen_aarch64_simd_ld1v2di_x2 (rtx, rtx);
  11373. extern rtx gen_aarch64_simd_ld1v8hf_x2 (rtx, rtx);
  11374. extern rtx gen_aarch64_simd_ld1v4sf_x2 (rtx, rtx);
  11375. extern rtx gen_aarch64_simd_ld1v2df_x2 (rtx, rtx);
  11376. extern rtx gen_aarch64_simd_ld1v8bf_x2 (rtx, rtx);
  11377. extern rtx gen_aarch64_simd_ld1v8qi_x2 (rtx, rtx);
  11378. extern rtx gen_aarch64_simd_ld1v4hi_x2 (rtx, rtx);
  11379. extern rtx gen_aarch64_simd_ld1v4bf_x2 (rtx, rtx);
  11380. extern rtx gen_aarch64_simd_ld1v4hf_x2 (rtx, rtx);
  11381. extern rtx gen_aarch64_simd_ld1v2si_x2 (rtx, rtx);
  11382. extern rtx gen_aarch64_simd_ld1v2sf_x2 (rtx, rtx);
  11383. extern rtx gen_aarch64_simd_ld1di_x2 (rtx, rtx);
  11384. extern rtx gen_aarch64_simd_ld1df_x2 (rtx, rtx);
  11385. extern rtx gen_aarch64_frecpev4hf (rtx, rtx);
  11386. extern rtx gen_aarch64_frecpev8hf (rtx, rtx);
  11387. extern rtx gen_aarch64_frecpev2sf (rtx, rtx);
  11388. extern rtx gen_aarch64_frecpev4sf (rtx, rtx);
  11389. extern rtx gen_aarch64_frecpev2df (rtx, rtx);
  11390. extern rtx gen_aarch64_frecpehf (rtx, rtx);
  11391. extern rtx gen_aarch64_frecpesf (rtx, rtx);
  11392. extern rtx gen_aarch64_frecpedf (rtx, rtx);
  11393. extern rtx gen_aarch64_frecpxhf (rtx, rtx);
  11394. extern rtx gen_aarch64_frecpxsf (rtx, rtx);
  11395. extern rtx gen_aarch64_frecpxdf (rtx, rtx);
  11396. extern rtx gen_aarch64_frecpsv4hf (rtx, rtx, rtx);
  11397. extern rtx gen_aarch64_frecpsv8hf (rtx, rtx, rtx);
  11398. extern rtx gen_aarch64_frecpsv2sf (rtx, rtx, rtx);
  11399. extern rtx gen_aarch64_frecpsv4sf (rtx, rtx, rtx);
  11400. extern rtx gen_aarch64_frecpsv2df (rtx, rtx, rtx);
  11401. extern rtx gen_aarch64_frecpshf (rtx, rtx, rtx);
  11402. extern rtx gen_aarch64_frecpssf (rtx, rtx, rtx);
  11403. extern rtx gen_aarch64_frecpsdf (rtx, rtx, rtx);
  11404. extern rtx gen_aarch64_urecpev2si (rtx, rtx);
  11405. extern rtx gen_aarch64_urecpev4si (rtx, rtx);
  11406. extern rtx gen_aarch64_crypto_aesev16qi (rtx, rtx, rtx);
  11407. extern rtx gen_aarch64_crypto_aesdv16qi (rtx, rtx, rtx);
  11408. extern rtx gen_aarch64_crypto_aesmcv16qi (rtx, rtx);
  11409. extern rtx gen_aarch64_crypto_aesimcv16qi (rtx, rtx);
  11410. extern rtx gen_aarch64_crypto_sha1hsi (rtx, rtx);
  11411. extern rtx gen_aarch64_crypto_sha1hv4si (rtx, rtx);
  11412. extern rtx gen_aarch64_be_crypto_sha1hv4si (rtx, rtx);
  11413. extern rtx gen_aarch64_crypto_sha1su1v4si (rtx, rtx, rtx);
  11414. extern rtx gen_aarch64_crypto_sha1cv4si (rtx, rtx, rtx, rtx);
  11415. extern rtx gen_aarch64_crypto_sha1mv4si (rtx, rtx, rtx, rtx);
  11416. extern rtx gen_aarch64_crypto_sha1pv4si (rtx, rtx, rtx, rtx);
  11417. extern rtx gen_aarch64_crypto_sha1su0v4si (rtx, rtx, rtx, rtx);
  11418. extern rtx gen_aarch64_crypto_sha256hv4si (rtx, rtx, rtx, rtx);
  11419. extern rtx gen_aarch64_crypto_sha256h2v4si (rtx, rtx, rtx, rtx);
  11420. extern rtx gen_aarch64_crypto_sha256su0v4si (rtx, rtx, rtx);
  11421. extern rtx gen_aarch64_crypto_sha256su1v4si (rtx, rtx, rtx, rtx);
  11422. extern rtx gen_aarch64_crypto_sha512hqv2di (rtx, rtx, rtx, rtx);
  11423. extern rtx gen_aarch64_crypto_sha512h2qv2di (rtx, rtx, rtx, rtx);
  11424. extern rtx gen_aarch64_crypto_sha512su0qv2di (rtx, rtx, rtx);
  11425. extern rtx gen_aarch64_crypto_sha512su1qv2di (rtx, rtx, rtx, rtx);
  11426. extern rtx gen_eor3qv16qi4 (rtx, rtx, rtx, rtx);
  11427. extern rtx gen_eor3qv8hi4 (rtx, rtx, rtx, rtx);
  11428. extern rtx gen_eor3qv4si4 (rtx, rtx, rtx, rtx);
  11429. extern rtx gen_eor3qv2di4 (rtx, rtx, rtx, rtx);
  11430. extern rtx gen_aarch64_rax1qv2di (rtx, rtx, rtx);
  11431. extern rtx gen_aarch64_xarqv2di (rtx, rtx, rtx, rtx);
  11432. extern rtx gen_bcaxqv16qi4 (rtx, rtx, rtx, rtx);
  11433. extern rtx gen_bcaxqv8hi4 (rtx, rtx, rtx, rtx);
  11434. extern rtx gen_bcaxqv4si4 (rtx, rtx, rtx, rtx);
  11435. extern rtx gen_bcaxqv2di4 (rtx, rtx, rtx, rtx);
  11436. extern rtx gen_aarch64_sm3ss1qv4si (rtx, rtx, rtx, rtx);
  11437. extern rtx gen_aarch64_sm3tt1aqv4si (rtx, rtx, rtx, rtx, rtx);
  11438. extern rtx gen_aarch64_sm3tt1bqv4si (rtx, rtx, rtx, rtx, rtx);
  11439. extern rtx gen_aarch64_sm3tt2aqv4si (rtx, rtx, rtx, rtx, rtx);
  11440. extern rtx gen_aarch64_sm3tt2bqv4si (rtx, rtx, rtx, rtx, rtx);
  11441. extern rtx gen_aarch64_sm3partw1qv4si (rtx, rtx, rtx, rtx);
  11442. extern rtx gen_aarch64_sm3partw2qv4si (rtx, rtx, rtx, rtx);
  11443. extern rtx gen_aarch64_sm4eqv4si (rtx, rtx, rtx);
  11444. extern rtx gen_aarch64_sm4ekeyqv4si (rtx, rtx, rtx);
  11445. extern rtx gen_aarch64_simd_fmlal_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11446. extern rtx gen_aarch64_simd_fmlalq_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11447. extern rtx gen_aarch64_simd_fmlsl_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11448. extern rtx gen_aarch64_simd_fmlslq_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11449. extern rtx gen_aarch64_simd_fmlal_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11450. extern rtx gen_aarch64_simd_fmlalq_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11451. extern rtx gen_aarch64_simd_fmlsl_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11452. extern rtx gen_aarch64_simd_fmlslq_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11453. extern rtx gen_aarch64_simd_fmlal_lane_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11454. extern rtx gen_aarch64_simd_fmlsl_lane_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11455. extern rtx gen_aarch64_simd_fmlal_lane_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11456. extern rtx gen_aarch64_simd_fmlsl_lane_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11457. extern rtx gen_aarch64_simd_fmlalq_laneq_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11458. extern rtx gen_aarch64_simd_fmlslq_laneq_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11459. extern rtx gen_aarch64_simd_fmlalq_laneq_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11460. extern rtx gen_aarch64_simd_fmlslq_laneq_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11461. extern rtx gen_aarch64_simd_fmlal_laneq_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11462. extern rtx gen_aarch64_simd_fmlsl_laneq_lowv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11463. extern rtx gen_aarch64_simd_fmlal_laneq_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11464. extern rtx gen_aarch64_simd_fmlsl_laneq_highv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11465. extern rtx gen_aarch64_simd_fmlalq_lane_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11466. extern rtx gen_aarch64_simd_fmlslq_lane_lowv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11467. extern rtx gen_aarch64_simd_fmlalq_lane_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11468. extern rtx gen_aarch64_simd_fmlslq_lane_highv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  11469. extern rtx gen_aarch64_crypto_pmulldi (rtx, rtx, rtx);
  11470. extern rtx gen_aarch64_crypto_pmullv2di (rtx, rtx, rtx);
  11471. extern rtx gen_extendv8qiv8hi2 (rtx, rtx);
  11472. extern rtx gen_zero_extendv8qiv8hi2 (rtx, rtx);
  11473. extern rtx gen_extendv4hiv4si2 (rtx, rtx);
  11474. extern rtx gen_zero_extendv4hiv4si2 (rtx, rtx);
  11475. extern rtx gen_extendv2siv2di2 (rtx, rtx);
  11476. extern rtx gen_zero_extendv2siv2di2 (rtx, rtx);
  11477. extern rtx gen_truncv8hiv8qi2 (rtx, rtx);
  11478. extern rtx gen_truncv4siv4hi2 (rtx, rtx);
  11479. extern rtx gen_truncv2div2si2 (rtx, rtx);
  11480. extern rtx gen_aarch64_bfdotv2sf (rtx, rtx, rtx, rtx);
  11481. extern rtx gen_aarch64_bfdotv4sf (rtx, rtx, rtx, rtx);
  11482. extern rtx gen_aarch64_bfdot_lanev2sf (rtx, rtx, rtx, rtx, rtx);
  11483. extern rtx gen_aarch64_bfdot_laneqv2sf (rtx, rtx, rtx, rtx, rtx);
  11484. extern rtx gen_aarch64_bfdot_lanev4sf (rtx, rtx, rtx, rtx, rtx);
  11485. extern rtx gen_aarch64_bfdot_laneqv4sf (rtx, rtx, rtx, rtx, rtx);
  11486. extern rtx gen_aarch64_bfmmlaqv4sf (rtx, rtx, rtx, rtx);
  11487. extern rtx gen_aarch64_bfmlalbv4sf (rtx, rtx, rtx, rtx);
  11488. extern rtx gen_aarch64_bfmlaltv4sf (rtx, rtx, rtx, rtx);
  11489. extern rtx gen_aarch64_bfmlalb_lanev4sf (rtx, rtx, rtx, rtx, rtx);
  11490. extern rtx gen_aarch64_bfmlalt_lanev4sf (rtx, rtx, rtx, rtx, rtx);
  11491. extern rtx gen_aarch64_bfmlalb_lane_qv4sf (rtx, rtx, rtx, rtx, rtx);
  11492. extern rtx gen_aarch64_bfmlalt_lane_qv4sf (rtx, rtx, rtx, rtx, rtx);
  11493. extern rtx gen_aarch64_simd_smmlav16qi (rtx, rtx, rtx, rtx);
  11494. extern rtx gen_aarch64_simd_ummlav16qi (rtx, rtx, rtx, rtx);
  11495. extern rtx gen_aarch64_simd_usmmlav16qi (rtx, rtx, rtx, rtx);
  11496. extern rtx gen_aarch64_bfcvtnv4bf (rtx, rtx);
  11497. extern rtx gen_aarch64_bfcvtn_qv8bf (rtx, rtx);
  11498. extern rtx gen_aarch64_bfcvtn2v8bf (rtx, rtx, rtx);
  11499. extern rtx gen_aarch64_bfcvtbf (rtx, rtx);
  11500. extern rtx gen_aarch64_vbfcvtv4bf (rtx, rtx);
  11501. extern rtx gen_aarch64_vbfcvtv8bf (rtx, rtx);
  11502. extern rtx gen_aarch64_vbfcvt_highv8bf (rtx, rtx);
  11503. extern rtx gen_aarch64_bfcvtsf (rtx, rtx);
  11504. extern rtx gen_aarch64_compare_and_swapqi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  11505. extern rtx gen_aarch64_compare_and_swaphi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  11506. extern rtx gen_aarch64_compare_and_swapsi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  11507. extern rtx gen_aarch64_compare_and_swapdi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  11508. extern rtx gen_aarch64_compare_and_swapti (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  11509. extern rtx gen_aarch64_compare_and_swapqi_lse (rtx, rtx, rtx, rtx);
  11510. extern rtx gen_aarch64_compare_and_swaphi_lse (rtx, rtx, rtx, rtx);
  11511. extern rtx gen_aarch64_compare_and_swapsi_lse (rtx, rtx, rtx, rtx);
  11512. extern rtx gen_aarch64_compare_and_swapdi_lse (rtx, rtx, rtx, rtx);
  11513. extern rtx gen_aarch64_compare_and_swapti_lse (rtx, rtx, rtx, rtx);
  11514. extern rtx gen_aarch64_atomic_exchangeqi (rtx, rtx, rtx, rtx);
  11515. extern rtx gen_aarch64_atomic_exchangehi (rtx, rtx, rtx, rtx);
  11516. extern rtx gen_aarch64_atomic_exchangesi (rtx, rtx, rtx, rtx);
  11517. extern rtx gen_aarch64_atomic_exchangedi (rtx, rtx, rtx, rtx);
  11518. extern rtx gen_aarch64_atomic_exchangeqi_lse (rtx, rtx, rtx, rtx);
  11519. extern rtx gen_aarch64_atomic_exchangehi_lse (rtx, rtx, rtx, rtx);
  11520. extern rtx gen_aarch64_atomic_exchangesi_lse (rtx, rtx, rtx, rtx);
  11521. extern rtx gen_aarch64_atomic_exchangedi_lse (rtx, rtx, rtx, rtx);
  11522. extern rtx gen_aarch64_atomic_addqi (rtx, rtx, rtx);
  11523. extern rtx gen_aarch64_atomic_subqi (rtx, rtx, rtx);
  11524. extern rtx gen_aarch64_atomic_orqi (rtx, rtx, rtx);
  11525. extern rtx gen_aarch64_atomic_xorqi (rtx, rtx, rtx);
  11526. extern rtx gen_aarch64_atomic_andqi (rtx, rtx, rtx);
  11527. extern rtx gen_aarch64_atomic_addhi (rtx, rtx, rtx);
  11528. extern rtx gen_aarch64_atomic_subhi (rtx, rtx, rtx);
  11529. extern rtx gen_aarch64_atomic_orhi (rtx, rtx, rtx);
  11530. extern rtx gen_aarch64_atomic_xorhi (rtx, rtx, rtx);
  11531. extern rtx gen_aarch64_atomic_andhi (rtx, rtx, rtx);
  11532. extern rtx gen_aarch64_atomic_addsi (rtx, rtx, rtx);
  11533. extern rtx gen_aarch64_atomic_subsi (rtx, rtx, rtx);
  11534. extern rtx gen_aarch64_atomic_orsi (rtx, rtx, rtx);
  11535. extern rtx gen_aarch64_atomic_xorsi (rtx, rtx, rtx);
  11536. extern rtx gen_aarch64_atomic_andsi (rtx, rtx, rtx);
  11537. extern rtx gen_aarch64_atomic_adddi (rtx, rtx, rtx);
  11538. extern rtx gen_aarch64_atomic_subdi (rtx, rtx, rtx);
  11539. extern rtx gen_aarch64_atomic_ordi (rtx, rtx, rtx);
  11540. extern rtx gen_aarch64_atomic_xordi (rtx, rtx, rtx);
  11541. extern rtx gen_aarch64_atomic_anddi (rtx, rtx, rtx);
  11542. extern rtx gen_aarch64_atomic_iorqi_lse (rtx, rtx, rtx);
  11543. extern rtx gen_aarch64_atomic_bicqi_lse (rtx, rtx, rtx);
  11544. extern rtx gen_aarch64_atomic_xorqi_lse (rtx, rtx, rtx);
  11545. extern rtx gen_aarch64_atomic_addqi_lse (rtx, rtx, rtx);
  11546. extern rtx gen_aarch64_atomic_iorhi_lse (rtx, rtx, rtx);
  11547. extern rtx gen_aarch64_atomic_bichi_lse (rtx, rtx, rtx);
  11548. extern rtx gen_aarch64_atomic_xorhi_lse (rtx, rtx, rtx);
  11549. extern rtx gen_aarch64_atomic_addhi_lse (rtx, rtx, rtx);
  11550. extern rtx gen_aarch64_atomic_iorsi_lse (rtx, rtx, rtx);
  11551. extern rtx gen_aarch64_atomic_bicsi_lse (rtx, rtx, rtx);
  11552. extern rtx gen_aarch64_atomic_xorsi_lse (rtx, rtx, rtx);
  11553. extern rtx gen_aarch64_atomic_addsi_lse (rtx, rtx, rtx);
  11554. extern rtx gen_aarch64_atomic_iordi_lse (rtx, rtx, rtx);
  11555. extern rtx gen_aarch64_atomic_bicdi_lse (rtx, rtx, rtx);
  11556. extern rtx gen_aarch64_atomic_xordi_lse (rtx, rtx, rtx);
  11557. extern rtx gen_aarch64_atomic_adddi_lse (rtx, rtx, rtx);
  11558. extern rtx gen_atomic_nandqi (rtx, rtx, rtx);
  11559. extern rtx gen_atomic_nandhi (rtx, rtx, rtx);
  11560. extern rtx gen_atomic_nandsi (rtx, rtx, rtx);
  11561. extern rtx gen_atomic_nanddi (rtx, rtx, rtx);
  11562. extern rtx gen_aarch64_atomic_fetch_addqi (rtx, rtx, rtx, rtx);
  11563. extern rtx gen_aarch64_atomic_fetch_subqi (rtx, rtx, rtx, rtx);
  11564. extern rtx gen_aarch64_atomic_fetch_orqi (rtx, rtx, rtx, rtx);
  11565. extern rtx gen_aarch64_atomic_fetch_xorqi (rtx, rtx, rtx, rtx);
  11566. extern rtx gen_aarch64_atomic_fetch_andqi (rtx, rtx, rtx, rtx);
  11567. extern rtx gen_aarch64_atomic_fetch_addhi (rtx, rtx, rtx, rtx);
  11568. extern rtx gen_aarch64_atomic_fetch_subhi (rtx, rtx, rtx, rtx);
  11569. extern rtx gen_aarch64_atomic_fetch_orhi (rtx, rtx, rtx, rtx);
  11570. extern rtx gen_aarch64_atomic_fetch_xorhi (rtx, rtx, rtx, rtx);
  11571. extern rtx gen_aarch64_atomic_fetch_andhi (rtx, rtx, rtx, rtx);
  11572. extern rtx gen_aarch64_atomic_fetch_addsi (rtx, rtx, rtx, rtx);
  11573. extern rtx gen_aarch64_atomic_fetch_subsi (rtx, rtx, rtx, rtx);
  11574. extern rtx gen_aarch64_atomic_fetch_orsi (rtx, rtx, rtx, rtx);
  11575. extern rtx gen_aarch64_atomic_fetch_xorsi (rtx, rtx, rtx, rtx);
  11576. extern rtx gen_aarch64_atomic_fetch_andsi (rtx, rtx, rtx, rtx);
  11577. extern rtx gen_aarch64_atomic_fetch_adddi (rtx, rtx, rtx, rtx);
  11578. extern rtx gen_aarch64_atomic_fetch_subdi (rtx, rtx, rtx, rtx);
  11579. extern rtx gen_aarch64_atomic_fetch_ordi (rtx, rtx, rtx, rtx);
  11580. extern rtx gen_aarch64_atomic_fetch_xordi (rtx, rtx, rtx, rtx);
  11581. extern rtx gen_aarch64_atomic_fetch_anddi (rtx, rtx, rtx, rtx);
  11582. extern rtx gen_aarch64_atomic_fetch_iorqi_lse (rtx, rtx, rtx, rtx);
  11583. extern rtx gen_aarch64_atomic_fetch_bicqi_lse (rtx, rtx, rtx, rtx);
  11584. extern rtx gen_aarch64_atomic_fetch_xorqi_lse (rtx, rtx, rtx, rtx);
  11585. extern rtx gen_aarch64_atomic_fetch_addqi_lse (rtx, rtx, rtx, rtx);
  11586. extern rtx gen_aarch64_atomic_fetch_iorhi_lse (rtx, rtx, rtx, rtx);
  11587. extern rtx gen_aarch64_atomic_fetch_bichi_lse (rtx, rtx, rtx, rtx);
  11588. extern rtx gen_aarch64_atomic_fetch_xorhi_lse (rtx, rtx, rtx, rtx);
  11589. extern rtx gen_aarch64_atomic_fetch_addhi_lse (rtx, rtx, rtx, rtx);
  11590. extern rtx gen_aarch64_atomic_fetch_iorsi_lse (rtx, rtx, rtx, rtx);
  11591. extern rtx gen_aarch64_atomic_fetch_bicsi_lse (rtx, rtx, rtx, rtx);
  11592. extern rtx gen_aarch64_atomic_fetch_xorsi_lse (rtx, rtx, rtx, rtx);
  11593. extern rtx gen_aarch64_atomic_fetch_addsi_lse (rtx, rtx, rtx, rtx);
  11594. extern rtx gen_aarch64_atomic_fetch_iordi_lse (rtx, rtx, rtx, rtx);
  11595. extern rtx gen_aarch64_atomic_fetch_bicdi_lse (rtx, rtx, rtx, rtx);
  11596. extern rtx gen_aarch64_atomic_fetch_xordi_lse (rtx, rtx, rtx, rtx);
  11597. extern rtx gen_aarch64_atomic_fetch_adddi_lse (rtx, rtx, rtx, rtx);
  11598. extern rtx gen_atomic_fetch_nandqi (rtx, rtx, rtx, rtx);
  11599. extern rtx gen_atomic_fetch_nandhi (rtx, rtx, rtx, rtx);
  11600. extern rtx gen_atomic_fetch_nandsi (rtx, rtx, rtx, rtx);
  11601. extern rtx gen_atomic_fetch_nanddi (rtx, rtx, rtx, rtx);
  11602. extern rtx gen_aarch64_atomic_add_fetchqi (rtx, rtx, rtx, rtx);
  11603. extern rtx gen_aarch64_atomic_sub_fetchqi (rtx, rtx, rtx, rtx);
  11604. extern rtx gen_aarch64_atomic_or_fetchqi (rtx, rtx, rtx, rtx);
  11605. extern rtx gen_aarch64_atomic_xor_fetchqi (rtx, rtx, rtx, rtx);
  11606. extern rtx gen_aarch64_atomic_and_fetchqi (rtx, rtx, rtx, rtx);
  11607. extern rtx gen_aarch64_atomic_add_fetchhi (rtx, rtx, rtx, rtx);
  11608. extern rtx gen_aarch64_atomic_sub_fetchhi (rtx, rtx, rtx, rtx);
  11609. extern rtx gen_aarch64_atomic_or_fetchhi (rtx, rtx, rtx, rtx);
  11610. extern rtx gen_aarch64_atomic_xor_fetchhi (rtx, rtx, rtx, rtx);
  11611. extern rtx gen_aarch64_atomic_and_fetchhi (rtx, rtx, rtx, rtx);
  11612. extern rtx gen_aarch64_atomic_add_fetchsi (rtx, rtx, rtx, rtx);
  11613. extern rtx gen_aarch64_atomic_sub_fetchsi (rtx, rtx, rtx, rtx);
  11614. extern rtx gen_aarch64_atomic_or_fetchsi (rtx, rtx, rtx, rtx);
  11615. extern rtx gen_aarch64_atomic_xor_fetchsi (rtx, rtx, rtx, rtx);
  11616. extern rtx gen_aarch64_atomic_and_fetchsi (rtx, rtx, rtx, rtx);
  11617. extern rtx gen_aarch64_atomic_add_fetchdi (rtx, rtx, rtx, rtx);
  11618. extern rtx gen_aarch64_atomic_sub_fetchdi (rtx, rtx, rtx, rtx);
  11619. extern rtx gen_aarch64_atomic_or_fetchdi (rtx, rtx, rtx, rtx);
  11620. extern rtx gen_aarch64_atomic_xor_fetchdi (rtx, rtx, rtx, rtx);
  11621. extern rtx gen_aarch64_atomic_and_fetchdi (rtx, rtx, rtx, rtx);
  11622. extern rtx gen_atomic_nand_fetchqi (rtx, rtx, rtx, rtx);
  11623. extern rtx gen_atomic_nand_fetchhi (rtx, rtx, rtx, rtx);
  11624. extern rtx gen_atomic_nand_fetchsi (rtx, rtx, rtx, rtx);
  11625. extern rtx gen_atomic_nand_fetchdi (rtx, rtx, rtx, rtx);
  11626. extern rtx gen_atomic_loadqi (rtx, rtx, rtx);
  11627. extern rtx gen_atomic_loadhi (rtx, rtx, rtx);
  11628. extern rtx gen_atomic_loadsi (rtx, rtx, rtx);
  11629. extern rtx gen_atomic_loaddi (rtx, rtx, rtx);
  11630. extern rtx gen_atomic_storeqi (rtx, rtx, rtx);
  11631. extern rtx gen_atomic_storehi (rtx, rtx, rtx);
  11632. extern rtx gen_atomic_storesi (rtx, rtx, rtx);
  11633. extern rtx gen_atomic_storedi (rtx, rtx, rtx);
  11634. extern rtx gen_aarch64_load_exclusiveqi (rtx, rtx, rtx);
  11635. extern rtx gen_aarch64_load_exclusivehi (rtx, rtx, rtx);
  11636. extern rtx gen_aarch64_load_exclusivesi (rtx, rtx, rtx);
  11637. extern rtx gen_aarch64_load_exclusivedi (rtx, rtx, rtx);
  11638. extern rtx gen_aarch64_load_exclusive_pair (rtx, rtx, rtx, rtx);
  11639. extern rtx gen_aarch64_store_exclusiveqi (rtx, rtx, rtx, rtx);
  11640. extern rtx gen_aarch64_store_exclusivehi (rtx, rtx, rtx, rtx);
  11641. extern rtx gen_aarch64_store_exclusivesi (rtx, rtx, rtx, rtx);
  11642. extern rtx gen_aarch64_store_exclusivedi (rtx, rtx, rtx, rtx);
  11643. extern rtx gen_aarch64_store_exclusive_pair (rtx, rtx, rtx, rtx, rtx);
  11644. extern rtx gen_aarch64_pred_movvnx16qi (rtx, rtx, rtx);
  11645. extern rtx gen_aarch64_pred_movvnx8qi (rtx, rtx, rtx);
  11646. extern rtx gen_aarch64_pred_movvnx4qi (rtx, rtx, rtx);
  11647. extern rtx gen_aarch64_pred_movvnx2qi (rtx, rtx, rtx);
  11648. extern rtx gen_aarch64_pred_movvnx8hi (rtx, rtx, rtx);
  11649. extern rtx gen_aarch64_pred_movvnx4hi (rtx, rtx, rtx);
  11650. extern rtx gen_aarch64_pred_movvnx2hi (rtx, rtx, rtx);
  11651. extern rtx gen_aarch64_pred_movvnx8hf (rtx, rtx, rtx);
  11652. extern rtx gen_aarch64_pred_movvnx4hf (rtx, rtx, rtx);
  11653. extern rtx gen_aarch64_pred_movvnx2hf (rtx, rtx, rtx);
  11654. extern rtx gen_aarch64_pred_movvnx8bf (rtx, rtx, rtx);
  11655. extern rtx gen_aarch64_pred_movvnx4si (rtx, rtx, rtx);
  11656. extern rtx gen_aarch64_pred_movvnx2si (rtx, rtx, rtx);
  11657. extern rtx gen_aarch64_pred_movvnx4sf (rtx, rtx, rtx);
  11658. extern rtx gen_aarch64_pred_movvnx2sf (rtx, rtx, rtx);
  11659. extern rtx gen_aarch64_pred_movvnx2di (rtx, rtx, rtx);
  11660. extern rtx gen_aarch64_pred_movvnx2df (rtx, rtx, rtx);
  11661. extern rtx gen_aarch64_pred_movvnx32qi (rtx, rtx, rtx);
  11662. extern rtx gen_aarch64_pred_movvnx16hi (rtx, rtx, rtx);
  11663. extern rtx gen_aarch64_pred_movvnx8si (rtx, rtx, rtx);
  11664. extern rtx gen_aarch64_pred_movvnx4di (rtx, rtx, rtx);
  11665. extern rtx gen_aarch64_pred_movvnx16bf (rtx, rtx, rtx);
  11666. extern rtx gen_aarch64_pred_movvnx16hf (rtx, rtx, rtx);
  11667. extern rtx gen_aarch64_pred_movvnx8sf (rtx, rtx, rtx);
  11668. extern rtx gen_aarch64_pred_movvnx4df (rtx, rtx, rtx);
  11669. extern rtx gen_aarch64_pred_movvnx48qi (rtx, rtx, rtx);
  11670. extern rtx gen_aarch64_pred_movvnx24hi (rtx, rtx, rtx);
  11671. extern rtx gen_aarch64_pred_movvnx12si (rtx, rtx, rtx);
  11672. extern rtx gen_aarch64_pred_movvnx6di (rtx, rtx, rtx);
  11673. extern rtx gen_aarch64_pred_movvnx24bf (rtx, rtx, rtx);
  11674. extern rtx gen_aarch64_pred_movvnx24hf (rtx, rtx, rtx);
  11675. extern rtx gen_aarch64_pred_movvnx12sf (rtx, rtx, rtx);
  11676. extern rtx gen_aarch64_pred_movvnx6df (rtx, rtx, rtx);
  11677. extern rtx gen_aarch64_pred_movvnx64qi (rtx, rtx, rtx);
  11678. extern rtx gen_aarch64_pred_movvnx32hi (rtx, rtx, rtx);
  11679. extern rtx gen_aarch64_pred_movvnx16si (rtx, rtx, rtx);
  11680. extern rtx gen_aarch64_pred_movvnx8di (rtx, rtx, rtx);
  11681. extern rtx gen_aarch64_pred_movvnx32bf (rtx, rtx, rtx);
  11682. extern rtx gen_aarch64_pred_movvnx32hf (rtx, rtx, rtx);
  11683. extern rtx gen_aarch64_pred_movvnx16sf (rtx, rtx, rtx);
  11684. extern rtx gen_aarch64_pred_movvnx8df (rtx, rtx, rtx);
  11685. extern rtx gen_aarch64_wrffr (rtx);
  11686. extern rtx gen_aarch64_update_ffr_for_load (void);
  11687. extern rtx gen_aarch64_copy_ffr_to_ffrt (void);
  11688. extern rtx gen_aarch64_rdffr (rtx);
  11689. extern rtx gen_aarch64_rdffr_z (rtx, rtx);
  11690. extern rtx gen_aarch64_update_ffrt (void);
  11691. extern rtx gen_maskloadvnx16qivnx16bi (rtx, rtx, rtx);
  11692. extern rtx gen_maskloadvnx8qivnx8bi (rtx, rtx, rtx);
  11693. extern rtx gen_maskloadvnx4qivnx4bi (rtx, rtx, rtx);
  11694. extern rtx gen_maskloadvnx2qivnx2bi (rtx, rtx, rtx);
  11695. extern rtx gen_maskloadvnx8hivnx8bi (rtx, rtx, rtx);
  11696. extern rtx gen_maskloadvnx4hivnx4bi (rtx, rtx, rtx);
  11697. extern rtx gen_maskloadvnx2hivnx2bi (rtx, rtx, rtx);
  11698. extern rtx gen_maskloadvnx8hfvnx8bi (rtx, rtx, rtx);
  11699. extern rtx gen_maskloadvnx4hfvnx4bi (rtx, rtx, rtx);
  11700. extern rtx gen_maskloadvnx2hfvnx2bi (rtx, rtx, rtx);
  11701. extern rtx gen_maskloadvnx8bfvnx8bi (rtx, rtx, rtx);
  11702. extern rtx gen_maskloadvnx4sivnx4bi (rtx, rtx, rtx);
  11703. extern rtx gen_maskloadvnx2sivnx2bi (rtx, rtx, rtx);
  11704. extern rtx gen_maskloadvnx4sfvnx4bi (rtx, rtx, rtx);
  11705. extern rtx gen_maskloadvnx2sfvnx2bi (rtx, rtx, rtx);
  11706. extern rtx gen_maskloadvnx2divnx2bi (rtx, rtx, rtx);
  11707. extern rtx gen_maskloadvnx2dfvnx2bi (rtx, rtx, rtx);
  11708. extern rtx gen_vec_mask_load_lanesvnx32qivnx16qi (rtx, rtx, rtx);
  11709. extern rtx gen_vec_mask_load_lanesvnx16hivnx8hi (rtx, rtx, rtx);
  11710. extern rtx gen_vec_mask_load_lanesvnx8sivnx4si (rtx, rtx, rtx);
  11711. extern rtx gen_vec_mask_load_lanesvnx4divnx2di (rtx, rtx, rtx);
  11712. extern rtx gen_vec_mask_load_lanesvnx16bfvnx8bf (rtx, rtx, rtx);
  11713. extern rtx gen_vec_mask_load_lanesvnx16hfvnx8hf (rtx, rtx, rtx);
  11714. extern rtx gen_vec_mask_load_lanesvnx8sfvnx4sf (rtx, rtx, rtx);
  11715. extern rtx gen_vec_mask_load_lanesvnx4dfvnx2df (rtx, rtx, rtx);
  11716. extern rtx gen_vec_mask_load_lanesvnx48qivnx16qi (rtx, rtx, rtx);
  11717. extern rtx gen_vec_mask_load_lanesvnx24hivnx8hi (rtx, rtx, rtx);
  11718. extern rtx gen_vec_mask_load_lanesvnx12sivnx4si (rtx, rtx, rtx);
  11719. extern rtx gen_vec_mask_load_lanesvnx6divnx2di (rtx, rtx, rtx);
  11720. extern rtx gen_vec_mask_load_lanesvnx24bfvnx8bf (rtx, rtx, rtx);
  11721. extern rtx gen_vec_mask_load_lanesvnx24hfvnx8hf (rtx, rtx, rtx);
  11722. extern rtx gen_vec_mask_load_lanesvnx12sfvnx4sf (rtx, rtx, rtx);
  11723. extern rtx gen_vec_mask_load_lanesvnx6dfvnx2df (rtx, rtx, rtx);
  11724. extern rtx gen_vec_mask_load_lanesvnx64qivnx16qi (rtx, rtx, rtx);
  11725. extern rtx gen_vec_mask_load_lanesvnx32hivnx8hi (rtx, rtx, rtx);
  11726. extern rtx gen_vec_mask_load_lanesvnx16sivnx4si (rtx, rtx, rtx);
  11727. extern rtx gen_vec_mask_load_lanesvnx8divnx2di (rtx, rtx, rtx);
  11728. extern rtx gen_vec_mask_load_lanesvnx32bfvnx8bf (rtx, rtx, rtx);
  11729. extern rtx gen_vec_mask_load_lanesvnx32hfvnx8hf (rtx, rtx, rtx);
  11730. extern rtx gen_vec_mask_load_lanesvnx16sfvnx4sf (rtx, rtx, rtx);
  11731. extern rtx gen_vec_mask_load_lanesvnx8dfvnx2df (rtx, rtx, rtx);
  11732. extern rtx gen_aarch64_load_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  11733. extern rtx gen_aarch64_load_zero_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  11734. static inline rtx gen_aarch64_load_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  11735. static inline rtx
  11736. gen_aarch64_load_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11737. {
  11738. return 0;
  11739. }
  11740. static inline rtx gen_aarch64_load_zero_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  11741. static inline rtx
  11742. gen_aarch64_load_zero_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11743. {
  11744. return 0;
  11745. }
  11746. static inline rtx gen_aarch64_load_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  11747. static inline rtx
  11748. gen_aarch64_load_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11749. {
  11750. return 0;
  11751. }
  11752. static inline rtx gen_aarch64_load_zero_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  11753. static inline rtx
  11754. gen_aarch64_load_zero_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11755. {
  11756. return 0;
  11757. }
  11758. static inline rtx gen_aarch64_load_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  11759. static inline rtx
  11760. gen_aarch64_load_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11761. {
  11762. return 0;
  11763. }
  11764. static inline rtx gen_aarch64_load_zero_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  11765. static inline rtx
  11766. gen_aarch64_load_zero_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11767. {
  11768. return 0;
  11769. }
  11770. static inline rtx gen_aarch64_load_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  11771. static inline rtx
  11772. gen_aarch64_load_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11773. {
  11774. return 0;
  11775. }
  11776. static inline rtx gen_aarch64_load_zero_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  11777. static inline rtx
  11778. gen_aarch64_load_zero_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11779. {
  11780. return 0;
  11781. }
  11782. static inline rtx gen_aarch64_load_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  11783. static inline rtx
  11784. gen_aarch64_load_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11785. {
  11786. return 0;
  11787. }
  11788. static inline rtx gen_aarch64_load_zero_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  11789. static inline rtx
  11790. gen_aarch64_load_zero_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11791. {
  11792. return 0;
  11793. }
  11794. static inline rtx gen_aarch64_load_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  11795. static inline rtx
  11796. gen_aarch64_load_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11797. {
  11798. return 0;
  11799. }
  11800. static inline rtx gen_aarch64_load_zero_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  11801. static inline rtx
  11802. gen_aarch64_load_zero_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11803. {
  11804. return 0;
  11805. }
  11806. extern rtx gen_aarch64_load_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  11807. extern rtx gen_aarch64_load_zero_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  11808. static inline rtx gen_aarch64_load_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  11809. static inline rtx
  11810. gen_aarch64_load_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11811. {
  11812. return 0;
  11813. }
  11814. static inline rtx gen_aarch64_load_zero_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  11815. static inline rtx
  11816. gen_aarch64_load_zero_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11817. {
  11818. return 0;
  11819. }
  11820. static inline rtx gen_aarch64_load_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  11821. static inline rtx
  11822. gen_aarch64_load_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11823. {
  11824. return 0;
  11825. }
  11826. static inline rtx gen_aarch64_load_zero_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  11827. static inline rtx
  11828. gen_aarch64_load_zero_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11829. {
  11830. return 0;
  11831. }
  11832. static inline rtx gen_aarch64_load_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  11833. static inline rtx
  11834. gen_aarch64_load_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11835. {
  11836. return 0;
  11837. }
  11838. static inline rtx gen_aarch64_load_zero_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  11839. static inline rtx
  11840. gen_aarch64_load_zero_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11841. {
  11842. return 0;
  11843. }
  11844. static inline rtx gen_aarch64_load_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  11845. static inline rtx
  11846. gen_aarch64_load_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11847. {
  11848. return 0;
  11849. }
  11850. static inline rtx gen_aarch64_load_zero_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  11851. static inline rtx
  11852. gen_aarch64_load_zero_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11853. {
  11854. return 0;
  11855. }
  11856. static inline rtx gen_aarch64_load_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  11857. static inline rtx
  11858. gen_aarch64_load_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11859. {
  11860. return 0;
  11861. }
  11862. static inline rtx gen_aarch64_load_zero_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  11863. static inline rtx
  11864. gen_aarch64_load_zero_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11865. {
  11866. return 0;
  11867. }
  11868. static inline rtx gen_aarch64_load_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  11869. static inline rtx
  11870. gen_aarch64_load_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11871. {
  11872. return 0;
  11873. }
  11874. static inline rtx gen_aarch64_load_zero_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  11875. static inline rtx
  11876. gen_aarch64_load_zero_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11877. {
  11878. return 0;
  11879. }
  11880. extern rtx gen_aarch64_load_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  11881. extern rtx gen_aarch64_load_zero_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  11882. static inline rtx gen_aarch64_load_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  11883. static inline rtx
  11884. gen_aarch64_load_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11885. {
  11886. return 0;
  11887. }
  11888. static inline rtx gen_aarch64_load_zero_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  11889. static inline rtx
  11890. gen_aarch64_load_zero_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11891. {
  11892. return 0;
  11893. }
  11894. static inline rtx gen_aarch64_load_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  11895. static inline rtx
  11896. gen_aarch64_load_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11897. {
  11898. return 0;
  11899. }
  11900. static inline rtx gen_aarch64_load_zero_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  11901. static inline rtx
  11902. gen_aarch64_load_zero_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11903. {
  11904. return 0;
  11905. }
  11906. static inline rtx gen_aarch64_load_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  11907. static inline rtx
  11908. gen_aarch64_load_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11909. {
  11910. return 0;
  11911. }
  11912. static inline rtx gen_aarch64_load_zero_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  11913. static inline rtx
  11914. gen_aarch64_load_zero_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11915. {
  11916. return 0;
  11917. }
  11918. static inline rtx gen_aarch64_load_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  11919. static inline rtx
  11920. gen_aarch64_load_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11921. {
  11922. return 0;
  11923. }
  11924. static inline rtx gen_aarch64_load_zero_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  11925. static inline rtx
  11926. gen_aarch64_load_zero_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11927. {
  11928. return 0;
  11929. }
  11930. extern rtx gen_aarch64_load_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  11931. extern rtx gen_aarch64_load_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  11932. static inline rtx gen_aarch64_load_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  11933. static inline rtx
  11934. gen_aarch64_load_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11935. {
  11936. return 0;
  11937. }
  11938. static inline rtx gen_aarch64_load_zero_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  11939. static inline rtx
  11940. gen_aarch64_load_zero_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11941. {
  11942. return 0;
  11943. }
  11944. extern rtx gen_aarch64_load_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  11945. extern rtx gen_aarch64_load_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  11946. static inline rtx gen_aarch64_load_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  11947. static inline rtx
  11948. gen_aarch64_load_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11949. {
  11950. return 0;
  11951. }
  11952. static inline rtx gen_aarch64_load_zero_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  11953. static inline rtx
  11954. gen_aarch64_load_zero_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11955. {
  11956. return 0;
  11957. }
  11958. static inline rtx gen_aarch64_load_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  11959. static inline rtx
  11960. gen_aarch64_load_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11961. {
  11962. return 0;
  11963. }
  11964. static inline rtx gen_aarch64_load_zero_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  11965. static inline rtx
  11966. gen_aarch64_load_zero_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11967. {
  11968. return 0;
  11969. }
  11970. static inline rtx gen_aarch64_load_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  11971. static inline rtx
  11972. gen_aarch64_load_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11973. {
  11974. return 0;
  11975. }
  11976. static inline rtx gen_aarch64_load_zero_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  11977. static inline rtx
  11978. gen_aarch64_load_zero_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11979. {
  11980. return 0;
  11981. }
  11982. static inline rtx gen_aarch64_load_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  11983. static inline rtx
  11984. gen_aarch64_load_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11985. {
  11986. return 0;
  11987. }
  11988. static inline rtx gen_aarch64_load_zero_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  11989. static inline rtx
  11990. gen_aarch64_load_zero_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11991. {
  11992. return 0;
  11993. }
  11994. extern rtx gen_aarch64_load_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  11995. extern rtx gen_aarch64_load_zero_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  11996. static inline rtx gen_aarch64_load_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  11997. static inline rtx
  11998. gen_aarch64_load_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  11999. {
  12000. return 0;
  12001. }
  12002. static inline rtx gen_aarch64_load_zero_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  12003. static inline rtx
  12004. gen_aarch64_load_zero_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12005. {
  12006. return 0;
  12007. }
  12008. extern rtx gen_aarch64_load_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12009. extern rtx gen_aarch64_load_zero_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12010. static inline rtx gen_aarch64_load_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12011. static inline rtx
  12012. gen_aarch64_load_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12013. {
  12014. return 0;
  12015. }
  12016. static inline rtx gen_aarch64_load_zero_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12017. static inline rtx
  12018. gen_aarch64_load_zero_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12019. {
  12020. return 0;
  12021. }
  12022. static inline rtx gen_aarch64_load_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12023. static inline rtx
  12024. gen_aarch64_load_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12025. {
  12026. return 0;
  12027. }
  12028. static inline rtx gen_aarch64_load_zero_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12029. static inline rtx
  12030. gen_aarch64_load_zero_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12031. {
  12032. return 0;
  12033. }
  12034. static inline rtx gen_aarch64_load_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12035. static inline rtx
  12036. gen_aarch64_load_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12037. {
  12038. return 0;
  12039. }
  12040. static inline rtx gen_aarch64_load_zero_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12041. static inline rtx
  12042. gen_aarch64_load_zero_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12043. {
  12044. return 0;
  12045. }
  12046. extern rtx gen_aarch64_load_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12047. extern rtx gen_aarch64_load_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12048. static inline rtx gen_aarch64_load_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12049. static inline rtx
  12050. gen_aarch64_load_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12051. {
  12052. return 0;
  12053. }
  12054. static inline rtx gen_aarch64_load_zero_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12055. static inline rtx
  12056. gen_aarch64_load_zero_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12057. {
  12058. return 0;
  12059. }
  12060. extern rtx gen_aarch64_load_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12061. extern rtx gen_aarch64_load_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12062. extern rtx gen_aarch64_load_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12063. extern rtx gen_aarch64_load_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12064. extern rtx gen_aarch64_ldff1vnx16qi (rtx, rtx, rtx);
  12065. extern rtx gen_aarch64_ldnf1vnx16qi (rtx, rtx, rtx);
  12066. extern rtx gen_aarch64_ldff1vnx8hi (rtx, rtx, rtx);
  12067. extern rtx gen_aarch64_ldnf1vnx8hi (rtx, rtx, rtx);
  12068. extern rtx gen_aarch64_ldff1vnx4si (rtx, rtx, rtx);
  12069. extern rtx gen_aarch64_ldnf1vnx4si (rtx, rtx, rtx);
  12070. extern rtx gen_aarch64_ldff1vnx2di (rtx, rtx, rtx);
  12071. extern rtx gen_aarch64_ldnf1vnx2di (rtx, rtx, rtx);
  12072. extern rtx gen_aarch64_ldff1vnx8bf (rtx, rtx, rtx);
  12073. extern rtx gen_aarch64_ldnf1vnx8bf (rtx, rtx, rtx);
  12074. extern rtx gen_aarch64_ldff1vnx8hf (rtx, rtx, rtx);
  12075. extern rtx gen_aarch64_ldnf1vnx8hf (rtx, rtx, rtx);
  12076. extern rtx gen_aarch64_ldff1vnx4sf (rtx, rtx, rtx);
  12077. extern rtx gen_aarch64_ldnf1vnx4sf (rtx, rtx, rtx);
  12078. extern rtx gen_aarch64_ldff1vnx2df (rtx, rtx, rtx);
  12079. extern rtx gen_aarch64_ldnf1vnx2df (rtx, rtx, rtx);
  12080. extern rtx gen_aarch64_ldff1_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  12081. extern rtx gen_aarch64_ldnf1_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  12082. extern rtx gen_aarch64_ldff1_zero_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  12083. extern rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  12084. static inline rtx gen_aarch64_ldff1_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  12085. static inline rtx
  12086. gen_aarch64_ldff1_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12087. {
  12088. return 0;
  12089. }
  12090. static inline rtx gen_aarch64_ldnf1_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  12091. static inline rtx
  12092. gen_aarch64_ldnf1_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12093. {
  12094. return 0;
  12095. }
  12096. static inline rtx gen_aarch64_ldff1_zero_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  12097. static inline rtx
  12098. gen_aarch64_ldff1_zero_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12099. {
  12100. return 0;
  12101. }
  12102. static inline rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  12103. static inline rtx
  12104. gen_aarch64_ldnf1_zero_extendvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12105. {
  12106. return 0;
  12107. }
  12108. static inline rtx gen_aarch64_ldff1_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  12109. static inline rtx
  12110. gen_aarch64_ldff1_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12111. {
  12112. return 0;
  12113. }
  12114. static inline rtx gen_aarch64_ldnf1_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  12115. static inline rtx
  12116. gen_aarch64_ldnf1_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12117. {
  12118. return 0;
  12119. }
  12120. static inline rtx gen_aarch64_ldff1_zero_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  12121. static inline rtx
  12122. gen_aarch64_ldff1_zero_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12123. {
  12124. return 0;
  12125. }
  12126. static inline rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  12127. static inline rtx
  12128. gen_aarch64_ldnf1_zero_extendvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12129. {
  12130. return 0;
  12131. }
  12132. static inline rtx gen_aarch64_ldff1_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  12133. static inline rtx
  12134. gen_aarch64_ldff1_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12135. {
  12136. return 0;
  12137. }
  12138. static inline rtx gen_aarch64_ldnf1_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  12139. static inline rtx
  12140. gen_aarch64_ldnf1_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12141. {
  12142. return 0;
  12143. }
  12144. static inline rtx gen_aarch64_ldff1_zero_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  12145. static inline rtx
  12146. gen_aarch64_ldff1_zero_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12147. {
  12148. return 0;
  12149. }
  12150. static inline rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  12151. static inline rtx
  12152. gen_aarch64_ldnf1_zero_extendvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12153. {
  12154. return 0;
  12155. }
  12156. static inline rtx gen_aarch64_ldff1_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  12157. static inline rtx
  12158. gen_aarch64_ldff1_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12159. {
  12160. return 0;
  12161. }
  12162. static inline rtx gen_aarch64_ldnf1_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  12163. static inline rtx
  12164. gen_aarch64_ldnf1_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12165. {
  12166. return 0;
  12167. }
  12168. static inline rtx gen_aarch64_ldff1_zero_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  12169. static inline rtx
  12170. gen_aarch64_ldff1_zero_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12171. {
  12172. return 0;
  12173. }
  12174. static inline rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  12175. static inline rtx
  12176. gen_aarch64_ldnf1_zero_extendvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12177. {
  12178. return 0;
  12179. }
  12180. static inline rtx gen_aarch64_ldff1_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  12181. static inline rtx
  12182. gen_aarch64_ldff1_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12183. {
  12184. return 0;
  12185. }
  12186. static inline rtx gen_aarch64_ldnf1_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  12187. static inline rtx
  12188. gen_aarch64_ldnf1_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12189. {
  12190. return 0;
  12191. }
  12192. static inline rtx gen_aarch64_ldff1_zero_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  12193. static inline rtx
  12194. gen_aarch64_ldff1_zero_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12195. {
  12196. return 0;
  12197. }
  12198. static inline rtx gen_aarch64_ldnf1_zero_extendvnx8hivnx2si (rtx, rtx, rtx, rtx);
  12199. static inline rtx
  12200. gen_aarch64_ldnf1_zero_extendvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12201. {
  12202. return 0;
  12203. }
  12204. static inline rtx gen_aarch64_ldff1_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  12205. static inline rtx
  12206. gen_aarch64_ldff1_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12207. {
  12208. return 0;
  12209. }
  12210. static inline rtx gen_aarch64_ldnf1_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  12211. static inline rtx
  12212. gen_aarch64_ldnf1_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12213. {
  12214. return 0;
  12215. }
  12216. static inline rtx gen_aarch64_ldff1_zero_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  12217. static inline rtx
  12218. gen_aarch64_ldff1_zero_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12219. {
  12220. return 0;
  12221. }
  12222. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx8qi (rtx, rtx, rtx, rtx);
  12223. static inline rtx
  12224. gen_aarch64_ldnf1_zero_extendvnx4hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12225. {
  12226. return 0;
  12227. }
  12228. extern rtx gen_aarch64_ldff1_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  12229. extern rtx gen_aarch64_ldnf1_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  12230. extern rtx gen_aarch64_ldff1_zero_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  12231. extern rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx);
  12232. static inline rtx gen_aarch64_ldff1_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  12233. static inline rtx
  12234. gen_aarch64_ldff1_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12235. {
  12236. return 0;
  12237. }
  12238. static inline rtx gen_aarch64_ldnf1_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  12239. static inline rtx
  12240. gen_aarch64_ldnf1_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12241. {
  12242. return 0;
  12243. }
  12244. static inline rtx gen_aarch64_ldff1_zero_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  12245. static inline rtx
  12246. gen_aarch64_ldff1_zero_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12247. {
  12248. return 0;
  12249. }
  12250. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx2qi (rtx, rtx, rtx, rtx);
  12251. static inline rtx
  12252. gen_aarch64_ldnf1_zero_extendvnx4hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12253. {
  12254. return 0;
  12255. }
  12256. static inline rtx gen_aarch64_ldff1_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  12257. static inline rtx
  12258. gen_aarch64_ldff1_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12259. {
  12260. return 0;
  12261. }
  12262. static inline rtx gen_aarch64_ldnf1_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  12263. static inline rtx
  12264. gen_aarch64_ldnf1_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12265. {
  12266. return 0;
  12267. }
  12268. static inline rtx gen_aarch64_ldff1_zero_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  12269. static inline rtx
  12270. gen_aarch64_ldff1_zero_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12271. {
  12272. return 0;
  12273. }
  12274. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx);
  12275. static inline rtx
  12276. gen_aarch64_ldnf1_zero_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12277. {
  12278. return 0;
  12279. }
  12280. static inline rtx gen_aarch64_ldff1_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  12281. static inline rtx
  12282. gen_aarch64_ldff1_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12283. {
  12284. return 0;
  12285. }
  12286. static inline rtx gen_aarch64_ldnf1_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  12287. static inline rtx
  12288. gen_aarch64_ldnf1_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12289. {
  12290. return 0;
  12291. }
  12292. static inline rtx gen_aarch64_ldff1_zero_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  12293. static inline rtx
  12294. gen_aarch64_ldff1_zero_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12295. {
  12296. return 0;
  12297. }
  12298. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx2hi (rtx, rtx, rtx, rtx);
  12299. static inline rtx
  12300. gen_aarch64_ldnf1_zero_extendvnx4hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12301. {
  12302. return 0;
  12303. }
  12304. static inline rtx gen_aarch64_ldff1_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  12305. static inline rtx
  12306. gen_aarch64_ldff1_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12307. {
  12308. return 0;
  12309. }
  12310. static inline rtx gen_aarch64_ldnf1_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  12311. static inline rtx
  12312. gen_aarch64_ldnf1_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12313. {
  12314. return 0;
  12315. }
  12316. static inline rtx gen_aarch64_ldff1_zero_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  12317. static inline rtx
  12318. gen_aarch64_ldff1_zero_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12319. {
  12320. return 0;
  12321. }
  12322. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4hivnx2si (rtx, rtx, rtx, rtx);
  12323. static inline rtx
  12324. gen_aarch64_ldnf1_zero_extendvnx4hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12325. {
  12326. return 0;
  12327. }
  12328. static inline rtx gen_aarch64_ldff1_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  12329. static inline rtx
  12330. gen_aarch64_ldff1_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12331. {
  12332. return 0;
  12333. }
  12334. static inline rtx gen_aarch64_ldnf1_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  12335. static inline rtx
  12336. gen_aarch64_ldnf1_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12337. {
  12338. return 0;
  12339. }
  12340. static inline rtx gen_aarch64_ldff1_zero_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  12341. static inline rtx
  12342. gen_aarch64_ldff1_zero_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12343. {
  12344. return 0;
  12345. }
  12346. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx8qi (rtx, rtx, rtx, rtx);
  12347. static inline rtx
  12348. gen_aarch64_ldnf1_zero_extendvnx2hivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12349. {
  12350. return 0;
  12351. }
  12352. static inline rtx gen_aarch64_ldff1_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  12353. static inline rtx
  12354. gen_aarch64_ldff1_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12355. {
  12356. return 0;
  12357. }
  12358. static inline rtx gen_aarch64_ldnf1_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  12359. static inline rtx
  12360. gen_aarch64_ldnf1_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12361. {
  12362. return 0;
  12363. }
  12364. static inline rtx gen_aarch64_ldff1_zero_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  12365. static inline rtx
  12366. gen_aarch64_ldff1_zero_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12367. {
  12368. return 0;
  12369. }
  12370. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx4qi (rtx, rtx, rtx, rtx);
  12371. static inline rtx
  12372. gen_aarch64_ldnf1_zero_extendvnx2hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12373. {
  12374. return 0;
  12375. }
  12376. extern rtx gen_aarch64_ldff1_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  12377. extern rtx gen_aarch64_ldnf1_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  12378. extern rtx gen_aarch64_ldff1_zero_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  12379. extern rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx);
  12380. static inline rtx gen_aarch64_ldff1_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  12381. static inline rtx
  12382. gen_aarch64_ldff1_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12383. {
  12384. return 0;
  12385. }
  12386. static inline rtx gen_aarch64_ldnf1_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  12387. static inline rtx
  12388. gen_aarch64_ldnf1_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12389. {
  12390. return 0;
  12391. }
  12392. static inline rtx gen_aarch64_ldff1_zero_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  12393. static inline rtx
  12394. gen_aarch64_ldff1_zero_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12395. {
  12396. return 0;
  12397. }
  12398. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx4hi (rtx, rtx, rtx, rtx);
  12399. static inline rtx
  12400. gen_aarch64_ldnf1_zero_extendvnx2hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12401. {
  12402. return 0;
  12403. }
  12404. static inline rtx gen_aarch64_ldff1_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  12405. static inline rtx
  12406. gen_aarch64_ldff1_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12407. {
  12408. return 0;
  12409. }
  12410. static inline rtx gen_aarch64_ldnf1_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  12411. static inline rtx
  12412. gen_aarch64_ldnf1_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12413. {
  12414. return 0;
  12415. }
  12416. static inline rtx gen_aarch64_ldff1_zero_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  12417. static inline rtx
  12418. gen_aarch64_ldff1_zero_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12419. {
  12420. return 0;
  12421. }
  12422. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx);
  12423. static inline rtx
  12424. gen_aarch64_ldnf1_zero_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12425. {
  12426. return 0;
  12427. }
  12428. static inline rtx gen_aarch64_ldff1_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  12429. static inline rtx
  12430. gen_aarch64_ldff1_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12431. {
  12432. return 0;
  12433. }
  12434. static inline rtx gen_aarch64_ldnf1_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  12435. static inline rtx
  12436. gen_aarch64_ldnf1_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12437. {
  12438. return 0;
  12439. }
  12440. static inline rtx gen_aarch64_ldff1_zero_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  12441. static inline rtx
  12442. gen_aarch64_ldff1_zero_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12443. {
  12444. return 0;
  12445. }
  12446. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2hivnx2si (rtx, rtx, rtx, rtx);
  12447. static inline rtx
  12448. gen_aarch64_ldnf1_zero_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12449. {
  12450. return 0;
  12451. }
  12452. static inline rtx gen_aarch64_ldff1_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  12453. static inline rtx
  12454. gen_aarch64_ldff1_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12455. {
  12456. return 0;
  12457. }
  12458. static inline rtx gen_aarch64_ldnf1_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  12459. static inline rtx
  12460. gen_aarch64_ldnf1_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12461. {
  12462. return 0;
  12463. }
  12464. static inline rtx gen_aarch64_ldff1_zero_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  12465. static inline rtx
  12466. gen_aarch64_ldff1_zero_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12467. {
  12468. return 0;
  12469. }
  12470. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  12471. static inline rtx
  12472. gen_aarch64_ldnf1_zero_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12473. {
  12474. return 0;
  12475. }
  12476. extern rtx gen_aarch64_ldff1_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  12477. extern rtx gen_aarch64_ldnf1_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  12478. extern rtx gen_aarch64_ldff1_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  12479. extern rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  12480. static inline rtx gen_aarch64_ldff1_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  12481. static inline rtx
  12482. gen_aarch64_ldff1_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12483. {
  12484. return 0;
  12485. }
  12486. static inline rtx gen_aarch64_ldnf1_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  12487. static inline rtx
  12488. gen_aarch64_ldnf1_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12489. {
  12490. return 0;
  12491. }
  12492. static inline rtx gen_aarch64_ldff1_zero_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  12493. static inline rtx
  12494. gen_aarch64_ldff1_zero_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12495. {
  12496. return 0;
  12497. }
  12498. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  12499. static inline rtx
  12500. gen_aarch64_ldnf1_zero_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12501. {
  12502. return 0;
  12503. }
  12504. extern rtx gen_aarch64_ldff1_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  12505. extern rtx gen_aarch64_ldnf1_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  12506. extern rtx gen_aarch64_ldff1_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  12507. extern rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  12508. static inline rtx gen_aarch64_ldff1_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  12509. static inline rtx
  12510. gen_aarch64_ldff1_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12511. {
  12512. return 0;
  12513. }
  12514. static inline rtx gen_aarch64_ldnf1_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  12515. static inline rtx
  12516. gen_aarch64_ldnf1_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12517. {
  12518. return 0;
  12519. }
  12520. static inline rtx gen_aarch64_ldff1_zero_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  12521. static inline rtx
  12522. gen_aarch64_ldff1_zero_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12523. {
  12524. return 0;
  12525. }
  12526. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  12527. static inline rtx
  12528. gen_aarch64_ldnf1_zero_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12529. {
  12530. return 0;
  12531. }
  12532. static inline rtx gen_aarch64_ldff1_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  12533. static inline rtx
  12534. gen_aarch64_ldff1_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12535. {
  12536. return 0;
  12537. }
  12538. static inline rtx gen_aarch64_ldnf1_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  12539. static inline rtx
  12540. gen_aarch64_ldnf1_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12541. {
  12542. return 0;
  12543. }
  12544. static inline rtx gen_aarch64_ldff1_zero_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  12545. static inline rtx
  12546. gen_aarch64_ldff1_zero_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12547. {
  12548. return 0;
  12549. }
  12550. static inline rtx gen_aarch64_ldnf1_zero_extendvnx4sivnx2si (rtx, rtx, rtx, rtx);
  12551. static inline rtx
  12552. gen_aarch64_ldnf1_zero_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12553. {
  12554. return 0;
  12555. }
  12556. static inline rtx gen_aarch64_ldff1_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  12557. static inline rtx
  12558. gen_aarch64_ldff1_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12559. {
  12560. return 0;
  12561. }
  12562. static inline rtx gen_aarch64_ldnf1_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  12563. static inline rtx
  12564. gen_aarch64_ldnf1_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12565. {
  12566. return 0;
  12567. }
  12568. static inline rtx gen_aarch64_ldff1_zero_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  12569. static inline rtx
  12570. gen_aarch64_ldff1_zero_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12571. {
  12572. return 0;
  12573. }
  12574. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx8qi (rtx, rtx, rtx, rtx);
  12575. static inline rtx
  12576. gen_aarch64_ldnf1_zero_extendvnx2sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12577. {
  12578. return 0;
  12579. }
  12580. static inline rtx gen_aarch64_ldff1_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  12581. static inline rtx
  12582. gen_aarch64_ldff1_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12583. {
  12584. return 0;
  12585. }
  12586. static inline rtx gen_aarch64_ldnf1_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  12587. static inline rtx
  12588. gen_aarch64_ldnf1_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12589. {
  12590. return 0;
  12591. }
  12592. static inline rtx gen_aarch64_ldff1_zero_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  12593. static inline rtx
  12594. gen_aarch64_ldff1_zero_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12595. {
  12596. return 0;
  12597. }
  12598. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx4qi (rtx, rtx, rtx, rtx);
  12599. static inline rtx
  12600. gen_aarch64_ldnf1_zero_extendvnx2sivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12601. {
  12602. return 0;
  12603. }
  12604. extern rtx gen_aarch64_ldff1_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  12605. extern rtx gen_aarch64_ldnf1_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  12606. extern rtx gen_aarch64_ldff1_zero_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  12607. extern rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx);
  12608. static inline rtx gen_aarch64_ldff1_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  12609. static inline rtx
  12610. gen_aarch64_ldff1_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12611. {
  12612. return 0;
  12613. }
  12614. static inline rtx gen_aarch64_ldnf1_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  12615. static inline rtx
  12616. gen_aarch64_ldnf1_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12617. {
  12618. return 0;
  12619. }
  12620. static inline rtx gen_aarch64_ldff1_zero_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  12621. static inline rtx
  12622. gen_aarch64_ldff1_zero_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12623. {
  12624. return 0;
  12625. }
  12626. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx4hi (rtx, rtx, rtx, rtx);
  12627. static inline rtx
  12628. gen_aarch64_ldnf1_zero_extendvnx2sivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12629. {
  12630. return 0;
  12631. }
  12632. extern rtx gen_aarch64_ldff1_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12633. extern rtx gen_aarch64_ldnf1_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12634. extern rtx gen_aarch64_ldff1_zero_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12635. extern rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx);
  12636. static inline rtx gen_aarch64_ldff1_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12637. static inline rtx
  12638. gen_aarch64_ldff1_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12639. {
  12640. return 0;
  12641. }
  12642. static inline rtx gen_aarch64_ldnf1_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12643. static inline rtx
  12644. gen_aarch64_ldnf1_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12645. {
  12646. return 0;
  12647. }
  12648. static inline rtx gen_aarch64_ldff1_zero_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12649. static inline rtx
  12650. gen_aarch64_ldff1_zero_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12651. {
  12652. return 0;
  12653. }
  12654. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2sivnx2si (rtx, rtx, rtx, rtx);
  12655. static inline rtx
  12656. gen_aarch64_ldnf1_zero_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12657. {
  12658. return 0;
  12659. }
  12660. static inline rtx gen_aarch64_ldff1_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12661. static inline rtx
  12662. gen_aarch64_ldff1_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12663. {
  12664. return 0;
  12665. }
  12666. static inline rtx gen_aarch64_ldnf1_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12667. static inline rtx
  12668. gen_aarch64_ldnf1_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12669. {
  12670. return 0;
  12671. }
  12672. static inline rtx gen_aarch64_ldff1_zero_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12673. static inline rtx
  12674. gen_aarch64_ldff1_zero_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12675. {
  12676. return 0;
  12677. }
  12678. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2divnx8qi (rtx, rtx, rtx, rtx);
  12679. static inline rtx
  12680. gen_aarch64_ldnf1_zero_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12681. {
  12682. return 0;
  12683. }
  12684. static inline rtx gen_aarch64_ldff1_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12685. static inline rtx
  12686. gen_aarch64_ldff1_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12687. {
  12688. return 0;
  12689. }
  12690. static inline rtx gen_aarch64_ldnf1_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12691. static inline rtx
  12692. gen_aarch64_ldnf1_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12693. {
  12694. return 0;
  12695. }
  12696. static inline rtx gen_aarch64_ldff1_zero_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12697. static inline rtx
  12698. gen_aarch64_ldff1_zero_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12699. {
  12700. return 0;
  12701. }
  12702. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2divnx4qi (rtx, rtx, rtx, rtx);
  12703. static inline rtx
  12704. gen_aarch64_ldnf1_zero_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12705. {
  12706. return 0;
  12707. }
  12708. extern rtx gen_aarch64_ldff1_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12709. extern rtx gen_aarch64_ldnf1_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12710. extern rtx gen_aarch64_ldff1_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12711. extern rtx gen_aarch64_ldnf1_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx);
  12712. static inline rtx gen_aarch64_ldff1_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12713. static inline rtx
  12714. gen_aarch64_ldff1_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12715. {
  12716. return 0;
  12717. }
  12718. static inline rtx gen_aarch64_ldnf1_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12719. static inline rtx
  12720. gen_aarch64_ldnf1_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12721. {
  12722. return 0;
  12723. }
  12724. static inline rtx gen_aarch64_ldff1_zero_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12725. static inline rtx
  12726. gen_aarch64_ldff1_zero_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12727. {
  12728. return 0;
  12729. }
  12730. static inline rtx gen_aarch64_ldnf1_zero_extendvnx2divnx4hi (rtx, rtx, rtx, rtx);
  12731. static inline rtx
  12732. gen_aarch64_ldnf1_zero_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  12733. {
  12734. return 0;
  12735. }
  12736. extern rtx gen_aarch64_ldff1_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12737. extern rtx gen_aarch64_ldnf1_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12738. extern rtx gen_aarch64_ldff1_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12739. extern rtx gen_aarch64_ldnf1_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx);
  12740. extern rtx gen_aarch64_ldff1_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12741. extern rtx gen_aarch64_ldnf1_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12742. extern rtx gen_aarch64_ldff1_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12743. extern rtx gen_aarch64_ldnf1_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx);
  12744. extern rtx gen_aarch64_ldnt1vnx16qi (rtx, rtx, rtx);
  12745. extern rtx gen_aarch64_ldnt1vnx8hi (rtx, rtx, rtx);
  12746. extern rtx gen_aarch64_ldnt1vnx4si (rtx, rtx, rtx);
  12747. extern rtx gen_aarch64_ldnt1vnx2di (rtx, rtx, rtx);
  12748. extern rtx gen_aarch64_ldnt1vnx8bf (rtx, rtx, rtx);
  12749. extern rtx gen_aarch64_ldnt1vnx8hf (rtx, rtx, rtx);
  12750. extern rtx gen_aarch64_ldnt1vnx4sf (rtx, rtx, rtx);
  12751. extern rtx gen_aarch64_ldnt1vnx2df (rtx, rtx, rtx);
  12752. extern rtx gen_mask_gather_loadvnx4qivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12753. extern rtx gen_mask_gather_loadvnx4hivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12754. extern rtx gen_mask_gather_loadvnx4hfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12755. extern rtx gen_mask_gather_loadvnx4sivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12756. extern rtx gen_mask_gather_loadvnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12757. extern rtx gen_mask_gather_loadvnx2qivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12758. extern rtx gen_mask_gather_loadvnx2hivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12759. extern rtx gen_mask_gather_loadvnx2hfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12760. extern rtx gen_mask_gather_loadvnx2sivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12761. extern rtx gen_mask_gather_loadvnx2sfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12762. extern rtx gen_mask_gather_loadvnx2divnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12763. extern rtx gen_mask_gather_loadvnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12764. extern rtx gen_aarch64_gather_load_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12765. extern rtx gen_aarch64_gather_load_zero_extendvnx4hivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12766. static inline rtx gen_aarch64_gather_load_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12767. static inline rtx
  12768. gen_aarch64_gather_load_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12769. {
  12770. return 0;
  12771. }
  12772. static inline rtx gen_aarch64_gather_load_zero_extendvnx4hivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12773. static inline rtx
  12774. gen_aarch64_gather_load_zero_extendvnx4hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12775. {
  12776. return 0;
  12777. }
  12778. extern rtx gen_aarch64_gather_load_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12779. extern rtx gen_aarch64_gather_load_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12780. extern rtx gen_aarch64_gather_load_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12781. extern rtx gen_aarch64_gather_load_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12782. extern rtx gen_aarch64_gather_load_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12783. extern rtx gen_aarch64_gather_load_zero_extendvnx2hivnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12784. extern rtx gen_aarch64_gather_load_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12785. extern rtx gen_aarch64_gather_load_zero_extendvnx2sivnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12786. extern rtx gen_aarch64_gather_load_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12787. extern rtx gen_aarch64_gather_load_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12788. static inline rtx gen_aarch64_gather_load_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12789. static inline rtx
  12790. gen_aarch64_gather_load_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12791. {
  12792. return 0;
  12793. }
  12794. static inline rtx gen_aarch64_gather_load_zero_extendvnx2hivnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12795. static inline rtx
  12796. gen_aarch64_gather_load_zero_extendvnx2hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12797. {
  12798. return 0;
  12799. }
  12800. extern rtx gen_aarch64_gather_load_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12801. extern rtx gen_aarch64_gather_load_zero_extendvnx2sivnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12802. extern rtx gen_aarch64_gather_load_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12803. extern rtx gen_aarch64_gather_load_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12804. static inline rtx gen_aarch64_gather_load_extendvnx2hivnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12805. static inline rtx
  12806. gen_aarch64_gather_load_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12807. {
  12808. return 0;
  12809. }
  12810. static inline rtx gen_aarch64_gather_load_zero_extendvnx2hivnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12811. static inline rtx
  12812. gen_aarch64_gather_load_zero_extendvnx2hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12813. {
  12814. return 0;
  12815. }
  12816. static inline rtx gen_aarch64_gather_load_extendvnx2sivnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12817. static inline rtx
  12818. gen_aarch64_gather_load_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12819. {
  12820. return 0;
  12821. }
  12822. static inline rtx gen_aarch64_gather_load_zero_extendvnx2sivnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12823. static inline rtx
  12824. gen_aarch64_gather_load_zero_extendvnx2sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e), rtx ARG_UNUSED (f), rtx ARG_UNUSED (g))
  12825. {
  12826. return 0;
  12827. }
  12828. extern rtx gen_aarch64_gather_load_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12829. extern rtx gen_aarch64_gather_load_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12830. extern rtx gen_aarch64_ldff1_gathervnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12831. extern rtx gen_aarch64_ldff1_gathervnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  12832. extern rtx gen_aarch64_ldff1_gathervnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12833. extern rtx gen_aarch64_ldff1_gathervnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  12834. extern rtx gen_aarch64_ldff1_gather_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12835. extern rtx gen_aarch64_ldff1_gather_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12836. extern rtx gen_aarch64_ldff1_gather_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12837. extern rtx gen_aarch64_ldff1_gather_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12838. extern rtx gen_aarch64_ldff1_gather_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12839. extern rtx gen_aarch64_ldff1_gather_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12840. extern rtx gen_aarch64_ldff1_gather_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12841. extern rtx gen_aarch64_ldff1_gather_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12842. extern rtx gen_aarch64_ldff1_gather_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12843. extern rtx gen_aarch64_ldff1_gather_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12844. extern rtx gen_aarch64_sve_prefetchvnx16qi (rtx, rtx, rtx, rtx, rtx);
  12845. extern rtx gen_aarch64_sve_prefetchvnx8hi (rtx, rtx, rtx, rtx, rtx);
  12846. extern rtx gen_aarch64_sve_prefetchvnx4si (rtx, rtx, rtx, rtx, rtx);
  12847. extern rtx gen_aarch64_sve_prefetchvnx2di (rtx, rtx, rtx, rtx, rtx);
  12848. extern rtx gen_aarch64_sve_gather_prefetchvnx16qivnx4si (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12849. extern rtx gen_aarch64_sve_gather_prefetchvnx8hivnx4si (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12850. extern rtx gen_aarch64_sve_gather_prefetchvnx4sivnx4si (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12851. extern rtx gen_aarch64_sve_gather_prefetchvnx2divnx4si (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12852. extern rtx gen_aarch64_sve_gather_prefetchvnx16qivnx2di (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12853. extern rtx gen_aarch64_sve_gather_prefetchvnx8hivnx2di (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12854. extern rtx gen_aarch64_sve_gather_prefetchvnx4sivnx2di (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12855. extern rtx gen_aarch64_sve_gather_prefetchvnx2divnx2di (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  12856. extern rtx gen_maskstorevnx16qivnx16bi (rtx, rtx, rtx);
  12857. extern rtx gen_maskstorevnx8qivnx8bi (rtx, rtx, rtx);
  12858. extern rtx gen_maskstorevnx4qivnx4bi (rtx, rtx, rtx);
  12859. extern rtx gen_maskstorevnx2qivnx2bi (rtx, rtx, rtx);
  12860. extern rtx gen_maskstorevnx8hivnx8bi (rtx, rtx, rtx);
  12861. extern rtx gen_maskstorevnx4hivnx4bi (rtx, rtx, rtx);
  12862. extern rtx gen_maskstorevnx2hivnx2bi (rtx, rtx, rtx);
  12863. extern rtx gen_maskstorevnx8hfvnx8bi (rtx, rtx, rtx);
  12864. extern rtx gen_maskstorevnx4hfvnx4bi (rtx, rtx, rtx);
  12865. extern rtx gen_maskstorevnx2hfvnx2bi (rtx, rtx, rtx);
  12866. extern rtx gen_maskstorevnx8bfvnx8bi (rtx, rtx, rtx);
  12867. extern rtx gen_maskstorevnx4sivnx4bi (rtx, rtx, rtx);
  12868. extern rtx gen_maskstorevnx2sivnx2bi (rtx, rtx, rtx);
  12869. extern rtx gen_maskstorevnx4sfvnx4bi (rtx, rtx, rtx);
  12870. extern rtx gen_maskstorevnx2sfvnx2bi (rtx, rtx, rtx);
  12871. extern rtx gen_maskstorevnx2divnx2bi (rtx, rtx, rtx);
  12872. extern rtx gen_maskstorevnx2dfvnx2bi (rtx, rtx, rtx);
  12873. extern rtx gen_vec_mask_store_lanesvnx32qivnx16qi (rtx, rtx, rtx);
  12874. extern rtx gen_vec_mask_store_lanesvnx16hivnx8hi (rtx, rtx, rtx);
  12875. extern rtx gen_vec_mask_store_lanesvnx8sivnx4si (rtx, rtx, rtx);
  12876. extern rtx gen_vec_mask_store_lanesvnx4divnx2di (rtx, rtx, rtx);
  12877. extern rtx gen_vec_mask_store_lanesvnx16bfvnx8bf (rtx, rtx, rtx);
  12878. extern rtx gen_vec_mask_store_lanesvnx16hfvnx8hf (rtx, rtx, rtx);
  12879. extern rtx gen_vec_mask_store_lanesvnx8sfvnx4sf (rtx, rtx, rtx);
  12880. extern rtx gen_vec_mask_store_lanesvnx4dfvnx2df (rtx, rtx, rtx);
  12881. extern rtx gen_vec_mask_store_lanesvnx48qivnx16qi (rtx, rtx, rtx);
  12882. extern rtx gen_vec_mask_store_lanesvnx24hivnx8hi (rtx, rtx, rtx);
  12883. extern rtx gen_vec_mask_store_lanesvnx12sivnx4si (rtx, rtx, rtx);
  12884. extern rtx gen_vec_mask_store_lanesvnx6divnx2di (rtx, rtx, rtx);
  12885. extern rtx gen_vec_mask_store_lanesvnx24bfvnx8bf (rtx, rtx, rtx);
  12886. extern rtx gen_vec_mask_store_lanesvnx24hfvnx8hf (rtx, rtx, rtx);
  12887. extern rtx gen_vec_mask_store_lanesvnx12sfvnx4sf (rtx, rtx, rtx);
  12888. extern rtx gen_vec_mask_store_lanesvnx6dfvnx2df (rtx, rtx, rtx);
  12889. extern rtx gen_vec_mask_store_lanesvnx64qivnx16qi (rtx, rtx, rtx);
  12890. extern rtx gen_vec_mask_store_lanesvnx32hivnx8hi (rtx, rtx, rtx);
  12891. extern rtx gen_vec_mask_store_lanesvnx16sivnx4si (rtx, rtx, rtx);
  12892. extern rtx gen_vec_mask_store_lanesvnx8divnx2di (rtx, rtx, rtx);
  12893. extern rtx gen_vec_mask_store_lanesvnx32bfvnx8bf (rtx, rtx, rtx);
  12894. extern rtx gen_vec_mask_store_lanesvnx32hfvnx8hf (rtx, rtx, rtx);
  12895. extern rtx gen_vec_mask_store_lanesvnx16sfvnx4sf (rtx, rtx, rtx);
  12896. extern rtx gen_vec_mask_store_lanesvnx8dfvnx2df (rtx, rtx, rtx);
  12897. extern rtx gen_aarch64_store_truncvnx8qivnx8hi (rtx, rtx, rtx);
  12898. extern rtx gen_aarch64_store_truncvnx4qivnx4si (rtx, rtx, rtx);
  12899. extern rtx gen_aarch64_store_truncvnx4hivnx4si (rtx, rtx, rtx);
  12900. extern rtx gen_aarch64_store_truncvnx2qivnx2di (rtx, rtx, rtx);
  12901. extern rtx gen_aarch64_store_truncvnx2hivnx2di (rtx, rtx, rtx);
  12902. extern rtx gen_aarch64_store_truncvnx2sivnx2di (rtx, rtx, rtx);
  12903. extern rtx gen_aarch64_stnt1vnx16qi (rtx, rtx, rtx);
  12904. extern rtx gen_aarch64_stnt1vnx8hi (rtx, rtx, rtx);
  12905. extern rtx gen_aarch64_stnt1vnx4si (rtx, rtx, rtx);
  12906. extern rtx gen_aarch64_stnt1vnx2di (rtx, rtx, rtx);
  12907. extern rtx gen_aarch64_stnt1vnx8bf (rtx, rtx, rtx);
  12908. extern rtx gen_aarch64_stnt1vnx8hf (rtx, rtx, rtx);
  12909. extern rtx gen_aarch64_stnt1vnx4sf (rtx, rtx, rtx);
  12910. extern rtx gen_aarch64_stnt1vnx2df (rtx, rtx, rtx);
  12911. extern rtx gen_mask_scatter_storevnx4qivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12912. extern rtx gen_mask_scatter_storevnx4hivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12913. extern rtx gen_mask_scatter_storevnx4hfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12914. extern rtx gen_mask_scatter_storevnx4sivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12915. extern rtx gen_mask_scatter_storevnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12916. extern rtx gen_mask_scatter_storevnx2qivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12917. extern rtx gen_mask_scatter_storevnx2hivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12918. extern rtx gen_mask_scatter_storevnx2hfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12919. extern rtx gen_mask_scatter_storevnx2sivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12920. extern rtx gen_mask_scatter_storevnx2sfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12921. extern rtx gen_mask_scatter_storevnx2divnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12922. extern rtx gen_mask_scatter_storevnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12923. extern rtx gen_aarch64_scatter_store_truncvnx4qivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12924. extern rtx gen_aarch64_scatter_store_truncvnx4hivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  12925. extern rtx gen_aarch64_scatter_store_truncvnx2qivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12926. extern rtx gen_aarch64_scatter_store_truncvnx2hivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12927. extern rtx gen_aarch64_scatter_store_truncvnx2sivnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  12928. extern rtx gen_aarch64_vec_duplicate_vqvnx16qi_le (rtx, rtx);
  12929. extern rtx gen_aarch64_vec_duplicate_vqvnx8hi_le (rtx, rtx);
  12930. extern rtx gen_aarch64_vec_duplicate_vqvnx4si_le (rtx, rtx);
  12931. extern rtx gen_aarch64_vec_duplicate_vqvnx2di_le (rtx, rtx);
  12932. extern rtx gen_aarch64_vec_duplicate_vqvnx8bf_le (rtx, rtx);
  12933. extern rtx gen_aarch64_vec_duplicate_vqvnx8hf_le (rtx, rtx);
  12934. extern rtx gen_aarch64_vec_duplicate_vqvnx4sf_le (rtx, rtx);
  12935. extern rtx gen_aarch64_vec_duplicate_vqvnx2df_le (rtx, rtx);
  12936. extern rtx gen_aarch64_vec_duplicate_vqvnx16qi_be (rtx, rtx, rtx);
  12937. extern rtx gen_aarch64_vec_duplicate_vqvnx8hi_be (rtx, rtx, rtx);
  12938. extern rtx gen_aarch64_vec_duplicate_vqvnx4si_be (rtx, rtx, rtx);
  12939. extern rtx gen_aarch64_vec_duplicate_vqvnx2di_be (rtx, rtx, rtx);
  12940. extern rtx gen_aarch64_vec_duplicate_vqvnx8bf_be (rtx, rtx, rtx);
  12941. extern rtx gen_aarch64_vec_duplicate_vqvnx8hf_be (rtx, rtx, rtx);
  12942. extern rtx gen_aarch64_vec_duplicate_vqvnx4sf_be (rtx, rtx, rtx);
  12943. extern rtx gen_aarch64_vec_duplicate_vqvnx2df_be (rtx, rtx, rtx);
  12944. extern rtx gen_sve_ld1rvnx16qi (rtx, rtx, rtx, rtx);
  12945. extern rtx gen_sve_ld1rvnx8qi (rtx, rtx, rtx, rtx);
  12946. extern rtx gen_sve_ld1rvnx4qi (rtx, rtx, rtx, rtx);
  12947. extern rtx gen_sve_ld1rvnx2qi (rtx, rtx, rtx, rtx);
  12948. extern rtx gen_sve_ld1rvnx8hi (rtx, rtx, rtx, rtx);
  12949. extern rtx gen_sve_ld1rvnx4hi (rtx, rtx, rtx, rtx);
  12950. extern rtx gen_sve_ld1rvnx2hi (rtx, rtx, rtx, rtx);
  12951. extern rtx gen_sve_ld1rvnx8hf (rtx, rtx, rtx, rtx);
  12952. extern rtx gen_sve_ld1rvnx4hf (rtx, rtx, rtx, rtx);
  12953. extern rtx gen_sve_ld1rvnx2hf (rtx, rtx, rtx, rtx);
  12954. extern rtx gen_sve_ld1rvnx8bf (rtx, rtx, rtx, rtx);
  12955. extern rtx gen_sve_ld1rvnx4si (rtx, rtx, rtx, rtx);
  12956. extern rtx gen_sve_ld1rvnx2si (rtx, rtx, rtx, rtx);
  12957. extern rtx gen_sve_ld1rvnx4sf (rtx, rtx, rtx, rtx);
  12958. extern rtx gen_sve_ld1rvnx2sf (rtx, rtx, rtx, rtx);
  12959. extern rtx gen_sve_ld1rvnx2di (rtx, rtx, rtx, rtx);
  12960. extern rtx gen_sve_ld1rvnx2df (rtx, rtx, rtx, rtx);
  12961. extern rtx gen_aarch64_sve_ld1rqvnx16qi (rtx, rtx, rtx);
  12962. extern rtx gen_aarch64_sve_ld1rqvnx8hi (rtx, rtx, rtx);
  12963. extern rtx gen_aarch64_sve_ld1rqvnx4si (rtx, rtx, rtx);
  12964. extern rtx gen_aarch64_sve_ld1rqvnx2di (rtx, rtx, rtx);
  12965. extern rtx gen_aarch64_sve_ld1rqvnx8bf (rtx, rtx, rtx);
  12966. extern rtx gen_aarch64_sve_ld1rqvnx8hf (rtx, rtx, rtx);
  12967. extern rtx gen_aarch64_sve_ld1rqvnx4sf (rtx, rtx, rtx);
  12968. extern rtx gen_aarch64_sve_ld1rqvnx2df (rtx, rtx, rtx);
  12969. extern rtx gen_aarch64_sve_ld1rovnx16qi (rtx, rtx, rtx);
  12970. extern rtx gen_aarch64_sve_ld1rovnx8hi (rtx, rtx, rtx);
  12971. extern rtx gen_aarch64_sve_ld1rovnx4si (rtx, rtx, rtx);
  12972. extern rtx gen_aarch64_sve_ld1rovnx2di (rtx, rtx, rtx);
  12973. extern rtx gen_aarch64_sve_ld1rovnx8bf (rtx, rtx, rtx);
  12974. extern rtx gen_aarch64_sve_ld1rovnx8hf (rtx, rtx, rtx);
  12975. extern rtx gen_aarch64_sve_ld1rovnx4sf (rtx, rtx, rtx);
  12976. extern rtx gen_aarch64_sve_ld1rovnx2df (rtx, rtx, rtx);
  12977. extern rtx gen_vec_shl_insert_vnx16qi (rtx, rtx, rtx);
  12978. extern rtx gen_vec_shl_insert_vnx8hi (rtx, rtx, rtx);
  12979. extern rtx gen_vec_shl_insert_vnx4si (rtx, rtx, rtx);
  12980. extern rtx gen_vec_shl_insert_vnx2di (rtx, rtx, rtx);
  12981. extern rtx gen_vec_shl_insert_vnx8bf (rtx, rtx, rtx);
  12982. extern rtx gen_vec_shl_insert_vnx8hf (rtx, rtx, rtx);
  12983. extern rtx gen_vec_shl_insert_vnx4sf (rtx, rtx, rtx);
  12984. extern rtx gen_vec_shl_insert_vnx2df (rtx, rtx, rtx);
  12985. extern rtx gen_vec_seriesvnx16qi (rtx, rtx, rtx);
  12986. extern rtx gen_vec_seriesvnx8qi (rtx, rtx, rtx);
  12987. extern rtx gen_vec_seriesvnx4qi (rtx, rtx, rtx);
  12988. extern rtx gen_vec_seriesvnx2qi (rtx, rtx, rtx);
  12989. extern rtx gen_vec_seriesvnx8hi (rtx, rtx, rtx);
  12990. extern rtx gen_vec_seriesvnx4hi (rtx, rtx, rtx);
  12991. extern rtx gen_vec_seriesvnx2hi (rtx, rtx, rtx);
  12992. extern rtx gen_vec_seriesvnx4si (rtx, rtx, rtx);
  12993. extern rtx gen_vec_seriesvnx2si (rtx, rtx, rtx);
  12994. extern rtx gen_vec_seriesvnx2di (rtx, rtx, rtx);
  12995. extern rtx gen_extract_after_last_vnx16qi (rtx, rtx, rtx);
  12996. extern rtx gen_extract_last_vnx16qi (rtx, rtx, rtx);
  12997. extern rtx gen_extract_after_last_vnx8hi (rtx, rtx, rtx);
  12998. extern rtx gen_extract_last_vnx8hi (rtx, rtx, rtx);
  12999. extern rtx gen_extract_after_last_vnx4si (rtx, rtx, rtx);
  13000. extern rtx gen_extract_last_vnx4si (rtx, rtx, rtx);
  13001. extern rtx gen_extract_after_last_vnx2di (rtx, rtx, rtx);
  13002. extern rtx gen_extract_last_vnx2di (rtx, rtx, rtx);
  13003. extern rtx gen_extract_after_last_vnx8bf (rtx, rtx, rtx);
  13004. extern rtx gen_extract_last_vnx8bf (rtx, rtx, rtx);
  13005. extern rtx gen_extract_after_last_vnx8hf (rtx, rtx, rtx);
  13006. extern rtx gen_extract_last_vnx8hf (rtx, rtx, rtx);
  13007. extern rtx gen_extract_after_last_vnx4sf (rtx, rtx, rtx);
  13008. extern rtx gen_extract_last_vnx4sf (rtx, rtx, rtx);
  13009. extern rtx gen_extract_after_last_vnx2df (rtx, rtx, rtx);
  13010. extern rtx gen_extract_last_vnx2df (rtx, rtx, rtx);
  13011. extern rtx gen_aarch64_pred_absvnx16qi (rtx, rtx, rtx);
  13012. extern rtx gen_aarch64_pred_negvnx16qi (rtx, rtx, rtx);
  13013. extern rtx gen_aarch64_pred_one_cmplvnx16qi (rtx, rtx, rtx);
  13014. extern rtx gen_aarch64_pred_clrsbvnx16qi (rtx, rtx, rtx);
  13015. extern rtx gen_aarch64_pred_clzvnx16qi (rtx, rtx, rtx);
  13016. extern rtx gen_aarch64_pred_popcountvnx16qi (rtx, rtx, rtx);
  13017. extern rtx gen_aarch64_pred_qabsvnx16qi (rtx, rtx, rtx);
  13018. extern rtx gen_aarch64_pred_qnegvnx16qi (rtx, rtx, rtx);
  13019. extern rtx gen_aarch64_pred_absvnx8hi (rtx, rtx, rtx);
  13020. extern rtx gen_aarch64_pred_negvnx8hi (rtx, rtx, rtx);
  13021. extern rtx gen_aarch64_pred_one_cmplvnx8hi (rtx, rtx, rtx);
  13022. extern rtx gen_aarch64_pred_clrsbvnx8hi (rtx, rtx, rtx);
  13023. extern rtx gen_aarch64_pred_clzvnx8hi (rtx, rtx, rtx);
  13024. extern rtx gen_aarch64_pred_popcountvnx8hi (rtx, rtx, rtx);
  13025. extern rtx gen_aarch64_pred_qabsvnx8hi (rtx, rtx, rtx);
  13026. extern rtx gen_aarch64_pred_qnegvnx8hi (rtx, rtx, rtx);
  13027. extern rtx gen_aarch64_pred_absvnx4si (rtx, rtx, rtx);
  13028. extern rtx gen_aarch64_pred_negvnx4si (rtx, rtx, rtx);
  13029. extern rtx gen_aarch64_pred_one_cmplvnx4si (rtx, rtx, rtx);
  13030. extern rtx gen_aarch64_pred_clrsbvnx4si (rtx, rtx, rtx);
  13031. extern rtx gen_aarch64_pred_clzvnx4si (rtx, rtx, rtx);
  13032. extern rtx gen_aarch64_pred_popcountvnx4si (rtx, rtx, rtx);
  13033. extern rtx gen_aarch64_pred_qabsvnx4si (rtx, rtx, rtx);
  13034. extern rtx gen_aarch64_pred_qnegvnx4si (rtx, rtx, rtx);
  13035. extern rtx gen_aarch64_pred_absvnx2di (rtx, rtx, rtx);
  13036. extern rtx gen_aarch64_pred_negvnx2di (rtx, rtx, rtx);
  13037. extern rtx gen_aarch64_pred_one_cmplvnx2di (rtx, rtx, rtx);
  13038. extern rtx gen_aarch64_pred_clrsbvnx2di (rtx, rtx, rtx);
  13039. extern rtx gen_aarch64_pred_clzvnx2di (rtx, rtx, rtx);
  13040. extern rtx gen_aarch64_pred_popcountvnx2di (rtx, rtx, rtx);
  13041. extern rtx gen_aarch64_pred_qabsvnx2di (rtx, rtx, rtx);
  13042. extern rtx gen_aarch64_pred_qnegvnx2di (rtx, rtx, rtx);
  13043. extern rtx gen_aarch64_pred_rbitvnx16qi (rtx, rtx, rtx);
  13044. static inline rtx gen_aarch64_pred_revbvnx16qi (rtx, rtx, rtx);
  13045. static inline rtx
  13046. gen_aarch64_pred_revbvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13047. {
  13048. return 0;
  13049. }
  13050. static inline rtx gen_aarch64_pred_revhvnx16qi (rtx, rtx, rtx);
  13051. static inline rtx
  13052. gen_aarch64_pred_revhvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13053. {
  13054. return 0;
  13055. }
  13056. static inline rtx gen_aarch64_pred_revwvnx16qi (rtx, rtx, rtx);
  13057. static inline rtx
  13058. gen_aarch64_pred_revwvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13059. {
  13060. return 0;
  13061. }
  13062. extern rtx gen_aarch64_pred_rbitvnx8hi (rtx, rtx, rtx);
  13063. extern rtx gen_aarch64_pred_revbvnx8hi (rtx, rtx, rtx);
  13064. static inline rtx gen_aarch64_pred_revhvnx8hi (rtx, rtx, rtx);
  13065. static inline rtx
  13066. gen_aarch64_pred_revhvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13067. {
  13068. return 0;
  13069. }
  13070. static inline rtx gen_aarch64_pred_revwvnx8hi (rtx, rtx, rtx);
  13071. static inline rtx
  13072. gen_aarch64_pred_revwvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13073. {
  13074. return 0;
  13075. }
  13076. extern rtx gen_aarch64_pred_rbitvnx4si (rtx, rtx, rtx);
  13077. extern rtx gen_aarch64_pred_revbvnx4si (rtx, rtx, rtx);
  13078. extern rtx gen_aarch64_pred_revhvnx4si (rtx, rtx, rtx);
  13079. static inline rtx gen_aarch64_pred_revwvnx4si (rtx, rtx, rtx);
  13080. static inline rtx
  13081. gen_aarch64_pred_revwvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13082. {
  13083. return 0;
  13084. }
  13085. extern rtx gen_aarch64_pred_rbitvnx2di (rtx, rtx, rtx);
  13086. extern rtx gen_aarch64_pred_revbvnx2di (rtx, rtx, rtx);
  13087. extern rtx gen_aarch64_pred_revhvnx2di (rtx, rtx, rtx);
  13088. extern rtx gen_aarch64_pred_revwvnx2di (rtx, rtx, rtx);
  13089. extern rtx gen_cond_rbitvnx16qi (rtx, rtx, rtx, rtx);
  13090. static inline rtx gen_cond_revbvnx16qi (rtx, rtx, rtx, rtx);
  13091. static inline rtx
  13092. gen_cond_revbvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13093. {
  13094. return 0;
  13095. }
  13096. static inline rtx gen_cond_revhvnx16qi (rtx, rtx, rtx, rtx);
  13097. static inline rtx
  13098. gen_cond_revhvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13099. {
  13100. return 0;
  13101. }
  13102. static inline rtx gen_cond_revwvnx16qi (rtx, rtx, rtx, rtx);
  13103. static inline rtx
  13104. gen_cond_revwvnx16qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13105. {
  13106. return 0;
  13107. }
  13108. extern rtx gen_cond_rbitvnx8hi (rtx, rtx, rtx, rtx);
  13109. extern rtx gen_cond_revbvnx8hi (rtx, rtx, rtx, rtx);
  13110. static inline rtx gen_cond_revhvnx8hi (rtx, rtx, rtx, rtx);
  13111. static inline rtx
  13112. gen_cond_revhvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13113. {
  13114. return 0;
  13115. }
  13116. static inline rtx gen_cond_revwvnx8hi (rtx, rtx, rtx, rtx);
  13117. static inline rtx
  13118. gen_cond_revwvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13119. {
  13120. return 0;
  13121. }
  13122. extern rtx gen_cond_rbitvnx4si (rtx, rtx, rtx, rtx);
  13123. extern rtx gen_cond_revbvnx4si (rtx, rtx, rtx, rtx);
  13124. extern rtx gen_cond_revhvnx4si (rtx, rtx, rtx, rtx);
  13125. static inline rtx gen_cond_revwvnx4si (rtx, rtx, rtx, rtx);
  13126. static inline rtx
  13127. gen_cond_revwvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13128. {
  13129. return 0;
  13130. }
  13131. extern rtx gen_cond_rbitvnx2di (rtx, rtx, rtx, rtx);
  13132. extern rtx gen_cond_revbvnx2di (rtx, rtx, rtx, rtx);
  13133. extern rtx gen_cond_revhvnx2di (rtx, rtx, rtx, rtx);
  13134. extern rtx gen_cond_revwvnx2di (rtx, rtx, rtx, rtx);
  13135. extern rtx gen_aarch64_pred_sxtvnx8hivnx8qi (rtx, rtx, rtx);
  13136. static inline rtx gen_aarch64_pred_sxtvnx8hivnx4qi (rtx, rtx, rtx);
  13137. static inline rtx
  13138. gen_aarch64_pred_sxtvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13139. {
  13140. return 0;
  13141. }
  13142. static inline rtx gen_aarch64_pred_sxtvnx8hivnx2qi (rtx, rtx, rtx);
  13143. static inline rtx
  13144. gen_aarch64_pred_sxtvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13145. {
  13146. return 0;
  13147. }
  13148. static inline rtx gen_aarch64_pred_sxtvnx8hivnx4hi (rtx, rtx, rtx);
  13149. static inline rtx
  13150. gen_aarch64_pred_sxtvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13151. {
  13152. return 0;
  13153. }
  13154. static inline rtx gen_aarch64_pred_sxtvnx8hivnx2hi (rtx, rtx, rtx);
  13155. static inline rtx
  13156. gen_aarch64_pred_sxtvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13157. {
  13158. return 0;
  13159. }
  13160. static inline rtx gen_aarch64_pred_sxtvnx8hivnx2si (rtx, rtx, rtx);
  13161. static inline rtx
  13162. gen_aarch64_pred_sxtvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13163. {
  13164. return 0;
  13165. }
  13166. static inline rtx gen_aarch64_pred_sxtvnx4sivnx8qi (rtx, rtx, rtx);
  13167. static inline rtx
  13168. gen_aarch64_pred_sxtvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13169. {
  13170. return 0;
  13171. }
  13172. extern rtx gen_aarch64_pred_sxtvnx4sivnx4qi (rtx, rtx, rtx);
  13173. static inline rtx gen_aarch64_pred_sxtvnx4sivnx2qi (rtx, rtx, rtx);
  13174. static inline rtx
  13175. gen_aarch64_pred_sxtvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13176. {
  13177. return 0;
  13178. }
  13179. extern rtx gen_aarch64_pred_sxtvnx4sivnx4hi (rtx, rtx, rtx);
  13180. static inline rtx gen_aarch64_pred_sxtvnx4sivnx2hi (rtx, rtx, rtx);
  13181. static inline rtx
  13182. gen_aarch64_pred_sxtvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13183. {
  13184. return 0;
  13185. }
  13186. static inline rtx gen_aarch64_pred_sxtvnx4sivnx2si (rtx, rtx, rtx);
  13187. static inline rtx
  13188. gen_aarch64_pred_sxtvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13189. {
  13190. return 0;
  13191. }
  13192. static inline rtx gen_aarch64_pred_sxtvnx2divnx8qi (rtx, rtx, rtx);
  13193. static inline rtx
  13194. gen_aarch64_pred_sxtvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13195. {
  13196. return 0;
  13197. }
  13198. static inline rtx gen_aarch64_pred_sxtvnx2divnx4qi (rtx, rtx, rtx);
  13199. static inline rtx
  13200. gen_aarch64_pred_sxtvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13201. {
  13202. return 0;
  13203. }
  13204. extern rtx gen_aarch64_pred_sxtvnx2divnx2qi (rtx, rtx, rtx);
  13205. static inline rtx gen_aarch64_pred_sxtvnx2divnx4hi (rtx, rtx, rtx);
  13206. static inline rtx
  13207. gen_aarch64_pred_sxtvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  13208. {
  13209. return 0;
  13210. }
  13211. extern rtx gen_aarch64_pred_sxtvnx2divnx2hi (rtx, rtx, rtx);
  13212. extern rtx gen_aarch64_pred_sxtvnx2divnx2si (rtx, rtx, rtx);
  13213. extern rtx gen_aarch64_cond_sxtvnx8hivnx8qi (rtx, rtx, rtx, rtx);
  13214. static inline rtx gen_aarch64_cond_sxtvnx8hivnx4qi (rtx, rtx, rtx, rtx);
  13215. static inline rtx
  13216. gen_aarch64_cond_sxtvnx8hivnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13217. {
  13218. return 0;
  13219. }
  13220. static inline rtx gen_aarch64_cond_sxtvnx8hivnx2qi (rtx, rtx, rtx, rtx);
  13221. static inline rtx
  13222. gen_aarch64_cond_sxtvnx8hivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13223. {
  13224. return 0;
  13225. }
  13226. static inline rtx gen_aarch64_cond_sxtvnx8hivnx4hi (rtx, rtx, rtx, rtx);
  13227. static inline rtx
  13228. gen_aarch64_cond_sxtvnx8hivnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13229. {
  13230. return 0;
  13231. }
  13232. static inline rtx gen_aarch64_cond_sxtvnx8hivnx2hi (rtx, rtx, rtx, rtx);
  13233. static inline rtx
  13234. gen_aarch64_cond_sxtvnx8hivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13235. {
  13236. return 0;
  13237. }
  13238. static inline rtx gen_aarch64_cond_sxtvnx8hivnx2si (rtx, rtx, rtx, rtx);
  13239. static inline rtx
  13240. gen_aarch64_cond_sxtvnx8hivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13241. {
  13242. return 0;
  13243. }
  13244. static inline rtx gen_aarch64_cond_sxtvnx4sivnx8qi (rtx, rtx, rtx, rtx);
  13245. static inline rtx
  13246. gen_aarch64_cond_sxtvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13247. {
  13248. return 0;
  13249. }
  13250. extern rtx gen_aarch64_cond_sxtvnx4sivnx4qi (rtx, rtx, rtx, rtx);
  13251. static inline rtx gen_aarch64_cond_sxtvnx4sivnx2qi (rtx, rtx, rtx, rtx);
  13252. static inline rtx
  13253. gen_aarch64_cond_sxtvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13254. {
  13255. return 0;
  13256. }
  13257. extern rtx gen_aarch64_cond_sxtvnx4sivnx4hi (rtx, rtx, rtx, rtx);
  13258. static inline rtx gen_aarch64_cond_sxtvnx4sivnx2hi (rtx, rtx, rtx, rtx);
  13259. static inline rtx
  13260. gen_aarch64_cond_sxtvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13261. {
  13262. return 0;
  13263. }
  13264. static inline rtx gen_aarch64_cond_sxtvnx4sivnx2si (rtx, rtx, rtx, rtx);
  13265. static inline rtx
  13266. gen_aarch64_cond_sxtvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13267. {
  13268. return 0;
  13269. }
  13270. static inline rtx gen_aarch64_cond_sxtvnx2divnx8qi (rtx, rtx, rtx, rtx);
  13271. static inline rtx
  13272. gen_aarch64_cond_sxtvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13273. {
  13274. return 0;
  13275. }
  13276. static inline rtx gen_aarch64_cond_sxtvnx2divnx4qi (rtx, rtx, rtx, rtx);
  13277. static inline rtx
  13278. gen_aarch64_cond_sxtvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13279. {
  13280. return 0;
  13281. }
  13282. extern rtx gen_aarch64_cond_sxtvnx2divnx2qi (rtx, rtx, rtx, rtx);
  13283. static inline rtx gen_aarch64_cond_sxtvnx2divnx4hi (rtx, rtx, rtx, rtx);
  13284. static inline rtx
  13285. gen_aarch64_cond_sxtvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  13286. {
  13287. return 0;
  13288. }
  13289. extern rtx gen_aarch64_cond_sxtvnx2divnx2hi (rtx, rtx, rtx, rtx);
  13290. extern rtx gen_aarch64_cond_sxtvnx2divnx2si (rtx, rtx, rtx, rtx);
  13291. extern rtx gen_truncvnx8hivnx8qi2 (rtx, rtx);
  13292. static inline rtx gen_truncvnx8hivnx4qi2 (rtx, rtx);
  13293. static inline rtx
  13294. gen_truncvnx8hivnx4qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13295. {
  13296. return 0;
  13297. }
  13298. static inline rtx gen_truncvnx8hivnx2qi2 (rtx, rtx);
  13299. static inline rtx
  13300. gen_truncvnx8hivnx2qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13301. {
  13302. return 0;
  13303. }
  13304. static inline rtx gen_truncvnx8hivnx4hi2 (rtx, rtx);
  13305. static inline rtx
  13306. gen_truncvnx8hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13307. {
  13308. return 0;
  13309. }
  13310. static inline rtx gen_truncvnx8hivnx2hi2 (rtx, rtx);
  13311. static inline rtx
  13312. gen_truncvnx8hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13313. {
  13314. return 0;
  13315. }
  13316. static inline rtx gen_truncvnx8hivnx2si2 (rtx, rtx);
  13317. static inline rtx
  13318. gen_truncvnx8hivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13319. {
  13320. return 0;
  13321. }
  13322. static inline rtx gen_truncvnx4hivnx8qi2 (rtx, rtx);
  13323. static inline rtx
  13324. gen_truncvnx4hivnx8qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13325. {
  13326. return 0;
  13327. }
  13328. extern rtx gen_truncvnx4hivnx4qi2 (rtx, rtx);
  13329. static inline rtx gen_truncvnx4hivnx2qi2 (rtx, rtx);
  13330. static inline rtx
  13331. gen_truncvnx4hivnx2qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13332. {
  13333. return 0;
  13334. }
  13335. static inline rtx gen_truncvnx4hivnx4hi2 (rtx, rtx);
  13336. static inline rtx
  13337. gen_truncvnx4hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13338. {
  13339. return 0;
  13340. }
  13341. static inline rtx gen_truncvnx4hivnx2hi2 (rtx, rtx);
  13342. static inline rtx
  13343. gen_truncvnx4hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13344. {
  13345. return 0;
  13346. }
  13347. static inline rtx gen_truncvnx4hivnx2si2 (rtx, rtx);
  13348. static inline rtx
  13349. gen_truncvnx4hivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13350. {
  13351. return 0;
  13352. }
  13353. static inline rtx gen_truncvnx2hivnx8qi2 (rtx, rtx);
  13354. static inline rtx
  13355. gen_truncvnx2hivnx8qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13356. {
  13357. return 0;
  13358. }
  13359. static inline rtx gen_truncvnx2hivnx4qi2 (rtx, rtx);
  13360. static inline rtx
  13361. gen_truncvnx2hivnx4qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13362. {
  13363. return 0;
  13364. }
  13365. extern rtx gen_truncvnx2hivnx2qi2 (rtx, rtx);
  13366. static inline rtx gen_truncvnx2hivnx4hi2 (rtx, rtx);
  13367. static inline rtx
  13368. gen_truncvnx2hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13369. {
  13370. return 0;
  13371. }
  13372. static inline rtx gen_truncvnx2hivnx2hi2 (rtx, rtx);
  13373. static inline rtx
  13374. gen_truncvnx2hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13375. {
  13376. return 0;
  13377. }
  13378. static inline rtx gen_truncvnx2hivnx2si2 (rtx, rtx);
  13379. static inline rtx
  13380. gen_truncvnx2hivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13381. {
  13382. return 0;
  13383. }
  13384. static inline rtx gen_truncvnx4sivnx8qi2 (rtx, rtx);
  13385. static inline rtx
  13386. gen_truncvnx4sivnx8qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13387. {
  13388. return 0;
  13389. }
  13390. extern rtx gen_truncvnx4sivnx4qi2 (rtx, rtx);
  13391. static inline rtx gen_truncvnx4sivnx2qi2 (rtx, rtx);
  13392. static inline rtx
  13393. gen_truncvnx4sivnx2qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13394. {
  13395. return 0;
  13396. }
  13397. extern rtx gen_truncvnx4sivnx4hi2 (rtx, rtx);
  13398. static inline rtx gen_truncvnx4sivnx2hi2 (rtx, rtx);
  13399. static inline rtx
  13400. gen_truncvnx4sivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13401. {
  13402. return 0;
  13403. }
  13404. static inline rtx gen_truncvnx4sivnx2si2 (rtx, rtx);
  13405. static inline rtx
  13406. gen_truncvnx4sivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13407. {
  13408. return 0;
  13409. }
  13410. static inline rtx gen_truncvnx2sivnx8qi2 (rtx, rtx);
  13411. static inline rtx
  13412. gen_truncvnx2sivnx8qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13413. {
  13414. return 0;
  13415. }
  13416. static inline rtx gen_truncvnx2sivnx4qi2 (rtx, rtx);
  13417. static inline rtx
  13418. gen_truncvnx2sivnx4qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13419. {
  13420. return 0;
  13421. }
  13422. extern rtx gen_truncvnx2sivnx2qi2 (rtx, rtx);
  13423. static inline rtx gen_truncvnx2sivnx4hi2 (rtx, rtx);
  13424. static inline rtx
  13425. gen_truncvnx2sivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13426. {
  13427. return 0;
  13428. }
  13429. extern rtx gen_truncvnx2sivnx2hi2 (rtx, rtx);
  13430. static inline rtx gen_truncvnx2sivnx2si2 (rtx, rtx);
  13431. static inline rtx
  13432. gen_truncvnx2sivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13433. {
  13434. return 0;
  13435. }
  13436. static inline rtx gen_truncvnx2divnx8qi2 (rtx, rtx);
  13437. static inline rtx
  13438. gen_truncvnx2divnx8qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13439. {
  13440. return 0;
  13441. }
  13442. static inline rtx gen_truncvnx2divnx4qi2 (rtx, rtx);
  13443. static inline rtx
  13444. gen_truncvnx2divnx4qi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13445. {
  13446. return 0;
  13447. }
  13448. extern rtx gen_truncvnx2divnx2qi2 (rtx, rtx);
  13449. static inline rtx gen_truncvnx2divnx4hi2 (rtx, rtx);
  13450. static inline rtx
  13451. gen_truncvnx2divnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  13452. {
  13453. return 0;
  13454. }
  13455. extern rtx gen_truncvnx2divnx2hi2 (rtx, rtx);
  13456. extern rtx gen_truncvnx2divnx2si2 (rtx, rtx);
  13457. extern rtx gen_aarch64_sve_fexpavnx8hf (rtx, rtx);
  13458. extern rtx gen_aarch64_sve_fexpavnx4sf (rtx, rtx);
  13459. extern rtx gen_aarch64_sve_fexpavnx2df (rtx, rtx);
  13460. extern rtx gen_aarch64_sve_frecpevnx8hf (rtx, rtx);
  13461. extern rtx gen_aarch64_sve_frsqrtevnx8hf (rtx, rtx);
  13462. extern rtx gen_aarch64_sve_frecpevnx4sf (rtx, rtx);
  13463. extern rtx gen_aarch64_sve_frsqrtevnx4sf (rtx, rtx);
  13464. extern rtx gen_aarch64_sve_frecpevnx2df (rtx, rtx);
  13465. extern rtx gen_aarch64_sve_frsqrtevnx2df (rtx, rtx);
  13466. extern rtx gen_aarch64_pred_absvnx8hf (rtx, rtx, rtx, rtx);
  13467. extern rtx gen_aarch64_pred_negvnx8hf (rtx, rtx, rtx, rtx);
  13468. extern rtx gen_aarch64_pred_frecpxvnx8hf (rtx, rtx, rtx, rtx);
  13469. extern rtx gen_aarch64_pred_roundvnx8hf (rtx, rtx, rtx, rtx);
  13470. extern rtx gen_aarch64_pred_nearbyintvnx8hf (rtx, rtx, rtx, rtx);
  13471. extern rtx gen_aarch64_pred_floorvnx8hf (rtx, rtx, rtx, rtx);
  13472. extern rtx gen_aarch64_pred_frintnvnx8hf (rtx, rtx, rtx, rtx);
  13473. extern rtx gen_aarch64_pred_ceilvnx8hf (rtx, rtx, rtx, rtx);
  13474. extern rtx gen_aarch64_pred_rintvnx8hf (rtx, rtx, rtx, rtx);
  13475. extern rtx gen_aarch64_pred_btruncvnx8hf (rtx, rtx, rtx, rtx);
  13476. extern rtx gen_aarch64_pred_sqrtvnx8hf (rtx, rtx, rtx, rtx);
  13477. extern rtx gen_aarch64_pred_absvnx4sf (rtx, rtx, rtx, rtx);
  13478. extern rtx gen_aarch64_pred_negvnx4sf (rtx, rtx, rtx, rtx);
  13479. extern rtx gen_aarch64_pred_frecpxvnx4sf (rtx, rtx, rtx, rtx);
  13480. extern rtx gen_aarch64_pred_roundvnx4sf (rtx, rtx, rtx, rtx);
  13481. extern rtx gen_aarch64_pred_nearbyintvnx4sf (rtx, rtx, rtx, rtx);
  13482. extern rtx gen_aarch64_pred_floorvnx4sf (rtx, rtx, rtx, rtx);
  13483. extern rtx gen_aarch64_pred_frintnvnx4sf (rtx, rtx, rtx, rtx);
  13484. extern rtx gen_aarch64_pred_ceilvnx4sf (rtx, rtx, rtx, rtx);
  13485. extern rtx gen_aarch64_pred_rintvnx4sf (rtx, rtx, rtx, rtx);
  13486. extern rtx gen_aarch64_pred_btruncvnx4sf (rtx, rtx, rtx, rtx);
  13487. extern rtx gen_aarch64_pred_sqrtvnx4sf (rtx, rtx, rtx, rtx);
  13488. extern rtx gen_aarch64_pred_absvnx2df (rtx, rtx, rtx, rtx);
  13489. extern rtx gen_aarch64_pred_negvnx2df (rtx, rtx, rtx, rtx);
  13490. extern rtx gen_aarch64_pred_frecpxvnx2df (rtx, rtx, rtx, rtx);
  13491. extern rtx gen_aarch64_pred_roundvnx2df (rtx, rtx, rtx, rtx);
  13492. extern rtx gen_aarch64_pred_nearbyintvnx2df (rtx, rtx, rtx, rtx);
  13493. extern rtx gen_aarch64_pred_floorvnx2df (rtx, rtx, rtx, rtx);
  13494. extern rtx gen_aarch64_pred_frintnvnx2df (rtx, rtx, rtx, rtx);
  13495. extern rtx gen_aarch64_pred_ceilvnx2df (rtx, rtx, rtx, rtx);
  13496. extern rtx gen_aarch64_pred_rintvnx2df (rtx, rtx, rtx, rtx);
  13497. extern rtx gen_aarch64_pred_btruncvnx2df (rtx, rtx, rtx, rtx);
  13498. extern rtx gen_aarch64_pred_sqrtvnx2df (rtx, rtx, rtx, rtx);
  13499. extern rtx gen_aarch64_pred_mulvnx16qi (rtx, rtx, rtx, rtx);
  13500. extern rtx gen_aarch64_pred_smaxvnx16qi (rtx, rtx, rtx, rtx);
  13501. extern rtx gen_aarch64_pred_sminvnx16qi (rtx, rtx, rtx, rtx);
  13502. extern rtx gen_aarch64_pred_umaxvnx16qi (rtx, rtx, rtx, rtx);
  13503. extern rtx gen_aarch64_pred_uminvnx16qi (rtx, rtx, rtx, rtx);
  13504. extern rtx gen_aarch64_pred_mulvnx8hi (rtx, rtx, rtx, rtx);
  13505. extern rtx gen_aarch64_pred_smaxvnx8hi (rtx, rtx, rtx, rtx);
  13506. extern rtx gen_aarch64_pred_sminvnx8hi (rtx, rtx, rtx, rtx);
  13507. extern rtx gen_aarch64_pred_umaxvnx8hi (rtx, rtx, rtx, rtx);
  13508. extern rtx gen_aarch64_pred_uminvnx8hi (rtx, rtx, rtx, rtx);
  13509. extern rtx gen_aarch64_pred_mulvnx4si (rtx, rtx, rtx, rtx);
  13510. extern rtx gen_aarch64_pred_smaxvnx4si (rtx, rtx, rtx, rtx);
  13511. extern rtx gen_aarch64_pred_sminvnx4si (rtx, rtx, rtx, rtx);
  13512. extern rtx gen_aarch64_pred_umaxvnx4si (rtx, rtx, rtx, rtx);
  13513. extern rtx gen_aarch64_pred_uminvnx4si (rtx, rtx, rtx, rtx);
  13514. extern rtx gen_aarch64_pred_mulvnx2di (rtx, rtx, rtx, rtx);
  13515. extern rtx gen_aarch64_pred_smaxvnx2di (rtx, rtx, rtx, rtx);
  13516. extern rtx gen_aarch64_pred_sminvnx2di (rtx, rtx, rtx, rtx);
  13517. extern rtx gen_aarch64_pred_umaxvnx2di (rtx, rtx, rtx, rtx);
  13518. extern rtx gen_aarch64_pred_uminvnx2di (rtx, rtx, rtx, rtx);
  13519. extern rtx gen_addvnx16qi3 (rtx, rtx, rtx);
  13520. extern rtx gen_addvnx8qi3 (rtx, rtx, rtx);
  13521. extern rtx gen_addvnx4qi3 (rtx, rtx, rtx);
  13522. extern rtx gen_addvnx2qi3 (rtx, rtx, rtx);
  13523. extern rtx gen_addvnx8hi3 (rtx, rtx, rtx);
  13524. extern rtx gen_addvnx4hi3 (rtx, rtx, rtx);
  13525. extern rtx gen_addvnx2hi3 (rtx, rtx, rtx);
  13526. extern rtx gen_addvnx4si3 (rtx, rtx, rtx);
  13527. extern rtx gen_addvnx2si3 (rtx, rtx, rtx);
  13528. extern rtx gen_addvnx2di3 (rtx, rtx, rtx);
  13529. extern rtx gen_subvnx16qi3 (rtx, rtx, rtx);
  13530. extern rtx gen_subvnx8hi3 (rtx, rtx, rtx);
  13531. extern rtx gen_subvnx4si3 (rtx, rtx, rtx);
  13532. extern rtx gen_subvnx2di3 (rtx, rtx, rtx);
  13533. extern rtx gen_aarch64_adrvnx4si (rtx, rtx, rtx);
  13534. extern rtx gen_aarch64_adrvnx2di (rtx, rtx, rtx);
  13535. extern rtx gen_aarch64_pred_sabdvnx16qi (rtx, rtx, rtx, rtx);
  13536. extern rtx gen_aarch64_pred_uabdvnx16qi (rtx, rtx, rtx, rtx);
  13537. extern rtx gen_aarch64_pred_sabdvnx8hi (rtx, rtx, rtx, rtx);
  13538. extern rtx gen_aarch64_pred_uabdvnx8hi (rtx, rtx, rtx, rtx);
  13539. extern rtx gen_aarch64_pred_sabdvnx4si (rtx, rtx, rtx, rtx);
  13540. extern rtx gen_aarch64_pred_uabdvnx4si (rtx, rtx, rtx, rtx);
  13541. extern rtx gen_aarch64_pred_sabdvnx2di (rtx, rtx, rtx, rtx);
  13542. extern rtx gen_aarch64_pred_uabdvnx2di (rtx, rtx, rtx, rtx);
  13543. extern rtx gen_aarch64_sve_ssaddvnx16qi (rtx, rtx, rtx);
  13544. extern rtx gen_aarch64_sve_sssubvnx16qi (rtx, rtx, rtx);
  13545. extern rtx gen_aarch64_sve_ssaddvnx8hi (rtx, rtx, rtx);
  13546. extern rtx gen_aarch64_sve_sssubvnx8hi (rtx, rtx, rtx);
  13547. extern rtx gen_aarch64_sve_ssaddvnx4si (rtx, rtx, rtx);
  13548. extern rtx gen_aarch64_sve_sssubvnx4si (rtx, rtx, rtx);
  13549. extern rtx gen_aarch64_sve_ssaddvnx2di (rtx, rtx, rtx);
  13550. extern rtx gen_aarch64_sve_sssubvnx2di (rtx, rtx, rtx);
  13551. extern rtx gen_aarch64_sve_usaddvnx16qi (rtx, rtx, rtx);
  13552. extern rtx gen_aarch64_sve_ussubvnx16qi (rtx, rtx, rtx);
  13553. extern rtx gen_aarch64_sve_usaddvnx8hi (rtx, rtx, rtx);
  13554. extern rtx gen_aarch64_sve_ussubvnx8hi (rtx, rtx, rtx);
  13555. extern rtx gen_aarch64_sve_usaddvnx4si (rtx, rtx, rtx);
  13556. extern rtx gen_aarch64_sve_ussubvnx4si (rtx, rtx, rtx);
  13557. extern rtx gen_aarch64_sve_usaddvnx2di (rtx, rtx, rtx);
  13558. extern rtx gen_aarch64_sve_ussubvnx2di (rtx, rtx, rtx);
  13559. extern rtx gen_aarch64_pred_smulhvnx16qi (rtx, rtx, rtx, rtx);
  13560. extern rtx gen_aarch64_pred_umulhvnx16qi (rtx, rtx, rtx, rtx);
  13561. extern rtx gen_aarch64_pred_smulhvnx8hi (rtx, rtx, rtx, rtx);
  13562. extern rtx gen_aarch64_pred_umulhvnx8hi (rtx, rtx, rtx, rtx);
  13563. extern rtx gen_aarch64_pred_smulhvnx4si (rtx, rtx, rtx, rtx);
  13564. extern rtx gen_aarch64_pred_umulhvnx4si (rtx, rtx, rtx, rtx);
  13565. extern rtx gen_aarch64_pred_smulhvnx2di (rtx, rtx, rtx, rtx);
  13566. extern rtx gen_aarch64_pred_umulhvnx2di (rtx, rtx, rtx, rtx);
  13567. extern rtx gen_aarch64_pred_divvnx4si (rtx, rtx, rtx, rtx);
  13568. extern rtx gen_aarch64_pred_udivvnx4si (rtx, rtx, rtx, rtx);
  13569. extern rtx gen_aarch64_pred_divvnx2di (rtx, rtx, rtx, rtx);
  13570. extern rtx gen_aarch64_pred_udivvnx2di (rtx, rtx, rtx, rtx);
  13571. extern rtx gen_andvnx16qi3 (rtx, rtx, rtx);
  13572. extern rtx gen_iorvnx16qi3 (rtx, rtx, rtx);
  13573. extern rtx gen_xorvnx16qi3 (rtx, rtx, rtx);
  13574. extern rtx gen_andvnx8hi3 (rtx, rtx, rtx);
  13575. extern rtx gen_iorvnx8hi3 (rtx, rtx, rtx);
  13576. extern rtx gen_xorvnx8hi3 (rtx, rtx, rtx);
  13577. extern rtx gen_andvnx4si3 (rtx, rtx, rtx);
  13578. extern rtx gen_iorvnx4si3 (rtx, rtx, rtx);
  13579. extern rtx gen_xorvnx4si3 (rtx, rtx, rtx);
  13580. extern rtx gen_andvnx2di3 (rtx, rtx, rtx);
  13581. extern rtx gen_iorvnx2di3 (rtx, rtx, rtx);
  13582. extern rtx gen_xorvnx2di3 (rtx, rtx, rtx);
  13583. extern rtx gen_aarch64_pred_ashlvnx16qi (rtx, rtx, rtx, rtx);
  13584. extern rtx gen_aarch64_pred_ashrvnx16qi (rtx, rtx, rtx, rtx);
  13585. extern rtx gen_aarch64_pred_lshrvnx16qi (rtx, rtx, rtx, rtx);
  13586. extern rtx gen_aarch64_pred_ashlvnx8hi (rtx, rtx, rtx, rtx);
  13587. extern rtx gen_aarch64_pred_ashrvnx8hi (rtx, rtx, rtx, rtx);
  13588. extern rtx gen_aarch64_pred_lshrvnx8hi (rtx, rtx, rtx, rtx);
  13589. extern rtx gen_aarch64_pred_ashlvnx4si (rtx, rtx, rtx, rtx);
  13590. extern rtx gen_aarch64_pred_ashrvnx4si (rtx, rtx, rtx, rtx);
  13591. extern rtx gen_aarch64_pred_lshrvnx4si (rtx, rtx, rtx, rtx);
  13592. extern rtx gen_aarch64_pred_ashlvnx2di (rtx, rtx, rtx, rtx);
  13593. extern rtx gen_aarch64_pred_ashrvnx2di (rtx, rtx, rtx, rtx);
  13594. extern rtx gen_aarch64_pred_lshrvnx2di (rtx, rtx, rtx, rtx);
  13595. extern rtx gen_aarch64_sve_lslvnx16qi (rtx, rtx, rtx);
  13596. extern rtx gen_aarch64_sve_asrvnx16qi (rtx, rtx, rtx);
  13597. extern rtx gen_aarch64_sve_lsrvnx16qi (rtx, rtx, rtx);
  13598. extern rtx gen_aarch64_sve_lslvnx8hi (rtx, rtx, rtx);
  13599. extern rtx gen_aarch64_sve_asrvnx8hi (rtx, rtx, rtx);
  13600. extern rtx gen_aarch64_sve_lsrvnx8hi (rtx, rtx, rtx);
  13601. extern rtx gen_aarch64_sve_lslvnx4si (rtx, rtx, rtx);
  13602. extern rtx gen_aarch64_sve_asrvnx4si (rtx, rtx, rtx);
  13603. extern rtx gen_aarch64_sve_lsrvnx4si (rtx, rtx, rtx);
  13604. extern rtx gen_aarch64_sve_ftsmulvnx8hf (rtx, rtx, rtx);
  13605. extern rtx gen_aarch64_sve_ftsselvnx8hf (rtx, rtx, rtx);
  13606. extern rtx gen_aarch64_sve_ftsmulvnx4sf (rtx, rtx, rtx);
  13607. extern rtx gen_aarch64_sve_ftsselvnx4sf (rtx, rtx, rtx);
  13608. extern rtx gen_aarch64_sve_ftsmulvnx2df (rtx, rtx, rtx);
  13609. extern rtx gen_aarch64_sve_ftsselvnx2df (rtx, rtx, rtx);
  13610. extern rtx gen_aarch64_pred_fscalevnx8hf (rtx, rtx, rtx, rtx, rtx);
  13611. extern rtx gen_aarch64_pred_fscalevnx4sf (rtx, rtx, rtx, rtx, rtx);
  13612. extern rtx gen_aarch64_pred_fscalevnx2df (rtx, rtx, rtx, rtx, rtx);
  13613. extern rtx gen_aarch64_sve_frecpsvnx8hf (rtx, rtx, rtx);
  13614. extern rtx gen_aarch64_sve_frsqrtsvnx8hf (rtx, rtx, rtx);
  13615. extern rtx gen_aarch64_sve_frecpsvnx4sf (rtx, rtx, rtx);
  13616. extern rtx gen_aarch64_sve_frsqrtsvnx4sf (rtx, rtx, rtx);
  13617. extern rtx gen_aarch64_sve_frecpsvnx2df (rtx, rtx, rtx);
  13618. extern rtx gen_aarch64_sve_frsqrtsvnx2df (rtx, rtx, rtx);
  13619. extern rtx gen_aarch64_pred_divvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13620. extern rtx gen_aarch64_pred_mulxvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13621. extern rtx gen_aarch64_pred_divvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13622. extern rtx gen_aarch64_pred_mulxvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13623. extern rtx gen_aarch64_pred_divvnx2df (rtx, rtx, rtx, rtx, rtx);
  13624. extern rtx gen_aarch64_pred_mulxvnx2df (rtx, rtx, rtx, rtx, rtx);
  13625. extern rtx gen_aarch64_pred_addvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13626. extern rtx gen_aarch64_pred_addvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13627. extern rtx gen_aarch64_pred_addvnx2df (rtx, rtx, rtx, rtx, rtx);
  13628. extern rtx gen_aarch64_pred_cadd90vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13629. extern rtx gen_aarch64_pred_cadd270vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13630. extern rtx gen_aarch64_pred_cadd90vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13631. extern rtx gen_aarch64_pred_cadd270vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13632. extern rtx gen_aarch64_pred_cadd90vnx2df (rtx, rtx, rtx, rtx, rtx);
  13633. extern rtx gen_aarch64_pred_cadd270vnx2df (rtx, rtx, rtx, rtx, rtx);
  13634. extern rtx gen_aarch64_pred_subvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13635. extern rtx gen_aarch64_pred_subvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13636. extern rtx gen_aarch64_pred_subvnx2df (rtx, rtx, rtx, rtx, rtx);
  13637. extern rtx gen_aarch64_pred_mulvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13638. extern rtx gen_aarch64_pred_mulvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13639. extern rtx gen_aarch64_pred_mulvnx2df (rtx, rtx, rtx, rtx, rtx);
  13640. extern rtx gen_aarch64_mul_lane_vnx8hf (rtx, rtx, rtx, rtx);
  13641. extern rtx gen_aarch64_mul_lane_vnx4sf (rtx, rtx, rtx, rtx);
  13642. extern rtx gen_aarch64_mul_lane_vnx2df (rtx, rtx, rtx, rtx);
  13643. extern rtx gen_aarch64_pred_smax_nanvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13644. extern rtx gen_aarch64_pred_smaxvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13645. extern rtx gen_aarch64_pred_smin_nanvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13646. extern rtx gen_aarch64_pred_sminvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13647. extern rtx gen_aarch64_pred_smax_nanvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13648. extern rtx gen_aarch64_pred_smaxvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13649. extern rtx gen_aarch64_pred_smin_nanvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13650. extern rtx gen_aarch64_pred_sminvnx4sf (rtx, rtx, rtx, rtx, rtx);
  13651. extern rtx gen_aarch64_pred_smax_nanvnx2df (rtx, rtx, rtx, rtx, rtx);
  13652. extern rtx gen_aarch64_pred_smaxvnx2df (rtx, rtx, rtx, rtx, rtx);
  13653. extern rtx gen_aarch64_pred_smin_nanvnx2df (rtx, rtx, rtx, rtx, rtx);
  13654. extern rtx gen_aarch64_pred_sminvnx2df (rtx, rtx, rtx, rtx, rtx);
  13655. extern rtx gen_andvnx16bi3 (rtx, rtx, rtx);
  13656. extern rtx gen_andvnx8bi3 (rtx, rtx, rtx);
  13657. extern rtx gen_andvnx4bi3 (rtx, rtx, rtx);
  13658. extern rtx gen_andvnx2bi3 (rtx, rtx, rtx);
  13659. extern rtx gen_aarch64_pred_andvnx16bi_z (rtx, rtx, rtx, rtx);
  13660. extern rtx gen_aarch64_pred_iorvnx16bi_z (rtx, rtx, rtx, rtx);
  13661. extern rtx gen_aarch64_pred_xorvnx16bi_z (rtx, rtx, rtx, rtx);
  13662. extern rtx gen_aarch64_pred_andvnx8bi_z (rtx, rtx, rtx, rtx);
  13663. extern rtx gen_aarch64_pred_iorvnx8bi_z (rtx, rtx, rtx, rtx);
  13664. extern rtx gen_aarch64_pred_xorvnx8bi_z (rtx, rtx, rtx, rtx);
  13665. extern rtx gen_aarch64_pred_andvnx4bi_z (rtx, rtx, rtx, rtx);
  13666. extern rtx gen_aarch64_pred_iorvnx4bi_z (rtx, rtx, rtx, rtx);
  13667. extern rtx gen_aarch64_pred_xorvnx4bi_z (rtx, rtx, rtx, rtx);
  13668. extern rtx gen_aarch64_pred_andvnx2bi_z (rtx, rtx, rtx, rtx);
  13669. extern rtx gen_aarch64_pred_iorvnx2bi_z (rtx, rtx, rtx, rtx);
  13670. extern rtx gen_aarch64_pred_xorvnx2bi_z (rtx, rtx, rtx, rtx);
  13671. extern rtx gen_aarch64_pred_bicvnx16bi_z (rtx, rtx, rtx, rtx);
  13672. extern rtx gen_aarch64_pred_ornvnx16bi_z (rtx, rtx, rtx, rtx);
  13673. extern rtx gen_aarch64_pred_bicvnx8bi_z (rtx, rtx, rtx, rtx);
  13674. extern rtx gen_aarch64_pred_ornvnx8bi_z (rtx, rtx, rtx, rtx);
  13675. extern rtx gen_aarch64_pred_bicvnx4bi_z (rtx, rtx, rtx, rtx);
  13676. extern rtx gen_aarch64_pred_ornvnx4bi_z (rtx, rtx, rtx, rtx);
  13677. extern rtx gen_aarch64_pred_bicvnx2bi_z (rtx, rtx, rtx, rtx);
  13678. extern rtx gen_aarch64_pred_ornvnx2bi_z (rtx, rtx, rtx, rtx);
  13679. extern rtx gen_aarch64_pred_norvnx16bi_z (rtx, rtx, rtx, rtx);
  13680. extern rtx gen_aarch64_pred_nandvnx16bi_z (rtx, rtx, rtx, rtx);
  13681. extern rtx gen_aarch64_pred_norvnx8bi_z (rtx, rtx, rtx, rtx);
  13682. extern rtx gen_aarch64_pred_nandvnx8bi_z (rtx, rtx, rtx, rtx);
  13683. extern rtx gen_aarch64_pred_norvnx4bi_z (rtx, rtx, rtx, rtx);
  13684. extern rtx gen_aarch64_pred_nandvnx4bi_z (rtx, rtx, rtx, rtx);
  13685. extern rtx gen_aarch64_pred_norvnx2bi_z (rtx, rtx, rtx, rtx);
  13686. extern rtx gen_aarch64_pred_nandvnx2bi_z (rtx, rtx, rtx, rtx);
  13687. extern rtx gen_aarch64_pred_fmavnx16qi (rtx, rtx, rtx, rtx, rtx);
  13688. extern rtx gen_aarch64_pred_fmavnx8hi (rtx, rtx, rtx, rtx, rtx);
  13689. extern rtx gen_aarch64_pred_fmavnx4si (rtx, rtx, rtx, rtx, rtx);
  13690. extern rtx gen_aarch64_pred_fmavnx2di (rtx, rtx, rtx, rtx, rtx);
  13691. extern rtx gen_aarch64_pred_fnmavnx16qi (rtx, rtx, rtx, rtx, rtx);
  13692. extern rtx gen_aarch64_pred_fnmavnx8hi (rtx, rtx, rtx, rtx, rtx);
  13693. extern rtx gen_aarch64_pred_fnmavnx4si (rtx, rtx, rtx, rtx, rtx);
  13694. extern rtx gen_aarch64_pred_fnmavnx2di (rtx, rtx, rtx, rtx, rtx);
  13695. extern rtx gen_sdot_prodvnx16qi (rtx, rtx, rtx, rtx);
  13696. extern rtx gen_udot_prodvnx16qi (rtx, rtx, rtx, rtx);
  13697. extern rtx gen_sdot_prodvnx8hi (rtx, rtx, rtx, rtx);
  13698. extern rtx gen_udot_prodvnx8hi (rtx, rtx, rtx, rtx);
  13699. extern rtx gen_aarch64_sdot_prod_lanevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13700. extern rtx gen_aarch64_udot_prod_lanevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13701. extern rtx gen_aarch64_sdot_prod_lanevnx8hi (rtx, rtx, rtx, rtx, rtx);
  13702. extern rtx gen_aarch64_udot_prod_lanevnx8hi (rtx, rtx, rtx, rtx, rtx);
  13703. extern rtx gen_aarch64_usdot_prodvnx16qi (rtx, rtx, rtx, rtx);
  13704. extern rtx gen_aarch64_usdot_prod_lanevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13705. extern rtx gen_aarch64_sudot_prod_lanevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13706. extern rtx gen_aarch64_sve_add_smatmulvnx16qi (rtx, rtx, rtx, rtx);
  13707. extern rtx gen_aarch64_sve_add_umatmulvnx16qi (rtx, rtx, rtx, rtx);
  13708. extern rtx gen_aarch64_sve_add_usmatmulvnx16qi (rtx, rtx, rtx, rtx);
  13709. extern rtx gen_aarch64_pred_fmavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13710. extern rtx gen_aarch64_pred_fnmavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13711. extern rtx gen_aarch64_pred_fnmsvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13712. extern rtx gen_aarch64_pred_fmsvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13713. extern rtx gen_aarch64_pred_fmavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13714. extern rtx gen_aarch64_pred_fnmavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13715. extern rtx gen_aarch64_pred_fnmsvnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13716. extern rtx gen_aarch64_pred_fmsvnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13717. extern rtx gen_aarch64_pred_fmavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13718. extern rtx gen_aarch64_pred_fnmavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13719. extern rtx gen_aarch64_pred_fnmsvnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13720. extern rtx gen_aarch64_pred_fmsvnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13721. extern rtx gen_aarch64_fma_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13722. extern rtx gen_aarch64_fnma_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13723. extern rtx gen_aarch64_fma_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13724. extern rtx gen_aarch64_fnma_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13725. extern rtx gen_aarch64_fma_lane_vnx2df (rtx, rtx, rtx, rtx, rtx);
  13726. extern rtx gen_aarch64_fnma_lane_vnx2df (rtx, rtx, rtx, rtx, rtx);
  13727. extern rtx gen_aarch64_pred_fcmlavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13728. extern rtx gen_aarch64_pred_fcmla90vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13729. extern rtx gen_aarch64_pred_fcmla180vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13730. extern rtx gen_aarch64_pred_fcmla270vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  13731. extern rtx gen_aarch64_pred_fcmlavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13732. extern rtx gen_aarch64_pred_fcmla90vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13733. extern rtx gen_aarch64_pred_fcmla180vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13734. extern rtx gen_aarch64_pred_fcmla270vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  13735. extern rtx gen_aarch64_pred_fcmlavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13736. extern rtx gen_aarch64_pred_fcmla90vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13737. extern rtx gen_aarch64_pred_fcmla180vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13738. extern rtx gen_aarch64_pred_fcmla270vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  13739. extern rtx gen_aarch64_fcmla_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13740. extern rtx gen_aarch64_fcmla90_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13741. extern rtx gen_aarch64_fcmla180_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13742. extern rtx gen_aarch64_fcmla270_lane_vnx8hf (rtx, rtx, rtx, rtx, rtx);
  13743. extern rtx gen_aarch64_fcmla_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13744. extern rtx gen_aarch64_fcmla90_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13745. extern rtx gen_aarch64_fcmla180_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13746. extern rtx gen_aarch64_fcmla270_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  13747. extern rtx gen_aarch64_sve_tmadvnx8hf (rtx, rtx, rtx, rtx);
  13748. extern rtx gen_aarch64_sve_tmadvnx4sf (rtx, rtx, rtx, rtx);
  13749. extern rtx gen_aarch64_sve_tmadvnx2df (rtx, rtx, rtx, rtx);
  13750. extern rtx gen_aarch64_sve_bfdotvnx4sf (rtx, rtx, rtx, rtx);
  13751. extern rtx gen_aarch64_sve_bfmlalbvnx4sf (rtx, rtx, rtx, rtx);
  13752. extern rtx gen_aarch64_sve_bfmlaltvnx4sf (rtx, rtx, rtx, rtx);
  13753. extern rtx gen_aarch64_sve_bfmmlavnx4sf (rtx, rtx, rtx, rtx);
  13754. extern rtx gen_aarch64_sve_bfdot_lanevnx4sf (rtx, rtx, rtx, rtx, rtx);
  13755. extern rtx gen_aarch64_sve_bfmlalb_lanevnx4sf (rtx, rtx, rtx, rtx, rtx);
  13756. extern rtx gen_aarch64_sve_bfmlalt_lanevnx4sf (rtx, rtx, rtx, rtx, rtx);
  13757. extern rtx gen_aarch64_sve_fmmlavnx4sf (rtx, rtx, rtx, rtx);
  13758. extern rtx gen_aarch64_sve_fmmlavnx2df (rtx, rtx, rtx, rtx);
  13759. extern rtx gen_aarch64_sel_dupvnx16qi (rtx, rtx, rtx, rtx);
  13760. extern rtx gen_aarch64_sel_dupvnx8hi (rtx, rtx, rtx, rtx);
  13761. extern rtx gen_aarch64_sel_dupvnx4si (rtx, rtx, rtx, rtx);
  13762. extern rtx gen_aarch64_sel_dupvnx2di (rtx, rtx, rtx, rtx);
  13763. extern rtx gen_aarch64_sel_dupvnx8bf (rtx, rtx, rtx, rtx);
  13764. extern rtx gen_aarch64_sel_dupvnx8hf (rtx, rtx, rtx, rtx);
  13765. extern rtx gen_aarch64_sel_dupvnx4sf (rtx, rtx, rtx, rtx);
  13766. extern rtx gen_aarch64_sel_dupvnx2df (rtx, rtx, rtx, rtx);
  13767. extern rtx gen_aarch64_pred_cmpltvnx16qi (rtx, rtx, rtx, rtx, rtx);
  13768. extern rtx gen_aarch64_pred_cmplevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13769. extern rtx gen_aarch64_pred_cmpeqvnx16qi (rtx, rtx, rtx, rtx, rtx);
  13770. extern rtx gen_aarch64_pred_cmpnevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13771. extern rtx gen_aarch64_pred_cmpgevnx16qi (rtx, rtx, rtx, rtx, rtx);
  13772. extern rtx gen_aarch64_pred_cmpgtvnx16qi (rtx, rtx, rtx, rtx, rtx);
  13773. extern rtx gen_aarch64_pred_cmplovnx16qi (rtx, rtx, rtx, rtx, rtx);
  13774. extern rtx gen_aarch64_pred_cmplsvnx16qi (rtx, rtx, rtx, rtx, rtx);
  13775. extern rtx gen_aarch64_pred_cmphsvnx16qi (rtx, rtx, rtx, rtx, rtx);
  13776. extern rtx gen_aarch64_pred_cmphivnx16qi (rtx, rtx, rtx, rtx, rtx);
  13777. extern rtx gen_aarch64_pred_cmpltvnx8hi (rtx, rtx, rtx, rtx, rtx);
  13778. extern rtx gen_aarch64_pred_cmplevnx8hi (rtx, rtx, rtx, rtx, rtx);
  13779. extern rtx gen_aarch64_pred_cmpeqvnx8hi (rtx, rtx, rtx, rtx, rtx);
  13780. extern rtx gen_aarch64_pred_cmpnevnx8hi (rtx, rtx, rtx, rtx, rtx);
  13781. extern rtx gen_aarch64_pred_cmpgevnx8hi (rtx, rtx, rtx, rtx, rtx);
  13782. extern rtx gen_aarch64_pred_cmpgtvnx8hi (rtx, rtx, rtx, rtx, rtx);
  13783. extern rtx gen_aarch64_pred_cmplovnx8hi (rtx, rtx, rtx, rtx, rtx);
  13784. extern rtx gen_aarch64_pred_cmplsvnx8hi (rtx, rtx, rtx, rtx, rtx);
  13785. extern rtx gen_aarch64_pred_cmphsvnx8hi (rtx, rtx, rtx, rtx, rtx);
  13786. extern rtx gen_aarch64_pred_cmphivnx8hi (rtx, rtx, rtx, rtx, rtx);
  13787. extern rtx gen_aarch64_pred_cmpltvnx4si (rtx, rtx, rtx, rtx, rtx);
  13788. extern rtx gen_aarch64_pred_cmplevnx4si (rtx, rtx, rtx, rtx, rtx);
  13789. extern rtx gen_aarch64_pred_cmpeqvnx4si (rtx, rtx, rtx, rtx, rtx);
  13790. extern rtx gen_aarch64_pred_cmpnevnx4si (rtx, rtx, rtx, rtx, rtx);
  13791. extern rtx gen_aarch64_pred_cmpgevnx4si (rtx, rtx, rtx, rtx, rtx);
  13792. extern rtx gen_aarch64_pred_cmpgtvnx4si (rtx, rtx, rtx, rtx, rtx);
  13793. extern rtx gen_aarch64_pred_cmplovnx4si (rtx, rtx, rtx, rtx, rtx);
  13794. extern rtx gen_aarch64_pred_cmplsvnx4si (rtx, rtx, rtx, rtx, rtx);
  13795. extern rtx gen_aarch64_pred_cmphsvnx4si (rtx, rtx, rtx, rtx, rtx);
  13796. extern rtx gen_aarch64_pred_cmphivnx4si (rtx, rtx, rtx, rtx, rtx);
  13797. extern rtx gen_aarch64_pred_cmpltvnx2di (rtx, rtx, rtx, rtx, rtx);
  13798. extern rtx gen_aarch64_pred_cmplevnx2di (rtx, rtx, rtx, rtx, rtx);
  13799. extern rtx gen_aarch64_pred_cmpeqvnx2di (rtx, rtx, rtx, rtx, rtx);
  13800. extern rtx gen_aarch64_pred_cmpnevnx2di (rtx, rtx, rtx, rtx, rtx);
  13801. extern rtx gen_aarch64_pred_cmpgevnx2di (rtx, rtx, rtx, rtx, rtx);
  13802. extern rtx gen_aarch64_pred_cmpgtvnx2di (rtx, rtx, rtx, rtx, rtx);
  13803. extern rtx gen_aarch64_pred_cmplovnx2di (rtx, rtx, rtx, rtx, rtx);
  13804. extern rtx gen_aarch64_pred_cmplsvnx2di (rtx, rtx, rtx, rtx, rtx);
  13805. extern rtx gen_aarch64_pred_cmphsvnx2di (rtx, rtx, rtx, rtx, rtx);
  13806. extern rtx gen_aarch64_pred_cmphivnx2di (rtx, rtx, rtx, rtx, rtx);
  13807. extern rtx gen_aarch64_pred_cmpeqvnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13808. extern rtx gen_aarch64_pred_cmpgevnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13809. extern rtx gen_aarch64_pred_cmpgtvnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13810. extern rtx gen_aarch64_pred_cmphivnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13811. extern rtx gen_aarch64_pred_cmphsvnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13812. extern rtx gen_aarch64_pred_cmplevnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13813. extern rtx gen_aarch64_pred_cmplovnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13814. extern rtx gen_aarch64_pred_cmplsvnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13815. extern rtx gen_aarch64_pred_cmpltvnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13816. extern rtx gen_aarch64_pred_cmpnevnx16qi_wide (rtx, rtx, rtx, rtx, rtx);
  13817. extern rtx gen_aarch64_pred_cmpeqvnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13818. extern rtx gen_aarch64_pred_cmpgevnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13819. extern rtx gen_aarch64_pred_cmpgtvnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13820. extern rtx gen_aarch64_pred_cmphivnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13821. extern rtx gen_aarch64_pred_cmphsvnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13822. extern rtx gen_aarch64_pred_cmplevnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13823. extern rtx gen_aarch64_pred_cmplovnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13824. extern rtx gen_aarch64_pred_cmplsvnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13825. extern rtx gen_aarch64_pred_cmpltvnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13826. extern rtx gen_aarch64_pred_cmpnevnx8hi_wide (rtx, rtx, rtx, rtx, rtx);
  13827. extern rtx gen_aarch64_pred_cmpeqvnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13828. extern rtx gen_aarch64_pred_cmpgevnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13829. extern rtx gen_aarch64_pred_cmpgtvnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13830. extern rtx gen_aarch64_pred_cmphivnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13831. extern rtx gen_aarch64_pred_cmphsvnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13832. extern rtx gen_aarch64_pred_cmplevnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13833. extern rtx gen_aarch64_pred_cmplovnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13834. extern rtx gen_aarch64_pred_cmplsvnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13835. extern rtx gen_aarch64_pred_cmpltvnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13836. extern rtx gen_aarch64_pred_cmpnevnx4si_wide (rtx, rtx, rtx, rtx, rtx);
  13837. extern rtx gen_while_lesivnx16bi (rtx, rtx, rtx);
  13838. extern rtx gen_while_ultsivnx16bi (rtx, rtx, rtx);
  13839. extern rtx gen_while_ulesivnx16bi (rtx, rtx, rtx);
  13840. extern rtx gen_while_ltsivnx16bi (rtx, rtx, rtx);
  13841. extern rtx gen_while_gesivnx16bi (rtx, rtx, rtx);
  13842. extern rtx gen_while_gtsivnx16bi (rtx, rtx, rtx);
  13843. extern rtx gen_while_ugtsivnx16bi (rtx, rtx, rtx);
  13844. extern rtx gen_while_ugesivnx16bi (rtx, rtx, rtx);
  13845. extern rtx gen_while_rwsivnx16bi (rtx, rtx, rtx);
  13846. extern rtx gen_while_wrsivnx16bi (rtx, rtx, rtx);
  13847. extern rtx gen_while_lesivnx8bi (rtx, rtx, rtx);
  13848. extern rtx gen_while_ultsivnx8bi (rtx, rtx, rtx);
  13849. extern rtx gen_while_ulesivnx8bi (rtx, rtx, rtx);
  13850. extern rtx gen_while_ltsivnx8bi (rtx, rtx, rtx);
  13851. extern rtx gen_while_gesivnx8bi (rtx, rtx, rtx);
  13852. extern rtx gen_while_gtsivnx8bi (rtx, rtx, rtx);
  13853. extern rtx gen_while_ugtsivnx8bi (rtx, rtx, rtx);
  13854. extern rtx gen_while_ugesivnx8bi (rtx, rtx, rtx);
  13855. extern rtx gen_while_rwsivnx8bi (rtx, rtx, rtx);
  13856. extern rtx gen_while_wrsivnx8bi (rtx, rtx, rtx);
  13857. extern rtx gen_while_lesivnx4bi (rtx, rtx, rtx);
  13858. extern rtx gen_while_ultsivnx4bi (rtx, rtx, rtx);
  13859. extern rtx gen_while_ulesivnx4bi (rtx, rtx, rtx);
  13860. extern rtx gen_while_ltsivnx4bi (rtx, rtx, rtx);
  13861. extern rtx gen_while_gesivnx4bi (rtx, rtx, rtx);
  13862. extern rtx gen_while_gtsivnx4bi (rtx, rtx, rtx);
  13863. extern rtx gen_while_ugtsivnx4bi (rtx, rtx, rtx);
  13864. extern rtx gen_while_ugesivnx4bi (rtx, rtx, rtx);
  13865. extern rtx gen_while_rwsivnx4bi (rtx, rtx, rtx);
  13866. extern rtx gen_while_wrsivnx4bi (rtx, rtx, rtx);
  13867. extern rtx gen_while_lesivnx2bi (rtx, rtx, rtx);
  13868. extern rtx gen_while_ultsivnx2bi (rtx, rtx, rtx);
  13869. extern rtx gen_while_ulesivnx2bi (rtx, rtx, rtx);
  13870. extern rtx gen_while_ltsivnx2bi (rtx, rtx, rtx);
  13871. extern rtx gen_while_gesivnx2bi (rtx, rtx, rtx);
  13872. extern rtx gen_while_gtsivnx2bi (rtx, rtx, rtx);
  13873. extern rtx gen_while_ugtsivnx2bi (rtx, rtx, rtx);
  13874. extern rtx gen_while_ugesivnx2bi (rtx, rtx, rtx);
  13875. extern rtx gen_while_rwsivnx2bi (rtx, rtx, rtx);
  13876. extern rtx gen_while_wrsivnx2bi (rtx, rtx, rtx);
  13877. extern rtx gen_while_ledivnx16bi (rtx, rtx, rtx);
  13878. extern rtx gen_while_ultdivnx16bi (rtx, rtx, rtx);
  13879. extern rtx gen_while_uledivnx16bi (rtx, rtx, rtx);
  13880. extern rtx gen_while_ltdivnx16bi (rtx, rtx, rtx);
  13881. extern rtx gen_while_gedivnx16bi (rtx, rtx, rtx);
  13882. extern rtx gen_while_gtdivnx16bi (rtx, rtx, rtx);
  13883. extern rtx gen_while_ugtdivnx16bi (rtx, rtx, rtx);
  13884. extern rtx gen_while_ugedivnx16bi (rtx, rtx, rtx);
  13885. extern rtx gen_while_rwdivnx16bi (rtx, rtx, rtx);
  13886. extern rtx gen_while_wrdivnx16bi (rtx, rtx, rtx);
  13887. extern rtx gen_while_ledivnx8bi (rtx, rtx, rtx);
  13888. extern rtx gen_while_ultdivnx8bi (rtx, rtx, rtx);
  13889. extern rtx gen_while_uledivnx8bi (rtx, rtx, rtx);
  13890. extern rtx gen_while_ltdivnx8bi (rtx, rtx, rtx);
  13891. extern rtx gen_while_gedivnx8bi (rtx, rtx, rtx);
  13892. extern rtx gen_while_gtdivnx8bi (rtx, rtx, rtx);
  13893. extern rtx gen_while_ugtdivnx8bi (rtx, rtx, rtx);
  13894. extern rtx gen_while_ugedivnx8bi (rtx, rtx, rtx);
  13895. extern rtx gen_while_rwdivnx8bi (rtx, rtx, rtx);
  13896. extern rtx gen_while_wrdivnx8bi (rtx, rtx, rtx);
  13897. extern rtx gen_while_ledivnx4bi (rtx, rtx, rtx);
  13898. extern rtx gen_while_ultdivnx4bi (rtx, rtx, rtx);
  13899. extern rtx gen_while_uledivnx4bi (rtx, rtx, rtx);
  13900. extern rtx gen_while_ltdivnx4bi (rtx, rtx, rtx);
  13901. extern rtx gen_while_gedivnx4bi (rtx, rtx, rtx);
  13902. extern rtx gen_while_gtdivnx4bi (rtx, rtx, rtx);
  13903. extern rtx gen_while_ugtdivnx4bi (rtx, rtx, rtx);
  13904. extern rtx gen_while_ugedivnx4bi (rtx, rtx, rtx);
  13905. extern rtx gen_while_rwdivnx4bi (rtx, rtx, rtx);
  13906. extern rtx gen_while_wrdivnx4bi (rtx, rtx, rtx);
  13907. extern rtx gen_while_ledivnx2bi (rtx, rtx, rtx);
  13908. extern rtx gen_while_ultdivnx2bi (rtx, rtx, rtx);
  13909. extern rtx gen_while_uledivnx2bi (rtx, rtx, rtx);
  13910. extern rtx gen_while_ltdivnx2bi (rtx, rtx, rtx);
  13911. extern rtx gen_while_gedivnx2bi (rtx, rtx, rtx);
  13912. extern rtx gen_while_gtdivnx2bi (rtx, rtx, rtx);
  13913. extern rtx gen_while_ugtdivnx2bi (rtx, rtx, rtx);
  13914. extern rtx gen_while_ugedivnx2bi (rtx, rtx, rtx);
  13915. extern rtx gen_while_rwdivnx2bi (rtx, rtx, rtx);
  13916. extern rtx gen_while_wrdivnx2bi (rtx, rtx, rtx);
  13917. extern rtx gen_while_lesivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13918. extern rtx gen_while_ultsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13919. extern rtx gen_while_ulesivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13920. extern rtx gen_while_ltsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13921. extern rtx gen_while_gesivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13922. extern rtx gen_while_gtsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13923. extern rtx gen_while_ugtsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13924. extern rtx gen_while_ugesivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13925. extern rtx gen_while_rwsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13926. extern rtx gen_while_wrsivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13927. extern rtx gen_while_lesivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13928. extern rtx gen_while_ultsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13929. extern rtx gen_while_ulesivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13930. extern rtx gen_while_ltsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13931. extern rtx gen_while_gesivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13932. extern rtx gen_while_gtsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13933. extern rtx gen_while_ugtsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13934. extern rtx gen_while_ugesivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13935. extern rtx gen_while_rwsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13936. extern rtx gen_while_wrsivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13937. extern rtx gen_while_lesivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13938. extern rtx gen_while_ultsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13939. extern rtx gen_while_ulesivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13940. extern rtx gen_while_ltsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13941. extern rtx gen_while_gesivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13942. extern rtx gen_while_gtsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13943. extern rtx gen_while_ugtsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13944. extern rtx gen_while_ugesivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13945. extern rtx gen_while_rwsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13946. extern rtx gen_while_wrsivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13947. extern rtx gen_while_lesivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13948. extern rtx gen_while_ultsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13949. extern rtx gen_while_ulesivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13950. extern rtx gen_while_ltsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13951. extern rtx gen_while_gesivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13952. extern rtx gen_while_gtsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13953. extern rtx gen_while_ugtsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13954. extern rtx gen_while_ugesivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13955. extern rtx gen_while_rwsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13956. extern rtx gen_while_wrsivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13957. extern rtx gen_while_ledivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13958. extern rtx gen_while_ultdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13959. extern rtx gen_while_uledivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13960. extern rtx gen_while_ltdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13961. extern rtx gen_while_gedivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13962. extern rtx gen_while_gtdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13963. extern rtx gen_while_ugtdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13964. extern rtx gen_while_ugedivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13965. extern rtx gen_while_rwdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13966. extern rtx gen_while_wrdivnx16bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13967. extern rtx gen_while_ledivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13968. extern rtx gen_while_ultdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13969. extern rtx gen_while_uledivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13970. extern rtx gen_while_ltdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13971. extern rtx gen_while_gedivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13972. extern rtx gen_while_gtdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13973. extern rtx gen_while_ugtdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13974. extern rtx gen_while_ugedivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13975. extern rtx gen_while_rwdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13976. extern rtx gen_while_wrdivnx8bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13977. extern rtx gen_while_ledivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13978. extern rtx gen_while_ultdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13979. extern rtx gen_while_uledivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13980. extern rtx gen_while_ltdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13981. extern rtx gen_while_gedivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13982. extern rtx gen_while_gtdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13983. extern rtx gen_while_ugtdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13984. extern rtx gen_while_ugedivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13985. extern rtx gen_while_rwdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13986. extern rtx gen_while_wrdivnx4bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13987. extern rtx gen_while_ledivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13988. extern rtx gen_while_ultdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13989. extern rtx gen_while_uledivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13990. extern rtx gen_while_ltdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13991. extern rtx gen_while_gedivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13992. extern rtx gen_while_gtdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13993. extern rtx gen_while_ugtdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13994. extern rtx gen_while_ugedivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13995. extern rtx gen_while_rwdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13996. extern rtx gen_while_wrdivnx2bi_ptest (rtx, rtx, rtx, rtx, rtx);
  13997. extern rtx gen_aarch64_pred_fcmeqvnx8hf (rtx, rtx, rtx, rtx, rtx);
  13998. extern rtx gen_aarch64_pred_fcmgevnx8hf (rtx, rtx, rtx, rtx, rtx);
  13999. extern rtx gen_aarch64_pred_fcmgtvnx8hf (rtx, rtx, rtx, rtx, rtx);
  14000. extern rtx gen_aarch64_pred_fcmlevnx8hf (rtx, rtx, rtx, rtx, rtx);
  14001. extern rtx gen_aarch64_pred_fcmltvnx8hf (rtx, rtx, rtx, rtx, rtx);
  14002. extern rtx gen_aarch64_pred_fcmnevnx8hf (rtx, rtx, rtx, rtx, rtx);
  14003. extern rtx gen_aarch64_pred_fcmeqvnx4sf (rtx, rtx, rtx, rtx, rtx);
  14004. extern rtx gen_aarch64_pred_fcmgevnx4sf (rtx, rtx, rtx, rtx, rtx);
  14005. extern rtx gen_aarch64_pred_fcmgtvnx4sf (rtx, rtx, rtx, rtx, rtx);
  14006. extern rtx gen_aarch64_pred_fcmlevnx4sf (rtx, rtx, rtx, rtx, rtx);
  14007. extern rtx gen_aarch64_pred_fcmltvnx4sf (rtx, rtx, rtx, rtx, rtx);
  14008. extern rtx gen_aarch64_pred_fcmnevnx4sf (rtx, rtx, rtx, rtx, rtx);
  14009. extern rtx gen_aarch64_pred_fcmeqvnx2df (rtx, rtx, rtx, rtx, rtx);
  14010. extern rtx gen_aarch64_pred_fcmgevnx2df (rtx, rtx, rtx, rtx, rtx);
  14011. extern rtx gen_aarch64_pred_fcmgtvnx2df (rtx, rtx, rtx, rtx, rtx);
  14012. extern rtx gen_aarch64_pred_fcmlevnx2df (rtx, rtx, rtx, rtx, rtx);
  14013. extern rtx gen_aarch64_pred_fcmltvnx2df (rtx, rtx, rtx, rtx, rtx);
  14014. extern rtx gen_aarch64_pred_fcmnevnx2df (rtx, rtx, rtx, rtx, rtx);
  14015. extern rtx gen_aarch64_pred_fcmuovnx8hf (rtx, rtx, rtx, rtx, rtx);
  14016. extern rtx gen_aarch64_pred_fcmuovnx4sf (rtx, rtx, rtx, rtx, rtx);
  14017. extern rtx gen_aarch64_pred_fcmuovnx2df (rtx, rtx, rtx, rtx, rtx);
  14018. extern rtx gen_vcond_mask_vnx16bivnx16bi (rtx, rtx, rtx, rtx);
  14019. extern rtx gen_vcond_mask_vnx8bivnx8bi (rtx, rtx, rtx, rtx);
  14020. extern rtx gen_vcond_mask_vnx4bivnx4bi (rtx, rtx, rtx, rtx);
  14021. extern rtx gen_vcond_mask_vnx2bivnx2bi (rtx, rtx, rtx, rtx);
  14022. extern rtx gen_aarch64_ptestvnx16bi (rtx, rtx, rtx, rtx);
  14023. extern rtx gen_aarch64_ptestvnx8bi (rtx, rtx, rtx, rtx);
  14024. extern rtx gen_aarch64_ptestvnx4bi (rtx, rtx, rtx, rtx);
  14025. extern rtx gen_aarch64_ptestvnx2bi (rtx, rtx, rtx, rtx);
  14026. extern rtx gen_fold_extract_after_last_vnx16qi (rtx, rtx, rtx, rtx);
  14027. extern rtx gen_fold_extract_last_vnx16qi (rtx, rtx, rtx, rtx);
  14028. extern rtx gen_fold_extract_after_last_vnx8hi (rtx, rtx, rtx, rtx);
  14029. extern rtx gen_fold_extract_last_vnx8hi (rtx, rtx, rtx, rtx);
  14030. extern rtx gen_fold_extract_after_last_vnx4si (rtx, rtx, rtx, rtx);
  14031. extern rtx gen_fold_extract_last_vnx4si (rtx, rtx, rtx, rtx);
  14032. extern rtx gen_fold_extract_after_last_vnx2di (rtx, rtx, rtx, rtx);
  14033. extern rtx gen_fold_extract_last_vnx2di (rtx, rtx, rtx, rtx);
  14034. extern rtx gen_fold_extract_after_last_vnx8bf (rtx, rtx, rtx, rtx);
  14035. extern rtx gen_fold_extract_last_vnx8bf (rtx, rtx, rtx, rtx);
  14036. extern rtx gen_fold_extract_after_last_vnx8hf (rtx, rtx, rtx, rtx);
  14037. extern rtx gen_fold_extract_last_vnx8hf (rtx, rtx, rtx, rtx);
  14038. extern rtx gen_fold_extract_after_last_vnx4sf (rtx, rtx, rtx, rtx);
  14039. extern rtx gen_fold_extract_last_vnx4sf (rtx, rtx, rtx, rtx);
  14040. extern rtx gen_fold_extract_after_last_vnx2df (rtx, rtx, rtx, rtx);
  14041. extern rtx gen_fold_extract_last_vnx2df (rtx, rtx, rtx, rtx);
  14042. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx16qi (rtx, rtx, rtx, rtx);
  14043. extern rtx gen_aarch64_fold_extract_vector_last_vnx16qi (rtx, rtx, rtx, rtx);
  14044. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx8hi (rtx, rtx, rtx, rtx);
  14045. extern rtx gen_aarch64_fold_extract_vector_last_vnx8hi (rtx, rtx, rtx, rtx);
  14046. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx4si (rtx, rtx, rtx, rtx);
  14047. extern rtx gen_aarch64_fold_extract_vector_last_vnx4si (rtx, rtx, rtx, rtx);
  14048. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx2di (rtx, rtx, rtx, rtx);
  14049. extern rtx gen_aarch64_fold_extract_vector_last_vnx2di (rtx, rtx, rtx, rtx);
  14050. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx8bf (rtx, rtx, rtx, rtx);
  14051. extern rtx gen_aarch64_fold_extract_vector_last_vnx8bf (rtx, rtx, rtx, rtx);
  14052. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx8hf (rtx, rtx, rtx, rtx);
  14053. extern rtx gen_aarch64_fold_extract_vector_last_vnx8hf (rtx, rtx, rtx, rtx);
  14054. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx4sf (rtx, rtx, rtx, rtx);
  14055. extern rtx gen_aarch64_fold_extract_vector_last_vnx4sf (rtx, rtx, rtx, rtx);
  14056. extern rtx gen_aarch64_fold_extract_vector_after_last_vnx2df (rtx, rtx, rtx, rtx);
  14057. extern rtx gen_aarch64_fold_extract_vector_last_vnx2df (rtx, rtx, rtx, rtx);
  14058. extern rtx gen_aarch64_pred_reduc_sadd_vnx16qi (rtx, rtx, rtx);
  14059. extern rtx gen_aarch64_pred_reduc_uadd_vnx16qi (rtx, rtx, rtx);
  14060. extern rtx gen_aarch64_pred_reduc_sadd_vnx8hi (rtx, rtx, rtx);
  14061. extern rtx gen_aarch64_pred_reduc_uadd_vnx8hi (rtx, rtx, rtx);
  14062. extern rtx gen_aarch64_pred_reduc_sadd_vnx4si (rtx, rtx, rtx);
  14063. extern rtx gen_aarch64_pred_reduc_uadd_vnx4si (rtx, rtx, rtx);
  14064. static inline rtx gen_aarch64_pred_reduc_sadd_vnx2di (rtx, rtx, rtx);
  14065. static inline rtx
  14066. gen_aarch64_pred_reduc_sadd_vnx2di(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c))
  14067. {
  14068. return 0;
  14069. }
  14070. extern rtx gen_aarch64_pred_reduc_uadd_vnx2di (rtx, rtx, rtx);
  14071. extern rtx gen_aarch64_pred_reduc_and_vnx16qi (rtx, rtx, rtx);
  14072. extern rtx gen_aarch64_pred_reduc_ior_vnx16qi (rtx, rtx, rtx);
  14073. extern rtx gen_aarch64_pred_reduc_smax_vnx16qi (rtx, rtx, rtx);
  14074. extern rtx gen_aarch64_pred_reduc_smin_vnx16qi (rtx, rtx, rtx);
  14075. extern rtx gen_aarch64_pred_reduc_umax_vnx16qi (rtx, rtx, rtx);
  14076. extern rtx gen_aarch64_pred_reduc_umin_vnx16qi (rtx, rtx, rtx);
  14077. extern rtx gen_aarch64_pred_reduc_xor_vnx16qi (rtx, rtx, rtx);
  14078. extern rtx gen_aarch64_pred_reduc_and_vnx8hi (rtx, rtx, rtx);
  14079. extern rtx gen_aarch64_pred_reduc_ior_vnx8hi (rtx, rtx, rtx);
  14080. extern rtx gen_aarch64_pred_reduc_smax_vnx8hi (rtx, rtx, rtx);
  14081. extern rtx gen_aarch64_pred_reduc_smin_vnx8hi (rtx, rtx, rtx);
  14082. extern rtx gen_aarch64_pred_reduc_umax_vnx8hi (rtx, rtx, rtx);
  14083. extern rtx gen_aarch64_pred_reduc_umin_vnx8hi (rtx, rtx, rtx);
  14084. extern rtx gen_aarch64_pred_reduc_xor_vnx8hi (rtx, rtx, rtx);
  14085. extern rtx gen_aarch64_pred_reduc_and_vnx4si (rtx, rtx, rtx);
  14086. extern rtx gen_aarch64_pred_reduc_ior_vnx4si (rtx, rtx, rtx);
  14087. extern rtx gen_aarch64_pred_reduc_smax_vnx4si (rtx, rtx, rtx);
  14088. extern rtx gen_aarch64_pred_reduc_smin_vnx4si (rtx, rtx, rtx);
  14089. extern rtx gen_aarch64_pred_reduc_umax_vnx4si (rtx, rtx, rtx);
  14090. extern rtx gen_aarch64_pred_reduc_umin_vnx4si (rtx, rtx, rtx);
  14091. extern rtx gen_aarch64_pred_reduc_xor_vnx4si (rtx, rtx, rtx);
  14092. extern rtx gen_aarch64_pred_reduc_and_vnx2di (rtx, rtx, rtx);
  14093. extern rtx gen_aarch64_pred_reduc_ior_vnx2di (rtx, rtx, rtx);
  14094. extern rtx gen_aarch64_pred_reduc_smax_vnx2di (rtx, rtx, rtx);
  14095. extern rtx gen_aarch64_pred_reduc_smin_vnx2di (rtx, rtx, rtx);
  14096. extern rtx gen_aarch64_pred_reduc_umax_vnx2di (rtx, rtx, rtx);
  14097. extern rtx gen_aarch64_pred_reduc_umin_vnx2di (rtx, rtx, rtx);
  14098. extern rtx gen_aarch64_pred_reduc_xor_vnx2di (rtx, rtx, rtx);
  14099. extern rtx gen_aarch64_pred_reduc_plus_vnx8hf (rtx, rtx, rtx);
  14100. extern rtx gen_aarch64_pred_reduc_smax_nan_vnx8hf (rtx, rtx, rtx);
  14101. extern rtx gen_aarch64_pred_reduc_smax_vnx8hf (rtx, rtx, rtx);
  14102. extern rtx gen_aarch64_pred_reduc_smin_nan_vnx8hf (rtx, rtx, rtx);
  14103. extern rtx gen_aarch64_pred_reduc_smin_vnx8hf (rtx, rtx, rtx);
  14104. extern rtx gen_aarch64_pred_reduc_plus_vnx4sf (rtx, rtx, rtx);
  14105. extern rtx gen_aarch64_pred_reduc_smax_nan_vnx4sf (rtx, rtx, rtx);
  14106. extern rtx gen_aarch64_pred_reduc_smax_vnx4sf (rtx, rtx, rtx);
  14107. extern rtx gen_aarch64_pred_reduc_smin_nan_vnx4sf (rtx, rtx, rtx);
  14108. extern rtx gen_aarch64_pred_reduc_smin_vnx4sf (rtx, rtx, rtx);
  14109. extern rtx gen_aarch64_pred_reduc_plus_vnx2df (rtx, rtx, rtx);
  14110. extern rtx gen_aarch64_pred_reduc_smax_nan_vnx2df (rtx, rtx, rtx);
  14111. extern rtx gen_aarch64_pred_reduc_smax_vnx2df (rtx, rtx, rtx);
  14112. extern rtx gen_aarch64_pred_reduc_smin_nan_vnx2df (rtx, rtx, rtx);
  14113. extern rtx gen_aarch64_pred_reduc_smin_vnx2df (rtx, rtx, rtx);
  14114. extern rtx gen_mask_fold_left_plus_vnx8hf (rtx, rtx, rtx, rtx);
  14115. extern rtx gen_mask_fold_left_plus_vnx4sf (rtx, rtx, rtx, rtx);
  14116. extern rtx gen_mask_fold_left_plus_vnx2df (rtx, rtx, rtx, rtx);
  14117. extern rtx gen_aarch64_sve_tblvnx16qi (rtx, rtx, rtx);
  14118. extern rtx gen_aarch64_sve_tblvnx8hi (rtx, rtx, rtx);
  14119. extern rtx gen_aarch64_sve_tblvnx4si (rtx, rtx, rtx);
  14120. extern rtx gen_aarch64_sve_tblvnx2di (rtx, rtx, rtx);
  14121. extern rtx gen_aarch64_sve_tblvnx8bf (rtx, rtx, rtx);
  14122. extern rtx gen_aarch64_sve_tblvnx8hf (rtx, rtx, rtx);
  14123. extern rtx gen_aarch64_sve_tblvnx4sf (rtx, rtx, rtx);
  14124. extern rtx gen_aarch64_sve_tblvnx2df (rtx, rtx, rtx);
  14125. extern rtx gen_aarch64_sve_compactvnx4si (rtx, rtx, rtx);
  14126. extern rtx gen_aarch64_sve_compactvnx2di (rtx, rtx, rtx);
  14127. extern rtx gen_aarch64_sve_compactvnx4sf (rtx, rtx, rtx);
  14128. extern rtx gen_aarch64_sve_compactvnx2df (rtx, rtx, rtx);
  14129. extern rtx gen_aarch64_sve_dup_lanevnx16qi (rtx, rtx, rtx);
  14130. extern rtx gen_aarch64_sve_dup_lanevnx8hi (rtx, rtx, rtx);
  14131. extern rtx gen_aarch64_sve_dup_lanevnx4si (rtx, rtx, rtx);
  14132. extern rtx gen_aarch64_sve_dup_lanevnx2di (rtx, rtx, rtx);
  14133. extern rtx gen_aarch64_sve_dup_lanevnx8bf (rtx, rtx, rtx);
  14134. extern rtx gen_aarch64_sve_dup_lanevnx8hf (rtx, rtx, rtx);
  14135. extern rtx gen_aarch64_sve_dup_lanevnx4sf (rtx, rtx, rtx);
  14136. extern rtx gen_aarch64_sve_dup_lanevnx2df (rtx, rtx, rtx);
  14137. extern rtx gen_aarch64_sve_dupq_lanevnx16qi (rtx, rtx, rtx);
  14138. extern rtx gen_aarch64_sve_dupq_lanevnx8hi (rtx, rtx, rtx);
  14139. extern rtx gen_aarch64_sve_dupq_lanevnx4si (rtx, rtx, rtx);
  14140. extern rtx gen_aarch64_sve_dupq_lanevnx2di (rtx, rtx, rtx);
  14141. extern rtx gen_aarch64_sve_dupq_lanevnx8bf (rtx, rtx, rtx);
  14142. extern rtx gen_aarch64_sve_dupq_lanevnx8hf (rtx, rtx, rtx);
  14143. extern rtx gen_aarch64_sve_dupq_lanevnx4sf (rtx, rtx, rtx);
  14144. extern rtx gen_aarch64_sve_dupq_lanevnx2df (rtx, rtx, rtx);
  14145. extern rtx gen_aarch64_sve_revvnx16qi (rtx, rtx);
  14146. extern rtx gen_aarch64_sve_revvnx8hi (rtx, rtx);
  14147. extern rtx gen_aarch64_sve_revvnx4si (rtx, rtx);
  14148. extern rtx gen_aarch64_sve_revvnx2di (rtx, rtx);
  14149. extern rtx gen_aarch64_sve_revvnx8bf (rtx, rtx);
  14150. extern rtx gen_aarch64_sve_revvnx8hf (rtx, rtx);
  14151. extern rtx gen_aarch64_sve_revvnx4sf (rtx, rtx);
  14152. extern rtx gen_aarch64_sve_revvnx2df (rtx, rtx);
  14153. extern rtx gen_aarch64_sve_splicevnx16qi (rtx, rtx, rtx, rtx);
  14154. extern rtx gen_aarch64_sve_splicevnx8hi (rtx, rtx, rtx, rtx);
  14155. extern rtx gen_aarch64_sve_splicevnx4si (rtx, rtx, rtx, rtx);
  14156. extern rtx gen_aarch64_sve_splicevnx2di (rtx, rtx, rtx, rtx);
  14157. extern rtx gen_aarch64_sve_splicevnx8bf (rtx, rtx, rtx, rtx);
  14158. extern rtx gen_aarch64_sve_splicevnx8hf (rtx, rtx, rtx, rtx);
  14159. extern rtx gen_aarch64_sve_splicevnx4sf (rtx, rtx, rtx, rtx);
  14160. extern rtx gen_aarch64_sve_splicevnx2df (rtx, rtx, rtx, rtx);
  14161. extern rtx gen_aarch64_sve_zip1vnx16qi (rtx, rtx, rtx);
  14162. extern rtx gen_aarch64_sve_zip2vnx16qi (rtx, rtx, rtx);
  14163. extern rtx gen_aarch64_sve_trn1vnx16qi (rtx, rtx, rtx);
  14164. extern rtx gen_aarch64_sve_trn2vnx16qi (rtx, rtx, rtx);
  14165. extern rtx gen_aarch64_sve_uzp1vnx16qi (rtx, rtx, rtx);
  14166. extern rtx gen_aarch64_sve_uzp2vnx16qi (rtx, rtx, rtx);
  14167. extern rtx gen_aarch64_sve_zip1vnx8hi (rtx, rtx, rtx);
  14168. extern rtx gen_aarch64_sve_zip2vnx8hi (rtx, rtx, rtx);
  14169. extern rtx gen_aarch64_sve_trn1vnx8hi (rtx, rtx, rtx);
  14170. extern rtx gen_aarch64_sve_trn2vnx8hi (rtx, rtx, rtx);
  14171. extern rtx gen_aarch64_sve_uzp1vnx8hi (rtx, rtx, rtx);
  14172. extern rtx gen_aarch64_sve_uzp2vnx8hi (rtx, rtx, rtx);
  14173. extern rtx gen_aarch64_sve_zip1vnx4si (rtx, rtx, rtx);
  14174. extern rtx gen_aarch64_sve_zip2vnx4si (rtx, rtx, rtx);
  14175. extern rtx gen_aarch64_sve_trn1vnx4si (rtx, rtx, rtx);
  14176. extern rtx gen_aarch64_sve_trn2vnx4si (rtx, rtx, rtx);
  14177. extern rtx gen_aarch64_sve_uzp1vnx4si (rtx, rtx, rtx);
  14178. extern rtx gen_aarch64_sve_uzp2vnx4si (rtx, rtx, rtx);
  14179. extern rtx gen_aarch64_sve_zip1vnx2di (rtx, rtx, rtx);
  14180. extern rtx gen_aarch64_sve_zip2vnx2di (rtx, rtx, rtx);
  14181. extern rtx gen_aarch64_sve_trn1vnx2di (rtx, rtx, rtx);
  14182. extern rtx gen_aarch64_sve_trn2vnx2di (rtx, rtx, rtx);
  14183. extern rtx gen_aarch64_sve_uzp1vnx2di (rtx, rtx, rtx);
  14184. extern rtx gen_aarch64_sve_uzp2vnx2di (rtx, rtx, rtx);
  14185. extern rtx gen_aarch64_sve_zip1vnx8bf (rtx, rtx, rtx);
  14186. extern rtx gen_aarch64_sve_zip2vnx8bf (rtx, rtx, rtx);
  14187. extern rtx gen_aarch64_sve_trn1vnx8bf (rtx, rtx, rtx);
  14188. extern rtx gen_aarch64_sve_trn2vnx8bf (rtx, rtx, rtx);
  14189. extern rtx gen_aarch64_sve_uzp1vnx8bf (rtx, rtx, rtx);
  14190. extern rtx gen_aarch64_sve_uzp2vnx8bf (rtx, rtx, rtx);
  14191. extern rtx gen_aarch64_sve_zip1vnx8hf (rtx, rtx, rtx);
  14192. extern rtx gen_aarch64_sve_zip2vnx8hf (rtx, rtx, rtx);
  14193. extern rtx gen_aarch64_sve_trn1vnx8hf (rtx, rtx, rtx);
  14194. extern rtx gen_aarch64_sve_trn2vnx8hf (rtx, rtx, rtx);
  14195. extern rtx gen_aarch64_sve_uzp1vnx8hf (rtx, rtx, rtx);
  14196. extern rtx gen_aarch64_sve_uzp2vnx8hf (rtx, rtx, rtx);
  14197. extern rtx gen_aarch64_sve_zip1vnx4sf (rtx, rtx, rtx);
  14198. extern rtx gen_aarch64_sve_zip2vnx4sf (rtx, rtx, rtx);
  14199. extern rtx gen_aarch64_sve_trn1vnx4sf (rtx, rtx, rtx);
  14200. extern rtx gen_aarch64_sve_trn2vnx4sf (rtx, rtx, rtx);
  14201. extern rtx gen_aarch64_sve_uzp1vnx4sf (rtx, rtx, rtx);
  14202. extern rtx gen_aarch64_sve_uzp2vnx4sf (rtx, rtx, rtx);
  14203. extern rtx gen_aarch64_sve_zip1vnx2df (rtx, rtx, rtx);
  14204. extern rtx gen_aarch64_sve_zip2vnx2df (rtx, rtx, rtx);
  14205. extern rtx gen_aarch64_sve_trn1vnx2df (rtx, rtx, rtx);
  14206. extern rtx gen_aarch64_sve_trn2vnx2df (rtx, rtx, rtx);
  14207. extern rtx gen_aarch64_sve_uzp1vnx2df (rtx, rtx, rtx);
  14208. extern rtx gen_aarch64_sve_uzp2vnx2df (rtx, rtx, rtx);
  14209. extern rtx gen_aarch64_sve_zip1qvnx16qi (rtx, rtx, rtx);
  14210. extern rtx gen_aarch64_sve_zip2qvnx16qi (rtx, rtx, rtx);
  14211. extern rtx gen_aarch64_sve_trn1qvnx16qi (rtx, rtx, rtx);
  14212. extern rtx gen_aarch64_sve_trn2qvnx16qi (rtx, rtx, rtx);
  14213. extern rtx gen_aarch64_sve_uzp1qvnx16qi (rtx, rtx, rtx);
  14214. extern rtx gen_aarch64_sve_uzp2qvnx16qi (rtx, rtx, rtx);
  14215. extern rtx gen_aarch64_sve_zip1qvnx8hi (rtx, rtx, rtx);
  14216. extern rtx gen_aarch64_sve_zip2qvnx8hi (rtx, rtx, rtx);
  14217. extern rtx gen_aarch64_sve_trn1qvnx8hi (rtx, rtx, rtx);
  14218. extern rtx gen_aarch64_sve_trn2qvnx8hi (rtx, rtx, rtx);
  14219. extern rtx gen_aarch64_sve_uzp1qvnx8hi (rtx, rtx, rtx);
  14220. extern rtx gen_aarch64_sve_uzp2qvnx8hi (rtx, rtx, rtx);
  14221. extern rtx gen_aarch64_sve_zip1qvnx4si (rtx, rtx, rtx);
  14222. extern rtx gen_aarch64_sve_zip2qvnx4si (rtx, rtx, rtx);
  14223. extern rtx gen_aarch64_sve_trn1qvnx4si (rtx, rtx, rtx);
  14224. extern rtx gen_aarch64_sve_trn2qvnx4si (rtx, rtx, rtx);
  14225. extern rtx gen_aarch64_sve_uzp1qvnx4si (rtx, rtx, rtx);
  14226. extern rtx gen_aarch64_sve_uzp2qvnx4si (rtx, rtx, rtx);
  14227. extern rtx gen_aarch64_sve_zip1qvnx2di (rtx, rtx, rtx);
  14228. extern rtx gen_aarch64_sve_zip2qvnx2di (rtx, rtx, rtx);
  14229. extern rtx gen_aarch64_sve_trn1qvnx2di (rtx, rtx, rtx);
  14230. extern rtx gen_aarch64_sve_trn2qvnx2di (rtx, rtx, rtx);
  14231. extern rtx gen_aarch64_sve_uzp1qvnx2di (rtx, rtx, rtx);
  14232. extern rtx gen_aarch64_sve_uzp2qvnx2di (rtx, rtx, rtx);
  14233. extern rtx gen_aarch64_sve_zip1qvnx8bf (rtx, rtx, rtx);
  14234. extern rtx gen_aarch64_sve_zip2qvnx8bf (rtx, rtx, rtx);
  14235. extern rtx gen_aarch64_sve_trn1qvnx8bf (rtx, rtx, rtx);
  14236. extern rtx gen_aarch64_sve_trn2qvnx8bf (rtx, rtx, rtx);
  14237. extern rtx gen_aarch64_sve_uzp1qvnx8bf (rtx, rtx, rtx);
  14238. extern rtx gen_aarch64_sve_uzp2qvnx8bf (rtx, rtx, rtx);
  14239. extern rtx gen_aarch64_sve_zip1qvnx8hf (rtx, rtx, rtx);
  14240. extern rtx gen_aarch64_sve_zip2qvnx8hf (rtx, rtx, rtx);
  14241. extern rtx gen_aarch64_sve_trn1qvnx8hf (rtx, rtx, rtx);
  14242. extern rtx gen_aarch64_sve_trn2qvnx8hf (rtx, rtx, rtx);
  14243. extern rtx gen_aarch64_sve_uzp1qvnx8hf (rtx, rtx, rtx);
  14244. extern rtx gen_aarch64_sve_uzp2qvnx8hf (rtx, rtx, rtx);
  14245. extern rtx gen_aarch64_sve_zip1qvnx4sf (rtx, rtx, rtx);
  14246. extern rtx gen_aarch64_sve_zip2qvnx4sf (rtx, rtx, rtx);
  14247. extern rtx gen_aarch64_sve_trn1qvnx4sf (rtx, rtx, rtx);
  14248. extern rtx gen_aarch64_sve_trn2qvnx4sf (rtx, rtx, rtx);
  14249. extern rtx gen_aarch64_sve_uzp1qvnx4sf (rtx, rtx, rtx);
  14250. extern rtx gen_aarch64_sve_uzp2qvnx4sf (rtx, rtx, rtx);
  14251. extern rtx gen_aarch64_sve_zip1qvnx2df (rtx, rtx, rtx);
  14252. extern rtx gen_aarch64_sve_zip2qvnx2df (rtx, rtx, rtx);
  14253. extern rtx gen_aarch64_sve_trn1qvnx2df (rtx, rtx, rtx);
  14254. extern rtx gen_aarch64_sve_trn2qvnx2df (rtx, rtx, rtx);
  14255. extern rtx gen_aarch64_sve_uzp1qvnx2df (rtx, rtx, rtx);
  14256. extern rtx gen_aarch64_sve_uzp2qvnx2df (rtx, rtx, rtx);
  14257. extern rtx gen_aarch64_sve_extvnx16qi (rtx, rtx, rtx, rtx);
  14258. extern rtx gen_aarch64_sve_extvnx8hi (rtx, rtx, rtx, rtx);
  14259. extern rtx gen_aarch64_sve_extvnx4si (rtx, rtx, rtx, rtx);
  14260. extern rtx gen_aarch64_sve_extvnx2di (rtx, rtx, rtx, rtx);
  14261. extern rtx gen_aarch64_sve_extvnx8bf (rtx, rtx, rtx, rtx);
  14262. extern rtx gen_aarch64_sve_extvnx8hf (rtx, rtx, rtx, rtx);
  14263. extern rtx gen_aarch64_sve_extvnx4sf (rtx, rtx, rtx, rtx);
  14264. extern rtx gen_aarch64_sve_extvnx2df (rtx, rtx, rtx, rtx);
  14265. extern rtx gen_aarch64_sve_revvnx16bi (rtx, rtx);
  14266. extern rtx gen_aarch64_sve_revvnx8bi (rtx, rtx);
  14267. extern rtx gen_aarch64_sve_revvnx4bi (rtx, rtx);
  14268. extern rtx gen_aarch64_sve_revvnx2bi (rtx, rtx);
  14269. extern rtx gen_aarch64_sve_zip1vnx16bi (rtx, rtx, rtx);
  14270. extern rtx gen_aarch64_sve_zip2vnx16bi (rtx, rtx, rtx);
  14271. extern rtx gen_aarch64_sve_trn1vnx16bi (rtx, rtx, rtx);
  14272. extern rtx gen_aarch64_sve_trn2vnx16bi (rtx, rtx, rtx);
  14273. extern rtx gen_aarch64_sve_uzp1vnx16bi (rtx, rtx, rtx);
  14274. extern rtx gen_aarch64_sve_uzp2vnx16bi (rtx, rtx, rtx);
  14275. extern rtx gen_aarch64_sve_zip1vnx8bi (rtx, rtx, rtx);
  14276. extern rtx gen_aarch64_sve_zip2vnx8bi (rtx, rtx, rtx);
  14277. extern rtx gen_aarch64_sve_trn1vnx8bi (rtx, rtx, rtx);
  14278. extern rtx gen_aarch64_sve_trn2vnx8bi (rtx, rtx, rtx);
  14279. extern rtx gen_aarch64_sve_uzp1vnx8bi (rtx, rtx, rtx);
  14280. extern rtx gen_aarch64_sve_uzp2vnx8bi (rtx, rtx, rtx);
  14281. extern rtx gen_aarch64_sve_zip1vnx4bi (rtx, rtx, rtx);
  14282. extern rtx gen_aarch64_sve_zip2vnx4bi (rtx, rtx, rtx);
  14283. extern rtx gen_aarch64_sve_trn1vnx4bi (rtx, rtx, rtx);
  14284. extern rtx gen_aarch64_sve_trn2vnx4bi (rtx, rtx, rtx);
  14285. extern rtx gen_aarch64_sve_uzp1vnx4bi (rtx, rtx, rtx);
  14286. extern rtx gen_aarch64_sve_uzp2vnx4bi (rtx, rtx, rtx);
  14287. extern rtx gen_aarch64_sve_zip1vnx2bi (rtx, rtx, rtx);
  14288. extern rtx gen_aarch64_sve_zip2vnx2bi (rtx, rtx, rtx);
  14289. extern rtx gen_aarch64_sve_trn1vnx2bi (rtx, rtx, rtx);
  14290. extern rtx gen_aarch64_sve_trn2vnx2bi (rtx, rtx, rtx);
  14291. extern rtx gen_aarch64_sve_uzp1vnx2bi (rtx, rtx, rtx);
  14292. extern rtx gen_aarch64_sve_uzp2vnx2bi (rtx, rtx, rtx);
  14293. extern rtx gen_aarch64_sve_trn1_convvnx16bi (rtx, rtx, rtx, rtx);
  14294. extern rtx gen_aarch64_sve_trn1_convvnx8bi (rtx, rtx, rtx, rtx);
  14295. extern rtx gen_aarch64_sve_trn1_convvnx4bi (rtx, rtx, rtx, rtx);
  14296. extern rtx gen_aarch64_sve_trn1_convvnx2bi (rtx, rtx, rtx, rtx);
  14297. extern rtx gen_vec_pack_trunc_vnx8hi (rtx, rtx, rtx);
  14298. extern rtx gen_vec_pack_trunc_vnx4si (rtx, rtx, rtx);
  14299. extern rtx gen_vec_pack_trunc_vnx2di (rtx, rtx, rtx);
  14300. extern rtx gen_aarch64_sve_sunpkhi_vnx16qi (rtx, rtx);
  14301. extern rtx gen_aarch64_sve_uunpkhi_vnx16qi (rtx, rtx);
  14302. extern rtx gen_aarch64_sve_sunpklo_vnx16qi (rtx, rtx);
  14303. extern rtx gen_aarch64_sve_uunpklo_vnx16qi (rtx, rtx);
  14304. extern rtx gen_aarch64_sve_sunpkhi_vnx8hi (rtx, rtx);
  14305. extern rtx gen_aarch64_sve_uunpkhi_vnx8hi (rtx, rtx);
  14306. extern rtx gen_aarch64_sve_sunpklo_vnx8hi (rtx, rtx);
  14307. extern rtx gen_aarch64_sve_uunpklo_vnx8hi (rtx, rtx);
  14308. extern rtx gen_aarch64_sve_sunpkhi_vnx4si (rtx, rtx);
  14309. extern rtx gen_aarch64_sve_uunpkhi_vnx4si (rtx, rtx);
  14310. extern rtx gen_aarch64_sve_sunpklo_vnx4si (rtx, rtx);
  14311. extern rtx gen_aarch64_sve_uunpklo_vnx4si (rtx, rtx);
  14312. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx8hfvnx8hi (rtx, rtx, rtx, rtx);
  14313. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx8hi (rtx, rtx, rtx, rtx);
  14314. static inline rtx gen_aarch64_sve_fix_trunc_nontruncvnx4sfvnx8hi (rtx, rtx, rtx, rtx);
  14315. static inline rtx
  14316. gen_aarch64_sve_fix_trunc_nontruncvnx4sfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14317. {
  14318. return 0;
  14319. }
  14320. static inline rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx8hi (rtx, rtx, rtx, rtx);
  14321. static inline rtx
  14322. gen_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14323. {
  14324. return 0;
  14325. }
  14326. static inline rtx gen_aarch64_sve_fix_trunc_nontruncvnx2dfvnx8hi (rtx, rtx, rtx, rtx);
  14327. static inline rtx
  14328. gen_aarch64_sve_fix_trunc_nontruncvnx2dfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14329. {
  14330. return 0;
  14331. }
  14332. static inline rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx8hi (rtx, rtx, rtx, rtx);
  14333. static inline rtx
  14334. gen_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14335. {
  14336. return 0;
  14337. }
  14338. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx8hfvnx4si (rtx, rtx, rtx, rtx);
  14339. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx4si (rtx, rtx, rtx, rtx);
  14340. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx4sfvnx4si (rtx, rtx, rtx, rtx);
  14341. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx4si (rtx, rtx, rtx, rtx);
  14342. static inline rtx gen_aarch64_sve_fix_trunc_nontruncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  14343. static inline rtx
  14344. gen_aarch64_sve_fix_trunc_nontruncvnx2dfvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14345. {
  14346. return 0;
  14347. }
  14348. static inline rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  14349. static inline rtx
  14350. gen_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14351. {
  14352. return 0;
  14353. }
  14354. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx8hfvnx2di (rtx, rtx, rtx, rtx);
  14355. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx8hfvnx2di (rtx, rtx, rtx, rtx);
  14356. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx4sfvnx2di (rtx, rtx, rtx, rtx);
  14357. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx4sfvnx2di (rtx, rtx, rtx, rtx);
  14358. extern rtx gen_aarch64_sve_fix_trunc_nontruncvnx2dfvnx2di (rtx, rtx, rtx, rtx);
  14359. extern rtx gen_aarch64_sve_fixuns_trunc_nontruncvnx2dfvnx2di (rtx, rtx, rtx, rtx);
  14360. extern rtx gen_aarch64_sve_fix_trunc_truncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  14361. extern rtx gen_aarch64_sve_fixuns_trunc_truncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  14362. extern rtx gen_aarch64_sve_float_nonextendvnx8hivnx8hf (rtx, rtx, rtx, rtx);
  14363. extern rtx gen_aarch64_sve_floatuns_nonextendvnx8hivnx8hf (rtx, rtx, rtx, rtx);
  14364. static inline rtx gen_aarch64_sve_float_nonextendvnx8hivnx4sf (rtx, rtx, rtx, rtx);
  14365. static inline rtx
  14366. gen_aarch64_sve_float_nonextendvnx8hivnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14367. {
  14368. return 0;
  14369. }
  14370. static inline rtx gen_aarch64_sve_floatuns_nonextendvnx8hivnx4sf (rtx, rtx, rtx, rtx);
  14371. static inline rtx
  14372. gen_aarch64_sve_floatuns_nonextendvnx8hivnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14373. {
  14374. return 0;
  14375. }
  14376. static inline rtx gen_aarch64_sve_float_nonextendvnx8hivnx2df (rtx, rtx, rtx, rtx);
  14377. static inline rtx
  14378. gen_aarch64_sve_float_nonextendvnx8hivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14379. {
  14380. return 0;
  14381. }
  14382. static inline rtx gen_aarch64_sve_floatuns_nonextendvnx8hivnx2df (rtx, rtx, rtx, rtx);
  14383. static inline rtx
  14384. gen_aarch64_sve_floatuns_nonextendvnx8hivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14385. {
  14386. return 0;
  14387. }
  14388. extern rtx gen_aarch64_sve_float_nonextendvnx4sivnx8hf (rtx, rtx, rtx, rtx);
  14389. extern rtx gen_aarch64_sve_floatuns_nonextendvnx4sivnx8hf (rtx, rtx, rtx, rtx);
  14390. extern rtx gen_aarch64_sve_float_nonextendvnx4sivnx4sf (rtx, rtx, rtx, rtx);
  14391. extern rtx gen_aarch64_sve_floatuns_nonextendvnx4sivnx4sf (rtx, rtx, rtx, rtx);
  14392. static inline rtx gen_aarch64_sve_float_nonextendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  14393. static inline rtx
  14394. gen_aarch64_sve_float_nonextendvnx4sivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14395. {
  14396. return 0;
  14397. }
  14398. static inline rtx gen_aarch64_sve_floatuns_nonextendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  14399. static inline rtx
  14400. gen_aarch64_sve_floatuns_nonextendvnx4sivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14401. {
  14402. return 0;
  14403. }
  14404. extern rtx gen_aarch64_sve_float_nonextendvnx2divnx8hf (rtx, rtx, rtx, rtx);
  14405. extern rtx gen_aarch64_sve_floatuns_nonextendvnx2divnx8hf (rtx, rtx, rtx, rtx);
  14406. extern rtx gen_aarch64_sve_float_nonextendvnx2divnx4sf (rtx, rtx, rtx, rtx);
  14407. extern rtx gen_aarch64_sve_floatuns_nonextendvnx2divnx4sf (rtx, rtx, rtx, rtx);
  14408. extern rtx gen_aarch64_sve_float_nonextendvnx2divnx2df (rtx, rtx, rtx, rtx);
  14409. extern rtx gen_aarch64_sve_floatuns_nonextendvnx2divnx2df (rtx, rtx, rtx, rtx);
  14410. extern rtx gen_aarch64_sve_float_extendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  14411. extern rtx gen_aarch64_sve_floatuns_extendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  14412. extern rtx gen_aarch64_sve_fcvt_truncvnx4sfvnx8hf (rtx, rtx, rtx, rtx);
  14413. static inline rtx gen_aarch64_sve_fcvt_truncvnx4sfvnx4sf (rtx, rtx, rtx, rtx);
  14414. static inline rtx
  14415. gen_aarch64_sve_fcvt_truncvnx4sfvnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14416. {
  14417. return 0;
  14418. }
  14419. extern rtx gen_aarch64_sve_fcvt_truncvnx2dfvnx8hf (rtx, rtx, rtx, rtx);
  14420. extern rtx gen_aarch64_sve_fcvt_truncvnx2dfvnx4sf (rtx, rtx, rtx, rtx);
  14421. extern rtx gen_aarch64_sve_fcvt_truncvnx4sfvnx8bf (rtx, rtx, rtx, rtx);
  14422. extern rtx gen_aarch64_sve_cvtntvnx8bf (rtx, rtx, rtx, rtx);
  14423. extern rtx gen_aarch64_sve_fcvt_nontruncvnx8hfvnx4sf (rtx, rtx, rtx, rtx);
  14424. static inline rtx gen_aarch64_sve_fcvt_nontruncvnx4sfvnx4sf (rtx, rtx, rtx, rtx);
  14425. static inline rtx
  14426. gen_aarch64_sve_fcvt_nontruncvnx4sfvnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14427. {
  14428. return 0;
  14429. }
  14430. extern rtx gen_aarch64_sve_fcvt_nontruncvnx8hfvnx2df (rtx, rtx, rtx, rtx);
  14431. extern rtx gen_aarch64_sve_fcvt_nontruncvnx4sfvnx2df (rtx, rtx, rtx, rtx);
  14432. extern rtx gen_vec_pack_trunc_vnx8bi (rtx, rtx, rtx);
  14433. extern rtx gen_vec_pack_trunc_vnx4bi (rtx, rtx, rtx);
  14434. extern rtx gen_vec_pack_trunc_vnx2bi (rtx, rtx, rtx);
  14435. extern rtx gen_aarch64_sve_punpklo_vnx16bi (rtx, rtx);
  14436. extern rtx gen_aarch64_sve_punpkhi_vnx16bi (rtx, rtx);
  14437. extern rtx gen_aarch64_sve_punpklo_vnx8bi (rtx, rtx);
  14438. extern rtx gen_aarch64_sve_punpkhi_vnx8bi (rtx, rtx);
  14439. extern rtx gen_aarch64_sve_punpklo_vnx4bi (rtx, rtx);
  14440. extern rtx gen_aarch64_sve_punpkhi_vnx4bi (rtx, rtx);
  14441. extern rtx gen_aarch64_brka (rtx, rtx, rtx, rtx);
  14442. extern rtx gen_aarch64_brkb (rtx, rtx, rtx, rtx);
  14443. extern rtx gen_aarch64_brkn (rtx, rtx, rtx, rtx);
  14444. extern rtx gen_aarch64_brkpa (rtx, rtx, rtx, rtx);
  14445. extern rtx gen_aarch64_brkpb (rtx, rtx, rtx, rtx);
  14446. extern rtx gen_aarch64_sve_pfirstvnx16bi (rtx, rtx, rtx, rtx);
  14447. extern rtx gen_aarch64_sve_pnextvnx16bi (rtx, rtx, rtx, rtx);
  14448. static inline rtx gen_aarch64_sve_pfirstvnx8bi (rtx, rtx, rtx, rtx);
  14449. static inline rtx
  14450. gen_aarch64_sve_pfirstvnx8bi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14451. {
  14452. return 0;
  14453. }
  14454. extern rtx gen_aarch64_sve_pnextvnx8bi (rtx, rtx, rtx, rtx);
  14455. static inline rtx gen_aarch64_sve_pfirstvnx4bi (rtx, rtx, rtx, rtx);
  14456. static inline rtx
  14457. gen_aarch64_sve_pfirstvnx4bi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14458. {
  14459. return 0;
  14460. }
  14461. extern rtx gen_aarch64_sve_pnextvnx4bi (rtx, rtx, rtx, rtx);
  14462. static inline rtx gen_aarch64_sve_pfirstvnx2bi (rtx, rtx, rtx, rtx);
  14463. static inline rtx
  14464. gen_aarch64_sve_pfirstvnx2bi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14465. {
  14466. return 0;
  14467. }
  14468. extern rtx gen_aarch64_sve_pnextvnx2bi (rtx, rtx, rtx, rtx);
  14469. extern rtx gen_aarch64_sve_cnt_pat (rtx, rtx, rtx, rtx);
  14470. extern rtx gen_aarch64_sve_incdi_pat (rtx, rtx, rtx, rtx, rtx);
  14471. extern rtx gen_aarch64_sve_sqincdi_pat (rtx, rtx, rtx, rtx, rtx);
  14472. extern rtx gen_aarch64_sve_uqincdi_pat (rtx, rtx, rtx, rtx, rtx);
  14473. extern rtx gen_aarch64_sve_sqincsi_pat (rtx, rtx, rtx, rtx, rtx);
  14474. extern rtx gen_aarch64_sve_uqincsi_pat (rtx, rtx, rtx, rtx, rtx);
  14475. extern rtx gen_aarch64_sve_incvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14476. extern rtx gen_aarch64_sve_sqincvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14477. extern rtx gen_aarch64_sve_uqincvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14478. extern rtx gen_aarch64_sve_incvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14479. extern rtx gen_aarch64_sve_sqincvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14480. extern rtx gen_aarch64_sve_uqincvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14481. extern rtx gen_aarch64_sve_decdi_pat (rtx, rtx, rtx, rtx, rtx);
  14482. extern rtx gen_aarch64_sve_sqdecdi_pat (rtx, rtx, rtx, rtx, rtx);
  14483. extern rtx gen_aarch64_sve_uqdecdi_pat (rtx, rtx, rtx, rtx, rtx);
  14484. extern rtx gen_aarch64_sve_sqdecsi_pat (rtx, rtx, rtx, rtx, rtx);
  14485. extern rtx gen_aarch64_sve_uqdecsi_pat (rtx, rtx, rtx, rtx, rtx);
  14486. extern rtx gen_aarch64_sve_decvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14487. extern rtx gen_aarch64_sve_sqdecvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14488. extern rtx gen_aarch64_sve_uqdecvnx2di_pat (rtx, rtx, rtx, rtx, rtx);
  14489. extern rtx gen_aarch64_sve_decvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14490. extern rtx gen_aarch64_sve_sqdecvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14491. extern rtx gen_aarch64_sve_uqdecvnx4si_pat (rtx, rtx, rtx, rtx, rtx);
  14492. extern rtx gen_aarch64_pred_cntpvnx16bi (rtx, rtx, rtx, rtx);
  14493. extern rtx gen_aarch64_pred_cntpvnx8bi (rtx, rtx, rtx, rtx);
  14494. extern rtx gen_aarch64_pred_cntpvnx4bi (rtx, rtx, rtx, rtx);
  14495. extern rtx gen_aarch64_pred_cntpvnx2bi (rtx, rtx, rtx, rtx);
  14496. extern rtx gen_aarch64_gather_ldntvnx4si (rtx, rtx, rtx, rtx);
  14497. extern rtx gen_aarch64_gather_ldntvnx2di (rtx, rtx, rtx, rtx);
  14498. extern rtx gen_aarch64_gather_ldntvnx4sf (rtx, rtx, rtx, rtx);
  14499. extern rtx gen_aarch64_gather_ldntvnx2df (rtx, rtx, rtx, rtx);
  14500. static inline rtx gen_aarch64_gather_ldnt_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx, rtx);
  14501. static inline rtx
  14502. gen_aarch64_gather_ldnt_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14503. {
  14504. return 0;
  14505. }
  14506. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx8qi (rtx, rtx, rtx, rtx, rtx);
  14507. static inline rtx
  14508. gen_aarch64_gather_ldnt_zero_extendvnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14509. {
  14510. return 0;
  14511. }
  14512. static inline rtx gen_aarch64_gather_ldnt_extendvnx2divnx8qi (rtx, rtx, rtx, rtx, rtx);
  14513. static inline rtx
  14514. gen_aarch64_gather_ldnt_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14515. {
  14516. return 0;
  14517. }
  14518. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx8qi (rtx, rtx, rtx, rtx, rtx);
  14519. static inline rtx
  14520. gen_aarch64_gather_ldnt_zero_extendvnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14521. {
  14522. return 0;
  14523. }
  14524. extern rtx gen_aarch64_gather_ldnt_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx);
  14525. extern rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx4qi (rtx, rtx, rtx, rtx, rtx);
  14526. static inline rtx gen_aarch64_gather_ldnt_extendvnx2divnx4qi (rtx, rtx, rtx, rtx, rtx);
  14527. static inline rtx
  14528. gen_aarch64_gather_ldnt_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14529. {
  14530. return 0;
  14531. }
  14532. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx4qi (rtx, rtx, rtx, rtx, rtx);
  14533. static inline rtx
  14534. gen_aarch64_gather_ldnt_zero_extendvnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14535. {
  14536. return 0;
  14537. }
  14538. static inline rtx gen_aarch64_gather_ldnt_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx, rtx);
  14539. static inline rtx
  14540. gen_aarch64_gather_ldnt_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14541. {
  14542. return 0;
  14543. }
  14544. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2qi (rtx, rtx, rtx, rtx, rtx);
  14545. static inline rtx
  14546. gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14547. {
  14548. return 0;
  14549. }
  14550. extern rtx gen_aarch64_gather_ldnt_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx);
  14551. extern rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx2qi (rtx, rtx, rtx, rtx, rtx);
  14552. extern rtx gen_aarch64_gather_ldnt_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx);
  14553. extern rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx4hi (rtx, rtx, rtx, rtx, rtx);
  14554. static inline rtx gen_aarch64_gather_ldnt_extendvnx2divnx4hi (rtx, rtx, rtx, rtx, rtx);
  14555. static inline rtx
  14556. gen_aarch64_gather_ldnt_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14557. {
  14558. return 0;
  14559. }
  14560. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx4hi (rtx, rtx, rtx, rtx, rtx);
  14561. static inline rtx
  14562. gen_aarch64_gather_ldnt_zero_extendvnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14563. {
  14564. return 0;
  14565. }
  14566. static inline rtx gen_aarch64_gather_ldnt_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx, rtx);
  14567. static inline rtx
  14568. gen_aarch64_gather_ldnt_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14569. {
  14570. return 0;
  14571. }
  14572. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2hi (rtx, rtx, rtx, rtx, rtx);
  14573. static inline rtx
  14574. gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14575. {
  14576. return 0;
  14577. }
  14578. extern rtx gen_aarch64_gather_ldnt_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx);
  14579. extern rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx2hi (rtx, rtx, rtx, rtx, rtx);
  14580. static inline rtx gen_aarch64_gather_ldnt_extendvnx4sivnx2si (rtx, rtx, rtx, rtx, rtx);
  14581. static inline rtx
  14582. gen_aarch64_gather_ldnt_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14583. {
  14584. return 0;
  14585. }
  14586. static inline rtx gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2si (rtx, rtx, rtx, rtx, rtx);
  14587. static inline rtx
  14588. gen_aarch64_gather_ldnt_zero_extendvnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d), rtx ARG_UNUSED (e))
  14589. {
  14590. return 0;
  14591. }
  14592. extern rtx gen_aarch64_gather_ldnt_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx);
  14593. extern rtx gen_aarch64_gather_ldnt_zero_extendvnx2divnx2si (rtx, rtx, rtx, rtx, rtx);
  14594. extern rtx gen_aarch64_scatter_stntvnx4si (rtx, rtx, rtx, rtx);
  14595. extern rtx gen_aarch64_scatter_stntvnx2di (rtx, rtx, rtx, rtx);
  14596. extern rtx gen_aarch64_scatter_stntvnx4sf (rtx, rtx, rtx, rtx);
  14597. extern rtx gen_aarch64_scatter_stntvnx2df (rtx, rtx, rtx, rtx);
  14598. static inline rtx gen_aarch64_scatter_stnt_vnx4sivnx8qi (rtx, rtx, rtx, rtx);
  14599. static inline rtx
  14600. gen_aarch64_scatter_stnt_vnx4sivnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14601. {
  14602. return 0;
  14603. }
  14604. static inline rtx gen_aarch64_scatter_stnt_vnx2divnx8qi (rtx, rtx, rtx, rtx);
  14605. static inline rtx
  14606. gen_aarch64_scatter_stnt_vnx2divnx8qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14607. {
  14608. return 0;
  14609. }
  14610. extern rtx gen_aarch64_scatter_stnt_vnx4sivnx4qi (rtx, rtx, rtx, rtx);
  14611. static inline rtx gen_aarch64_scatter_stnt_vnx2divnx4qi (rtx, rtx, rtx, rtx);
  14612. static inline rtx
  14613. gen_aarch64_scatter_stnt_vnx2divnx4qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14614. {
  14615. return 0;
  14616. }
  14617. static inline rtx gen_aarch64_scatter_stnt_vnx4sivnx2qi (rtx, rtx, rtx, rtx);
  14618. static inline rtx
  14619. gen_aarch64_scatter_stnt_vnx4sivnx2qi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14620. {
  14621. return 0;
  14622. }
  14623. extern rtx gen_aarch64_scatter_stnt_vnx2divnx2qi (rtx, rtx, rtx, rtx);
  14624. extern rtx gen_aarch64_scatter_stnt_vnx4sivnx4hi (rtx, rtx, rtx, rtx);
  14625. static inline rtx gen_aarch64_scatter_stnt_vnx2divnx4hi (rtx, rtx, rtx, rtx);
  14626. static inline rtx
  14627. gen_aarch64_scatter_stnt_vnx2divnx4hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14628. {
  14629. return 0;
  14630. }
  14631. static inline rtx gen_aarch64_scatter_stnt_vnx4sivnx2hi (rtx, rtx, rtx, rtx);
  14632. static inline rtx
  14633. gen_aarch64_scatter_stnt_vnx4sivnx2hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14634. {
  14635. return 0;
  14636. }
  14637. extern rtx gen_aarch64_scatter_stnt_vnx2divnx2hi (rtx, rtx, rtx, rtx);
  14638. static inline rtx gen_aarch64_scatter_stnt_vnx4sivnx2si (rtx, rtx, rtx, rtx);
  14639. static inline rtx
  14640. gen_aarch64_scatter_stnt_vnx4sivnx2si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  14641. {
  14642. return 0;
  14643. }
  14644. extern rtx gen_aarch64_scatter_stnt_vnx2divnx2si (rtx, rtx, rtx, rtx);
  14645. extern rtx gen_aarch64_mul_lane_vnx8hi (rtx, rtx, rtx, rtx);
  14646. extern rtx gen_aarch64_mul_lane_vnx4si (rtx, rtx, rtx, rtx);
  14647. extern rtx gen_aarch64_mul_lane_vnx2di (rtx, rtx, rtx, rtx);
  14648. extern rtx gen_aarch64_sve_suqaddvnx16qi_const (rtx, rtx, rtx);
  14649. extern rtx gen_aarch64_sve_suqaddvnx8hi_const (rtx, rtx, rtx);
  14650. extern rtx gen_aarch64_sve_suqaddvnx4si_const (rtx, rtx, rtx);
  14651. extern rtx gen_aarch64_sve_suqaddvnx2di_const (rtx, rtx, rtx);
  14652. extern rtx gen_aarch64_pred_shaddvnx16qi (rtx, rtx, rtx, rtx);
  14653. extern rtx gen_aarch64_pred_shsubvnx16qi (rtx, rtx, rtx, rtx);
  14654. extern rtx gen_aarch64_pred_sqrshlvnx16qi (rtx, rtx, rtx, rtx);
  14655. extern rtx gen_aarch64_pred_srhaddvnx16qi (rtx, rtx, rtx, rtx);
  14656. extern rtx gen_aarch64_pred_srshlvnx16qi (rtx, rtx, rtx, rtx);
  14657. extern rtx gen_aarch64_pred_uhaddvnx16qi (rtx, rtx, rtx, rtx);
  14658. extern rtx gen_aarch64_pred_uhsubvnx16qi (rtx, rtx, rtx, rtx);
  14659. extern rtx gen_aarch64_pred_uqrshlvnx16qi (rtx, rtx, rtx, rtx);
  14660. extern rtx gen_aarch64_pred_urhaddvnx16qi (rtx, rtx, rtx, rtx);
  14661. extern rtx gen_aarch64_pred_urshlvnx16qi (rtx, rtx, rtx, rtx);
  14662. extern rtx gen_aarch64_pred_shaddvnx8hi (rtx, rtx, rtx, rtx);
  14663. extern rtx gen_aarch64_pred_shsubvnx8hi (rtx, rtx, rtx, rtx);
  14664. extern rtx gen_aarch64_pred_sqrshlvnx8hi (rtx, rtx, rtx, rtx);
  14665. extern rtx gen_aarch64_pred_srhaddvnx8hi (rtx, rtx, rtx, rtx);
  14666. extern rtx gen_aarch64_pred_srshlvnx8hi (rtx, rtx, rtx, rtx);
  14667. extern rtx gen_aarch64_pred_uhaddvnx8hi (rtx, rtx, rtx, rtx);
  14668. extern rtx gen_aarch64_pred_uhsubvnx8hi (rtx, rtx, rtx, rtx);
  14669. extern rtx gen_aarch64_pred_uqrshlvnx8hi (rtx, rtx, rtx, rtx);
  14670. extern rtx gen_aarch64_pred_urhaddvnx8hi (rtx, rtx, rtx, rtx);
  14671. extern rtx gen_aarch64_pred_urshlvnx8hi (rtx, rtx, rtx, rtx);
  14672. extern rtx gen_aarch64_pred_shaddvnx4si (rtx, rtx, rtx, rtx);
  14673. extern rtx gen_aarch64_pred_shsubvnx4si (rtx, rtx, rtx, rtx);
  14674. extern rtx gen_aarch64_pred_sqrshlvnx4si (rtx, rtx, rtx, rtx);
  14675. extern rtx gen_aarch64_pred_srhaddvnx4si (rtx, rtx, rtx, rtx);
  14676. extern rtx gen_aarch64_pred_srshlvnx4si (rtx, rtx, rtx, rtx);
  14677. extern rtx gen_aarch64_pred_uhaddvnx4si (rtx, rtx, rtx, rtx);
  14678. extern rtx gen_aarch64_pred_uhsubvnx4si (rtx, rtx, rtx, rtx);
  14679. extern rtx gen_aarch64_pred_uqrshlvnx4si (rtx, rtx, rtx, rtx);
  14680. extern rtx gen_aarch64_pred_urhaddvnx4si (rtx, rtx, rtx, rtx);
  14681. extern rtx gen_aarch64_pred_urshlvnx4si (rtx, rtx, rtx, rtx);
  14682. extern rtx gen_aarch64_pred_shaddvnx2di (rtx, rtx, rtx, rtx);
  14683. extern rtx gen_aarch64_pred_shsubvnx2di (rtx, rtx, rtx, rtx);
  14684. extern rtx gen_aarch64_pred_sqrshlvnx2di (rtx, rtx, rtx, rtx);
  14685. extern rtx gen_aarch64_pred_srhaddvnx2di (rtx, rtx, rtx, rtx);
  14686. extern rtx gen_aarch64_pred_srshlvnx2di (rtx, rtx, rtx, rtx);
  14687. extern rtx gen_aarch64_pred_uhaddvnx2di (rtx, rtx, rtx, rtx);
  14688. extern rtx gen_aarch64_pred_uhsubvnx2di (rtx, rtx, rtx, rtx);
  14689. extern rtx gen_aarch64_pred_uqrshlvnx2di (rtx, rtx, rtx, rtx);
  14690. extern rtx gen_aarch64_pred_urhaddvnx2di (rtx, rtx, rtx, rtx);
  14691. extern rtx gen_aarch64_pred_urshlvnx2di (rtx, rtx, rtx, rtx);
  14692. extern rtx gen_aarch64_sve_sqdmulhvnx16qi (rtx, rtx, rtx);
  14693. extern rtx gen_aarch64_sve_sqrdmulhvnx16qi (rtx, rtx, rtx);
  14694. extern rtx gen_aarch64_sve_sqdmulhvnx8hi (rtx, rtx, rtx);
  14695. extern rtx gen_aarch64_sve_sqrdmulhvnx8hi (rtx, rtx, rtx);
  14696. extern rtx gen_aarch64_sve_sqdmulhvnx4si (rtx, rtx, rtx);
  14697. extern rtx gen_aarch64_sve_sqrdmulhvnx4si (rtx, rtx, rtx);
  14698. extern rtx gen_aarch64_sve_sqdmulhvnx2di (rtx, rtx, rtx);
  14699. extern rtx gen_aarch64_sve_sqrdmulhvnx2di (rtx, rtx, rtx);
  14700. extern rtx gen_aarch64_sve_sqdmulh_lane_vnx8hi (rtx, rtx, rtx, rtx);
  14701. extern rtx gen_aarch64_sve_sqrdmulh_lane_vnx8hi (rtx, rtx, rtx, rtx);
  14702. extern rtx gen_aarch64_sve_sqdmulh_lane_vnx4si (rtx, rtx, rtx, rtx);
  14703. extern rtx gen_aarch64_sve_sqrdmulh_lane_vnx4si (rtx, rtx, rtx, rtx);
  14704. extern rtx gen_aarch64_sve_sqdmulh_lane_vnx2di (rtx, rtx, rtx, rtx);
  14705. extern rtx gen_aarch64_sve_sqrdmulh_lane_vnx2di (rtx, rtx, rtx, rtx);
  14706. extern rtx gen_aarch64_pred_sqshlvnx16qi (rtx, rtx, rtx, rtx);
  14707. extern rtx gen_aarch64_pred_uqshlvnx16qi (rtx, rtx, rtx, rtx);
  14708. extern rtx gen_aarch64_pred_sqshlvnx8hi (rtx, rtx, rtx, rtx);
  14709. extern rtx gen_aarch64_pred_uqshlvnx8hi (rtx, rtx, rtx, rtx);
  14710. extern rtx gen_aarch64_pred_sqshlvnx4si (rtx, rtx, rtx, rtx);
  14711. extern rtx gen_aarch64_pred_uqshlvnx4si (rtx, rtx, rtx, rtx);
  14712. extern rtx gen_aarch64_pred_sqshlvnx2di (rtx, rtx, rtx, rtx);
  14713. extern rtx gen_aarch64_pred_uqshlvnx2di (rtx, rtx, rtx, rtx);
  14714. extern rtx gen_aarch64_sve_adclbvnx16qi (rtx, rtx, rtx, rtx);
  14715. extern rtx gen_aarch64_sve_adcltvnx16qi (rtx, rtx, rtx, rtx);
  14716. extern rtx gen_aarch64_sve_eorbtvnx16qi (rtx, rtx, rtx, rtx);
  14717. extern rtx gen_aarch64_sve_eortbvnx16qi (rtx, rtx, rtx, rtx);
  14718. extern rtx gen_aarch64_sve_sbclbvnx16qi (rtx, rtx, rtx, rtx);
  14719. extern rtx gen_aarch64_sve_sbcltvnx16qi (rtx, rtx, rtx, rtx);
  14720. extern rtx gen_aarch64_sve_sqrdmlahvnx16qi (rtx, rtx, rtx, rtx);
  14721. extern rtx gen_aarch64_sve_sqrdmlshvnx16qi (rtx, rtx, rtx, rtx);
  14722. extern rtx gen_aarch64_sve_adclbvnx8hi (rtx, rtx, rtx, rtx);
  14723. extern rtx gen_aarch64_sve_adcltvnx8hi (rtx, rtx, rtx, rtx);
  14724. extern rtx gen_aarch64_sve_eorbtvnx8hi (rtx, rtx, rtx, rtx);
  14725. extern rtx gen_aarch64_sve_eortbvnx8hi (rtx, rtx, rtx, rtx);
  14726. extern rtx gen_aarch64_sve_sbclbvnx8hi (rtx, rtx, rtx, rtx);
  14727. extern rtx gen_aarch64_sve_sbcltvnx8hi (rtx, rtx, rtx, rtx);
  14728. extern rtx gen_aarch64_sve_sqrdmlahvnx8hi (rtx, rtx, rtx, rtx);
  14729. extern rtx gen_aarch64_sve_sqrdmlshvnx8hi (rtx, rtx, rtx, rtx);
  14730. extern rtx gen_aarch64_sve_adclbvnx4si (rtx, rtx, rtx, rtx);
  14731. extern rtx gen_aarch64_sve_adcltvnx4si (rtx, rtx, rtx, rtx);
  14732. extern rtx gen_aarch64_sve_eorbtvnx4si (rtx, rtx, rtx, rtx);
  14733. extern rtx gen_aarch64_sve_eortbvnx4si (rtx, rtx, rtx, rtx);
  14734. extern rtx gen_aarch64_sve_sbclbvnx4si (rtx, rtx, rtx, rtx);
  14735. extern rtx gen_aarch64_sve_sbcltvnx4si (rtx, rtx, rtx, rtx);
  14736. extern rtx gen_aarch64_sve_sqrdmlahvnx4si (rtx, rtx, rtx, rtx);
  14737. extern rtx gen_aarch64_sve_sqrdmlshvnx4si (rtx, rtx, rtx, rtx);
  14738. extern rtx gen_aarch64_sve_adclbvnx2di (rtx, rtx, rtx, rtx);
  14739. extern rtx gen_aarch64_sve_adcltvnx2di (rtx, rtx, rtx, rtx);
  14740. extern rtx gen_aarch64_sve_eorbtvnx2di (rtx, rtx, rtx, rtx);
  14741. extern rtx gen_aarch64_sve_eortbvnx2di (rtx, rtx, rtx, rtx);
  14742. extern rtx gen_aarch64_sve_sbclbvnx2di (rtx, rtx, rtx, rtx);
  14743. extern rtx gen_aarch64_sve_sbcltvnx2di (rtx, rtx, rtx, rtx);
  14744. extern rtx gen_aarch64_sve_sqrdmlahvnx2di (rtx, rtx, rtx, rtx);
  14745. extern rtx gen_aarch64_sve_sqrdmlshvnx2di (rtx, rtx, rtx, rtx);
  14746. extern rtx gen_aarch64_sve_sqrdmlah_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  14747. extern rtx gen_aarch64_sve_sqrdmlsh_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  14748. extern rtx gen_aarch64_sve_sqrdmlah_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14749. extern rtx gen_aarch64_sve_sqrdmlsh_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14750. extern rtx gen_aarch64_sve_sqrdmlah_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14751. extern rtx gen_aarch64_sve_sqrdmlsh_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14752. extern rtx gen_aarch64_sve_add_mul_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  14753. extern rtx gen_aarch64_sve_add_mul_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14754. extern rtx gen_aarch64_sve_add_mul_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14755. extern rtx gen_aarch64_sve_sub_mul_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  14756. extern rtx gen_aarch64_sve_sub_mul_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14757. extern rtx gen_aarch64_sve_sub_mul_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14758. extern rtx gen_aarch64_sve2_xarvnx16qi (rtx, rtx, rtx, rtx);
  14759. extern rtx gen_aarch64_sve2_xarvnx8hi (rtx, rtx, rtx, rtx);
  14760. extern rtx gen_aarch64_sve2_xarvnx4si (rtx, rtx, rtx, rtx);
  14761. extern rtx gen_aarch64_sve2_xarvnx2di (rtx, rtx, rtx, rtx);
  14762. extern rtx gen_aarch64_sve2_eor3vnx16qi (rtx, rtx, rtx, rtx);
  14763. extern rtx gen_aarch64_sve2_eor3vnx8hi (rtx, rtx, rtx, rtx);
  14764. extern rtx gen_aarch64_sve2_eor3vnx4si (rtx, rtx, rtx, rtx);
  14765. extern rtx gen_aarch64_sve2_eor3vnx2di (rtx, rtx, rtx, rtx);
  14766. extern rtx gen_aarch64_sve_add_srshrvnx16qi (rtx, rtx, rtx, rtx);
  14767. extern rtx gen_aarch64_sve_add_urshrvnx16qi (rtx, rtx, rtx, rtx);
  14768. extern rtx gen_aarch64_sve_add_srshrvnx8hi (rtx, rtx, rtx, rtx);
  14769. extern rtx gen_aarch64_sve_add_urshrvnx8hi (rtx, rtx, rtx, rtx);
  14770. extern rtx gen_aarch64_sve_add_srshrvnx4si (rtx, rtx, rtx, rtx);
  14771. extern rtx gen_aarch64_sve_add_urshrvnx4si (rtx, rtx, rtx, rtx);
  14772. extern rtx gen_aarch64_sve_add_srshrvnx2di (rtx, rtx, rtx, rtx);
  14773. extern rtx gen_aarch64_sve_add_urshrvnx2di (rtx, rtx, rtx, rtx);
  14774. extern rtx gen_aarch64_sve_slivnx16qi (rtx, rtx, rtx, rtx);
  14775. extern rtx gen_aarch64_sve_srivnx16qi (rtx, rtx, rtx, rtx);
  14776. extern rtx gen_aarch64_sve_slivnx8hi (rtx, rtx, rtx, rtx);
  14777. extern rtx gen_aarch64_sve_srivnx8hi (rtx, rtx, rtx, rtx);
  14778. extern rtx gen_aarch64_sve_slivnx4si (rtx, rtx, rtx, rtx);
  14779. extern rtx gen_aarch64_sve_srivnx4si (rtx, rtx, rtx, rtx);
  14780. extern rtx gen_aarch64_sve_slivnx2di (rtx, rtx, rtx, rtx);
  14781. extern rtx gen_aarch64_sve_srivnx2di (rtx, rtx, rtx, rtx);
  14782. extern rtx gen_aarch64_sve_saddwbvnx8hi (rtx, rtx, rtx);
  14783. extern rtx gen_aarch64_sve_saddwtvnx8hi (rtx, rtx, rtx);
  14784. extern rtx gen_aarch64_sve_ssubwbvnx8hi (rtx, rtx, rtx);
  14785. extern rtx gen_aarch64_sve_ssubwtvnx8hi (rtx, rtx, rtx);
  14786. extern rtx gen_aarch64_sve_uaddwbvnx8hi (rtx, rtx, rtx);
  14787. extern rtx gen_aarch64_sve_uaddwtvnx8hi (rtx, rtx, rtx);
  14788. extern rtx gen_aarch64_sve_usubwbvnx8hi (rtx, rtx, rtx);
  14789. extern rtx gen_aarch64_sve_usubwtvnx8hi (rtx, rtx, rtx);
  14790. extern rtx gen_aarch64_sve_saddwbvnx4si (rtx, rtx, rtx);
  14791. extern rtx gen_aarch64_sve_saddwtvnx4si (rtx, rtx, rtx);
  14792. extern rtx gen_aarch64_sve_ssubwbvnx4si (rtx, rtx, rtx);
  14793. extern rtx gen_aarch64_sve_ssubwtvnx4si (rtx, rtx, rtx);
  14794. extern rtx gen_aarch64_sve_uaddwbvnx4si (rtx, rtx, rtx);
  14795. extern rtx gen_aarch64_sve_uaddwtvnx4si (rtx, rtx, rtx);
  14796. extern rtx gen_aarch64_sve_usubwbvnx4si (rtx, rtx, rtx);
  14797. extern rtx gen_aarch64_sve_usubwtvnx4si (rtx, rtx, rtx);
  14798. extern rtx gen_aarch64_sve_saddwbvnx2di (rtx, rtx, rtx);
  14799. extern rtx gen_aarch64_sve_saddwtvnx2di (rtx, rtx, rtx);
  14800. extern rtx gen_aarch64_sve_ssubwbvnx2di (rtx, rtx, rtx);
  14801. extern rtx gen_aarch64_sve_ssubwtvnx2di (rtx, rtx, rtx);
  14802. extern rtx gen_aarch64_sve_uaddwbvnx2di (rtx, rtx, rtx);
  14803. extern rtx gen_aarch64_sve_uaddwtvnx2di (rtx, rtx, rtx);
  14804. extern rtx gen_aarch64_sve_usubwbvnx2di (rtx, rtx, rtx);
  14805. extern rtx gen_aarch64_sve_usubwtvnx2di (rtx, rtx, rtx);
  14806. extern rtx gen_aarch64_sve_sabdlbvnx8hi (rtx, rtx, rtx);
  14807. extern rtx gen_aarch64_sve_sabdltvnx8hi (rtx, rtx, rtx);
  14808. extern rtx gen_aarch64_sve_saddlbvnx8hi (rtx, rtx, rtx);
  14809. extern rtx gen_aarch64_sve_saddlbtvnx8hi (rtx, rtx, rtx);
  14810. extern rtx gen_aarch64_sve_saddltvnx8hi (rtx, rtx, rtx);
  14811. extern rtx gen_aarch64_sve_smullbvnx8hi (rtx, rtx, rtx);
  14812. extern rtx gen_aarch64_sve_smulltvnx8hi (rtx, rtx, rtx);
  14813. extern rtx gen_aarch64_sve_sqdmullbvnx8hi (rtx, rtx, rtx);
  14814. extern rtx gen_aarch64_sve_sqdmulltvnx8hi (rtx, rtx, rtx);
  14815. extern rtx gen_aarch64_sve_ssublbvnx8hi (rtx, rtx, rtx);
  14816. extern rtx gen_aarch64_sve_ssublbtvnx8hi (rtx, rtx, rtx);
  14817. extern rtx gen_aarch64_sve_ssubltvnx8hi (rtx, rtx, rtx);
  14818. extern rtx gen_aarch64_sve_ssubltbvnx8hi (rtx, rtx, rtx);
  14819. extern rtx gen_aarch64_sve_uabdlbvnx8hi (rtx, rtx, rtx);
  14820. extern rtx gen_aarch64_sve_uabdltvnx8hi (rtx, rtx, rtx);
  14821. extern rtx gen_aarch64_sve_uaddlbvnx8hi (rtx, rtx, rtx);
  14822. extern rtx gen_aarch64_sve_uaddltvnx8hi (rtx, rtx, rtx);
  14823. extern rtx gen_aarch64_sve_umullbvnx8hi (rtx, rtx, rtx);
  14824. extern rtx gen_aarch64_sve_umulltvnx8hi (rtx, rtx, rtx);
  14825. extern rtx gen_aarch64_sve_usublbvnx8hi (rtx, rtx, rtx);
  14826. extern rtx gen_aarch64_sve_usubltvnx8hi (rtx, rtx, rtx);
  14827. extern rtx gen_aarch64_sve_sabdlbvnx4si (rtx, rtx, rtx);
  14828. extern rtx gen_aarch64_sve_sabdltvnx4si (rtx, rtx, rtx);
  14829. extern rtx gen_aarch64_sve_saddlbvnx4si (rtx, rtx, rtx);
  14830. extern rtx gen_aarch64_sve_saddlbtvnx4si (rtx, rtx, rtx);
  14831. extern rtx gen_aarch64_sve_saddltvnx4si (rtx, rtx, rtx);
  14832. extern rtx gen_aarch64_sve_smullbvnx4si (rtx, rtx, rtx);
  14833. extern rtx gen_aarch64_sve_smulltvnx4si (rtx, rtx, rtx);
  14834. extern rtx gen_aarch64_sve_sqdmullbvnx4si (rtx, rtx, rtx);
  14835. extern rtx gen_aarch64_sve_sqdmulltvnx4si (rtx, rtx, rtx);
  14836. extern rtx gen_aarch64_sve_ssublbvnx4si (rtx, rtx, rtx);
  14837. extern rtx gen_aarch64_sve_ssublbtvnx4si (rtx, rtx, rtx);
  14838. extern rtx gen_aarch64_sve_ssubltvnx4si (rtx, rtx, rtx);
  14839. extern rtx gen_aarch64_sve_ssubltbvnx4si (rtx, rtx, rtx);
  14840. extern rtx gen_aarch64_sve_uabdlbvnx4si (rtx, rtx, rtx);
  14841. extern rtx gen_aarch64_sve_uabdltvnx4si (rtx, rtx, rtx);
  14842. extern rtx gen_aarch64_sve_uaddlbvnx4si (rtx, rtx, rtx);
  14843. extern rtx gen_aarch64_sve_uaddltvnx4si (rtx, rtx, rtx);
  14844. extern rtx gen_aarch64_sve_umullbvnx4si (rtx, rtx, rtx);
  14845. extern rtx gen_aarch64_sve_umulltvnx4si (rtx, rtx, rtx);
  14846. extern rtx gen_aarch64_sve_usublbvnx4si (rtx, rtx, rtx);
  14847. extern rtx gen_aarch64_sve_usubltvnx4si (rtx, rtx, rtx);
  14848. extern rtx gen_aarch64_sve_sabdlbvnx2di (rtx, rtx, rtx);
  14849. extern rtx gen_aarch64_sve_sabdltvnx2di (rtx, rtx, rtx);
  14850. extern rtx gen_aarch64_sve_saddlbvnx2di (rtx, rtx, rtx);
  14851. extern rtx gen_aarch64_sve_saddlbtvnx2di (rtx, rtx, rtx);
  14852. extern rtx gen_aarch64_sve_saddltvnx2di (rtx, rtx, rtx);
  14853. extern rtx gen_aarch64_sve_smullbvnx2di (rtx, rtx, rtx);
  14854. extern rtx gen_aarch64_sve_smulltvnx2di (rtx, rtx, rtx);
  14855. extern rtx gen_aarch64_sve_sqdmullbvnx2di (rtx, rtx, rtx);
  14856. extern rtx gen_aarch64_sve_sqdmulltvnx2di (rtx, rtx, rtx);
  14857. extern rtx gen_aarch64_sve_ssublbvnx2di (rtx, rtx, rtx);
  14858. extern rtx gen_aarch64_sve_ssublbtvnx2di (rtx, rtx, rtx);
  14859. extern rtx gen_aarch64_sve_ssubltvnx2di (rtx, rtx, rtx);
  14860. extern rtx gen_aarch64_sve_ssubltbvnx2di (rtx, rtx, rtx);
  14861. extern rtx gen_aarch64_sve_uabdlbvnx2di (rtx, rtx, rtx);
  14862. extern rtx gen_aarch64_sve_uabdltvnx2di (rtx, rtx, rtx);
  14863. extern rtx gen_aarch64_sve_uaddlbvnx2di (rtx, rtx, rtx);
  14864. extern rtx gen_aarch64_sve_uaddltvnx2di (rtx, rtx, rtx);
  14865. extern rtx gen_aarch64_sve_umullbvnx2di (rtx, rtx, rtx);
  14866. extern rtx gen_aarch64_sve_umulltvnx2di (rtx, rtx, rtx);
  14867. extern rtx gen_aarch64_sve_usublbvnx2di (rtx, rtx, rtx);
  14868. extern rtx gen_aarch64_sve_usubltvnx2di (rtx, rtx, rtx);
  14869. extern rtx gen_aarch64_sve_smullb_lane_vnx4si (rtx, rtx, rtx, rtx);
  14870. extern rtx gen_aarch64_sve_smullt_lane_vnx4si (rtx, rtx, rtx, rtx);
  14871. extern rtx gen_aarch64_sve_sqdmullb_lane_vnx4si (rtx, rtx, rtx, rtx);
  14872. extern rtx gen_aarch64_sve_sqdmullt_lane_vnx4si (rtx, rtx, rtx, rtx);
  14873. extern rtx gen_aarch64_sve_umullb_lane_vnx4si (rtx, rtx, rtx, rtx);
  14874. extern rtx gen_aarch64_sve_umullt_lane_vnx4si (rtx, rtx, rtx, rtx);
  14875. extern rtx gen_aarch64_sve_smullb_lane_vnx2di (rtx, rtx, rtx, rtx);
  14876. extern rtx gen_aarch64_sve_smullt_lane_vnx2di (rtx, rtx, rtx, rtx);
  14877. extern rtx gen_aarch64_sve_sqdmullb_lane_vnx2di (rtx, rtx, rtx, rtx);
  14878. extern rtx gen_aarch64_sve_sqdmullt_lane_vnx2di (rtx, rtx, rtx, rtx);
  14879. extern rtx gen_aarch64_sve_umullb_lane_vnx2di (rtx, rtx, rtx, rtx);
  14880. extern rtx gen_aarch64_sve_umullt_lane_vnx2di (rtx, rtx, rtx, rtx);
  14881. extern rtx gen_aarch64_sve_sshllbvnx8hi (rtx, rtx, rtx);
  14882. extern rtx gen_aarch64_sve_sshlltvnx8hi (rtx, rtx, rtx);
  14883. extern rtx gen_aarch64_sve_ushllbvnx8hi (rtx, rtx, rtx);
  14884. extern rtx gen_aarch64_sve_ushlltvnx8hi (rtx, rtx, rtx);
  14885. extern rtx gen_aarch64_sve_sshllbvnx4si (rtx, rtx, rtx);
  14886. extern rtx gen_aarch64_sve_sshlltvnx4si (rtx, rtx, rtx);
  14887. extern rtx gen_aarch64_sve_ushllbvnx4si (rtx, rtx, rtx);
  14888. extern rtx gen_aarch64_sve_ushlltvnx4si (rtx, rtx, rtx);
  14889. extern rtx gen_aarch64_sve_sshllbvnx2di (rtx, rtx, rtx);
  14890. extern rtx gen_aarch64_sve_sshlltvnx2di (rtx, rtx, rtx);
  14891. extern rtx gen_aarch64_sve_ushllbvnx2di (rtx, rtx, rtx);
  14892. extern rtx gen_aarch64_sve_ushlltvnx2di (rtx, rtx, rtx);
  14893. extern rtx gen_aarch64_sve_add_sabdlbvnx8hi (rtx, rtx, rtx, rtx);
  14894. extern rtx gen_aarch64_sve_add_sabdltvnx8hi (rtx, rtx, rtx, rtx);
  14895. extern rtx gen_aarch64_sve_add_smullbvnx8hi (rtx, rtx, rtx, rtx);
  14896. extern rtx gen_aarch64_sve_add_smulltvnx8hi (rtx, rtx, rtx, rtx);
  14897. extern rtx gen_aarch64_sve_add_uabdlbvnx8hi (rtx, rtx, rtx, rtx);
  14898. extern rtx gen_aarch64_sve_add_uabdltvnx8hi (rtx, rtx, rtx, rtx);
  14899. extern rtx gen_aarch64_sve_add_umullbvnx8hi (rtx, rtx, rtx, rtx);
  14900. extern rtx gen_aarch64_sve_add_umulltvnx8hi (rtx, rtx, rtx, rtx);
  14901. extern rtx gen_aarch64_sve_add_sabdlbvnx4si (rtx, rtx, rtx, rtx);
  14902. extern rtx gen_aarch64_sve_add_sabdltvnx4si (rtx, rtx, rtx, rtx);
  14903. extern rtx gen_aarch64_sve_add_smullbvnx4si (rtx, rtx, rtx, rtx);
  14904. extern rtx gen_aarch64_sve_add_smulltvnx4si (rtx, rtx, rtx, rtx);
  14905. extern rtx gen_aarch64_sve_add_uabdlbvnx4si (rtx, rtx, rtx, rtx);
  14906. extern rtx gen_aarch64_sve_add_uabdltvnx4si (rtx, rtx, rtx, rtx);
  14907. extern rtx gen_aarch64_sve_add_umullbvnx4si (rtx, rtx, rtx, rtx);
  14908. extern rtx gen_aarch64_sve_add_umulltvnx4si (rtx, rtx, rtx, rtx);
  14909. extern rtx gen_aarch64_sve_add_sabdlbvnx2di (rtx, rtx, rtx, rtx);
  14910. extern rtx gen_aarch64_sve_add_sabdltvnx2di (rtx, rtx, rtx, rtx);
  14911. extern rtx gen_aarch64_sve_add_smullbvnx2di (rtx, rtx, rtx, rtx);
  14912. extern rtx gen_aarch64_sve_add_smulltvnx2di (rtx, rtx, rtx, rtx);
  14913. extern rtx gen_aarch64_sve_add_uabdlbvnx2di (rtx, rtx, rtx, rtx);
  14914. extern rtx gen_aarch64_sve_add_uabdltvnx2di (rtx, rtx, rtx, rtx);
  14915. extern rtx gen_aarch64_sve_add_umullbvnx2di (rtx, rtx, rtx, rtx);
  14916. extern rtx gen_aarch64_sve_add_umulltvnx2di (rtx, rtx, rtx, rtx);
  14917. extern rtx gen_aarch64_sve_add_smullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14918. extern rtx gen_aarch64_sve_add_smullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14919. extern rtx gen_aarch64_sve_add_umullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14920. extern rtx gen_aarch64_sve_add_umullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14921. extern rtx gen_aarch64_sve_add_smullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14922. extern rtx gen_aarch64_sve_add_smullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14923. extern rtx gen_aarch64_sve_add_umullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14924. extern rtx gen_aarch64_sve_add_umullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14925. extern rtx gen_aarch64_sve_qadd_sqdmullbvnx8hi (rtx, rtx, rtx, rtx);
  14926. extern rtx gen_aarch64_sve_qadd_sqdmullbtvnx8hi (rtx, rtx, rtx, rtx);
  14927. extern rtx gen_aarch64_sve_qadd_sqdmulltvnx8hi (rtx, rtx, rtx, rtx);
  14928. extern rtx gen_aarch64_sve_qadd_sqdmullbvnx4si (rtx, rtx, rtx, rtx);
  14929. extern rtx gen_aarch64_sve_qadd_sqdmullbtvnx4si (rtx, rtx, rtx, rtx);
  14930. extern rtx gen_aarch64_sve_qadd_sqdmulltvnx4si (rtx, rtx, rtx, rtx);
  14931. extern rtx gen_aarch64_sve_qadd_sqdmullbvnx2di (rtx, rtx, rtx, rtx);
  14932. extern rtx gen_aarch64_sve_qadd_sqdmullbtvnx2di (rtx, rtx, rtx, rtx);
  14933. extern rtx gen_aarch64_sve_qadd_sqdmulltvnx2di (rtx, rtx, rtx, rtx);
  14934. extern rtx gen_aarch64_sve_qadd_sqdmullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14935. extern rtx gen_aarch64_sve_qadd_sqdmullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14936. extern rtx gen_aarch64_sve_qadd_sqdmullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14937. extern rtx gen_aarch64_sve_qadd_sqdmullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14938. extern rtx gen_aarch64_sve_sub_smullbvnx8hi (rtx, rtx, rtx, rtx);
  14939. extern rtx gen_aarch64_sve_sub_smulltvnx8hi (rtx, rtx, rtx, rtx);
  14940. extern rtx gen_aarch64_sve_sub_umullbvnx8hi (rtx, rtx, rtx, rtx);
  14941. extern rtx gen_aarch64_sve_sub_umulltvnx8hi (rtx, rtx, rtx, rtx);
  14942. extern rtx gen_aarch64_sve_sub_smullbvnx4si (rtx, rtx, rtx, rtx);
  14943. extern rtx gen_aarch64_sve_sub_smulltvnx4si (rtx, rtx, rtx, rtx);
  14944. extern rtx gen_aarch64_sve_sub_umullbvnx4si (rtx, rtx, rtx, rtx);
  14945. extern rtx gen_aarch64_sve_sub_umulltvnx4si (rtx, rtx, rtx, rtx);
  14946. extern rtx gen_aarch64_sve_sub_smullbvnx2di (rtx, rtx, rtx, rtx);
  14947. extern rtx gen_aarch64_sve_sub_smulltvnx2di (rtx, rtx, rtx, rtx);
  14948. extern rtx gen_aarch64_sve_sub_umullbvnx2di (rtx, rtx, rtx, rtx);
  14949. extern rtx gen_aarch64_sve_sub_umulltvnx2di (rtx, rtx, rtx, rtx);
  14950. extern rtx gen_aarch64_sve_sub_smullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14951. extern rtx gen_aarch64_sve_sub_smullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14952. extern rtx gen_aarch64_sve_sub_umullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14953. extern rtx gen_aarch64_sve_sub_umullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14954. extern rtx gen_aarch64_sve_sub_smullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14955. extern rtx gen_aarch64_sve_sub_smullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14956. extern rtx gen_aarch64_sve_sub_umullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14957. extern rtx gen_aarch64_sve_sub_umullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14958. extern rtx gen_aarch64_sve_qsub_sqdmullbvnx8hi (rtx, rtx, rtx, rtx);
  14959. extern rtx gen_aarch64_sve_qsub_sqdmullbtvnx8hi (rtx, rtx, rtx, rtx);
  14960. extern rtx gen_aarch64_sve_qsub_sqdmulltvnx8hi (rtx, rtx, rtx, rtx);
  14961. extern rtx gen_aarch64_sve_qsub_sqdmullbvnx4si (rtx, rtx, rtx, rtx);
  14962. extern rtx gen_aarch64_sve_qsub_sqdmullbtvnx4si (rtx, rtx, rtx, rtx);
  14963. extern rtx gen_aarch64_sve_qsub_sqdmulltvnx4si (rtx, rtx, rtx, rtx);
  14964. extern rtx gen_aarch64_sve_qsub_sqdmullbvnx2di (rtx, rtx, rtx, rtx);
  14965. extern rtx gen_aarch64_sve_qsub_sqdmullbtvnx2di (rtx, rtx, rtx, rtx);
  14966. extern rtx gen_aarch64_sve_qsub_sqdmulltvnx2di (rtx, rtx, rtx, rtx);
  14967. extern rtx gen_aarch64_sve_qsub_sqdmullb_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14968. extern rtx gen_aarch64_sve_qsub_sqdmullt_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  14969. extern rtx gen_aarch64_sve_qsub_sqdmullb_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14970. extern rtx gen_aarch64_sve_qsub_sqdmullt_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  14971. extern rtx gen_aarch64_sve_fmlalbvnx4sf (rtx, rtx, rtx, rtx);
  14972. extern rtx gen_aarch64_sve_fmlaltvnx4sf (rtx, rtx, rtx, rtx);
  14973. extern rtx gen_aarch64_sve_fmlslbvnx4sf (rtx, rtx, rtx, rtx);
  14974. extern rtx gen_aarch64_sve_fmlsltvnx4sf (rtx, rtx, rtx, rtx);
  14975. extern rtx gen_aarch64_fmlalb_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  14976. extern rtx gen_aarch64_fmlalt_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  14977. extern rtx gen_aarch64_fmlslb_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  14978. extern rtx gen_aarch64_fmlslt_lane_vnx4sf (rtx, rtx, rtx, rtx, rtx);
  14979. extern rtx gen_aarch64_sve_sqxtnbvnx8hi (rtx, rtx);
  14980. extern rtx gen_aarch64_sve_sqxtunbvnx8hi (rtx, rtx);
  14981. extern rtx gen_aarch64_sve_uqxtnbvnx8hi (rtx, rtx);
  14982. extern rtx gen_aarch64_sve_sqxtnbvnx4si (rtx, rtx);
  14983. extern rtx gen_aarch64_sve_sqxtunbvnx4si (rtx, rtx);
  14984. extern rtx gen_aarch64_sve_uqxtnbvnx4si (rtx, rtx);
  14985. extern rtx gen_aarch64_sve_sqxtnbvnx2di (rtx, rtx);
  14986. extern rtx gen_aarch64_sve_sqxtunbvnx2di (rtx, rtx);
  14987. extern rtx gen_aarch64_sve_uqxtnbvnx2di (rtx, rtx);
  14988. extern rtx gen_aarch64_sve_sqxtntvnx8hi (rtx, rtx, rtx);
  14989. extern rtx gen_aarch64_sve_sqxtuntvnx8hi (rtx, rtx, rtx);
  14990. extern rtx gen_aarch64_sve_uqxtntvnx8hi (rtx, rtx, rtx);
  14991. extern rtx gen_aarch64_sve_sqxtntvnx4si (rtx, rtx, rtx);
  14992. extern rtx gen_aarch64_sve_sqxtuntvnx4si (rtx, rtx, rtx);
  14993. extern rtx gen_aarch64_sve_uqxtntvnx4si (rtx, rtx, rtx);
  14994. extern rtx gen_aarch64_sve_sqxtntvnx2di (rtx, rtx, rtx);
  14995. extern rtx gen_aarch64_sve_sqxtuntvnx2di (rtx, rtx, rtx);
  14996. extern rtx gen_aarch64_sve_uqxtntvnx2di (rtx, rtx, rtx);
  14997. extern rtx gen_aarch64_sve_addhnbvnx8hi (rtx, rtx, rtx);
  14998. extern rtx gen_aarch64_sve_raddhnbvnx8hi (rtx, rtx, rtx);
  14999. extern rtx gen_aarch64_sve_rsubhnbvnx8hi (rtx, rtx, rtx);
  15000. extern rtx gen_aarch64_sve_subhnbvnx8hi (rtx, rtx, rtx);
  15001. extern rtx gen_aarch64_sve_addhnbvnx4si (rtx, rtx, rtx);
  15002. extern rtx gen_aarch64_sve_raddhnbvnx4si (rtx, rtx, rtx);
  15003. extern rtx gen_aarch64_sve_rsubhnbvnx4si (rtx, rtx, rtx);
  15004. extern rtx gen_aarch64_sve_subhnbvnx4si (rtx, rtx, rtx);
  15005. extern rtx gen_aarch64_sve_addhnbvnx2di (rtx, rtx, rtx);
  15006. extern rtx gen_aarch64_sve_raddhnbvnx2di (rtx, rtx, rtx);
  15007. extern rtx gen_aarch64_sve_rsubhnbvnx2di (rtx, rtx, rtx);
  15008. extern rtx gen_aarch64_sve_subhnbvnx2di (rtx, rtx, rtx);
  15009. extern rtx gen_aarch64_sve_addhntvnx8hi (rtx, rtx, rtx, rtx);
  15010. extern rtx gen_aarch64_sve_raddhntvnx8hi (rtx, rtx, rtx, rtx);
  15011. extern rtx gen_aarch64_sve_rsubhntvnx8hi (rtx, rtx, rtx, rtx);
  15012. extern rtx gen_aarch64_sve_subhntvnx8hi (rtx, rtx, rtx, rtx);
  15013. extern rtx gen_aarch64_sve_addhntvnx4si (rtx, rtx, rtx, rtx);
  15014. extern rtx gen_aarch64_sve_raddhntvnx4si (rtx, rtx, rtx, rtx);
  15015. extern rtx gen_aarch64_sve_rsubhntvnx4si (rtx, rtx, rtx, rtx);
  15016. extern rtx gen_aarch64_sve_subhntvnx4si (rtx, rtx, rtx, rtx);
  15017. extern rtx gen_aarch64_sve_addhntvnx2di (rtx, rtx, rtx, rtx);
  15018. extern rtx gen_aarch64_sve_raddhntvnx2di (rtx, rtx, rtx, rtx);
  15019. extern rtx gen_aarch64_sve_rsubhntvnx2di (rtx, rtx, rtx, rtx);
  15020. extern rtx gen_aarch64_sve_subhntvnx2di (rtx, rtx, rtx, rtx);
  15021. extern rtx gen_aarch64_sve_rshrnbvnx8hi (rtx, rtx, rtx);
  15022. extern rtx gen_aarch64_sve_shrnbvnx8hi (rtx, rtx, rtx);
  15023. extern rtx gen_aarch64_sve_sqrshrnbvnx8hi (rtx, rtx, rtx);
  15024. extern rtx gen_aarch64_sve_sqrshrunbvnx8hi (rtx, rtx, rtx);
  15025. extern rtx gen_aarch64_sve_sqshrnbvnx8hi (rtx, rtx, rtx);
  15026. extern rtx gen_aarch64_sve_sqshrunbvnx8hi (rtx, rtx, rtx);
  15027. extern rtx gen_aarch64_sve_uqrshrnbvnx8hi (rtx, rtx, rtx);
  15028. extern rtx gen_aarch64_sve_uqshrnbvnx8hi (rtx, rtx, rtx);
  15029. extern rtx gen_aarch64_sve_rshrnbvnx4si (rtx, rtx, rtx);
  15030. extern rtx gen_aarch64_sve_shrnbvnx4si (rtx, rtx, rtx);
  15031. extern rtx gen_aarch64_sve_sqrshrnbvnx4si (rtx, rtx, rtx);
  15032. extern rtx gen_aarch64_sve_sqrshrunbvnx4si (rtx, rtx, rtx);
  15033. extern rtx gen_aarch64_sve_sqshrnbvnx4si (rtx, rtx, rtx);
  15034. extern rtx gen_aarch64_sve_sqshrunbvnx4si (rtx, rtx, rtx);
  15035. extern rtx gen_aarch64_sve_uqrshrnbvnx4si (rtx, rtx, rtx);
  15036. extern rtx gen_aarch64_sve_uqshrnbvnx4si (rtx, rtx, rtx);
  15037. extern rtx gen_aarch64_sve_rshrnbvnx2di (rtx, rtx, rtx);
  15038. extern rtx gen_aarch64_sve_shrnbvnx2di (rtx, rtx, rtx);
  15039. extern rtx gen_aarch64_sve_sqrshrnbvnx2di (rtx, rtx, rtx);
  15040. extern rtx gen_aarch64_sve_sqrshrunbvnx2di (rtx, rtx, rtx);
  15041. extern rtx gen_aarch64_sve_sqshrnbvnx2di (rtx, rtx, rtx);
  15042. extern rtx gen_aarch64_sve_sqshrunbvnx2di (rtx, rtx, rtx);
  15043. extern rtx gen_aarch64_sve_uqrshrnbvnx2di (rtx, rtx, rtx);
  15044. extern rtx gen_aarch64_sve_uqshrnbvnx2di (rtx, rtx, rtx);
  15045. extern rtx gen_aarch64_sve_rshrntvnx8hi (rtx, rtx, rtx, rtx);
  15046. extern rtx gen_aarch64_sve_shrntvnx8hi (rtx, rtx, rtx, rtx);
  15047. extern rtx gen_aarch64_sve_sqrshrntvnx8hi (rtx, rtx, rtx, rtx);
  15048. extern rtx gen_aarch64_sve_sqrshruntvnx8hi (rtx, rtx, rtx, rtx);
  15049. extern rtx gen_aarch64_sve_sqshrntvnx8hi (rtx, rtx, rtx, rtx);
  15050. extern rtx gen_aarch64_sve_sqshruntvnx8hi (rtx, rtx, rtx, rtx);
  15051. extern rtx gen_aarch64_sve_uqrshrntvnx8hi (rtx, rtx, rtx, rtx);
  15052. extern rtx gen_aarch64_sve_uqshrntvnx8hi (rtx, rtx, rtx, rtx);
  15053. extern rtx gen_aarch64_sve_rshrntvnx4si (rtx, rtx, rtx, rtx);
  15054. extern rtx gen_aarch64_sve_shrntvnx4si (rtx, rtx, rtx, rtx);
  15055. extern rtx gen_aarch64_sve_sqrshrntvnx4si (rtx, rtx, rtx, rtx);
  15056. extern rtx gen_aarch64_sve_sqrshruntvnx4si (rtx, rtx, rtx, rtx);
  15057. extern rtx gen_aarch64_sve_sqshrntvnx4si (rtx, rtx, rtx, rtx);
  15058. extern rtx gen_aarch64_sve_sqshruntvnx4si (rtx, rtx, rtx, rtx);
  15059. extern rtx gen_aarch64_sve_uqrshrntvnx4si (rtx, rtx, rtx, rtx);
  15060. extern rtx gen_aarch64_sve_uqshrntvnx4si (rtx, rtx, rtx, rtx);
  15061. extern rtx gen_aarch64_sve_rshrntvnx2di (rtx, rtx, rtx, rtx);
  15062. extern rtx gen_aarch64_sve_shrntvnx2di (rtx, rtx, rtx, rtx);
  15063. extern rtx gen_aarch64_sve_sqrshrntvnx2di (rtx, rtx, rtx, rtx);
  15064. extern rtx gen_aarch64_sve_sqrshruntvnx2di (rtx, rtx, rtx, rtx);
  15065. extern rtx gen_aarch64_sve_sqshrntvnx2di (rtx, rtx, rtx, rtx);
  15066. extern rtx gen_aarch64_sve_sqshruntvnx2di (rtx, rtx, rtx, rtx);
  15067. extern rtx gen_aarch64_sve_uqrshrntvnx2di (rtx, rtx, rtx, rtx);
  15068. extern rtx gen_aarch64_sve_uqshrntvnx2di (rtx, rtx, rtx, rtx);
  15069. extern rtx gen_aarch64_pred_addpvnx16qi (rtx, rtx, rtx, rtx);
  15070. extern rtx gen_aarch64_pred_smaxpvnx16qi (rtx, rtx, rtx, rtx);
  15071. extern rtx gen_aarch64_pred_sminpvnx16qi (rtx, rtx, rtx, rtx);
  15072. extern rtx gen_aarch64_pred_umaxpvnx16qi (rtx, rtx, rtx, rtx);
  15073. extern rtx gen_aarch64_pred_uminpvnx16qi (rtx, rtx, rtx, rtx);
  15074. extern rtx gen_aarch64_pred_addpvnx8hi (rtx, rtx, rtx, rtx);
  15075. extern rtx gen_aarch64_pred_smaxpvnx8hi (rtx, rtx, rtx, rtx);
  15076. extern rtx gen_aarch64_pred_sminpvnx8hi (rtx, rtx, rtx, rtx);
  15077. extern rtx gen_aarch64_pred_umaxpvnx8hi (rtx, rtx, rtx, rtx);
  15078. extern rtx gen_aarch64_pred_uminpvnx8hi (rtx, rtx, rtx, rtx);
  15079. extern rtx gen_aarch64_pred_addpvnx4si (rtx, rtx, rtx, rtx);
  15080. extern rtx gen_aarch64_pred_smaxpvnx4si (rtx, rtx, rtx, rtx);
  15081. extern rtx gen_aarch64_pred_sminpvnx4si (rtx, rtx, rtx, rtx);
  15082. extern rtx gen_aarch64_pred_umaxpvnx4si (rtx, rtx, rtx, rtx);
  15083. extern rtx gen_aarch64_pred_uminpvnx4si (rtx, rtx, rtx, rtx);
  15084. extern rtx gen_aarch64_pred_addpvnx2di (rtx, rtx, rtx, rtx);
  15085. extern rtx gen_aarch64_pred_smaxpvnx2di (rtx, rtx, rtx, rtx);
  15086. extern rtx gen_aarch64_pred_sminpvnx2di (rtx, rtx, rtx, rtx);
  15087. extern rtx gen_aarch64_pred_umaxpvnx2di (rtx, rtx, rtx, rtx);
  15088. extern rtx gen_aarch64_pred_uminpvnx2di (rtx, rtx, rtx, rtx);
  15089. extern rtx gen_aarch64_pred_faddpvnx8hf (rtx, rtx, rtx, rtx);
  15090. extern rtx gen_aarch64_pred_fmaxpvnx8hf (rtx, rtx, rtx, rtx);
  15091. extern rtx gen_aarch64_pred_fmaxnmpvnx8hf (rtx, rtx, rtx, rtx);
  15092. extern rtx gen_aarch64_pred_fminpvnx8hf (rtx, rtx, rtx, rtx);
  15093. extern rtx gen_aarch64_pred_fminnmpvnx8hf (rtx, rtx, rtx, rtx);
  15094. extern rtx gen_aarch64_pred_faddpvnx4sf (rtx, rtx, rtx, rtx);
  15095. extern rtx gen_aarch64_pred_fmaxpvnx4sf (rtx, rtx, rtx, rtx);
  15096. extern rtx gen_aarch64_pred_fmaxnmpvnx4sf (rtx, rtx, rtx, rtx);
  15097. extern rtx gen_aarch64_pred_fminpvnx4sf (rtx, rtx, rtx, rtx);
  15098. extern rtx gen_aarch64_pred_fminnmpvnx4sf (rtx, rtx, rtx, rtx);
  15099. extern rtx gen_aarch64_pred_faddpvnx2df (rtx, rtx, rtx, rtx);
  15100. extern rtx gen_aarch64_pred_fmaxpvnx2df (rtx, rtx, rtx, rtx);
  15101. extern rtx gen_aarch64_pred_fmaxnmpvnx2df (rtx, rtx, rtx, rtx);
  15102. extern rtx gen_aarch64_pred_fminpvnx2df (rtx, rtx, rtx, rtx);
  15103. extern rtx gen_aarch64_pred_fminnmpvnx2df (rtx, rtx, rtx, rtx);
  15104. extern rtx gen_aarch64_sve_cadd90vnx16qi (rtx, rtx, rtx);
  15105. extern rtx gen_aarch64_sve_cadd270vnx16qi (rtx, rtx, rtx);
  15106. extern rtx gen_aarch64_sve_sqcadd90vnx16qi (rtx, rtx, rtx);
  15107. extern rtx gen_aarch64_sve_sqcadd270vnx16qi (rtx, rtx, rtx);
  15108. extern rtx gen_aarch64_sve_cadd90vnx8hi (rtx, rtx, rtx);
  15109. extern rtx gen_aarch64_sve_cadd270vnx8hi (rtx, rtx, rtx);
  15110. extern rtx gen_aarch64_sve_sqcadd90vnx8hi (rtx, rtx, rtx);
  15111. extern rtx gen_aarch64_sve_sqcadd270vnx8hi (rtx, rtx, rtx);
  15112. extern rtx gen_aarch64_sve_cadd90vnx4si (rtx, rtx, rtx);
  15113. extern rtx gen_aarch64_sve_cadd270vnx4si (rtx, rtx, rtx);
  15114. extern rtx gen_aarch64_sve_sqcadd90vnx4si (rtx, rtx, rtx);
  15115. extern rtx gen_aarch64_sve_sqcadd270vnx4si (rtx, rtx, rtx);
  15116. extern rtx gen_aarch64_sve_cadd90vnx2di (rtx, rtx, rtx);
  15117. extern rtx gen_aarch64_sve_cadd270vnx2di (rtx, rtx, rtx);
  15118. extern rtx gen_aarch64_sve_sqcadd90vnx2di (rtx, rtx, rtx);
  15119. extern rtx gen_aarch64_sve_sqcadd270vnx2di (rtx, rtx, rtx);
  15120. extern rtx gen_aarch64_sve_cmlavnx16qi (rtx, rtx, rtx, rtx);
  15121. extern rtx gen_aarch64_sve_cmla90vnx16qi (rtx, rtx, rtx, rtx);
  15122. extern rtx gen_aarch64_sve_cmla180vnx16qi (rtx, rtx, rtx, rtx);
  15123. extern rtx gen_aarch64_sve_cmla270vnx16qi (rtx, rtx, rtx, rtx);
  15124. extern rtx gen_aarch64_sve_sqrdcmlahvnx16qi (rtx, rtx, rtx, rtx);
  15125. extern rtx gen_aarch64_sve_sqrdcmlah90vnx16qi (rtx, rtx, rtx, rtx);
  15126. extern rtx gen_aarch64_sve_sqrdcmlah180vnx16qi (rtx, rtx, rtx, rtx);
  15127. extern rtx gen_aarch64_sve_sqrdcmlah270vnx16qi (rtx, rtx, rtx, rtx);
  15128. extern rtx gen_aarch64_sve_cmlavnx8hi (rtx, rtx, rtx, rtx);
  15129. extern rtx gen_aarch64_sve_cmla90vnx8hi (rtx, rtx, rtx, rtx);
  15130. extern rtx gen_aarch64_sve_cmla180vnx8hi (rtx, rtx, rtx, rtx);
  15131. extern rtx gen_aarch64_sve_cmla270vnx8hi (rtx, rtx, rtx, rtx);
  15132. extern rtx gen_aarch64_sve_sqrdcmlahvnx8hi (rtx, rtx, rtx, rtx);
  15133. extern rtx gen_aarch64_sve_sqrdcmlah90vnx8hi (rtx, rtx, rtx, rtx);
  15134. extern rtx gen_aarch64_sve_sqrdcmlah180vnx8hi (rtx, rtx, rtx, rtx);
  15135. extern rtx gen_aarch64_sve_sqrdcmlah270vnx8hi (rtx, rtx, rtx, rtx);
  15136. extern rtx gen_aarch64_sve_cmlavnx4si (rtx, rtx, rtx, rtx);
  15137. extern rtx gen_aarch64_sve_cmla90vnx4si (rtx, rtx, rtx, rtx);
  15138. extern rtx gen_aarch64_sve_cmla180vnx4si (rtx, rtx, rtx, rtx);
  15139. extern rtx gen_aarch64_sve_cmla270vnx4si (rtx, rtx, rtx, rtx);
  15140. extern rtx gen_aarch64_sve_sqrdcmlahvnx4si (rtx, rtx, rtx, rtx);
  15141. extern rtx gen_aarch64_sve_sqrdcmlah90vnx4si (rtx, rtx, rtx, rtx);
  15142. extern rtx gen_aarch64_sve_sqrdcmlah180vnx4si (rtx, rtx, rtx, rtx);
  15143. extern rtx gen_aarch64_sve_sqrdcmlah270vnx4si (rtx, rtx, rtx, rtx);
  15144. extern rtx gen_aarch64_sve_cmlavnx2di (rtx, rtx, rtx, rtx);
  15145. extern rtx gen_aarch64_sve_cmla90vnx2di (rtx, rtx, rtx, rtx);
  15146. extern rtx gen_aarch64_sve_cmla180vnx2di (rtx, rtx, rtx, rtx);
  15147. extern rtx gen_aarch64_sve_cmla270vnx2di (rtx, rtx, rtx, rtx);
  15148. extern rtx gen_aarch64_sve_sqrdcmlahvnx2di (rtx, rtx, rtx, rtx);
  15149. extern rtx gen_aarch64_sve_sqrdcmlah90vnx2di (rtx, rtx, rtx, rtx);
  15150. extern rtx gen_aarch64_sve_sqrdcmlah180vnx2di (rtx, rtx, rtx, rtx);
  15151. extern rtx gen_aarch64_sve_sqrdcmlah270vnx2di (rtx, rtx, rtx, rtx);
  15152. extern rtx gen_aarch64_cmla_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15153. extern rtx gen_aarch64_cmla90_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15154. extern rtx gen_aarch64_cmla180_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15155. extern rtx gen_aarch64_cmla270_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15156. extern rtx gen_aarch64_sqrdcmlah_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15157. extern rtx gen_aarch64_sqrdcmlah90_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15158. extern rtx gen_aarch64_sqrdcmlah180_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15159. extern rtx gen_aarch64_sqrdcmlah270_lane_vnx8hi (rtx, rtx, rtx, rtx, rtx);
  15160. extern rtx gen_aarch64_cmla_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15161. extern rtx gen_aarch64_cmla90_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15162. extern rtx gen_aarch64_cmla180_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15163. extern rtx gen_aarch64_cmla270_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15164. extern rtx gen_aarch64_sqrdcmlah_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15165. extern rtx gen_aarch64_sqrdcmlah90_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15166. extern rtx gen_aarch64_sqrdcmlah180_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15167. extern rtx gen_aarch64_sqrdcmlah270_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15168. extern rtx gen_aarch64_sve_cdotvnx4si (rtx, rtx, rtx, rtx);
  15169. extern rtx gen_aarch64_sve_cdot90vnx4si (rtx, rtx, rtx, rtx);
  15170. extern rtx gen_aarch64_sve_cdot180vnx4si (rtx, rtx, rtx, rtx);
  15171. extern rtx gen_aarch64_sve_cdot270vnx4si (rtx, rtx, rtx, rtx);
  15172. extern rtx gen_aarch64_sve_cdotvnx2di (rtx, rtx, rtx, rtx);
  15173. extern rtx gen_aarch64_sve_cdot90vnx2di (rtx, rtx, rtx, rtx);
  15174. extern rtx gen_aarch64_sve_cdot180vnx2di (rtx, rtx, rtx, rtx);
  15175. extern rtx gen_aarch64_sve_cdot270vnx2di (rtx, rtx, rtx, rtx);
  15176. extern rtx gen_aarch64_cdot_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15177. extern rtx gen_aarch64_cdot90_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15178. extern rtx gen_aarch64_cdot180_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15179. extern rtx gen_aarch64_cdot270_lane_vnx4si (rtx, rtx, rtx, rtx, rtx);
  15180. extern rtx gen_aarch64_cdot_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  15181. extern rtx gen_aarch64_cdot90_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  15182. extern rtx gen_aarch64_cdot180_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  15183. extern rtx gen_aarch64_cdot270_lane_vnx2di (rtx, rtx, rtx, rtx, rtx);
  15184. extern rtx gen_aarch64_pred_fcvtltvnx4sf (rtx, rtx, rtx, rtx);
  15185. extern rtx gen_aarch64_pred_fcvtltvnx2df (rtx, rtx, rtx, rtx);
  15186. extern rtx gen_aarch64_sve_cvtntvnx8hf (rtx, rtx, rtx, rtx);
  15187. extern rtx gen_aarch64_sve_cvtntvnx4sf (rtx, rtx, rtx, rtx);
  15188. extern rtx gen_aarch64_pred_fcvtxvnx4sf (rtx, rtx, rtx, rtx);
  15189. extern rtx gen_aarch64_sve2_cvtxntvnx2df (rtx, rtx, rtx, rtx);
  15190. extern rtx gen_aarch64_pred_urecpevnx4si (rtx, rtx, rtx);
  15191. extern rtx gen_aarch64_pred_ursqrtevnx4si (rtx, rtx, rtx);
  15192. extern rtx gen_aarch64_pred_flogbvnx8hf (rtx, rtx, rtx, rtx);
  15193. extern rtx gen_aarch64_pred_flogbvnx4sf (rtx, rtx, rtx, rtx);
  15194. extern rtx gen_aarch64_pred_flogbvnx2df (rtx, rtx, rtx, rtx);
  15195. extern rtx gen_aarch64_sve2_pmulvnx16qi (rtx, rtx, rtx);
  15196. extern rtx gen_aarch64_sve_pmullbvnx8hi (rtx, rtx, rtx);
  15197. extern rtx gen_aarch64_sve_pmulltvnx8hi (rtx, rtx, rtx);
  15198. extern rtx gen_aarch64_sve_pmullbvnx2di (rtx, rtx, rtx);
  15199. extern rtx gen_aarch64_sve_pmulltvnx2di (rtx, rtx, rtx);
  15200. extern rtx gen_aarch64_sve_pmullb_pairvnx16qi (rtx, rtx, rtx);
  15201. extern rtx gen_aarch64_sve_pmullt_pairvnx16qi (rtx, rtx, rtx);
  15202. extern rtx gen_aarch64_sve_pmullb_pairvnx4si (rtx, rtx, rtx);
  15203. extern rtx gen_aarch64_sve_pmullt_pairvnx4si (rtx, rtx, rtx);
  15204. extern rtx gen_aarch64_sve_pmullb_pairvnx2di (rtx, rtx, rtx);
  15205. extern rtx gen_aarch64_sve_pmullt_pairvnx2di (rtx, rtx, rtx);
  15206. extern rtx gen_aarch64_sve2_tbl2vnx16qi (rtx, rtx, rtx);
  15207. extern rtx gen_aarch64_sve2_tbl2vnx8hi (rtx, rtx, rtx);
  15208. extern rtx gen_aarch64_sve2_tbl2vnx4si (rtx, rtx, rtx);
  15209. extern rtx gen_aarch64_sve2_tbl2vnx2di (rtx, rtx, rtx);
  15210. extern rtx gen_aarch64_sve2_tbl2vnx8bf (rtx, rtx, rtx);
  15211. extern rtx gen_aarch64_sve2_tbl2vnx8hf (rtx, rtx, rtx);
  15212. extern rtx gen_aarch64_sve2_tbl2vnx4sf (rtx, rtx, rtx);
  15213. extern rtx gen_aarch64_sve2_tbl2vnx2df (rtx, rtx, rtx);
  15214. extern rtx gen_aarch64_sve2_tbxvnx16qi (rtx, rtx, rtx, rtx);
  15215. extern rtx gen_aarch64_sve2_tbxvnx8hi (rtx, rtx, rtx, rtx);
  15216. extern rtx gen_aarch64_sve2_tbxvnx4si (rtx, rtx, rtx, rtx);
  15217. extern rtx gen_aarch64_sve2_tbxvnx2di (rtx, rtx, rtx, rtx);
  15218. extern rtx gen_aarch64_sve2_tbxvnx8bf (rtx, rtx, rtx, rtx);
  15219. extern rtx gen_aarch64_sve2_tbxvnx8hf (rtx, rtx, rtx, rtx);
  15220. extern rtx gen_aarch64_sve2_tbxvnx4sf (rtx, rtx, rtx, rtx);
  15221. extern rtx gen_aarch64_sve2_tbxvnx2df (rtx, rtx, rtx, rtx);
  15222. extern rtx gen_aarch64_sve_bdepvnx16qi (rtx, rtx, rtx);
  15223. extern rtx gen_aarch64_sve_bextvnx16qi (rtx, rtx, rtx);
  15224. extern rtx gen_aarch64_sve_bgrpvnx16qi (rtx, rtx, rtx);
  15225. extern rtx gen_aarch64_sve_bdepvnx8hi (rtx, rtx, rtx);
  15226. extern rtx gen_aarch64_sve_bextvnx8hi (rtx, rtx, rtx);
  15227. extern rtx gen_aarch64_sve_bgrpvnx8hi (rtx, rtx, rtx);
  15228. extern rtx gen_aarch64_sve_bdepvnx4si (rtx, rtx, rtx);
  15229. extern rtx gen_aarch64_sve_bextvnx4si (rtx, rtx, rtx);
  15230. extern rtx gen_aarch64_sve_bgrpvnx4si (rtx, rtx, rtx);
  15231. extern rtx gen_aarch64_sve_bdepvnx2di (rtx, rtx, rtx);
  15232. extern rtx gen_aarch64_sve_bextvnx2di (rtx, rtx, rtx);
  15233. extern rtx gen_aarch64_sve_bgrpvnx2di (rtx, rtx, rtx);
  15234. extern rtx gen_aarch64_sve2_histcntvnx4si (rtx, rtx, rtx, rtx);
  15235. extern rtx gen_aarch64_sve2_histcntvnx2di (rtx, rtx, rtx, rtx);
  15236. extern rtx gen_aarch64_sve2_histsegvnx16qi (rtx, rtx, rtx);
  15237. extern rtx gen_aarch64_pred_matchvnx16qi (rtx, rtx, rtx, rtx, rtx);
  15238. extern rtx gen_aarch64_pred_nmatchvnx16qi (rtx, rtx, rtx, rtx, rtx);
  15239. extern rtx gen_aarch64_pred_matchvnx8hi (rtx, rtx, rtx, rtx, rtx);
  15240. extern rtx gen_aarch64_pred_nmatchvnx8hi (rtx, rtx, rtx, rtx, rtx);
  15241. extern rtx gen_aarch64_sve2_aese (rtx, rtx, rtx);
  15242. extern rtx gen_aarch64_sve2_aesd (rtx, rtx, rtx);
  15243. extern rtx gen_aarch64_sve2_aesmc (rtx, rtx);
  15244. extern rtx gen_aarch64_sve2_aesimc (rtx, rtx);
  15245. extern rtx gen_aarch64_sve2_rax1 (rtx, rtx, rtx);
  15246. extern rtx gen_aarch64_sve2_sm4e (rtx, rtx, rtx);
  15247. extern rtx gen_aarch64_sve2_sm4ekey (rtx, rtx, rtx);
  15248. extern rtx gen_cbranchsi4 (rtx, rtx, rtx, rtx);
  15249. extern rtx gen_cbranchdi4 (rtx, rtx, rtx, rtx);
  15250. extern rtx gen_cbranchsf4 (rtx, rtx, rtx, rtx);
  15251. extern rtx gen_cbranchdf4 (rtx, rtx, rtx, rtx);
  15252. extern rtx gen_cbranchcc4 (rtx, rtx, rtx, rtx);
  15253. extern rtx gen_modsi3 (rtx, rtx, rtx);
  15254. extern rtx gen_moddi3 (rtx, rtx, rtx);
  15255. extern rtx gen_casesi (rtx, rtx, rtx, rtx, rtx);
  15256. extern rtx gen_casesi_dispatch (rtx, rtx);
  15257. extern rtx gen_prologue (void);
  15258. extern rtx gen_epilogue (void);
  15259. extern rtx gen_sibcall_epilogue (void);
  15260. extern rtx gen_return (void);
  15261. extern rtx gen_call (rtx, rtx, rtx);
  15262. extern rtx gen_call_value (rtx, rtx, rtx, rtx);
  15263. extern rtx gen_sibcall (rtx, rtx, rtx);
  15264. extern rtx gen_sibcall_value (rtx, rtx, rtx, rtx);
  15265. extern rtx gen_untyped_call (rtx, rtx, rtx);
  15266. extern rtx gen_movqi (rtx, rtx);
  15267. extern rtx gen_movhi (rtx, rtx);
  15268. extern rtx gen_movsi (rtx, rtx);
  15269. extern rtx gen_movdi (rtx, rtx);
  15270. extern rtx gen_movti (rtx, rtx);
  15271. extern rtx gen_movhf (rtx, rtx);
  15272. extern rtx gen_movbf (rtx, rtx);
  15273. extern rtx gen_movsf (rtx, rtx);
  15274. extern rtx gen_movdf (rtx, rtx);
  15275. extern rtx gen_movtf (rtx, rtx);
  15276. extern rtx gen_cpymemdi (rtx, rtx, rtx, rtx);
  15277. extern rtx gen_extendsidi2 (rtx, rtx);
  15278. extern rtx gen_zero_extendsidi2 (rtx, rtx);
  15279. extern rtx gen_extendqisi2 (rtx, rtx);
  15280. extern rtx gen_zero_extendqisi2 (rtx, rtx);
  15281. extern rtx gen_extendhisi2 (rtx, rtx);
  15282. extern rtx gen_zero_extendhisi2 (rtx, rtx);
  15283. extern rtx gen_extendqidi2 (rtx, rtx);
  15284. extern rtx gen_zero_extendqidi2 (rtx, rtx);
  15285. extern rtx gen_extendhidi2 (rtx, rtx);
  15286. extern rtx gen_zero_extendhidi2 (rtx, rtx);
  15287. extern rtx gen_extendqihi2 (rtx, rtx);
  15288. extern rtx gen_zero_extendqihi2 (rtx, rtx);
  15289. extern rtx gen_addsi3 (rtx, rtx, rtx);
  15290. extern rtx gen_adddi3 (rtx, rtx, rtx);
  15291. extern rtx gen_addvsi4 (rtx, rtx, rtx, rtx);
  15292. extern rtx gen_addvdi4 (rtx, rtx, rtx, rtx);
  15293. extern rtx gen_uaddvsi4 (rtx, rtx, rtx, rtx);
  15294. extern rtx gen_uaddvdi4 (rtx, rtx, rtx, rtx);
  15295. extern rtx gen_addti3 (rtx, rtx, rtx);
  15296. extern rtx gen_addvti4 (rtx, rtx, rtx, rtx);
  15297. extern rtx gen_uaddvti4 (rtx, rtx, rtx, rtx);
  15298. extern rtx gen_addsi3_carryin (rtx, rtx, rtx);
  15299. extern rtx gen_adddi3_carryin (rtx, rtx, rtx);
  15300. extern rtx gen_addsi3_carryinC (rtx, rtx, rtx);
  15301. extern rtx gen_adddi3_carryinC (rtx, rtx, rtx);
  15302. extern rtx gen_addsi3_carryinV (rtx, rtx, rtx);
  15303. extern rtx gen_adddi3_carryinV (rtx, rtx, rtx);
  15304. extern rtx gen_subvsi4 (rtx, rtx, rtx, rtx);
  15305. extern rtx gen_subvdi4 (rtx, rtx, rtx, rtx);
  15306. extern rtx gen_negvsi3 (rtx, rtx, rtx);
  15307. extern rtx gen_negvdi3 (rtx, rtx, rtx);
  15308. extern rtx gen_usubvsi4 (rtx, rtx, rtx, rtx);
  15309. extern rtx gen_usubvdi4 (rtx, rtx, rtx, rtx);
  15310. extern rtx gen_subti3 (rtx, rtx, rtx);
  15311. extern rtx gen_subvti4 (rtx, rtx, rtx, rtx);
  15312. extern rtx gen_usubvti4 (rtx, rtx, rtx, rtx);
  15313. extern rtx gen_negvti3 (rtx, rtx, rtx);
  15314. extern rtx gen_subsi3_carryin (rtx, rtx, rtx);
  15315. extern rtx gen_subdi3_carryin (rtx, rtx, rtx);
  15316. extern rtx gen_usubsi3_carryinC (rtx, rtx, rtx);
  15317. extern rtx gen_usubdi3_carryinC (rtx, rtx, rtx);
  15318. extern rtx gen_subsi3_carryinV (rtx, rtx, rtx);
  15319. extern rtx gen_subdi3_carryinV (rtx, rtx, rtx);
  15320. extern rtx gen_abssi2 (rtx, rtx);
  15321. extern rtx gen_absdi2 (rtx, rtx);
  15322. extern rtx gen_mulditi3 (rtx, rtx, rtx);
  15323. extern rtx gen_umulditi3 (rtx, rtx, rtx);
  15324. extern rtx gen_multi3 (rtx, rtx, rtx);
  15325. extern rtx gen_cstoresi4 (rtx, rtx, rtx, rtx);
  15326. extern rtx gen_cstoredi4 (rtx, rtx, rtx, rtx);
  15327. extern rtx gen_cstorecc4 (rtx, rtx, rtx, rtx);
  15328. extern rtx gen_cstoresf4 (rtx, rtx, rtx, rtx);
  15329. extern rtx gen_cstoredf4 (rtx, rtx, rtx, rtx);
  15330. extern rtx gen_cmovsi6 (rtx, rtx, rtx, rtx, rtx, rtx);
  15331. extern rtx gen_cmovdi6 (rtx, rtx, rtx, rtx, rtx, rtx);
  15332. extern rtx gen_cmovsf6 (rtx, rtx, rtx, rtx, rtx, rtx);
  15333. extern rtx gen_cmovdf6 (rtx, rtx, rtx, rtx, rtx, rtx);
  15334. extern rtx gen_movqicc (rtx, rtx, rtx, rtx);
  15335. extern rtx gen_movhicc (rtx, rtx, rtx, rtx);
  15336. extern rtx gen_movsicc (rtx, rtx, rtx, rtx);
  15337. extern rtx gen_movdicc (rtx, rtx, rtx, rtx);
  15338. extern rtx gen_movsfsicc (rtx, rtx, rtx, rtx);
  15339. extern rtx gen_movdfsicc (rtx, rtx, rtx, rtx);
  15340. extern rtx gen_movsfdicc (rtx, rtx, rtx, rtx);
  15341. extern rtx gen_movdfdicc (rtx, rtx, rtx, rtx);
  15342. extern rtx gen_movsfcc (rtx, rtx, rtx, rtx);
  15343. extern rtx gen_movdfcc (rtx, rtx, rtx, rtx);
  15344. extern rtx gen_negsicc (rtx, rtx, rtx, rtx);
  15345. extern rtx gen_notsicc (rtx, rtx, rtx, rtx);
  15346. extern rtx gen_negdicc (rtx, rtx, rtx, rtx);
  15347. extern rtx gen_notdicc (rtx, rtx, rtx, rtx);
  15348. extern rtx gen_umaxsi3 (rtx, rtx, rtx);
  15349. extern rtx gen_umaxdi3 (rtx, rtx, rtx);
  15350. extern rtx gen_ffssi2 (rtx, rtx);
  15351. extern rtx gen_ffsdi2 (rtx, rtx);
  15352. extern rtx gen_popcountsi2 (rtx, rtx);
  15353. extern rtx gen_popcountdi2 (rtx, rtx);
  15354. extern rtx gen_ashlsi3 (rtx, rtx, rtx);
  15355. extern rtx gen_ashrsi3 (rtx, rtx, rtx);
  15356. extern rtx gen_lshrsi3 (rtx, rtx, rtx);
  15357. extern rtx gen_ashldi3 (rtx, rtx, rtx);
  15358. extern rtx gen_ashrdi3 (rtx, rtx, rtx);
  15359. extern rtx gen_lshrdi3 (rtx, rtx, rtx);
  15360. extern rtx gen_ashlqi3 (rtx, rtx, rtx);
  15361. extern rtx gen_ashlhi3 (rtx, rtx, rtx);
  15362. extern rtx gen_rotrsi3 (rtx, rtx, rtx);
  15363. extern rtx gen_rotrdi3 (rtx, rtx, rtx);
  15364. extern rtx gen_rotlsi3 (rtx, rtx, rtx);
  15365. extern rtx gen_rotldi3 (rtx, rtx, rtx);
  15366. extern rtx gen_extv (rtx, rtx, rtx, rtx);
  15367. extern rtx gen_extzv (rtx, rtx, rtx, rtx);
  15368. extern rtx gen_insvsi (rtx, rtx, rtx, rtx);
  15369. extern rtx gen_insvdi (rtx, rtx, rtx, rtx);
  15370. extern rtx gen_fmahf4 (rtx, rtx, rtx, rtx);
  15371. extern rtx gen_fmasf4 (rtx, rtx, rtx, rtx);
  15372. extern rtx gen_fmadf4 (rtx, rtx, rtx, rtx);
  15373. extern rtx gen_fnmahf4 (rtx, rtx, rtx, rtx);
  15374. extern rtx gen_fnmasf4 (rtx, rtx, rtx, rtx);
  15375. extern rtx gen_fnmadf4 (rtx, rtx, rtx, rtx);
  15376. extern rtx gen_fmssf4 (rtx, rtx, rtx, rtx);
  15377. extern rtx gen_fmsdf4 (rtx, rtx, rtx, rtx);
  15378. extern rtx gen_fnmssf4 (rtx, rtx, rtx, rtx);
  15379. extern rtx gen_fnmsdf4 (rtx, rtx, rtx, rtx);
  15380. extern rtx gen_floatsihf2 (rtx, rtx);
  15381. extern rtx gen_floatunssihf2 (rtx, rtx);
  15382. extern rtx gen_floatdihf2 (rtx, rtx);
  15383. extern rtx gen_floatunsdihf2 (rtx, rtx);
  15384. extern rtx gen_divhf3 (rtx, rtx, rtx);
  15385. extern rtx gen_divsf3 (rtx, rtx, rtx);
  15386. extern rtx gen_divdf3 (rtx, rtx, rtx);
  15387. extern rtx gen_sqrthf2 (rtx, rtx);
  15388. extern rtx gen_sqrtsf2 (rtx, rtx);
  15389. extern rtx gen_sqrtdf2 (rtx, rtx);
  15390. extern rtx gen_lrintsfsi2 (rtx, rtx);
  15391. extern rtx gen_lrintdfsi2 (rtx, rtx);
  15392. extern rtx gen_lrintsfdi2 (rtx, rtx);
  15393. extern rtx gen_lrintdfdi2 (rtx, rtx);
  15394. extern rtx gen_copysignsf3 (rtx, rtx, rtx);
  15395. extern rtx gen_copysigndf3 (rtx, rtx, rtx);
  15396. extern rtx gen_xorsignsf3 (rtx, rtx, rtx);
  15397. extern rtx gen_xorsigndf3 (rtx, rtx, rtx);
  15398. extern rtx gen_aarch64_reload_movcpsfsi (rtx, rtx, rtx);
  15399. extern rtx gen_aarch64_reload_movcpsfdi (rtx, rtx, rtx);
  15400. extern rtx gen_aarch64_reload_movcpdfsi (rtx, rtx, rtx);
  15401. extern rtx gen_aarch64_reload_movcpdfdi (rtx, rtx, rtx);
  15402. extern rtx gen_aarch64_reload_movcptfsi (rtx, rtx, rtx);
  15403. extern rtx gen_aarch64_reload_movcptfdi (rtx, rtx, rtx);
  15404. extern rtx gen_aarch64_reload_movcpv8qisi (rtx, rtx, rtx);
  15405. extern rtx gen_aarch64_reload_movcpv8qidi (rtx, rtx, rtx);
  15406. extern rtx gen_aarch64_reload_movcpv16qisi (rtx, rtx, rtx);
  15407. extern rtx gen_aarch64_reload_movcpv16qidi (rtx, rtx, rtx);
  15408. extern rtx gen_aarch64_reload_movcpv4hisi (rtx, rtx, rtx);
  15409. extern rtx gen_aarch64_reload_movcpv4hidi (rtx, rtx, rtx);
  15410. extern rtx gen_aarch64_reload_movcpv8hisi (rtx, rtx, rtx);
  15411. extern rtx gen_aarch64_reload_movcpv8hidi (rtx, rtx, rtx);
  15412. extern rtx gen_aarch64_reload_movcpv2sisi (rtx, rtx, rtx);
  15413. extern rtx gen_aarch64_reload_movcpv2sidi (rtx, rtx, rtx);
  15414. extern rtx gen_aarch64_reload_movcpv4sisi (rtx, rtx, rtx);
  15415. extern rtx gen_aarch64_reload_movcpv4sidi (rtx, rtx, rtx);
  15416. extern rtx gen_aarch64_reload_movcpv2disi (rtx, rtx, rtx);
  15417. extern rtx gen_aarch64_reload_movcpv2didi (rtx, rtx, rtx);
  15418. extern rtx gen_aarch64_reload_movcpv2sfsi (rtx, rtx, rtx);
  15419. extern rtx gen_aarch64_reload_movcpv2sfdi (rtx, rtx, rtx);
  15420. extern rtx gen_aarch64_reload_movcpv4sfsi (rtx, rtx, rtx);
  15421. extern rtx gen_aarch64_reload_movcpv4sfdi (rtx, rtx, rtx);
  15422. extern rtx gen_aarch64_reload_movcpv2dfsi (rtx, rtx, rtx);
  15423. extern rtx gen_aarch64_reload_movcpv2dfdi (rtx, rtx, rtx);
  15424. extern rtx gen_aarch64_reload_movti (rtx, rtx, rtx);
  15425. extern rtx gen_aarch64_reload_movtf (rtx, rtx, rtx);
  15426. extern rtx gen_add_losym (rtx, rtx, rtx);
  15427. extern rtx gen_tlsgd_small_si (rtx, rtx);
  15428. extern rtx gen_tlsgd_small_di (rtx, rtx);
  15429. extern rtx gen_tlsdesc_small_si (rtx);
  15430. extern rtx gen_tlsdesc_small_di (rtx);
  15431. extern rtx gen_get_thread_pointerdi (rtx);
  15432. extern rtx gen_stack_protect_set (rtx, rtx);
  15433. extern rtx gen_stack_protect_combined_set (rtx, rtx);
  15434. extern rtx gen_stack_protect_test (rtx, rtx, rtx);
  15435. extern rtx gen_stack_protect_combined_test (rtx, rtx, rtx);
  15436. extern rtx gen_doloop_end (rtx, rtx);
  15437. extern rtx gen_despeculate_copyqi (rtx, rtx, rtx);
  15438. extern rtx gen_despeculate_copyhi (rtx, rtx, rtx);
  15439. extern rtx gen_despeculate_copysi (rtx, rtx, rtx);
  15440. extern rtx gen_despeculate_copydi (rtx, rtx, rtx);
  15441. extern rtx gen_despeculate_copyti (rtx, rtx, rtx);
  15442. extern rtx gen_movv8qi (rtx, rtx);
  15443. extern rtx gen_movv16qi (rtx, rtx);
  15444. extern rtx gen_movv4hi (rtx, rtx);
  15445. extern rtx gen_movv8hi (rtx, rtx);
  15446. extern rtx gen_movv2si (rtx, rtx);
  15447. extern rtx gen_movv4si (rtx, rtx);
  15448. extern rtx gen_movv2di (rtx, rtx);
  15449. extern rtx gen_movv4hf (rtx, rtx);
  15450. extern rtx gen_movv8hf (rtx, rtx);
  15451. extern rtx gen_movv4bf (rtx, rtx);
  15452. extern rtx gen_movv8bf (rtx, rtx);
  15453. extern rtx gen_movv2sf (rtx, rtx);
  15454. extern rtx gen_movv4sf (rtx, rtx);
  15455. extern rtx gen_movv2df (rtx, rtx);
  15456. extern rtx gen_movmisalignv8qi (rtx, rtx);
  15457. extern rtx gen_movmisalignv16qi (rtx, rtx);
  15458. extern rtx gen_movmisalignv4hi (rtx, rtx);
  15459. extern rtx gen_movmisalignv8hi (rtx, rtx);
  15460. extern rtx gen_movmisalignv2si (rtx, rtx);
  15461. extern rtx gen_movmisalignv4si (rtx, rtx);
  15462. extern rtx gen_movmisalignv2di (rtx, rtx);
  15463. extern rtx gen_movmisalignv2sf (rtx, rtx);
  15464. extern rtx gen_movmisalignv4sf (rtx, rtx);
  15465. extern rtx gen_movmisalignv2df (rtx, rtx);
  15466. extern rtx gen_aarch64_split_simd_movv16qi (rtx, rtx);
  15467. extern rtx gen_aarch64_split_simd_movv8hi (rtx, rtx);
  15468. extern rtx gen_aarch64_split_simd_movv4si (rtx, rtx);
  15469. extern rtx gen_aarch64_split_simd_movv2di (rtx, rtx);
  15470. extern rtx gen_aarch64_split_simd_movv8hf (rtx, rtx);
  15471. extern rtx gen_aarch64_split_simd_movv8bf (rtx, rtx);
  15472. extern rtx gen_aarch64_split_simd_movv4sf (rtx, rtx);
  15473. extern rtx gen_aarch64_split_simd_movv2df (rtx, rtx);
  15474. extern rtx gen_aarch64_get_halfv16qi (rtx, rtx, rtx);
  15475. extern rtx gen_aarch64_get_halfv8hi (rtx, rtx, rtx);
  15476. extern rtx gen_aarch64_get_halfv4si (rtx, rtx, rtx);
  15477. extern rtx gen_aarch64_get_halfv2di (rtx, rtx, rtx);
  15478. extern rtx gen_aarch64_get_halfv8hf (rtx, rtx, rtx);
  15479. extern rtx gen_aarch64_get_halfv8bf (rtx, rtx, rtx);
  15480. extern rtx gen_aarch64_get_halfv4sf (rtx, rtx, rtx);
  15481. extern rtx gen_aarch64_get_halfv2df (rtx, rtx, rtx);
  15482. extern rtx gen_ctzv2si2 (rtx, rtx);
  15483. extern rtx gen_ctzv4si2 (rtx, rtx);
  15484. extern rtx gen_xorsignv4hf3 (rtx, rtx, rtx);
  15485. extern rtx gen_xorsignv8hf3 (rtx, rtx, rtx);
  15486. extern rtx gen_xorsignv2sf3 (rtx, rtx, rtx);
  15487. extern rtx gen_xorsignv4sf3 (rtx, rtx, rtx);
  15488. extern rtx gen_xorsignv2df3 (rtx, rtx, rtx);
  15489. extern rtx gen_sdot_prodv8qi (rtx, rtx, rtx, rtx);
  15490. extern rtx gen_udot_prodv8qi (rtx, rtx, rtx, rtx);
  15491. extern rtx gen_sdot_prodv16qi (rtx, rtx, rtx, rtx);
  15492. extern rtx gen_udot_prodv16qi (rtx, rtx, rtx, rtx);
  15493. extern rtx gen_copysignv4hf3 (rtx, rtx, rtx);
  15494. extern rtx gen_copysignv8hf3 (rtx, rtx, rtx);
  15495. extern rtx gen_copysignv2sf3 (rtx, rtx, rtx);
  15496. extern rtx gen_copysignv4sf3 (rtx, rtx, rtx);
  15497. extern rtx gen_copysignv2df3 (rtx, rtx, rtx);
  15498. extern rtx gen_rsqrtv2sf2 (rtx, rtx);
  15499. extern rtx gen_rsqrtv4sf2 (rtx, rtx);
  15500. extern rtx gen_rsqrtv2df2 (rtx, rtx);
  15501. extern rtx gen_rsqrtsf2 (rtx, rtx);
  15502. extern rtx gen_rsqrtdf2 (rtx, rtx);
  15503. extern rtx gen_ssadv16qi (rtx, rtx, rtx, rtx);
  15504. extern rtx gen_usadv16qi (rtx, rtx, rtx, rtx);
  15505. extern rtx gen_signbitv2sf2 (rtx, rtx);
  15506. extern rtx gen_signbitv4sf2 (rtx, rtx);
  15507. extern rtx gen_ashlv8qi3 (rtx, rtx, rtx);
  15508. extern rtx gen_ashlv16qi3 (rtx, rtx, rtx);
  15509. extern rtx gen_ashlv4hi3 (rtx, rtx, rtx);
  15510. extern rtx gen_ashlv8hi3 (rtx, rtx, rtx);
  15511. extern rtx gen_ashlv2si3 (rtx, rtx, rtx);
  15512. extern rtx gen_ashlv4si3 (rtx, rtx, rtx);
  15513. extern rtx gen_ashlv2di3 (rtx, rtx, rtx);
  15514. extern rtx gen_lshrv8qi3 (rtx, rtx, rtx);
  15515. extern rtx gen_lshrv16qi3 (rtx, rtx, rtx);
  15516. extern rtx gen_lshrv4hi3 (rtx, rtx, rtx);
  15517. extern rtx gen_lshrv8hi3 (rtx, rtx, rtx);
  15518. extern rtx gen_lshrv2si3 (rtx, rtx, rtx);
  15519. extern rtx gen_lshrv4si3 (rtx, rtx, rtx);
  15520. extern rtx gen_lshrv2di3 (rtx, rtx, rtx);
  15521. extern rtx gen_ashrv8qi3 (rtx, rtx, rtx);
  15522. extern rtx gen_ashrv16qi3 (rtx, rtx, rtx);
  15523. extern rtx gen_ashrv4hi3 (rtx, rtx, rtx);
  15524. extern rtx gen_ashrv8hi3 (rtx, rtx, rtx);
  15525. extern rtx gen_ashrv2si3 (rtx, rtx, rtx);
  15526. extern rtx gen_ashrv4si3 (rtx, rtx, rtx);
  15527. extern rtx gen_ashrv2di3 (rtx, rtx, rtx);
  15528. extern rtx gen_vashlv8qi3 (rtx, rtx, rtx);
  15529. extern rtx gen_vashlv16qi3 (rtx, rtx, rtx);
  15530. extern rtx gen_vashlv4hi3 (rtx, rtx, rtx);
  15531. extern rtx gen_vashlv8hi3 (rtx, rtx, rtx);
  15532. extern rtx gen_vashlv2si3 (rtx, rtx, rtx);
  15533. extern rtx gen_vashlv4si3 (rtx, rtx, rtx);
  15534. extern rtx gen_vashlv2di3 (rtx, rtx, rtx);
  15535. extern rtx gen_vashrv8qi3 (rtx, rtx, rtx);
  15536. extern rtx gen_vashrv16qi3 (rtx, rtx, rtx);
  15537. extern rtx gen_vashrv4hi3 (rtx, rtx, rtx);
  15538. extern rtx gen_vashrv8hi3 (rtx, rtx, rtx);
  15539. extern rtx gen_vashrv2si3 (rtx, rtx, rtx);
  15540. extern rtx gen_vashrv4si3 (rtx, rtx, rtx);
  15541. extern rtx gen_aarch64_ashr_simddi (rtx, rtx, rtx);
  15542. extern rtx gen_vlshrv8qi3 (rtx, rtx, rtx);
  15543. extern rtx gen_vlshrv16qi3 (rtx, rtx, rtx);
  15544. extern rtx gen_vlshrv4hi3 (rtx, rtx, rtx);
  15545. extern rtx gen_vlshrv8hi3 (rtx, rtx, rtx);
  15546. extern rtx gen_vlshrv2si3 (rtx, rtx, rtx);
  15547. extern rtx gen_vlshrv4si3 (rtx, rtx, rtx);
  15548. extern rtx gen_aarch64_lshr_simddi (rtx, rtx, rtx);
  15549. extern rtx gen_vec_setv8qi (rtx, rtx, rtx);
  15550. extern rtx gen_vec_setv16qi (rtx, rtx, rtx);
  15551. extern rtx gen_vec_setv4hi (rtx, rtx, rtx);
  15552. extern rtx gen_vec_setv8hi (rtx, rtx, rtx);
  15553. extern rtx gen_vec_setv2si (rtx, rtx, rtx);
  15554. extern rtx gen_vec_setv4si (rtx, rtx, rtx);
  15555. extern rtx gen_vec_setv2di (rtx, rtx, rtx);
  15556. extern rtx gen_vec_setv4hf (rtx, rtx, rtx);
  15557. extern rtx gen_vec_setv8hf (rtx, rtx, rtx);
  15558. extern rtx gen_vec_setv4bf (rtx, rtx, rtx);
  15559. extern rtx gen_vec_setv8bf (rtx, rtx, rtx);
  15560. extern rtx gen_vec_setv2sf (rtx, rtx, rtx);
  15561. extern rtx gen_vec_setv4sf (rtx, rtx, rtx);
  15562. extern rtx gen_vec_setv2df (rtx, rtx, rtx);
  15563. extern rtx gen_smaxv2di3 (rtx, rtx, rtx);
  15564. extern rtx gen_sminv2di3 (rtx, rtx, rtx);
  15565. extern rtx gen_umaxv2di3 (rtx, rtx, rtx);
  15566. extern rtx gen_uminv2di3 (rtx, rtx, rtx);
  15567. extern rtx gen_move_lo_quad_v16qi (rtx, rtx);
  15568. extern rtx gen_move_lo_quad_v8hi (rtx, rtx);
  15569. extern rtx gen_move_lo_quad_v4si (rtx, rtx);
  15570. extern rtx gen_move_lo_quad_v2di (rtx, rtx);
  15571. extern rtx gen_move_lo_quad_v8hf (rtx, rtx);
  15572. extern rtx gen_move_lo_quad_v8bf (rtx, rtx);
  15573. extern rtx gen_move_lo_quad_v4sf (rtx, rtx);
  15574. extern rtx gen_move_lo_quad_v2df (rtx, rtx);
  15575. extern rtx gen_move_hi_quad_v16qi (rtx, rtx);
  15576. extern rtx gen_move_hi_quad_v8hi (rtx, rtx);
  15577. extern rtx gen_move_hi_quad_v4si (rtx, rtx);
  15578. extern rtx gen_move_hi_quad_v2di (rtx, rtx);
  15579. extern rtx gen_move_hi_quad_v8hf (rtx, rtx);
  15580. extern rtx gen_move_hi_quad_v8bf (rtx, rtx);
  15581. extern rtx gen_move_hi_quad_v4sf (rtx, rtx);
  15582. extern rtx gen_move_hi_quad_v2df (rtx, rtx);
  15583. extern rtx gen_vec_pack_trunc_v4hi (rtx, rtx, rtx);
  15584. extern rtx gen_vec_pack_trunc_v2si (rtx, rtx, rtx);
  15585. extern rtx gen_vec_pack_trunc_di (rtx, rtx, rtx);
  15586. extern rtx gen_vec_unpacks_hi_v16qi (rtx, rtx);
  15587. extern rtx gen_vec_unpacku_hi_v16qi (rtx, rtx);
  15588. extern rtx gen_vec_unpacks_hi_v8hi (rtx, rtx);
  15589. extern rtx gen_vec_unpacku_hi_v8hi (rtx, rtx);
  15590. extern rtx gen_vec_unpacks_hi_v4si (rtx, rtx);
  15591. extern rtx gen_vec_unpacku_hi_v4si (rtx, rtx);
  15592. extern rtx gen_vec_unpacks_lo_v16qi (rtx, rtx);
  15593. extern rtx gen_vec_unpacku_lo_v16qi (rtx, rtx);
  15594. extern rtx gen_vec_unpacks_lo_v8hi (rtx, rtx);
  15595. extern rtx gen_vec_unpacku_lo_v8hi (rtx, rtx);
  15596. extern rtx gen_vec_unpacks_lo_v4si (rtx, rtx);
  15597. extern rtx gen_vec_unpacku_lo_v4si (rtx, rtx);
  15598. extern rtx gen_vec_widen_smult_lo_v16qi (rtx, rtx, rtx);
  15599. extern rtx gen_vec_widen_umult_lo_v16qi (rtx, rtx, rtx);
  15600. extern rtx gen_vec_widen_smult_lo_v8hi (rtx, rtx, rtx);
  15601. extern rtx gen_vec_widen_umult_lo_v8hi (rtx, rtx, rtx);
  15602. extern rtx gen_vec_widen_smult_lo_v4si (rtx, rtx, rtx);
  15603. extern rtx gen_vec_widen_umult_lo_v4si (rtx, rtx, rtx);
  15604. extern rtx gen_vec_widen_smult_hi_v16qi (rtx, rtx, rtx);
  15605. extern rtx gen_vec_widen_umult_hi_v16qi (rtx, rtx, rtx);
  15606. extern rtx gen_vec_widen_smult_hi_v8hi (rtx, rtx, rtx);
  15607. extern rtx gen_vec_widen_umult_hi_v8hi (rtx, rtx, rtx);
  15608. extern rtx gen_vec_widen_smult_hi_v4si (rtx, rtx, rtx);
  15609. extern rtx gen_vec_widen_umult_hi_v4si (rtx, rtx, rtx);
  15610. extern rtx gen_divv4hf3 (rtx, rtx, rtx);
  15611. extern rtx gen_divv8hf3 (rtx, rtx, rtx);
  15612. extern rtx gen_divv2sf3 (rtx, rtx, rtx);
  15613. extern rtx gen_divv4sf3 (rtx, rtx, rtx);
  15614. extern rtx gen_divv2df3 (rtx, rtx, rtx);
  15615. extern rtx gen_fixv4hfv4hi2 (rtx, rtx);
  15616. extern rtx gen_fixunsv4hfv4hi2 (rtx, rtx);
  15617. extern rtx gen_fixv8hfv8hi2 (rtx, rtx);
  15618. extern rtx gen_fixunsv8hfv8hi2 (rtx, rtx);
  15619. extern rtx gen_fixv2sfv2si2 (rtx, rtx);
  15620. extern rtx gen_fixunsv2sfv2si2 (rtx, rtx);
  15621. extern rtx gen_fixv4sfv4si2 (rtx, rtx);
  15622. extern rtx gen_fixunsv4sfv4si2 (rtx, rtx);
  15623. extern rtx gen_fixv2dfv2di2 (rtx, rtx);
  15624. extern rtx gen_fixunsv2dfv2di2 (rtx, rtx);
  15625. extern rtx gen_fix_truncv4hfv4hi2 (rtx, rtx);
  15626. extern rtx gen_fixuns_truncv4hfv4hi2 (rtx, rtx);
  15627. extern rtx gen_fix_truncv8hfv8hi2 (rtx, rtx);
  15628. extern rtx gen_fixuns_truncv8hfv8hi2 (rtx, rtx);
  15629. extern rtx gen_fix_truncv2sfv2si2 (rtx, rtx);
  15630. extern rtx gen_fixuns_truncv2sfv2si2 (rtx, rtx);
  15631. extern rtx gen_fix_truncv4sfv4si2 (rtx, rtx);
  15632. extern rtx gen_fixuns_truncv4sfv4si2 (rtx, rtx);
  15633. extern rtx gen_fix_truncv2dfv2di2 (rtx, rtx);
  15634. extern rtx gen_fixuns_truncv2dfv2di2 (rtx, rtx);
  15635. extern rtx gen_ftruncv4hf2 (rtx, rtx);
  15636. extern rtx gen_ftruncv8hf2 (rtx, rtx);
  15637. extern rtx gen_ftruncv2sf2 (rtx, rtx);
  15638. extern rtx gen_ftruncv4sf2 (rtx, rtx);
  15639. extern rtx gen_ftruncv2df2 (rtx, rtx);
  15640. extern rtx gen_vec_unpacks_lo_v8hf (rtx, rtx);
  15641. extern rtx gen_vec_unpacks_lo_v4sf (rtx, rtx);
  15642. extern rtx gen_vec_unpacks_hi_v8hf (rtx, rtx);
  15643. extern rtx gen_vec_unpacks_hi_v4sf (rtx, rtx);
  15644. extern rtx gen_aarch64_float_truncate_hi_v4sf (rtx, rtx, rtx);
  15645. extern rtx gen_aarch64_float_truncate_hi_v8hf (rtx, rtx, rtx);
  15646. extern rtx gen_vec_pack_trunc_v2df (rtx, rtx, rtx);
  15647. extern rtx gen_vec_pack_trunc_df (rtx, rtx, rtx);
  15648. extern rtx gen_reduc_plus_scal_v8qi (rtx, rtx);
  15649. extern rtx gen_reduc_plus_scal_v16qi (rtx, rtx);
  15650. extern rtx gen_reduc_plus_scal_v4hi (rtx, rtx);
  15651. extern rtx gen_reduc_plus_scal_v8hi (rtx, rtx);
  15652. extern rtx gen_reduc_plus_scal_v2si (rtx, rtx);
  15653. extern rtx gen_reduc_plus_scal_v4si (rtx, rtx);
  15654. extern rtx gen_reduc_plus_scal_v2di (rtx, rtx);
  15655. extern rtx gen_reduc_plus_scal_v4sf (rtx, rtx);
  15656. extern rtx gen_reduc_smax_nan_scal_v4hf (rtx, rtx);
  15657. extern rtx gen_reduc_smin_nan_scal_v4hf (rtx, rtx);
  15658. extern rtx gen_reduc_smax_scal_v4hf (rtx, rtx);
  15659. extern rtx gen_reduc_smin_scal_v4hf (rtx, rtx);
  15660. extern rtx gen_reduc_smax_nan_scal_v8hf (rtx, rtx);
  15661. extern rtx gen_reduc_smin_nan_scal_v8hf (rtx, rtx);
  15662. extern rtx gen_reduc_smax_scal_v8hf (rtx, rtx);
  15663. extern rtx gen_reduc_smin_scal_v8hf (rtx, rtx);
  15664. extern rtx gen_reduc_smax_nan_scal_v2sf (rtx, rtx);
  15665. extern rtx gen_reduc_smin_nan_scal_v2sf (rtx, rtx);
  15666. extern rtx gen_reduc_smax_scal_v2sf (rtx, rtx);
  15667. extern rtx gen_reduc_smin_scal_v2sf (rtx, rtx);
  15668. extern rtx gen_reduc_smax_nan_scal_v4sf (rtx, rtx);
  15669. extern rtx gen_reduc_smin_nan_scal_v4sf (rtx, rtx);
  15670. extern rtx gen_reduc_smax_scal_v4sf (rtx, rtx);
  15671. extern rtx gen_reduc_smin_scal_v4sf (rtx, rtx);
  15672. extern rtx gen_reduc_smax_nan_scal_v2df (rtx, rtx);
  15673. extern rtx gen_reduc_smin_nan_scal_v2df (rtx, rtx);
  15674. extern rtx gen_reduc_smax_scal_v2df (rtx, rtx);
  15675. extern rtx gen_reduc_smin_scal_v2df (rtx, rtx);
  15676. extern rtx gen_reduc_umax_scal_v8qi (rtx, rtx);
  15677. extern rtx gen_reduc_umin_scal_v8qi (rtx, rtx);
  15678. extern rtx gen_reduc_smax_scal_v8qi (rtx, rtx);
  15679. extern rtx gen_reduc_smin_scal_v8qi (rtx, rtx);
  15680. extern rtx gen_reduc_umax_scal_v16qi (rtx, rtx);
  15681. extern rtx gen_reduc_umin_scal_v16qi (rtx, rtx);
  15682. extern rtx gen_reduc_smax_scal_v16qi (rtx, rtx);
  15683. extern rtx gen_reduc_smin_scal_v16qi (rtx, rtx);
  15684. extern rtx gen_reduc_umax_scal_v4hi (rtx, rtx);
  15685. extern rtx gen_reduc_umin_scal_v4hi (rtx, rtx);
  15686. extern rtx gen_reduc_smax_scal_v4hi (rtx, rtx);
  15687. extern rtx gen_reduc_smin_scal_v4hi (rtx, rtx);
  15688. extern rtx gen_reduc_umax_scal_v8hi (rtx, rtx);
  15689. extern rtx gen_reduc_umin_scal_v8hi (rtx, rtx);
  15690. extern rtx gen_reduc_smax_scal_v8hi (rtx, rtx);
  15691. extern rtx gen_reduc_smin_scal_v8hi (rtx, rtx);
  15692. extern rtx gen_reduc_umax_scal_v2si (rtx, rtx);
  15693. extern rtx gen_reduc_umin_scal_v2si (rtx, rtx);
  15694. extern rtx gen_reduc_smax_scal_v2si (rtx, rtx);
  15695. extern rtx gen_reduc_smin_scal_v2si (rtx, rtx);
  15696. extern rtx gen_reduc_umax_scal_v4si (rtx, rtx);
  15697. extern rtx gen_reduc_umin_scal_v4si (rtx, rtx);
  15698. extern rtx gen_reduc_smax_scal_v4si (rtx, rtx);
  15699. extern rtx gen_reduc_smin_scal_v4si (rtx, rtx);
  15700. extern rtx gen_aarch64_simd_bslv8qi (rtx, rtx, rtx, rtx);
  15701. extern rtx gen_aarch64_simd_bslv16qi (rtx, rtx, rtx, rtx);
  15702. extern rtx gen_aarch64_simd_bslv4hi (rtx, rtx, rtx, rtx);
  15703. extern rtx gen_aarch64_simd_bslv8hi (rtx, rtx, rtx, rtx);
  15704. extern rtx gen_aarch64_simd_bslv2si (rtx, rtx, rtx, rtx);
  15705. extern rtx gen_aarch64_simd_bslv4si (rtx, rtx, rtx, rtx);
  15706. extern rtx gen_aarch64_simd_bslv4bf (rtx, rtx, rtx, rtx);
  15707. extern rtx gen_aarch64_simd_bslv8bf (rtx, rtx, rtx, rtx);
  15708. extern rtx gen_aarch64_simd_bslv2di (rtx, rtx, rtx, rtx);
  15709. extern rtx gen_aarch64_simd_bslv4hf (rtx, rtx, rtx, rtx);
  15710. extern rtx gen_aarch64_simd_bslv8hf (rtx, rtx, rtx, rtx);
  15711. extern rtx gen_aarch64_simd_bslv2sf (rtx, rtx, rtx, rtx);
  15712. extern rtx gen_aarch64_simd_bslv4sf (rtx, rtx, rtx, rtx);
  15713. extern rtx gen_aarch64_simd_bslv2df (rtx, rtx, rtx, rtx);
  15714. extern rtx gen_aarch64_simd_bsldi (rtx, rtx, rtx, rtx);
  15715. extern rtx gen_aarch64_simd_bsldf (rtx, rtx, rtx, rtx);
  15716. extern rtx gen_vcond_mask_v8qiv8qi (rtx, rtx, rtx, rtx);
  15717. extern rtx gen_vcond_mask_v16qiv16qi (rtx, rtx, rtx, rtx);
  15718. extern rtx gen_vcond_mask_v4hiv4hi (rtx, rtx, rtx, rtx);
  15719. extern rtx gen_vcond_mask_v8hiv8hi (rtx, rtx, rtx, rtx);
  15720. extern rtx gen_vcond_mask_v2siv2si (rtx, rtx, rtx, rtx);
  15721. extern rtx gen_vcond_mask_v4siv4si (rtx, rtx, rtx, rtx);
  15722. extern rtx gen_vcond_mask_v2div2di (rtx, rtx, rtx, rtx);
  15723. extern rtx gen_vcond_mask_v2sfv2si (rtx, rtx, rtx, rtx);
  15724. extern rtx gen_vcond_mask_v4sfv4si (rtx, rtx, rtx, rtx);
  15725. extern rtx gen_vcond_mask_v2dfv2di (rtx, rtx, rtx, rtx);
  15726. extern rtx gen_vcond_mask_didi (rtx, rtx, rtx, rtx);
  15727. extern rtx gen_vec_cmpv8qiv8qi (rtx, rtx, rtx, rtx);
  15728. extern rtx gen_vec_cmpv16qiv16qi (rtx, rtx, rtx, rtx);
  15729. extern rtx gen_vec_cmpv4hiv4hi (rtx, rtx, rtx, rtx);
  15730. extern rtx gen_vec_cmpv8hiv8hi (rtx, rtx, rtx, rtx);
  15731. extern rtx gen_vec_cmpv2siv2si (rtx, rtx, rtx, rtx);
  15732. extern rtx gen_vec_cmpv4siv4si (rtx, rtx, rtx, rtx);
  15733. extern rtx gen_vec_cmpv2div2di (rtx, rtx, rtx, rtx);
  15734. extern rtx gen_vec_cmpdidi (rtx, rtx, rtx, rtx);
  15735. extern rtx gen_vec_cmpv2sfv2si (rtx, rtx, rtx, rtx);
  15736. extern rtx gen_vec_cmpv4sfv4si (rtx, rtx, rtx, rtx);
  15737. extern rtx gen_vec_cmpv2dfv2di (rtx, rtx, rtx, rtx);
  15738. extern rtx gen_vec_cmpuv8qiv8qi (rtx, rtx, rtx, rtx);
  15739. extern rtx gen_vec_cmpuv16qiv16qi (rtx, rtx, rtx, rtx);
  15740. extern rtx gen_vec_cmpuv4hiv4hi (rtx, rtx, rtx, rtx);
  15741. extern rtx gen_vec_cmpuv8hiv8hi (rtx, rtx, rtx, rtx);
  15742. extern rtx gen_vec_cmpuv2siv2si (rtx, rtx, rtx, rtx);
  15743. extern rtx gen_vec_cmpuv4siv4si (rtx, rtx, rtx, rtx);
  15744. extern rtx gen_vec_cmpuv2div2di (rtx, rtx, rtx, rtx);
  15745. extern rtx gen_vec_cmpudidi (rtx, rtx, rtx, rtx);
  15746. extern rtx gen_vcondv8qiv8qi (rtx, rtx, rtx, rtx, rtx, rtx);
  15747. extern rtx gen_vcondv16qiv16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  15748. extern rtx gen_vcondv4hiv4hi (rtx, rtx, rtx, rtx, rtx, rtx);
  15749. extern rtx gen_vcondv8hiv8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  15750. extern rtx gen_vcondv2siv2si (rtx, rtx, rtx, rtx, rtx, rtx);
  15751. extern rtx gen_vcondv4siv4si (rtx, rtx, rtx, rtx, rtx, rtx);
  15752. extern rtx gen_vcondv2div2di (rtx, rtx, rtx, rtx, rtx, rtx);
  15753. extern rtx gen_vcondv2sfv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  15754. extern rtx gen_vcondv4sfv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  15755. extern rtx gen_vcondv2dfv2df (rtx, rtx, rtx, rtx, rtx, rtx);
  15756. extern rtx gen_vconddidi (rtx, rtx, rtx, rtx, rtx, rtx);
  15757. extern rtx gen_vcondv2siv2sf (rtx, rtx, rtx, rtx, rtx, rtx);
  15758. extern rtx gen_vcondv2sfv2si (rtx, rtx, rtx, rtx, rtx, rtx);
  15759. extern rtx gen_vcondv4siv4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  15760. extern rtx gen_vcondv4sfv4si (rtx, rtx, rtx, rtx, rtx, rtx);
  15761. extern rtx gen_vcondv2div2df (rtx, rtx, rtx, rtx, rtx, rtx);
  15762. extern rtx gen_vcondv2dfv2di (rtx, rtx, rtx, rtx, rtx, rtx);
  15763. extern rtx gen_vconduv8qiv8qi (rtx, rtx, rtx, rtx, rtx, rtx);
  15764. extern rtx gen_vconduv16qiv16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  15765. extern rtx gen_vconduv4hiv4hi (rtx, rtx, rtx, rtx, rtx, rtx);
  15766. extern rtx gen_vconduv8hiv8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  15767. extern rtx gen_vconduv2siv2si (rtx, rtx, rtx, rtx, rtx, rtx);
  15768. extern rtx gen_vconduv4siv4si (rtx, rtx, rtx, rtx, rtx, rtx);
  15769. extern rtx gen_vconduv2div2di (rtx, rtx, rtx, rtx, rtx, rtx);
  15770. extern rtx gen_vcondudidi (rtx, rtx, rtx, rtx, rtx, rtx);
  15771. extern rtx gen_vconduv2sfv2si (rtx, rtx, rtx, rtx, rtx, rtx);
  15772. extern rtx gen_vconduv4sfv4si (rtx, rtx, rtx, rtx, rtx, rtx);
  15773. extern rtx gen_vconduv2dfv2di (rtx, rtx, rtx, rtx, rtx, rtx);
  15774. extern rtx gen_aarch64_combinev8qi (rtx, rtx, rtx);
  15775. extern rtx gen_aarch64_combinev4hi (rtx, rtx, rtx);
  15776. extern rtx gen_aarch64_combinev4bf (rtx, rtx, rtx);
  15777. extern rtx gen_aarch64_combinev4hf (rtx, rtx, rtx);
  15778. extern rtx gen_aarch64_combinev2si (rtx, rtx, rtx);
  15779. extern rtx gen_aarch64_combinev2sf (rtx, rtx, rtx);
  15780. extern rtx gen_aarch64_combinedi (rtx, rtx, rtx);
  15781. extern rtx gen_aarch64_combinedf (rtx, rtx, rtx);
  15782. extern rtx gen_aarch64_simd_combinev8qi (rtx, rtx, rtx);
  15783. extern rtx gen_aarch64_simd_combinev4hi (rtx, rtx, rtx);
  15784. extern rtx gen_aarch64_simd_combinev4bf (rtx, rtx, rtx);
  15785. extern rtx gen_aarch64_simd_combinev4hf (rtx, rtx, rtx);
  15786. extern rtx gen_aarch64_simd_combinev2si (rtx, rtx, rtx);
  15787. extern rtx gen_aarch64_simd_combinev2sf (rtx, rtx, rtx);
  15788. extern rtx gen_aarch64_simd_combinedi (rtx, rtx, rtx);
  15789. extern rtx gen_aarch64_simd_combinedf (rtx, rtx, rtx);
  15790. extern rtx gen_aarch64_saddl2v16qi (rtx, rtx, rtx);
  15791. extern rtx gen_aarch64_saddl2v8hi (rtx, rtx, rtx);
  15792. extern rtx gen_aarch64_saddl2v4si (rtx, rtx, rtx);
  15793. extern rtx gen_aarch64_uaddl2v16qi (rtx, rtx, rtx);
  15794. extern rtx gen_aarch64_uaddl2v8hi (rtx, rtx, rtx);
  15795. extern rtx gen_aarch64_uaddl2v4si (rtx, rtx, rtx);
  15796. extern rtx gen_aarch64_ssubl2v16qi (rtx, rtx, rtx);
  15797. extern rtx gen_aarch64_ssubl2v8hi (rtx, rtx, rtx);
  15798. extern rtx gen_aarch64_ssubl2v4si (rtx, rtx, rtx);
  15799. extern rtx gen_aarch64_usubl2v16qi (rtx, rtx, rtx);
  15800. extern rtx gen_aarch64_usubl2v8hi (rtx, rtx, rtx);
  15801. extern rtx gen_aarch64_usubl2v4si (rtx, rtx, rtx);
  15802. extern rtx gen_widen_ssumv16qi3 (rtx, rtx, rtx);
  15803. extern rtx gen_widen_ssumv8hi3 (rtx, rtx, rtx);
  15804. extern rtx gen_widen_ssumv4si3 (rtx, rtx, rtx);
  15805. extern rtx gen_widen_ssumv8qi3 (rtx, rtx, rtx);
  15806. extern rtx gen_widen_ssumv4hi3 (rtx, rtx, rtx);
  15807. extern rtx gen_widen_ssumv2si3 (rtx, rtx, rtx);
  15808. extern rtx gen_widen_usumv16qi3 (rtx, rtx, rtx);
  15809. extern rtx gen_widen_usumv8hi3 (rtx, rtx, rtx);
  15810. extern rtx gen_widen_usumv4si3 (rtx, rtx, rtx);
  15811. extern rtx gen_widen_usumv8qi3 (rtx, rtx, rtx);
  15812. extern rtx gen_widen_usumv4hi3 (rtx, rtx, rtx);
  15813. extern rtx gen_widen_usumv2si3 (rtx, rtx, rtx);
  15814. extern rtx gen_aarch64_saddw2v16qi (rtx, rtx, rtx);
  15815. extern rtx gen_aarch64_saddw2v8hi (rtx, rtx, rtx);
  15816. extern rtx gen_aarch64_saddw2v4si (rtx, rtx, rtx);
  15817. extern rtx gen_aarch64_uaddw2v16qi (rtx, rtx, rtx);
  15818. extern rtx gen_aarch64_uaddw2v8hi (rtx, rtx, rtx);
  15819. extern rtx gen_aarch64_uaddw2v4si (rtx, rtx, rtx);
  15820. extern rtx gen_aarch64_ssubw2v16qi (rtx, rtx, rtx);
  15821. extern rtx gen_aarch64_ssubw2v8hi (rtx, rtx, rtx);
  15822. extern rtx gen_aarch64_ssubw2v4si (rtx, rtx, rtx);
  15823. extern rtx gen_aarch64_usubw2v16qi (rtx, rtx, rtx);
  15824. extern rtx gen_aarch64_usubw2v8hi (rtx, rtx, rtx);
  15825. extern rtx gen_aarch64_usubw2v4si (rtx, rtx, rtx);
  15826. extern rtx gen_avgv8qi3_floor (rtx, rtx, rtx);
  15827. extern rtx gen_uavgv8qi3_floor (rtx, rtx, rtx);
  15828. extern rtx gen_avgv16qi3_floor (rtx, rtx, rtx);
  15829. extern rtx gen_uavgv16qi3_floor (rtx, rtx, rtx);
  15830. extern rtx gen_avgv4hi3_floor (rtx, rtx, rtx);
  15831. extern rtx gen_uavgv4hi3_floor (rtx, rtx, rtx);
  15832. extern rtx gen_avgv8hi3_floor (rtx, rtx, rtx);
  15833. extern rtx gen_uavgv8hi3_floor (rtx, rtx, rtx);
  15834. extern rtx gen_avgv2si3_floor (rtx, rtx, rtx);
  15835. extern rtx gen_uavgv2si3_floor (rtx, rtx, rtx);
  15836. extern rtx gen_avgv4si3_floor (rtx, rtx, rtx);
  15837. extern rtx gen_uavgv4si3_floor (rtx, rtx, rtx);
  15838. extern rtx gen_avgv8qi3_ceil (rtx, rtx, rtx);
  15839. extern rtx gen_uavgv8qi3_ceil (rtx, rtx, rtx);
  15840. extern rtx gen_avgv16qi3_ceil (rtx, rtx, rtx);
  15841. extern rtx gen_uavgv16qi3_ceil (rtx, rtx, rtx);
  15842. extern rtx gen_avgv4hi3_ceil (rtx, rtx, rtx);
  15843. extern rtx gen_uavgv4hi3_ceil (rtx, rtx, rtx);
  15844. extern rtx gen_avgv8hi3_ceil (rtx, rtx, rtx);
  15845. extern rtx gen_uavgv8hi3_ceil (rtx, rtx, rtx);
  15846. extern rtx gen_avgv2si3_ceil (rtx, rtx, rtx);
  15847. extern rtx gen_uavgv2si3_ceil (rtx, rtx, rtx);
  15848. extern rtx gen_avgv4si3_ceil (rtx, rtx, rtx);
  15849. extern rtx gen_uavgv4si3_ceil (rtx, rtx, rtx);
  15850. extern rtx gen_aarch64_sqdmlal2v8hi (rtx, rtx, rtx, rtx);
  15851. extern rtx gen_aarch64_sqdmlal2v4si (rtx, rtx, rtx, rtx);
  15852. extern rtx gen_aarch64_sqdmlsl2v8hi (rtx, rtx, rtx, rtx);
  15853. extern rtx gen_aarch64_sqdmlsl2v4si (rtx, rtx, rtx, rtx);
  15854. extern rtx gen_aarch64_sqdmlal2_lanev8hi (rtx, rtx, rtx, rtx, rtx);
  15855. extern rtx gen_aarch64_sqdmlal2_lanev4si (rtx, rtx, rtx, rtx, rtx);
  15856. extern rtx gen_aarch64_sqdmlal2_laneqv8hi (rtx, rtx, rtx, rtx, rtx);
  15857. extern rtx gen_aarch64_sqdmlal2_laneqv4si (rtx, rtx, rtx, rtx, rtx);
  15858. extern rtx gen_aarch64_sqdmlsl2_lanev8hi (rtx, rtx, rtx, rtx, rtx);
  15859. extern rtx gen_aarch64_sqdmlsl2_lanev4si (rtx, rtx, rtx, rtx, rtx);
  15860. extern rtx gen_aarch64_sqdmlsl2_laneqv8hi (rtx, rtx, rtx, rtx, rtx);
  15861. extern rtx gen_aarch64_sqdmlsl2_laneqv4si (rtx, rtx, rtx, rtx, rtx);
  15862. extern rtx gen_aarch64_sqdmlal2_nv8hi (rtx, rtx, rtx, rtx);
  15863. extern rtx gen_aarch64_sqdmlal2_nv4si (rtx, rtx, rtx, rtx);
  15864. extern rtx gen_aarch64_sqdmlsl2_nv8hi (rtx, rtx, rtx, rtx);
  15865. extern rtx gen_aarch64_sqdmlsl2_nv4si (rtx, rtx, rtx, rtx);
  15866. extern rtx gen_aarch64_sqdmull2v8hi (rtx, rtx, rtx);
  15867. extern rtx gen_aarch64_sqdmull2v4si (rtx, rtx, rtx);
  15868. extern rtx gen_aarch64_sqdmull2_lanev8hi (rtx, rtx, rtx, rtx);
  15869. extern rtx gen_aarch64_sqdmull2_lanev4si (rtx, rtx, rtx, rtx);
  15870. extern rtx gen_aarch64_sqdmull2_laneqv8hi (rtx, rtx, rtx, rtx);
  15871. extern rtx gen_aarch64_sqdmull2_laneqv4si (rtx, rtx, rtx, rtx);
  15872. extern rtx gen_aarch64_sqdmull2_nv8hi (rtx, rtx, rtx);
  15873. extern rtx gen_aarch64_sqdmull2_nv4si (rtx, rtx, rtx);
  15874. extern rtx gen_sqrtv4hf2 (rtx, rtx);
  15875. extern rtx gen_sqrtv8hf2 (rtx, rtx);
  15876. extern rtx gen_sqrtv2sf2 (rtx, rtx);
  15877. extern rtx gen_sqrtv4sf2 (rtx, rtx);
  15878. extern rtx gen_sqrtv2df2 (rtx, rtx);
  15879. extern rtx gen_vec_load_lanesoiv16qi (rtx, rtx);
  15880. extern rtx gen_vec_load_lanesoiv8hi (rtx, rtx);
  15881. extern rtx gen_vec_load_lanesoiv4si (rtx, rtx);
  15882. extern rtx gen_vec_load_lanesoiv2di (rtx, rtx);
  15883. extern rtx gen_vec_load_lanesoiv8hf (rtx, rtx);
  15884. extern rtx gen_vec_load_lanesoiv4sf (rtx, rtx);
  15885. extern rtx gen_vec_load_lanesoiv2df (rtx, rtx);
  15886. extern rtx gen_vec_load_lanesoiv8bf (rtx, rtx);
  15887. extern rtx gen_vec_store_lanesoiv16qi (rtx, rtx);
  15888. extern rtx gen_vec_store_lanesoiv8hi (rtx, rtx);
  15889. extern rtx gen_vec_store_lanesoiv4si (rtx, rtx);
  15890. extern rtx gen_vec_store_lanesoiv2di (rtx, rtx);
  15891. extern rtx gen_vec_store_lanesoiv8hf (rtx, rtx);
  15892. extern rtx gen_vec_store_lanesoiv4sf (rtx, rtx);
  15893. extern rtx gen_vec_store_lanesoiv2df (rtx, rtx);
  15894. extern rtx gen_vec_store_lanesoiv8bf (rtx, rtx);
  15895. extern rtx gen_vec_load_lanesciv16qi (rtx, rtx);
  15896. extern rtx gen_vec_load_lanesciv8hi (rtx, rtx);
  15897. extern rtx gen_vec_load_lanesciv4si (rtx, rtx);
  15898. extern rtx gen_vec_load_lanesciv2di (rtx, rtx);
  15899. extern rtx gen_vec_load_lanesciv8hf (rtx, rtx);
  15900. extern rtx gen_vec_load_lanesciv4sf (rtx, rtx);
  15901. extern rtx gen_vec_load_lanesciv2df (rtx, rtx);
  15902. extern rtx gen_vec_load_lanesciv8bf (rtx, rtx);
  15903. extern rtx gen_vec_store_lanesciv16qi (rtx, rtx);
  15904. extern rtx gen_vec_store_lanesciv8hi (rtx, rtx);
  15905. extern rtx gen_vec_store_lanesciv4si (rtx, rtx);
  15906. extern rtx gen_vec_store_lanesciv2di (rtx, rtx);
  15907. extern rtx gen_vec_store_lanesciv8hf (rtx, rtx);
  15908. extern rtx gen_vec_store_lanesciv4sf (rtx, rtx);
  15909. extern rtx gen_vec_store_lanesciv2df (rtx, rtx);
  15910. extern rtx gen_vec_store_lanesciv8bf (rtx, rtx);
  15911. extern rtx gen_vec_load_lanesxiv16qi (rtx, rtx);
  15912. extern rtx gen_vec_load_lanesxiv8hi (rtx, rtx);
  15913. extern rtx gen_vec_load_lanesxiv4si (rtx, rtx);
  15914. extern rtx gen_vec_load_lanesxiv2di (rtx, rtx);
  15915. extern rtx gen_vec_load_lanesxiv8hf (rtx, rtx);
  15916. extern rtx gen_vec_load_lanesxiv4sf (rtx, rtx);
  15917. extern rtx gen_vec_load_lanesxiv2df (rtx, rtx);
  15918. extern rtx gen_vec_load_lanesxiv8bf (rtx, rtx);
  15919. extern rtx gen_vec_store_lanesxiv16qi (rtx, rtx);
  15920. extern rtx gen_vec_store_lanesxiv8hi (rtx, rtx);
  15921. extern rtx gen_vec_store_lanesxiv4si (rtx, rtx);
  15922. extern rtx gen_vec_store_lanesxiv2di (rtx, rtx);
  15923. extern rtx gen_vec_store_lanesxiv8hf (rtx, rtx);
  15924. extern rtx gen_vec_store_lanesxiv4sf (rtx, rtx);
  15925. extern rtx gen_vec_store_lanesxiv2df (rtx, rtx);
  15926. extern rtx gen_vec_store_lanesxiv8bf (rtx, rtx);
  15927. extern rtx gen_movoi (rtx, rtx);
  15928. extern rtx gen_movci (rtx, rtx);
  15929. extern rtx gen_movxi (rtx, rtx);
  15930. extern rtx gen_aarch64_ld1x3v8qi (rtx, rtx);
  15931. extern rtx gen_aarch64_ld1x3v16qi (rtx, rtx);
  15932. extern rtx gen_aarch64_ld1x3v4hi (rtx, rtx);
  15933. extern rtx gen_aarch64_ld1x3v8hi (rtx, rtx);
  15934. extern rtx gen_aarch64_ld1x3v2si (rtx, rtx);
  15935. extern rtx gen_aarch64_ld1x3v4si (rtx, rtx);
  15936. extern rtx gen_aarch64_ld1x3v4bf (rtx, rtx);
  15937. extern rtx gen_aarch64_ld1x3v8bf (rtx, rtx);
  15938. extern rtx gen_aarch64_ld1x3v2di (rtx, rtx);
  15939. extern rtx gen_aarch64_ld1x3v4hf (rtx, rtx);
  15940. extern rtx gen_aarch64_ld1x3v8hf (rtx, rtx);
  15941. extern rtx gen_aarch64_ld1x3v2sf (rtx, rtx);
  15942. extern rtx gen_aarch64_ld1x3v4sf (rtx, rtx);
  15943. extern rtx gen_aarch64_ld1x3v2df (rtx, rtx);
  15944. extern rtx gen_aarch64_ld1x3di (rtx, rtx);
  15945. extern rtx gen_aarch64_ld1x3df (rtx, rtx);
  15946. extern rtx gen_aarch64_ld1x4v8qi (rtx, rtx);
  15947. extern rtx gen_aarch64_ld1x4v16qi (rtx, rtx);
  15948. extern rtx gen_aarch64_ld1x4v4hi (rtx, rtx);
  15949. extern rtx gen_aarch64_ld1x4v8hi (rtx, rtx);
  15950. extern rtx gen_aarch64_ld1x4v2si (rtx, rtx);
  15951. extern rtx gen_aarch64_ld1x4v4si (rtx, rtx);
  15952. extern rtx gen_aarch64_ld1x4v4bf (rtx, rtx);
  15953. extern rtx gen_aarch64_ld1x4v8bf (rtx, rtx);
  15954. extern rtx gen_aarch64_ld1x4v2di (rtx, rtx);
  15955. extern rtx gen_aarch64_ld1x4v4hf (rtx, rtx);
  15956. extern rtx gen_aarch64_ld1x4v8hf (rtx, rtx);
  15957. extern rtx gen_aarch64_ld1x4v2sf (rtx, rtx);
  15958. extern rtx gen_aarch64_ld1x4v4sf (rtx, rtx);
  15959. extern rtx gen_aarch64_ld1x4v2df (rtx, rtx);
  15960. extern rtx gen_aarch64_ld1x4di (rtx, rtx);
  15961. extern rtx gen_aarch64_ld1x4df (rtx, rtx);
  15962. extern rtx gen_aarch64_st1x2v8qi (rtx, rtx);
  15963. extern rtx gen_aarch64_st1x2v16qi (rtx, rtx);
  15964. extern rtx gen_aarch64_st1x2v4hi (rtx, rtx);
  15965. extern rtx gen_aarch64_st1x2v8hi (rtx, rtx);
  15966. extern rtx gen_aarch64_st1x2v2si (rtx, rtx);
  15967. extern rtx gen_aarch64_st1x2v4si (rtx, rtx);
  15968. extern rtx gen_aarch64_st1x2v4bf (rtx, rtx);
  15969. extern rtx gen_aarch64_st1x2v8bf (rtx, rtx);
  15970. extern rtx gen_aarch64_st1x2v2di (rtx, rtx);
  15971. extern rtx gen_aarch64_st1x2v4hf (rtx, rtx);
  15972. extern rtx gen_aarch64_st1x2v8hf (rtx, rtx);
  15973. extern rtx gen_aarch64_st1x2v2sf (rtx, rtx);
  15974. extern rtx gen_aarch64_st1x2v4sf (rtx, rtx);
  15975. extern rtx gen_aarch64_st1x2v2df (rtx, rtx);
  15976. extern rtx gen_aarch64_st1x2di (rtx, rtx);
  15977. extern rtx gen_aarch64_st1x2df (rtx, rtx);
  15978. extern rtx gen_aarch64_st1x3v8qi (rtx, rtx);
  15979. extern rtx gen_aarch64_st1x3v16qi (rtx, rtx);
  15980. extern rtx gen_aarch64_st1x3v4hi (rtx, rtx);
  15981. extern rtx gen_aarch64_st1x3v8hi (rtx, rtx);
  15982. extern rtx gen_aarch64_st1x3v2si (rtx, rtx);
  15983. extern rtx gen_aarch64_st1x3v4si (rtx, rtx);
  15984. extern rtx gen_aarch64_st1x3v4bf (rtx, rtx);
  15985. extern rtx gen_aarch64_st1x3v8bf (rtx, rtx);
  15986. extern rtx gen_aarch64_st1x3v2di (rtx, rtx);
  15987. extern rtx gen_aarch64_st1x3v4hf (rtx, rtx);
  15988. extern rtx gen_aarch64_st1x3v8hf (rtx, rtx);
  15989. extern rtx gen_aarch64_st1x3v2sf (rtx, rtx);
  15990. extern rtx gen_aarch64_st1x3v4sf (rtx, rtx);
  15991. extern rtx gen_aarch64_st1x3v2df (rtx, rtx);
  15992. extern rtx gen_aarch64_st1x3di (rtx, rtx);
  15993. extern rtx gen_aarch64_st1x3df (rtx, rtx);
  15994. extern rtx gen_aarch64_st1x4v8qi (rtx, rtx);
  15995. extern rtx gen_aarch64_st1x4v16qi (rtx, rtx);
  15996. extern rtx gen_aarch64_st1x4v4hi (rtx, rtx);
  15997. extern rtx gen_aarch64_st1x4v8hi (rtx, rtx);
  15998. extern rtx gen_aarch64_st1x4v2si (rtx, rtx);
  15999. extern rtx gen_aarch64_st1x4v4si (rtx, rtx);
  16000. extern rtx gen_aarch64_st1x4v4bf (rtx, rtx);
  16001. extern rtx gen_aarch64_st1x4v8bf (rtx, rtx);
  16002. extern rtx gen_aarch64_st1x4v2di (rtx, rtx);
  16003. extern rtx gen_aarch64_st1x4v4hf (rtx, rtx);
  16004. extern rtx gen_aarch64_st1x4v8hf (rtx, rtx);
  16005. extern rtx gen_aarch64_st1x4v2sf (rtx, rtx);
  16006. extern rtx gen_aarch64_st1x4v4sf (rtx, rtx);
  16007. extern rtx gen_aarch64_st1x4v2df (rtx, rtx);
  16008. extern rtx gen_aarch64_st1x4di (rtx, rtx);
  16009. extern rtx gen_aarch64_st1x4df (rtx, rtx);
  16010. extern rtx gen_aarch64_ld2rv8qi (rtx, rtx);
  16011. extern rtx gen_aarch64_ld3rv8qi (rtx, rtx);
  16012. extern rtx gen_aarch64_ld4rv8qi (rtx, rtx);
  16013. extern rtx gen_aarch64_ld2rv16qi (rtx, rtx);
  16014. extern rtx gen_aarch64_ld3rv16qi (rtx, rtx);
  16015. extern rtx gen_aarch64_ld4rv16qi (rtx, rtx);
  16016. extern rtx gen_aarch64_ld2rv4hi (rtx, rtx);
  16017. extern rtx gen_aarch64_ld3rv4hi (rtx, rtx);
  16018. extern rtx gen_aarch64_ld4rv4hi (rtx, rtx);
  16019. extern rtx gen_aarch64_ld2rv8hi (rtx, rtx);
  16020. extern rtx gen_aarch64_ld3rv8hi (rtx, rtx);
  16021. extern rtx gen_aarch64_ld4rv8hi (rtx, rtx);
  16022. extern rtx gen_aarch64_ld2rv2si (rtx, rtx);
  16023. extern rtx gen_aarch64_ld3rv2si (rtx, rtx);
  16024. extern rtx gen_aarch64_ld4rv2si (rtx, rtx);
  16025. extern rtx gen_aarch64_ld2rv4si (rtx, rtx);
  16026. extern rtx gen_aarch64_ld3rv4si (rtx, rtx);
  16027. extern rtx gen_aarch64_ld4rv4si (rtx, rtx);
  16028. extern rtx gen_aarch64_ld2rv4bf (rtx, rtx);
  16029. extern rtx gen_aarch64_ld3rv4bf (rtx, rtx);
  16030. extern rtx gen_aarch64_ld4rv4bf (rtx, rtx);
  16031. extern rtx gen_aarch64_ld2rv8bf (rtx, rtx);
  16032. extern rtx gen_aarch64_ld3rv8bf (rtx, rtx);
  16033. extern rtx gen_aarch64_ld4rv8bf (rtx, rtx);
  16034. extern rtx gen_aarch64_ld2rv2di (rtx, rtx);
  16035. extern rtx gen_aarch64_ld3rv2di (rtx, rtx);
  16036. extern rtx gen_aarch64_ld4rv2di (rtx, rtx);
  16037. extern rtx gen_aarch64_ld2rv4hf (rtx, rtx);
  16038. extern rtx gen_aarch64_ld3rv4hf (rtx, rtx);
  16039. extern rtx gen_aarch64_ld4rv4hf (rtx, rtx);
  16040. extern rtx gen_aarch64_ld2rv8hf (rtx, rtx);
  16041. extern rtx gen_aarch64_ld3rv8hf (rtx, rtx);
  16042. extern rtx gen_aarch64_ld4rv8hf (rtx, rtx);
  16043. extern rtx gen_aarch64_ld2rv2sf (rtx, rtx);
  16044. extern rtx gen_aarch64_ld3rv2sf (rtx, rtx);
  16045. extern rtx gen_aarch64_ld4rv2sf (rtx, rtx);
  16046. extern rtx gen_aarch64_ld2rv4sf (rtx, rtx);
  16047. extern rtx gen_aarch64_ld3rv4sf (rtx, rtx);
  16048. extern rtx gen_aarch64_ld4rv4sf (rtx, rtx);
  16049. extern rtx gen_aarch64_ld2rv2df (rtx, rtx);
  16050. extern rtx gen_aarch64_ld3rv2df (rtx, rtx);
  16051. extern rtx gen_aarch64_ld4rv2df (rtx, rtx);
  16052. extern rtx gen_aarch64_ld2rdi (rtx, rtx);
  16053. extern rtx gen_aarch64_ld3rdi (rtx, rtx);
  16054. extern rtx gen_aarch64_ld4rdi (rtx, rtx);
  16055. extern rtx gen_aarch64_ld2rdf (rtx, rtx);
  16056. extern rtx gen_aarch64_ld3rdf (rtx, rtx);
  16057. extern rtx gen_aarch64_ld4rdf (rtx, rtx);
  16058. extern rtx gen_aarch64_ld2v8qi (rtx, rtx);
  16059. extern rtx gen_aarch64_ld2v4hi (rtx, rtx);
  16060. extern rtx gen_aarch64_ld2v4bf (rtx, rtx);
  16061. extern rtx gen_aarch64_ld2v4hf (rtx, rtx);
  16062. extern rtx gen_aarch64_ld2v2si (rtx, rtx);
  16063. extern rtx gen_aarch64_ld2v2sf (rtx, rtx);
  16064. extern rtx gen_aarch64_ld2di (rtx, rtx);
  16065. extern rtx gen_aarch64_ld2df (rtx, rtx);
  16066. extern rtx gen_aarch64_ld3v8qi (rtx, rtx);
  16067. extern rtx gen_aarch64_ld3v4hi (rtx, rtx);
  16068. extern rtx gen_aarch64_ld3v4bf (rtx, rtx);
  16069. extern rtx gen_aarch64_ld3v4hf (rtx, rtx);
  16070. extern rtx gen_aarch64_ld3v2si (rtx, rtx);
  16071. extern rtx gen_aarch64_ld3v2sf (rtx, rtx);
  16072. extern rtx gen_aarch64_ld3di (rtx, rtx);
  16073. extern rtx gen_aarch64_ld3df (rtx, rtx);
  16074. extern rtx gen_aarch64_ld4v8qi (rtx, rtx);
  16075. extern rtx gen_aarch64_ld4v4hi (rtx, rtx);
  16076. extern rtx gen_aarch64_ld4v4bf (rtx, rtx);
  16077. extern rtx gen_aarch64_ld4v4hf (rtx, rtx);
  16078. extern rtx gen_aarch64_ld4v2si (rtx, rtx);
  16079. extern rtx gen_aarch64_ld4v2sf (rtx, rtx);
  16080. extern rtx gen_aarch64_ld4di (rtx, rtx);
  16081. extern rtx gen_aarch64_ld4df (rtx, rtx);
  16082. extern rtx gen_aarch64_ld1v8qi (rtx, rtx);
  16083. extern rtx gen_aarch64_ld1v16qi (rtx, rtx);
  16084. extern rtx gen_aarch64_ld1v4hi (rtx, rtx);
  16085. extern rtx gen_aarch64_ld1v8hi (rtx, rtx);
  16086. extern rtx gen_aarch64_ld1v2si (rtx, rtx);
  16087. extern rtx gen_aarch64_ld1v4si (rtx, rtx);
  16088. extern rtx gen_aarch64_ld1v2di (rtx, rtx);
  16089. extern rtx gen_aarch64_ld1v4hf (rtx, rtx);
  16090. extern rtx gen_aarch64_ld1v8hf (rtx, rtx);
  16091. extern rtx gen_aarch64_ld1v4bf (rtx, rtx);
  16092. extern rtx gen_aarch64_ld1v8bf (rtx, rtx);
  16093. extern rtx gen_aarch64_ld1v2sf (rtx, rtx);
  16094. extern rtx gen_aarch64_ld1v4sf (rtx, rtx);
  16095. extern rtx gen_aarch64_ld1v2df (rtx, rtx);
  16096. extern rtx gen_aarch64_ld2v16qi (rtx, rtx);
  16097. extern rtx gen_aarch64_ld3v16qi (rtx, rtx);
  16098. extern rtx gen_aarch64_ld4v16qi (rtx, rtx);
  16099. extern rtx gen_aarch64_ld2v8hi (rtx, rtx);
  16100. extern rtx gen_aarch64_ld3v8hi (rtx, rtx);
  16101. extern rtx gen_aarch64_ld4v8hi (rtx, rtx);
  16102. extern rtx gen_aarch64_ld2v4si (rtx, rtx);
  16103. extern rtx gen_aarch64_ld3v4si (rtx, rtx);
  16104. extern rtx gen_aarch64_ld4v4si (rtx, rtx);
  16105. extern rtx gen_aarch64_ld2v2di (rtx, rtx);
  16106. extern rtx gen_aarch64_ld3v2di (rtx, rtx);
  16107. extern rtx gen_aarch64_ld4v2di (rtx, rtx);
  16108. extern rtx gen_aarch64_ld2v8hf (rtx, rtx);
  16109. extern rtx gen_aarch64_ld3v8hf (rtx, rtx);
  16110. extern rtx gen_aarch64_ld4v8hf (rtx, rtx);
  16111. extern rtx gen_aarch64_ld2v4sf (rtx, rtx);
  16112. extern rtx gen_aarch64_ld3v4sf (rtx, rtx);
  16113. extern rtx gen_aarch64_ld4v4sf (rtx, rtx);
  16114. extern rtx gen_aarch64_ld2v2df (rtx, rtx);
  16115. extern rtx gen_aarch64_ld3v2df (rtx, rtx);
  16116. extern rtx gen_aarch64_ld4v2df (rtx, rtx);
  16117. extern rtx gen_aarch64_ld2v8bf (rtx, rtx);
  16118. extern rtx gen_aarch64_ld3v8bf (rtx, rtx);
  16119. extern rtx gen_aarch64_ld4v8bf (rtx, rtx);
  16120. extern rtx gen_aarch64_ld1x2v16qi (rtx, rtx);
  16121. extern rtx gen_aarch64_ld1x2v8hi (rtx, rtx);
  16122. extern rtx gen_aarch64_ld1x2v4si (rtx, rtx);
  16123. extern rtx gen_aarch64_ld1x2v2di (rtx, rtx);
  16124. extern rtx gen_aarch64_ld1x2v8hf (rtx, rtx);
  16125. extern rtx gen_aarch64_ld1x2v4sf (rtx, rtx);
  16126. extern rtx gen_aarch64_ld1x2v2df (rtx, rtx);
  16127. extern rtx gen_aarch64_ld1x2v8bf (rtx, rtx);
  16128. extern rtx gen_aarch64_ld1x2v8qi (rtx, rtx);
  16129. extern rtx gen_aarch64_ld1x2v4hi (rtx, rtx);
  16130. extern rtx gen_aarch64_ld1x2v4bf (rtx, rtx);
  16131. extern rtx gen_aarch64_ld1x2v4hf (rtx, rtx);
  16132. extern rtx gen_aarch64_ld1x2v2si (rtx, rtx);
  16133. extern rtx gen_aarch64_ld1x2v2sf (rtx, rtx);
  16134. extern rtx gen_aarch64_ld1x2di (rtx, rtx);
  16135. extern rtx gen_aarch64_ld1x2df (rtx, rtx);
  16136. extern rtx gen_aarch64_ld2_lanev8qi (rtx, rtx, rtx, rtx);
  16137. extern rtx gen_aarch64_ld3_lanev8qi (rtx, rtx, rtx, rtx);
  16138. extern rtx gen_aarch64_ld4_lanev8qi (rtx, rtx, rtx, rtx);
  16139. extern rtx gen_aarch64_ld2_lanev16qi (rtx, rtx, rtx, rtx);
  16140. extern rtx gen_aarch64_ld3_lanev16qi (rtx, rtx, rtx, rtx);
  16141. extern rtx gen_aarch64_ld4_lanev16qi (rtx, rtx, rtx, rtx);
  16142. extern rtx gen_aarch64_ld2_lanev4hi (rtx, rtx, rtx, rtx);
  16143. extern rtx gen_aarch64_ld3_lanev4hi (rtx, rtx, rtx, rtx);
  16144. extern rtx gen_aarch64_ld4_lanev4hi (rtx, rtx, rtx, rtx);
  16145. extern rtx gen_aarch64_ld2_lanev8hi (rtx, rtx, rtx, rtx);
  16146. extern rtx gen_aarch64_ld3_lanev8hi (rtx, rtx, rtx, rtx);
  16147. extern rtx gen_aarch64_ld4_lanev8hi (rtx, rtx, rtx, rtx);
  16148. extern rtx gen_aarch64_ld2_lanev2si (rtx, rtx, rtx, rtx);
  16149. extern rtx gen_aarch64_ld3_lanev2si (rtx, rtx, rtx, rtx);
  16150. extern rtx gen_aarch64_ld4_lanev2si (rtx, rtx, rtx, rtx);
  16151. extern rtx gen_aarch64_ld2_lanev4si (rtx, rtx, rtx, rtx);
  16152. extern rtx gen_aarch64_ld3_lanev4si (rtx, rtx, rtx, rtx);
  16153. extern rtx gen_aarch64_ld4_lanev4si (rtx, rtx, rtx, rtx);
  16154. extern rtx gen_aarch64_ld2_lanev4bf (rtx, rtx, rtx, rtx);
  16155. extern rtx gen_aarch64_ld3_lanev4bf (rtx, rtx, rtx, rtx);
  16156. extern rtx gen_aarch64_ld4_lanev4bf (rtx, rtx, rtx, rtx);
  16157. extern rtx gen_aarch64_ld2_lanev8bf (rtx, rtx, rtx, rtx);
  16158. extern rtx gen_aarch64_ld3_lanev8bf (rtx, rtx, rtx, rtx);
  16159. extern rtx gen_aarch64_ld4_lanev8bf (rtx, rtx, rtx, rtx);
  16160. extern rtx gen_aarch64_ld2_lanev2di (rtx, rtx, rtx, rtx);
  16161. extern rtx gen_aarch64_ld3_lanev2di (rtx, rtx, rtx, rtx);
  16162. extern rtx gen_aarch64_ld4_lanev2di (rtx, rtx, rtx, rtx);
  16163. extern rtx gen_aarch64_ld2_lanev4hf (rtx, rtx, rtx, rtx);
  16164. extern rtx gen_aarch64_ld3_lanev4hf (rtx, rtx, rtx, rtx);
  16165. extern rtx gen_aarch64_ld4_lanev4hf (rtx, rtx, rtx, rtx);
  16166. extern rtx gen_aarch64_ld2_lanev8hf (rtx, rtx, rtx, rtx);
  16167. extern rtx gen_aarch64_ld3_lanev8hf (rtx, rtx, rtx, rtx);
  16168. extern rtx gen_aarch64_ld4_lanev8hf (rtx, rtx, rtx, rtx);
  16169. extern rtx gen_aarch64_ld2_lanev2sf (rtx, rtx, rtx, rtx);
  16170. extern rtx gen_aarch64_ld3_lanev2sf (rtx, rtx, rtx, rtx);
  16171. extern rtx gen_aarch64_ld4_lanev2sf (rtx, rtx, rtx, rtx);
  16172. extern rtx gen_aarch64_ld2_lanev4sf (rtx, rtx, rtx, rtx);
  16173. extern rtx gen_aarch64_ld3_lanev4sf (rtx, rtx, rtx, rtx);
  16174. extern rtx gen_aarch64_ld4_lanev4sf (rtx, rtx, rtx, rtx);
  16175. extern rtx gen_aarch64_ld2_lanev2df (rtx, rtx, rtx, rtx);
  16176. extern rtx gen_aarch64_ld3_lanev2df (rtx, rtx, rtx, rtx);
  16177. extern rtx gen_aarch64_ld4_lanev2df (rtx, rtx, rtx, rtx);
  16178. extern rtx gen_aarch64_ld2_lanedi (rtx, rtx, rtx, rtx);
  16179. extern rtx gen_aarch64_ld3_lanedi (rtx, rtx, rtx, rtx);
  16180. extern rtx gen_aarch64_ld4_lanedi (rtx, rtx, rtx, rtx);
  16181. extern rtx gen_aarch64_ld2_lanedf (rtx, rtx, rtx, rtx);
  16182. extern rtx gen_aarch64_ld3_lanedf (rtx, rtx, rtx, rtx);
  16183. extern rtx gen_aarch64_ld4_lanedf (rtx, rtx, rtx, rtx);
  16184. extern rtx gen_aarch64_get_dregoiv8qi (rtx, rtx, rtx);
  16185. extern rtx gen_aarch64_get_dregoiv4hi (rtx, rtx, rtx);
  16186. extern rtx gen_aarch64_get_dregoiv4bf (rtx, rtx, rtx);
  16187. extern rtx gen_aarch64_get_dregoiv4hf (rtx, rtx, rtx);
  16188. extern rtx gen_aarch64_get_dregoiv2si (rtx, rtx, rtx);
  16189. extern rtx gen_aarch64_get_dregoiv2sf (rtx, rtx, rtx);
  16190. extern rtx gen_aarch64_get_dregoidi (rtx, rtx, rtx);
  16191. extern rtx gen_aarch64_get_dregoidf (rtx, rtx, rtx);
  16192. extern rtx gen_aarch64_get_dregciv8qi (rtx, rtx, rtx);
  16193. extern rtx gen_aarch64_get_dregciv4hi (rtx, rtx, rtx);
  16194. extern rtx gen_aarch64_get_dregciv4bf (rtx, rtx, rtx);
  16195. extern rtx gen_aarch64_get_dregciv4hf (rtx, rtx, rtx);
  16196. extern rtx gen_aarch64_get_dregciv2si (rtx, rtx, rtx);
  16197. extern rtx gen_aarch64_get_dregciv2sf (rtx, rtx, rtx);
  16198. extern rtx gen_aarch64_get_dregcidi (rtx, rtx, rtx);
  16199. extern rtx gen_aarch64_get_dregcidf (rtx, rtx, rtx);
  16200. extern rtx gen_aarch64_get_dregxiv8qi (rtx, rtx, rtx);
  16201. extern rtx gen_aarch64_get_dregxiv4hi (rtx, rtx, rtx);
  16202. extern rtx gen_aarch64_get_dregxiv4bf (rtx, rtx, rtx);
  16203. extern rtx gen_aarch64_get_dregxiv4hf (rtx, rtx, rtx);
  16204. extern rtx gen_aarch64_get_dregxiv2si (rtx, rtx, rtx);
  16205. extern rtx gen_aarch64_get_dregxiv2sf (rtx, rtx, rtx);
  16206. extern rtx gen_aarch64_get_dregxidi (rtx, rtx, rtx);
  16207. extern rtx gen_aarch64_get_dregxidf (rtx, rtx, rtx);
  16208. extern rtx gen_aarch64_get_qregoiv16qi (rtx, rtx, rtx);
  16209. extern rtx gen_aarch64_get_qregciv16qi (rtx, rtx, rtx);
  16210. extern rtx gen_aarch64_get_qregxiv16qi (rtx, rtx, rtx);
  16211. extern rtx gen_aarch64_get_qregoiv8hi (rtx, rtx, rtx);
  16212. extern rtx gen_aarch64_get_qregciv8hi (rtx, rtx, rtx);
  16213. extern rtx gen_aarch64_get_qregxiv8hi (rtx, rtx, rtx);
  16214. extern rtx gen_aarch64_get_qregoiv4si (rtx, rtx, rtx);
  16215. extern rtx gen_aarch64_get_qregciv4si (rtx, rtx, rtx);
  16216. extern rtx gen_aarch64_get_qregxiv4si (rtx, rtx, rtx);
  16217. extern rtx gen_aarch64_get_qregoiv2di (rtx, rtx, rtx);
  16218. extern rtx gen_aarch64_get_qregciv2di (rtx, rtx, rtx);
  16219. extern rtx gen_aarch64_get_qregxiv2di (rtx, rtx, rtx);
  16220. extern rtx gen_aarch64_get_qregoiv8hf (rtx, rtx, rtx);
  16221. extern rtx gen_aarch64_get_qregciv8hf (rtx, rtx, rtx);
  16222. extern rtx gen_aarch64_get_qregxiv8hf (rtx, rtx, rtx);
  16223. extern rtx gen_aarch64_get_qregoiv4sf (rtx, rtx, rtx);
  16224. extern rtx gen_aarch64_get_qregciv4sf (rtx, rtx, rtx);
  16225. extern rtx gen_aarch64_get_qregxiv4sf (rtx, rtx, rtx);
  16226. extern rtx gen_aarch64_get_qregoiv2df (rtx, rtx, rtx);
  16227. extern rtx gen_aarch64_get_qregciv2df (rtx, rtx, rtx);
  16228. extern rtx gen_aarch64_get_qregxiv2df (rtx, rtx, rtx);
  16229. extern rtx gen_aarch64_get_qregoiv8bf (rtx, rtx, rtx);
  16230. extern rtx gen_aarch64_get_qregciv8bf (rtx, rtx, rtx);
  16231. extern rtx gen_aarch64_get_qregxiv8bf (rtx, rtx, rtx);
  16232. extern rtx gen_vec_permv8qi (rtx, rtx, rtx, rtx);
  16233. extern rtx gen_vec_permv16qi (rtx, rtx, rtx, rtx);
  16234. extern rtx gen_aarch64_st2v8qi (rtx, rtx);
  16235. extern rtx gen_aarch64_st2v4hi (rtx, rtx);
  16236. extern rtx gen_aarch64_st2v4bf (rtx, rtx);
  16237. extern rtx gen_aarch64_st2v4hf (rtx, rtx);
  16238. extern rtx gen_aarch64_st2v2si (rtx, rtx);
  16239. extern rtx gen_aarch64_st2v2sf (rtx, rtx);
  16240. extern rtx gen_aarch64_st2di (rtx, rtx);
  16241. extern rtx gen_aarch64_st2df (rtx, rtx);
  16242. extern rtx gen_aarch64_st3v8qi (rtx, rtx);
  16243. extern rtx gen_aarch64_st3v4hi (rtx, rtx);
  16244. extern rtx gen_aarch64_st3v4bf (rtx, rtx);
  16245. extern rtx gen_aarch64_st3v4hf (rtx, rtx);
  16246. extern rtx gen_aarch64_st3v2si (rtx, rtx);
  16247. extern rtx gen_aarch64_st3v2sf (rtx, rtx);
  16248. extern rtx gen_aarch64_st3di (rtx, rtx);
  16249. extern rtx gen_aarch64_st3df (rtx, rtx);
  16250. extern rtx gen_aarch64_st4v8qi (rtx, rtx);
  16251. extern rtx gen_aarch64_st4v4hi (rtx, rtx);
  16252. extern rtx gen_aarch64_st4v4bf (rtx, rtx);
  16253. extern rtx gen_aarch64_st4v4hf (rtx, rtx);
  16254. extern rtx gen_aarch64_st4v2si (rtx, rtx);
  16255. extern rtx gen_aarch64_st4v2sf (rtx, rtx);
  16256. extern rtx gen_aarch64_st4di (rtx, rtx);
  16257. extern rtx gen_aarch64_st4df (rtx, rtx);
  16258. extern rtx gen_aarch64_st2v16qi (rtx, rtx);
  16259. extern rtx gen_aarch64_st3v16qi (rtx, rtx);
  16260. extern rtx gen_aarch64_st4v16qi (rtx, rtx);
  16261. extern rtx gen_aarch64_st2v8hi (rtx, rtx);
  16262. extern rtx gen_aarch64_st3v8hi (rtx, rtx);
  16263. extern rtx gen_aarch64_st4v8hi (rtx, rtx);
  16264. extern rtx gen_aarch64_st2v4si (rtx, rtx);
  16265. extern rtx gen_aarch64_st3v4si (rtx, rtx);
  16266. extern rtx gen_aarch64_st4v4si (rtx, rtx);
  16267. extern rtx gen_aarch64_st2v2di (rtx, rtx);
  16268. extern rtx gen_aarch64_st3v2di (rtx, rtx);
  16269. extern rtx gen_aarch64_st4v2di (rtx, rtx);
  16270. extern rtx gen_aarch64_st2v8hf (rtx, rtx);
  16271. extern rtx gen_aarch64_st3v8hf (rtx, rtx);
  16272. extern rtx gen_aarch64_st4v8hf (rtx, rtx);
  16273. extern rtx gen_aarch64_st2v4sf (rtx, rtx);
  16274. extern rtx gen_aarch64_st3v4sf (rtx, rtx);
  16275. extern rtx gen_aarch64_st4v4sf (rtx, rtx);
  16276. extern rtx gen_aarch64_st2v2df (rtx, rtx);
  16277. extern rtx gen_aarch64_st3v2df (rtx, rtx);
  16278. extern rtx gen_aarch64_st4v2df (rtx, rtx);
  16279. extern rtx gen_aarch64_st2v8bf (rtx, rtx);
  16280. extern rtx gen_aarch64_st3v8bf (rtx, rtx);
  16281. extern rtx gen_aarch64_st4v8bf (rtx, rtx);
  16282. extern rtx gen_aarch64_st2_lanev8qi (rtx, rtx, rtx);
  16283. extern rtx gen_aarch64_st3_lanev8qi (rtx, rtx, rtx);
  16284. extern rtx gen_aarch64_st4_lanev8qi (rtx, rtx, rtx);
  16285. extern rtx gen_aarch64_st2_lanev16qi (rtx, rtx, rtx);
  16286. extern rtx gen_aarch64_st3_lanev16qi (rtx, rtx, rtx);
  16287. extern rtx gen_aarch64_st4_lanev16qi (rtx, rtx, rtx);
  16288. extern rtx gen_aarch64_st2_lanev4hi (rtx, rtx, rtx);
  16289. extern rtx gen_aarch64_st3_lanev4hi (rtx, rtx, rtx);
  16290. extern rtx gen_aarch64_st4_lanev4hi (rtx, rtx, rtx);
  16291. extern rtx gen_aarch64_st2_lanev8hi (rtx, rtx, rtx);
  16292. extern rtx gen_aarch64_st3_lanev8hi (rtx, rtx, rtx);
  16293. extern rtx gen_aarch64_st4_lanev8hi (rtx, rtx, rtx);
  16294. extern rtx gen_aarch64_st2_lanev2si (rtx, rtx, rtx);
  16295. extern rtx gen_aarch64_st3_lanev2si (rtx, rtx, rtx);
  16296. extern rtx gen_aarch64_st4_lanev2si (rtx, rtx, rtx);
  16297. extern rtx gen_aarch64_st2_lanev4si (rtx, rtx, rtx);
  16298. extern rtx gen_aarch64_st3_lanev4si (rtx, rtx, rtx);
  16299. extern rtx gen_aarch64_st4_lanev4si (rtx, rtx, rtx);
  16300. extern rtx gen_aarch64_st2_lanev4bf (rtx, rtx, rtx);
  16301. extern rtx gen_aarch64_st3_lanev4bf (rtx, rtx, rtx);
  16302. extern rtx gen_aarch64_st4_lanev4bf (rtx, rtx, rtx);
  16303. extern rtx gen_aarch64_st2_lanev8bf (rtx, rtx, rtx);
  16304. extern rtx gen_aarch64_st3_lanev8bf (rtx, rtx, rtx);
  16305. extern rtx gen_aarch64_st4_lanev8bf (rtx, rtx, rtx);
  16306. extern rtx gen_aarch64_st2_lanev2di (rtx, rtx, rtx);
  16307. extern rtx gen_aarch64_st3_lanev2di (rtx, rtx, rtx);
  16308. extern rtx gen_aarch64_st4_lanev2di (rtx, rtx, rtx);
  16309. extern rtx gen_aarch64_st2_lanev4hf (rtx, rtx, rtx);
  16310. extern rtx gen_aarch64_st3_lanev4hf (rtx, rtx, rtx);
  16311. extern rtx gen_aarch64_st4_lanev4hf (rtx, rtx, rtx);
  16312. extern rtx gen_aarch64_st2_lanev8hf (rtx, rtx, rtx);
  16313. extern rtx gen_aarch64_st3_lanev8hf (rtx, rtx, rtx);
  16314. extern rtx gen_aarch64_st4_lanev8hf (rtx, rtx, rtx);
  16315. extern rtx gen_aarch64_st2_lanev2sf (rtx, rtx, rtx);
  16316. extern rtx gen_aarch64_st3_lanev2sf (rtx, rtx, rtx);
  16317. extern rtx gen_aarch64_st4_lanev2sf (rtx, rtx, rtx);
  16318. extern rtx gen_aarch64_st2_lanev4sf (rtx, rtx, rtx);
  16319. extern rtx gen_aarch64_st3_lanev4sf (rtx, rtx, rtx);
  16320. extern rtx gen_aarch64_st4_lanev4sf (rtx, rtx, rtx);
  16321. extern rtx gen_aarch64_st2_lanev2df (rtx, rtx, rtx);
  16322. extern rtx gen_aarch64_st3_lanev2df (rtx, rtx, rtx);
  16323. extern rtx gen_aarch64_st4_lanev2df (rtx, rtx, rtx);
  16324. extern rtx gen_aarch64_st2_lanedi (rtx, rtx, rtx);
  16325. extern rtx gen_aarch64_st3_lanedi (rtx, rtx, rtx);
  16326. extern rtx gen_aarch64_st4_lanedi (rtx, rtx, rtx);
  16327. extern rtx gen_aarch64_st2_lanedf (rtx, rtx, rtx);
  16328. extern rtx gen_aarch64_st3_lanedf (rtx, rtx, rtx);
  16329. extern rtx gen_aarch64_st4_lanedf (rtx, rtx, rtx);
  16330. extern rtx gen_aarch64_st1v8qi (rtx, rtx);
  16331. extern rtx gen_aarch64_st1v16qi (rtx, rtx);
  16332. extern rtx gen_aarch64_st1v4hi (rtx, rtx);
  16333. extern rtx gen_aarch64_st1v8hi (rtx, rtx);
  16334. extern rtx gen_aarch64_st1v2si (rtx, rtx);
  16335. extern rtx gen_aarch64_st1v4si (rtx, rtx);
  16336. extern rtx gen_aarch64_st1v2di (rtx, rtx);
  16337. extern rtx gen_aarch64_st1v4hf (rtx, rtx);
  16338. extern rtx gen_aarch64_st1v8hf (rtx, rtx);
  16339. extern rtx gen_aarch64_st1v4bf (rtx, rtx);
  16340. extern rtx gen_aarch64_st1v8bf (rtx, rtx);
  16341. extern rtx gen_aarch64_st1v2sf (rtx, rtx);
  16342. extern rtx gen_aarch64_st1v4sf (rtx, rtx);
  16343. extern rtx gen_aarch64_st1v2df (rtx, rtx);
  16344. extern rtx gen_aarch64_set_qregoiv16qi (rtx, rtx, rtx, rtx);
  16345. extern rtx gen_aarch64_set_qregciv16qi (rtx, rtx, rtx, rtx);
  16346. extern rtx gen_aarch64_set_qregxiv16qi (rtx, rtx, rtx, rtx);
  16347. extern rtx gen_aarch64_set_qregoiv8hi (rtx, rtx, rtx, rtx);
  16348. extern rtx gen_aarch64_set_qregciv8hi (rtx, rtx, rtx, rtx);
  16349. extern rtx gen_aarch64_set_qregxiv8hi (rtx, rtx, rtx, rtx);
  16350. extern rtx gen_aarch64_set_qregoiv4si (rtx, rtx, rtx, rtx);
  16351. extern rtx gen_aarch64_set_qregciv4si (rtx, rtx, rtx, rtx);
  16352. extern rtx gen_aarch64_set_qregxiv4si (rtx, rtx, rtx, rtx);
  16353. extern rtx gen_aarch64_set_qregoiv2di (rtx, rtx, rtx, rtx);
  16354. extern rtx gen_aarch64_set_qregciv2di (rtx, rtx, rtx, rtx);
  16355. extern rtx gen_aarch64_set_qregxiv2di (rtx, rtx, rtx, rtx);
  16356. extern rtx gen_aarch64_set_qregoiv8hf (rtx, rtx, rtx, rtx);
  16357. extern rtx gen_aarch64_set_qregciv8hf (rtx, rtx, rtx, rtx);
  16358. extern rtx gen_aarch64_set_qregxiv8hf (rtx, rtx, rtx, rtx);
  16359. extern rtx gen_aarch64_set_qregoiv4sf (rtx, rtx, rtx, rtx);
  16360. extern rtx gen_aarch64_set_qregciv4sf (rtx, rtx, rtx, rtx);
  16361. extern rtx gen_aarch64_set_qregxiv4sf (rtx, rtx, rtx, rtx);
  16362. extern rtx gen_aarch64_set_qregoiv2df (rtx, rtx, rtx, rtx);
  16363. extern rtx gen_aarch64_set_qregciv2df (rtx, rtx, rtx, rtx);
  16364. extern rtx gen_aarch64_set_qregxiv2df (rtx, rtx, rtx, rtx);
  16365. extern rtx gen_aarch64_set_qregoiv8bf (rtx, rtx, rtx, rtx);
  16366. extern rtx gen_aarch64_set_qregciv8bf (rtx, rtx, rtx, rtx);
  16367. extern rtx gen_aarch64_set_qregxiv8bf (rtx, rtx, rtx, rtx);
  16368. extern rtx gen_vec_initv8qiqi (rtx, rtx);
  16369. extern rtx gen_vec_initv16qiqi (rtx, rtx);
  16370. extern rtx gen_vec_initv4hihi (rtx, rtx);
  16371. extern rtx gen_vec_initv8hihi (rtx, rtx);
  16372. extern rtx gen_vec_initv2sisi (rtx, rtx);
  16373. extern rtx gen_vec_initv4sisi (rtx, rtx);
  16374. extern rtx gen_vec_initv2didi (rtx, rtx);
  16375. extern rtx gen_vec_initv4hfhf (rtx, rtx);
  16376. extern rtx gen_vec_initv8hfhf (rtx, rtx);
  16377. extern rtx gen_vec_initv4bfbf (rtx, rtx);
  16378. extern rtx gen_vec_initv8bfbf (rtx, rtx);
  16379. extern rtx gen_vec_initv2sfsf (rtx, rtx);
  16380. extern rtx gen_vec_initv4sfsf (rtx, rtx);
  16381. extern rtx gen_vec_initv2dfdf (rtx, rtx);
  16382. extern rtx gen_vec_initv16qiv8qi (rtx, rtx);
  16383. extern rtx gen_vec_initv8hiv4hi (rtx, rtx);
  16384. extern rtx gen_vec_initv4siv2si (rtx, rtx);
  16385. extern rtx gen_vec_initv8hfv4hf (rtx, rtx);
  16386. extern rtx gen_vec_initv4sfv2sf (rtx, rtx);
  16387. extern rtx gen_vec_initv8bfv4bf (rtx, rtx);
  16388. extern rtx gen_vec_extractv8qiqi (rtx, rtx, rtx);
  16389. extern rtx gen_vec_extractv16qiqi (rtx, rtx, rtx);
  16390. extern rtx gen_vec_extractv4hihi (rtx, rtx, rtx);
  16391. extern rtx gen_vec_extractv8hihi (rtx, rtx, rtx);
  16392. extern rtx gen_vec_extractv2sisi (rtx, rtx, rtx);
  16393. extern rtx gen_vec_extractv4sisi (rtx, rtx, rtx);
  16394. extern rtx gen_vec_extractv2didi (rtx, rtx, rtx);
  16395. extern rtx gen_vec_extractv4hfhf (rtx, rtx, rtx);
  16396. extern rtx gen_vec_extractv8hfhf (rtx, rtx, rtx);
  16397. extern rtx gen_vec_extractv4bfbf (rtx, rtx, rtx);
  16398. extern rtx gen_vec_extractv8bfbf (rtx, rtx, rtx);
  16399. extern rtx gen_vec_extractv2sfsf (rtx, rtx, rtx);
  16400. extern rtx gen_vec_extractv4sfsf (rtx, rtx, rtx);
  16401. extern rtx gen_vec_extractv2dfdf (rtx, rtx, rtx);
  16402. extern rtx gen_vec_extractv16qiv8qi (rtx, rtx, rtx);
  16403. extern rtx gen_vec_extractv8hiv4hi (rtx, rtx, rtx);
  16404. extern rtx gen_vec_extractv4siv2si (rtx, rtx, rtx);
  16405. extern rtx gen_vec_extractv8hfv4hf (rtx, rtx, rtx);
  16406. extern rtx gen_vec_extractv8bfv4bf (rtx, rtx, rtx);
  16407. extern rtx gen_vec_extractv4sfv2sf (rtx, rtx, rtx);
  16408. extern rtx gen_vec_extractv2dfv1df (rtx, rtx, rtx);
  16409. extern rtx gen_aarch64_fmlal_lowv2sf (rtx, rtx, rtx, rtx);
  16410. extern rtx gen_aarch64_fmlsl_lowv2sf (rtx, rtx, rtx, rtx);
  16411. extern rtx gen_aarch64_fmlalq_lowv4sf (rtx, rtx, rtx, rtx);
  16412. extern rtx gen_aarch64_fmlslq_lowv4sf (rtx, rtx, rtx, rtx);
  16413. extern rtx gen_aarch64_fmlal_highv2sf (rtx, rtx, rtx, rtx);
  16414. extern rtx gen_aarch64_fmlsl_highv2sf (rtx, rtx, rtx, rtx);
  16415. extern rtx gen_aarch64_fmlalq_highv4sf (rtx, rtx, rtx, rtx);
  16416. extern rtx gen_aarch64_fmlslq_highv4sf (rtx, rtx, rtx, rtx);
  16417. extern rtx gen_aarch64_fmlal_lane_lowv2sf (rtx, rtx, rtx, rtx, rtx);
  16418. extern rtx gen_aarch64_fmlsl_lane_lowv2sf (rtx, rtx, rtx, rtx, rtx);
  16419. extern rtx gen_aarch64_fmlal_lane_highv2sf (rtx, rtx, rtx, rtx, rtx);
  16420. extern rtx gen_aarch64_fmlsl_lane_highv2sf (rtx, rtx, rtx, rtx, rtx);
  16421. extern rtx gen_aarch64_fmlalq_laneq_lowv4sf (rtx, rtx, rtx, rtx, rtx);
  16422. extern rtx gen_aarch64_fmlslq_laneq_lowv4sf (rtx, rtx, rtx, rtx, rtx);
  16423. extern rtx gen_aarch64_fmlalq_laneq_highv4sf (rtx, rtx, rtx, rtx, rtx);
  16424. extern rtx gen_aarch64_fmlslq_laneq_highv4sf (rtx, rtx, rtx, rtx, rtx);
  16425. extern rtx gen_aarch64_fmlal_laneq_lowv2sf (rtx, rtx, rtx, rtx, rtx);
  16426. extern rtx gen_aarch64_fmlsl_laneq_lowv2sf (rtx, rtx, rtx, rtx, rtx);
  16427. extern rtx gen_aarch64_fmlal_laneq_highv2sf (rtx, rtx, rtx, rtx, rtx);
  16428. extern rtx gen_aarch64_fmlsl_laneq_highv2sf (rtx, rtx, rtx, rtx, rtx);
  16429. extern rtx gen_aarch64_fmlalq_lane_lowv4sf (rtx, rtx, rtx, rtx, rtx);
  16430. extern rtx gen_aarch64_fmlslq_lane_lowv4sf (rtx, rtx, rtx, rtx, rtx);
  16431. extern rtx gen_aarch64_fmlalq_lane_highv4sf (rtx, rtx, rtx, rtx, rtx);
  16432. extern rtx gen_aarch64_fmlslq_lane_highv4sf (rtx, rtx, rtx, rtx, rtx);
  16433. extern rtx gen_aarch64_vget_lo_halfv8bf (rtx, rtx);
  16434. extern rtx gen_aarch64_vget_hi_halfv8bf (rtx, rtx);
  16435. extern rtx gen_atomic_compare_and_swapqi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  16436. extern rtx gen_atomic_compare_and_swaphi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  16437. extern rtx gen_atomic_compare_and_swapsi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  16438. extern rtx gen_atomic_compare_and_swapdi (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  16439. extern rtx gen_atomic_compare_and_swapti (rtx, rtx, rtx, rtx, rtx, rtx, rtx, rtx);
  16440. extern rtx gen_atomic_exchangeqi (rtx, rtx, rtx, rtx);
  16441. extern rtx gen_atomic_exchangehi (rtx, rtx, rtx, rtx);
  16442. extern rtx gen_atomic_exchangesi (rtx, rtx, rtx, rtx);
  16443. extern rtx gen_atomic_exchangedi (rtx, rtx, rtx, rtx);
  16444. extern rtx gen_atomic_addqi (rtx, rtx, rtx);
  16445. extern rtx gen_atomic_subqi (rtx, rtx, rtx);
  16446. extern rtx gen_atomic_orqi (rtx, rtx, rtx);
  16447. extern rtx gen_atomic_xorqi (rtx, rtx, rtx);
  16448. extern rtx gen_atomic_andqi (rtx, rtx, rtx);
  16449. extern rtx gen_atomic_addhi (rtx, rtx, rtx);
  16450. extern rtx gen_atomic_subhi (rtx, rtx, rtx);
  16451. extern rtx gen_atomic_orhi (rtx, rtx, rtx);
  16452. extern rtx gen_atomic_xorhi (rtx, rtx, rtx);
  16453. extern rtx gen_atomic_andhi (rtx, rtx, rtx);
  16454. extern rtx gen_atomic_addsi (rtx, rtx, rtx);
  16455. extern rtx gen_atomic_subsi (rtx, rtx, rtx);
  16456. extern rtx gen_atomic_orsi (rtx, rtx, rtx);
  16457. extern rtx gen_atomic_xorsi (rtx, rtx, rtx);
  16458. extern rtx gen_atomic_andsi (rtx, rtx, rtx);
  16459. extern rtx gen_atomic_adddi (rtx, rtx, rtx);
  16460. extern rtx gen_atomic_subdi (rtx, rtx, rtx);
  16461. extern rtx gen_atomic_ordi (rtx, rtx, rtx);
  16462. extern rtx gen_atomic_xordi (rtx, rtx, rtx);
  16463. extern rtx gen_atomic_anddi (rtx, rtx, rtx);
  16464. extern rtx gen_atomic_fetch_addqi (rtx, rtx, rtx, rtx);
  16465. extern rtx gen_atomic_fetch_subqi (rtx, rtx, rtx, rtx);
  16466. extern rtx gen_atomic_fetch_orqi (rtx, rtx, rtx, rtx);
  16467. extern rtx gen_atomic_fetch_xorqi (rtx, rtx, rtx, rtx);
  16468. extern rtx gen_atomic_fetch_andqi (rtx, rtx, rtx, rtx);
  16469. extern rtx gen_atomic_fetch_addhi (rtx, rtx, rtx, rtx);
  16470. extern rtx gen_atomic_fetch_subhi (rtx, rtx, rtx, rtx);
  16471. extern rtx gen_atomic_fetch_orhi (rtx, rtx, rtx, rtx);
  16472. extern rtx gen_atomic_fetch_xorhi (rtx, rtx, rtx, rtx);
  16473. extern rtx gen_atomic_fetch_andhi (rtx, rtx, rtx, rtx);
  16474. extern rtx gen_atomic_fetch_addsi (rtx, rtx, rtx, rtx);
  16475. extern rtx gen_atomic_fetch_subsi (rtx, rtx, rtx, rtx);
  16476. extern rtx gen_atomic_fetch_orsi (rtx, rtx, rtx, rtx);
  16477. extern rtx gen_atomic_fetch_xorsi (rtx, rtx, rtx, rtx);
  16478. extern rtx gen_atomic_fetch_andsi (rtx, rtx, rtx, rtx);
  16479. extern rtx gen_atomic_fetch_adddi (rtx, rtx, rtx, rtx);
  16480. extern rtx gen_atomic_fetch_subdi (rtx, rtx, rtx, rtx);
  16481. extern rtx gen_atomic_fetch_ordi (rtx, rtx, rtx, rtx);
  16482. extern rtx gen_atomic_fetch_xordi (rtx, rtx, rtx, rtx);
  16483. extern rtx gen_atomic_fetch_anddi (rtx, rtx, rtx, rtx);
  16484. extern rtx gen_atomic_add_fetchqi (rtx, rtx, rtx, rtx);
  16485. extern rtx gen_atomic_sub_fetchqi (rtx, rtx, rtx, rtx);
  16486. extern rtx gen_atomic_or_fetchqi (rtx, rtx, rtx, rtx);
  16487. extern rtx gen_atomic_xor_fetchqi (rtx, rtx, rtx, rtx);
  16488. extern rtx gen_atomic_and_fetchqi (rtx, rtx, rtx, rtx);
  16489. extern rtx gen_atomic_add_fetchhi (rtx, rtx, rtx, rtx);
  16490. extern rtx gen_atomic_sub_fetchhi (rtx, rtx, rtx, rtx);
  16491. extern rtx gen_atomic_or_fetchhi (rtx, rtx, rtx, rtx);
  16492. extern rtx gen_atomic_xor_fetchhi (rtx, rtx, rtx, rtx);
  16493. extern rtx gen_atomic_and_fetchhi (rtx, rtx, rtx, rtx);
  16494. extern rtx gen_atomic_add_fetchsi (rtx, rtx, rtx, rtx);
  16495. extern rtx gen_atomic_sub_fetchsi (rtx, rtx, rtx, rtx);
  16496. extern rtx gen_atomic_or_fetchsi (rtx, rtx, rtx, rtx);
  16497. extern rtx gen_atomic_xor_fetchsi (rtx, rtx, rtx, rtx);
  16498. extern rtx gen_atomic_and_fetchsi (rtx, rtx, rtx, rtx);
  16499. extern rtx gen_atomic_add_fetchdi (rtx, rtx, rtx, rtx);
  16500. extern rtx gen_atomic_sub_fetchdi (rtx, rtx, rtx, rtx);
  16501. extern rtx gen_atomic_or_fetchdi (rtx, rtx, rtx, rtx);
  16502. extern rtx gen_atomic_xor_fetchdi (rtx, rtx, rtx, rtx);
  16503. extern rtx gen_atomic_and_fetchdi (rtx, rtx, rtx, rtx);
  16504. extern rtx gen_mem_thread_fence (rtx);
  16505. extern rtx gen_dmb (rtx);
  16506. extern rtx gen_movvnx16qi (rtx, rtx);
  16507. extern rtx gen_movvnx8qi (rtx, rtx);
  16508. extern rtx gen_movvnx4qi (rtx, rtx);
  16509. extern rtx gen_movvnx2qi (rtx, rtx);
  16510. extern rtx gen_movvnx8hi (rtx, rtx);
  16511. extern rtx gen_movvnx4hi (rtx, rtx);
  16512. extern rtx gen_movvnx2hi (rtx, rtx);
  16513. extern rtx gen_movvnx8hf (rtx, rtx);
  16514. extern rtx gen_movvnx4hf (rtx, rtx);
  16515. extern rtx gen_movvnx2hf (rtx, rtx);
  16516. extern rtx gen_movvnx8bf (rtx, rtx);
  16517. extern rtx gen_movvnx4si (rtx, rtx);
  16518. extern rtx gen_movvnx2si (rtx, rtx);
  16519. extern rtx gen_movvnx4sf (rtx, rtx);
  16520. extern rtx gen_movvnx2sf (rtx, rtx);
  16521. extern rtx gen_movvnx2di (rtx, rtx);
  16522. extern rtx gen_movvnx2df (rtx, rtx);
  16523. extern rtx gen_movmisalignvnx16qi (rtx, rtx);
  16524. extern rtx gen_movmisalignvnx8qi (rtx, rtx);
  16525. extern rtx gen_movmisalignvnx4qi (rtx, rtx);
  16526. extern rtx gen_movmisalignvnx2qi (rtx, rtx);
  16527. extern rtx gen_movmisalignvnx8hi (rtx, rtx);
  16528. extern rtx gen_movmisalignvnx4hi (rtx, rtx);
  16529. extern rtx gen_movmisalignvnx2hi (rtx, rtx);
  16530. extern rtx gen_movmisalignvnx8hf (rtx, rtx);
  16531. extern rtx gen_movmisalignvnx4hf (rtx, rtx);
  16532. extern rtx gen_movmisalignvnx2hf (rtx, rtx);
  16533. extern rtx gen_movmisalignvnx8bf (rtx, rtx);
  16534. extern rtx gen_movmisalignvnx4si (rtx, rtx);
  16535. extern rtx gen_movmisalignvnx2si (rtx, rtx);
  16536. extern rtx gen_movmisalignvnx4sf (rtx, rtx);
  16537. extern rtx gen_movmisalignvnx2sf (rtx, rtx);
  16538. extern rtx gen_movmisalignvnx2di (rtx, rtx);
  16539. extern rtx gen_movmisalignvnx2df (rtx, rtx);
  16540. extern rtx gen_aarch64_sve_reload_mem (rtx, rtx, rtx);
  16541. extern rtx gen_aarch64_sve_reinterpretvnx16qi (rtx, rtx);
  16542. extern rtx gen_aarch64_sve_reinterpretvnx8qi (rtx, rtx);
  16543. extern rtx gen_aarch64_sve_reinterpretvnx4qi (rtx, rtx);
  16544. extern rtx gen_aarch64_sve_reinterpretvnx2qi (rtx, rtx);
  16545. extern rtx gen_aarch64_sve_reinterpretvnx8hi (rtx, rtx);
  16546. extern rtx gen_aarch64_sve_reinterpretvnx4hi (rtx, rtx);
  16547. extern rtx gen_aarch64_sve_reinterpretvnx2hi (rtx, rtx);
  16548. extern rtx gen_aarch64_sve_reinterpretvnx8hf (rtx, rtx);
  16549. extern rtx gen_aarch64_sve_reinterpretvnx4hf (rtx, rtx);
  16550. extern rtx gen_aarch64_sve_reinterpretvnx2hf (rtx, rtx);
  16551. extern rtx gen_aarch64_sve_reinterpretvnx8bf (rtx, rtx);
  16552. extern rtx gen_aarch64_sve_reinterpretvnx4si (rtx, rtx);
  16553. extern rtx gen_aarch64_sve_reinterpretvnx2si (rtx, rtx);
  16554. extern rtx gen_aarch64_sve_reinterpretvnx4sf (rtx, rtx);
  16555. extern rtx gen_aarch64_sve_reinterpretvnx2sf (rtx, rtx);
  16556. extern rtx gen_aarch64_sve_reinterpretvnx2di (rtx, rtx);
  16557. extern rtx gen_aarch64_sve_reinterpretvnx2df (rtx, rtx);
  16558. extern rtx gen_movvnx32qi (rtx, rtx);
  16559. extern rtx gen_movvnx16hi (rtx, rtx);
  16560. extern rtx gen_movvnx8si (rtx, rtx);
  16561. extern rtx gen_movvnx4di (rtx, rtx);
  16562. extern rtx gen_movvnx16bf (rtx, rtx);
  16563. extern rtx gen_movvnx16hf (rtx, rtx);
  16564. extern rtx gen_movvnx8sf (rtx, rtx);
  16565. extern rtx gen_movvnx4df (rtx, rtx);
  16566. extern rtx gen_movvnx48qi (rtx, rtx);
  16567. extern rtx gen_movvnx24hi (rtx, rtx);
  16568. extern rtx gen_movvnx12si (rtx, rtx);
  16569. extern rtx gen_movvnx6di (rtx, rtx);
  16570. extern rtx gen_movvnx24bf (rtx, rtx);
  16571. extern rtx gen_movvnx24hf (rtx, rtx);
  16572. extern rtx gen_movvnx12sf (rtx, rtx);
  16573. extern rtx gen_movvnx6df (rtx, rtx);
  16574. extern rtx gen_movvnx64qi (rtx, rtx);
  16575. extern rtx gen_movvnx32hi (rtx, rtx);
  16576. extern rtx gen_movvnx16si (rtx, rtx);
  16577. extern rtx gen_movvnx8di (rtx, rtx);
  16578. extern rtx gen_movvnx32bf (rtx, rtx);
  16579. extern rtx gen_movvnx32hf (rtx, rtx);
  16580. extern rtx gen_movvnx16sf (rtx, rtx);
  16581. extern rtx gen_movvnx8df (rtx, rtx);
  16582. extern rtx gen_movvnx16bi (rtx, rtx);
  16583. extern rtx gen_movvnx8bi (rtx, rtx);
  16584. extern rtx gen_movvnx4bi (rtx, rtx);
  16585. extern rtx gen_movvnx2bi (rtx, rtx);
  16586. extern rtx gen_vec_load_lanesvnx32qivnx16qi (rtx, rtx);
  16587. extern rtx gen_vec_load_lanesvnx16hivnx8hi (rtx, rtx);
  16588. extern rtx gen_vec_load_lanesvnx8sivnx4si (rtx, rtx);
  16589. extern rtx gen_vec_load_lanesvnx4divnx2di (rtx, rtx);
  16590. extern rtx gen_vec_load_lanesvnx16bfvnx8bf (rtx, rtx);
  16591. extern rtx gen_vec_load_lanesvnx16hfvnx8hf (rtx, rtx);
  16592. extern rtx gen_vec_load_lanesvnx8sfvnx4sf (rtx, rtx);
  16593. extern rtx gen_vec_load_lanesvnx4dfvnx2df (rtx, rtx);
  16594. extern rtx gen_vec_load_lanesvnx48qivnx16qi (rtx, rtx);
  16595. extern rtx gen_vec_load_lanesvnx24hivnx8hi (rtx, rtx);
  16596. extern rtx gen_vec_load_lanesvnx12sivnx4si (rtx, rtx);
  16597. extern rtx gen_vec_load_lanesvnx6divnx2di (rtx, rtx);
  16598. extern rtx gen_vec_load_lanesvnx24bfvnx8bf (rtx, rtx);
  16599. extern rtx gen_vec_load_lanesvnx24hfvnx8hf (rtx, rtx);
  16600. extern rtx gen_vec_load_lanesvnx12sfvnx4sf (rtx, rtx);
  16601. extern rtx gen_vec_load_lanesvnx6dfvnx2df (rtx, rtx);
  16602. extern rtx gen_vec_load_lanesvnx64qivnx16qi (rtx, rtx);
  16603. extern rtx gen_vec_load_lanesvnx32hivnx8hi (rtx, rtx);
  16604. extern rtx gen_vec_load_lanesvnx16sivnx4si (rtx, rtx);
  16605. extern rtx gen_vec_load_lanesvnx8divnx2di (rtx, rtx);
  16606. extern rtx gen_vec_load_lanesvnx32bfvnx8bf (rtx, rtx);
  16607. extern rtx gen_vec_load_lanesvnx32hfvnx8hf (rtx, rtx);
  16608. extern rtx gen_vec_load_lanesvnx16sfvnx4sf (rtx, rtx);
  16609. extern rtx gen_vec_load_lanesvnx8dfvnx2df (rtx, rtx);
  16610. extern rtx gen_gather_loadvnx2qivnx2di (rtx, rtx, rtx, rtx, rtx);
  16611. extern rtx gen_gather_loadvnx2hivnx2di (rtx, rtx, rtx, rtx, rtx);
  16612. extern rtx gen_gather_loadvnx2hfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16613. extern rtx gen_gather_loadvnx2sivnx2di (rtx, rtx, rtx, rtx, rtx);
  16614. extern rtx gen_gather_loadvnx2sfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16615. extern rtx gen_gather_loadvnx2divnx2di (rtx, rtx, rtx, rtx, rtx);
  16616. extern rtx gen_gather_loadvnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16617. extern rtx gen_gather_loadvnx4qivnx4si (rtx, rtx, rtx, rtx, rtx);
  16618. extern rtx gen_gather_loadvnx4hivnx4si (rtx, rtx, rtx, rtx, rtx);
  16619. extern rtx gen_gather_loadvnx4hfvnx4si (rtx, rtx, rtx, rtx, rtx);
  16620. extern rtx gen_gather_loadvnx4sivnx4si (rtx, rtx, rtx, rtx, rtx);
  16621. extern rtx gen_gather_loadvnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx);
  16622. extern rtx gen_vec_store_lanesvnx32qivnx16qi (rtx, rtx);
  16623. extern rtx gen_vec_store_lanesvnx16hivnx8hi (rtx, rtx);
  16624. extern rtx gen_vec_store_lanesvnx8sivnx4si (rtx, rtx);
  16625. extern rtx gen_vec_store_lanesvnx4divnx2di (rtx, rtx);
  16626. extern rtx gen_vec_store_lanesvnx16bfvnx8bf (rtx, rtx);
  16627. extern rtx gen_vec_store_lanesvnx16hfvnx8hf (rtx, rtx);
  16628. extern rtx gen_vec_store_lanesvnx8sfvnx4sf (rtx, rtx);
  16629. extern rtx gen_vec_store_lanesvnx4dfvnx2df (rtx, rtx);
  16630. extern rtx gen_vec_store_lanesvnx48qivnx16qi (rtx, rtx);
  16631. extern rtx gen_vec_store_lanesvnx24hivnx8hi (rtx, rtx);
  16632. extern rtx gen_vec_store_lanesvnx12sivnx4si (rtx, rtx);
  16633. extern rtx gen_vec_store_lanesvnx6divnx2di (rtx, rtx);
  16634. extern rtx gen_vec_store_lanesvnx24bfvnx8bf (rtx, rtx);
  16635. extern rtx gen_vec_store_lanesvnx24hfvnx8hf (rtx, rtx);
  16636. extern rtx gen_vec_store_lanesvnx12sfvnx4sf (rtx, rtx);
  16637. extern rtx gen_vec_store_lanesvnx6dfvnx2df (rtx, rtx);
  16638. extern rtx gen_vec_store_lanesvnx64qivnx16qi (rtx, rtx);
  16639. extern rtx gen_vec_store_lanesvnx32hivnx8hi (rtx, rtx);
  16640. extern rtx gen_vec_store_lanesvnx16sivnx4si (rtx, rtx);
  16641. extern rtx gen_vec_store_lanesvnx8divnx2di (rtx, rtx);
  16642. extern rtx gen_vec_store_lanesvnx32bfvnx8bf (rtx, rtx);
  16643. extern rtx gen_vec_store_lanesvnx32hfvnx8hf (rtx, rtx);
  16644. extern rtx gen_vec_store_lanesvnx16sfvnx4sf (rtx, rtx);
  16645. extern rtx gen_vec_store_lanesvnx8dfvnx2df (rtx, rtx);
  16646. extern rtx gen_scatter_storevnx2qivnx2di (rtx, rtx, rtx, rtx, rtx);
  16647. extern rtx gen_scatter_storevnx2hivnx2di (rtx, rtx, rtx, rtx, rtx);
  16648. extern rtx gen_scatter_storevnx2hfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16649. extern rtx gen_scatter_storevnx2sivnx2di (rtx, rtx, rtx, rtx, rtx);
  16650. extern rtx gen_scatter_storevnx2sfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16651. extern rtx gen_scatter_storevnx2divnx2di (rtx, rtx, rtx, rtx, rtx);
  16652. extern rtx gen_scatter_storevnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx);
  16653. extern rtx gen_scatter_storevnx4qivnx4si (rtx, rtx, rtx, rtx, rtx);
  16654. extern rtx gen_scatter_storevnx4hivnx4si (rtx, rtx, rtx, rtx, rtx);
  16655. extern rtx gen_scatter_storevnx4hfvnx4si (rtx, rtx, rtx, rtx, rtx);
  16656. extern rtx gen_scatter_storevnx4sivnx4si (rtx, rtx, rtx, rtx, rtx);
  16657. extern rtx gen_scatter_storevnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx);
  16658. extern rtx gen_vec_duplicatevnx16qi (rtx, rtx);
  16659. extern rtx gen_vec_duplicatevnx8qi (rtx, rtx);
  16660. extern rtx gen_vec_duplicatevnx4qi (rtx, rtx);
  16661. extern rtx gen_vec_duplicatevnx2qi (rtx, rtx);
  16662. extern rtx gen_vec_duplicatevnx8hi (rtx, rtx);
  16663. extern rtx gen_vec_duplicatevnx4hi (rtx, rtx);
  16664. extern rtx gen_vec_duplicatevnx2hi (rtx, rtx);
  16665. extern rtx gen_vec_duplicatevnx8hf (rtx, rtx);
  16666. extern rtx gen_vec_duplicatevnx4hf (rtx, rtx);
  16667. extern rtx gen_vec_duplicatevnx2hf (rtx, rtx);
  16668. extern rtx gen_vec_duplicatevnx8bf (rtx, rtx);
  16669. extern rtx gen_vec_duplicatevnx4si (rtx, rtx);
  16670. extern rtx gen_vec_duplicatevnx2si (rtx, rtx);
  16671. extern rtx gen_vec_duplicatevnx4sf (rtx, rtx);
  16672. extern rtx gen_vec_duplicatevnx2sf (rtx, rtx);
  16673. extern rtx gen_vec_duplicatevnx2di (rtx, rtx);
  16674. extern rtx gen_vec_duplicatevnx2df (rtx, rtx);
  16675. extern rtx gen_vec_initvnx16qiqi (rtx, rtx);
  16676. extern rtx gen_vec_initvnx8hihi (rtx, rtx);
  16677. extern rtx gen_vec_initvnx4sisi (rtx, rtx);
  16678. extern rtx gen_vec_initvnx2didi (rtx, rtx);
  16679. extern rtx gen_vec_initvnx8bfbf (rtx, rtx);
  16680. extern rtx gen_vec_initvnx8hfhf (rtx, rtx);
  16681. extern rtx gen_vec_initvnx4sfsf (rtx, rtx);
  16682. extern rtx gen_vec_initvnx2dfdf (rtx, rtx);
  16683. extern rtx gen_vec_duplicatevnx16bi (rtx, rtx);
  16684. extern rtx gen_vec_duplicatevnx8bi (rtx, rtx);
  16685. extern rtx gen_vec_duplicatevnx4bi (rtx, rtx);
  16686. extern rtx gen_vec_duplicatevnx2bi (rtx, rtx);
  16687. extern rtx gen_vec_extractvnx16qiqi (rtx, rtx, rtx);
  16688. extern rtx gen_vec_extractvnx8hihi (rtx, rtx, rtx);
  16689. extern rtx gen_vec_extractvnx4sisi (rtx, rtx, rtx);
  16690. extern rtx gen_vec_extractvnx2didi (rtx, rtx, rtx);
  16691. extern rtx gen_vec_extractvnx8bfbf (rtx, rtx, rtx);
  16692. extern rtx gen_vec_extractvnx8hfhf (rtx, rtx, rtx);
  16693. extern rtx gen_vec_extractvnx4sfsf (rtx, rtx, rtx);
  16694. extern rtx gen_vec_extractvnx2dfdf (rtx, rtx, rtx);
  16695. extern rtx gen_vec_extractvnx16biqi (rtx, rtx, rtx);
  16696. extern rtx gen_vec_extractvnx8bihi (rtx, rtx, rtx);
  16697. extern rtx gen_vec_extractvnx4bisi (rtx, rtx, rtx);
  16698. extern rtx gen_vec_extractvnx2bidi (rtx, rtx, rtx);
  16699. extern rtx gen_absvnx16qi2 (rtx, rtx);
  16700. extern rtx gen_negvnx16qi2 (rtx, rtx);
  16701. extern rtx gen_one_cmplvnx16qi2 (rtx, rtx);
  16702. extern rtx gen_clrsbvnx16qi2 (rtx, rtx);
  16703. extern rtx gen_clzvnx16qi2 (rtx, rtx);
  16704. extern rtx gen_popcountvnx16qi2 (rtx, rtx);
  16705. extern rtx gen_qabsvnx16qi2 (rtx, rtx);
  16706. extern rtx gen_qnegvnx16qi2 (rtx, rtx);
  16707. extern rtx gen_absvnx8hi2 (rtx, rtx);
  16708. extern rtx gen_negvnx8hi2 (rtx, rtx);
  16709. extern rtx gen_one_cmplvnx8hi2 (rtx, rtx);
  16710. extern rtx gen_clrsbvnx8hi2 (rtx, rtx);
  16711. extern rtx gen_clzvnx8hi2 (rtx, rtx);
  16712. extern rtx gen_popcountvnx8hi2 (rtx, rtx);
  16713. extern rtx gen_qabsvnx8hi2 (rtx, rtx);
  16714. extern rtx gen_qnegvnx8hi2 (rtx, rtx);
  16715. extern rtx gen_absvnx4si2 (rtx, rtx);
  16716. extern rtx gen_negvnx4si2 (rtx, rtx);
  16717. extern rtx gen_one_cmplvnx4si2 (rtx, rtx);
  16718. extern rtx gen_clrsbvnx4si2 (rtx, rtx);
  16719. extern rtx gen_clzvnx4si2 (rtx, rtx);
  16720. extern rtx gen_popcountvnx4si2 (rtx, rtx);
  16721. extern rtx gen_qabsvnx4si2 (rtx, rtx);
  16722. extern rtx gen_qnegvnx4si2 (rtx, rtx);
  16723. extern rtx gen_absvnx2di2 (rtx, rtx);
  16724. extern rtx gen_negvnx2di2 (rtx, rtx);
  16725. extern rtx gen_one_cmplvnx2di2 (rtx, rtx);
  16726. extern rtx gen_clrsbvnx2di2 (rtx, rtx);
  16727. extern rtx gen_clzvnx2di2 (rtx, rtx);
  16728. extern rtx gen_popcountvnx2di2 (rtx, rtx);
  16729. extern rtx gen_qabsvnx2di2 (rtx, rtx);
  16730. extern rtx gen_qnegvnx2di2 (rtx, rtx);
  16731. extern rtx gen_cond_absvnx16qi (rtx, rtx, rtx, rtx);
  16732. extern rtx gen_cond_negvnx16qi (rtx, rtx, rtx, rtx);
  16733. extern rtx gen_cond_one_cmplvnx16qi (rtx, rtx, rtx, rtx);
  16734. extern rtx gen_cond_clrsbvnx16qi (rtx, rtx, rtx, rtx);
  16735. extern rtx gen_cond_clzvnx16qi (rtx, rtx, rtx, rtx);
  16736. extern rtx gen_cond_popcountvnx16qi (rtx, rtx, rtx, rtx);
  16737. extern rtx gen_cond_qabsvnx16qi (rtx, rtx, rtx, rtx);
  16738. extern rtx gen_cond_qnegvnx16qi (rtx, rtx, rtx, rtx);
  16739. extern rtx gen_cond_absvnx8hi (rtx, rtx, rtx, rtx);
  16740. extern rtx gen_cond_negvnx8hi (rtx, rtx, rtx, rtx);
  16741. extern rtx gen_cond_one_cmplvnx8hi (rtx, rtx, rtx, rtx);
  16742. extern rtx gen_cond_clrsbvnx8hi (rtx, rtx, rtx, rtx);
  16743. extern rtx gen_cond_clzvnx8hi (rtx, rtx, rtx, rtx);
  16744. extern rtx gen_cond_popcountvnx8hi (rtx, rtx, rtx, rtx);
  16745. extern rtx gen_cond_qabsvnx8hi (rtx, rtx, rtx, rtx);
  16746. extern rtx gen_cond_qnegvnx8hi (rtx, rtx, rtx, rtx);
  16747. extern rtx gen_cond_absvnx4si (rtx, rtx, rtx, rtx);
  16748. extern rtx gen_cond_negvnx4si (rtx, rtx, rtx, rtx);
  16749. extern rtx gen_cond_one_cmplvnx4si (rtx, rtx, rtx, rtx);
  16750. extern rtx gen_cond_clrsbvnx4si (rtx, rtx, rtx, rtx);
  16751. extern rtx gen_cond_clzvnx4si (rtx, rtx, rtx, rtx);
  16752. extern rtx gen_cond_popcountvnx4si (rtx, rtx, rtx, rtx);
  16753. extern rtx gen_cond_qabsvnx4si (rtx, rtx, rtx, rtx);
  16754. extern rtx gen_cond_qnegvnx4si (rtx, rtx, rtx, rtx);
  16755. extern rtx gen_cond_absvnx2di (rtx, rtx, rtx, rtx);
  16756. extern rtx gen_cond_negvnx2di (rtx, rtx, rtx, rtx);
  16757. extern rtx gen_cond_one_cmplvnx2di (rtx, rtx, rtx, rtx);
  16758. extern rtx gen_cond_clrsbvnx2di (rtx, rtx, rtx, rtx);
  16759. extern rtx gen_cond_clzvnx2di (rtx, rtx, rtx, rtx);
  16760. extern rtx gen_cond_popcountvnx2di (rtx, rtx, rtx, rtx);
  16761. extern rtx gen_cond_qabsvnx2di (rtx, rtx, rtx, rtx);
  16762. extern rtx gen_cond_qnegvnx2di (rtx, rtx, rtx, rtx);
  16763. extern rtx gen_extendvnx8qivnx8hi2 (rtx, rtx);
  16764. extern rtx gen_zero_extendvnx8qivnx8hi2 (rtx, rtx);
  16765. static inline rtx gen_extendvnx4qivnx8hi2 (rtx, rtx);
  16766. static inline rtx
  16767. gen_extendvnx4qivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16768. {
  16769. return 0;
  16770. }
  16771. static inline rtx gen_zero_extendvnx4qivnx8hi2 (rtx, rtx);
  16772. static inline rtx
  16773. gen_zero_extendvnx4qivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16774. {
  16775. return 0;
  16776. }
  16777. static inline rtx gen_extendvnx2qivnx8hi2 (rtx, rtx);
  16778. static inline rtx
  16779. gen_extendvnx2qivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16780. {
  16781. return 0;
  16782. }
  16783. static inline rtx gen_zero_extendvnx2qivnx8hi2 (rtx, rtx);
  16784. static inline rtx
  16785. gen_zero_extendvnx2qivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16786. {
  16787. return 0;
  16788. }
  16789. static inline rtx gen_extendvnx4hivnx8hi2 (rtx, rtx);
  16790. static inline rtx
  16791. gen_extendvnx4hivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16792. {
  16793. return 0;
  16794. }
  16795. static inline rtx gen_zero_extendvnx4hivnx8hi2 (rtx, rtx);
  16796. static inline rtx
  16797. gen_zero_extendvnx4hivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16798. {
  16799. return 0;
  16800. }
  16801. static inline rtx gen_extendvnx2hivnx8hi2 (rtx, rtx);
  16802. static inline rtx
  16803. gen_extendvnx2hivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16804. {
  16805. return 0;
  16806. }
  16807. static inline rtx gen_zero_extendvnx2hivnx8hi2 (rtx, rtx);
  16808. static inline rtx
  16809. gen_zero_extendvnx2hivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16810. {
  16811. return 0;
  16812. }
  16813. static inline rtx gen_extendvnx2sivnx8hi2 (rtx, rtx);
  16814. static inline rtx
  16815. gen_extendvnx2sivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16816. {
  16817. return 0;
  16818. }
  16819. static inline rtx gen_zero_extendvnx2sivnx8hi2 (rtx, rtx);
  16820. static inline rtx
  16821. gen_zero_extendvnx2sivnx8hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16822. {
  16823. return 0;
  16824. }
  16825. static inline rtx gen_extendvnx8qivnx4hi2 (rtx, rtx);
  16826. static inline rtx
  16827. gen_extendvnx8qivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16828. {
  16829. return 0;
  16830. }
  16831. static inline rtx gen_zero_extendvnx8qivnx4hi2 (rtx, rtx);
  16832. static inline rtx
  16833. gen_zero_extendvnx8qivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16834. {
  16835. return 0;
  16836. }
  16837. extern rtx gen_extendvnx4qivnx4hi2 (rtx, rtx);
  16838. extern rtx gen_zero_extendvnx4qivnx4hi2 (rtx, rtx);
  16839. static inline rtx gen_extendvnx2qivnx4hi2 (rtx, rtx);
  16840. static inline rtx
  16841. gen_extendvnx2qivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16842. {
  16843. return 0;
  16844. }
  16845. static inline rtx gen_zero_extendvnx2qivnx4hi2 (rtx, rtx);
  16846. static inline rtx
  16847. gen_zero_extendvnx2qivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16848. {
  16849. return 0;
  16850. }
  16851. static inline rtx gen_extendvnx4hivnx4hi2 (rtx, rtx);
  16852. static inline rtx
  16853. gen_extendvnx4hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16854. {
  16855. return 0;
  16856. }
  16857. static inline rtx gen_zero_extendvnx4hivnx4hi2 (rtx, rtx);
  16858. static inline rtx
  16859. gen_zero_extendvnx4hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16860. {
  16861. return 0;
  16862. }
  16863. static inline rtx gen_extendvnx2hivnx4hi2 (rtx, rtx);
  16864. static inline rtx
  16865. gen_extendvnx2hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16866. {
  16867. return 0;
  16868. }
  16869. static inline rtx gen_zero_extendvnx2hivnx4hi2 (rtx, rtx);
  16870. static inline rtx
  16871. gen_zero_extendvnx2hivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16872. {
  16873. return 0;
  16874. }
  16875. static inline rtx gen_extendvnx2sivnx4hi2 (rtx, rtx);
  16876. static inline rtx
  16877. gen_extendvnx2sivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16878. {
  16879. return 0;
  16880. }
  16881. static inline rtx gen_zero_extendvnx2sivnx4hi2 (rtx, rtx);
  16882. static inline rtx
  16883. gen_zero_extendvnx2sivnx4hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16884. {
  16885. return 0;
  16886. }
  16887. static inline rtx gen_extendvnx8qivnx2hi2 (rtx, rtx);
  16888. static inline rtx
  16889. gen_extendvnx8qivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16890. {
  16891. return 0;
  16892. }
  16893. static inline rtx gen_zero_extendvnx8qivnx2hi2 (rtx, rtx);
  16894. static inline rtx
  16895. gen_zero_extendvnx8qivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16896. {
  16897. return 0;
  16898. }
  16899. static inline rtx gen_extendvnx4qivnx2hi2 (rtx, rtx);
  16900. static inline rtx
  16901. gen_extendvnx4qivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16902. {
  16903. return 0;
  16904. }
  16905. static inline rtx gen_zero_extendvnx4qivnx2hi2 (rtx, rtx);
  16906. static inline rtx
  16907. gen_zero_extendvnx4qivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16908. {
  16909. return 0;
  16910. }
  16911. extern rtx gen_extendvnx2qivnx2hi2 (rtx, rtx);
  16912. extern rtx gen_zero_extendvnx2qivnx2hi2 (rtx, rtx);
  16913. static inline rtx gen_extendvnx4hivnx2hi2 (rtx, rtx);
  16914. static inline rtx
  16915. gen_extendvnx4hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16916. {
  16917. return 0;
  16918. }
  16919. static inline rtx gen_zero_extendvnx4hivnx2hi2 (rtx, rtx);
  16920. static inline rtx
  16921. gen_zero_extendvnx4hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16922. {
  16923. return 0;
  16924. }
  16925. static inline rtx gen_extendvnx2hivnx2hi2 (rtx, rtx);
  16926. static inline rtx
  16927. gen_extendvnx2hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16928. {
  16929. return 0;
  16930. }
  16931. static inline rtx gen_zero_extendvnx2hivnx2hi2 (rtx, rtx);
  16932. static inline rtx
  16933. gen_zero_extendvnx2hivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16934. {
  16935. return 0;
  16936. }
  16937. static inline rtx gen_extendvnx2sivnx2hi2 (rtx, rtx);
  16938. static inline rtx
  16939. gen_extendvnx2sivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16940. {
  16941. return 0;
  16942. }
  16943. static inline rtx gen_zero_extendvnx2sivnx2hi2 (rtx, rtx);
  16944. static inline rtx
  16945. gen_zero_extendvnx2sivnx2hi2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16946. {
  16947. return 0;
  16948. }
  16949. static inline rtx gen_extendvnx8qivnx4si2 (rtx, rtx);
  16950. static inline rtx
  16951. gen_extendvnx8qivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16952. {
  16953. return 0;
  16954. }
  16955. static inline rtx gen_zero_extendvnx8qivnx4si2 (rtx, rtx);
  16956. static inline rtx
  16957. gen_zero_extendvnx8qivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16958. {
  16959. return 0;
  16960. }
  16961. extern rtx gen_extendvnx4qivnx4si2 (rtx, rtx);
  16962. extern rtx gen_zero_extendvnx4qivnx4si2 (rtx, rtx);
  16963. static inline rtx gen_extendvnx2qivnx4si2 (rtx, rtx);
  16964. static inline rtx
  16965. gen_extendvnx2qivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16966. {
  16967. return 0;
  16968. }
  16969. static inline rtx gen_zero_extendvnx2qivnx4si2 (rtx, rtx);
  16970. static inline rtx
  16971. gen_zero_extendvnx2qivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16972. {
  16973. return 0;
  16974. }
  16975. extern rtx gen_extendvnx4hivnx4si2 (rtx, rtx);
  16976. extern rtx gen_zero_extendvnx4hivnx4si2 (rtx, rtx);
  16977. static inline rtx gen_extendvnx2hivnx4si2 (rtx, rtx);
  16978. static inline rtx
  16979. gen_extendvnx2hivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16980. {
  16981. return 0;
  16982. }
  16983. static inline rtx gen_zero_extendvnx2hivnx4si2 (rtx, rtx);
  16984. static inline rtx
  16985. gen_zero_extendvnx2hivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16986. {
  16987. return 0;
  16988. }
  16989. static inline rtx gen_extendvnx2sivnx4si2 (rtx, rtx);
  16990. static inline rtx
  16991. gen_extendvnx2sivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16992. {
  16993. return 0;
  16994. }
  16995. static inline rtx gen_zero_extendvnx2sivnx4si2 (rtx, rtx);
  16996. static inline rtx
  16997. gen_zero_extendvnx2sivnx4si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  16998. {
  16999. return 0;
  17000. }
  17001. static inline rtx gen_extendvnx8qivnx2si2 (rtx, rtx);
  17002. static inline rtx
  17003. gen_extendvnx8qivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17004. {
  17005. return 0;
  17006. }
  17007. static inline rtx gen_zero_extendvnx8qivnx2si2 (rtx, rtx);
  17008. static inline rtx
  17009. gen_zero_extendvnx8qivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17010. {
  17011. return 0;
  17012. }
  17013. static inline rtx gen_extendvnx4qivnx2si2 (rtx, rtx);
  17014. static inline rtx
  17015. gen_extendvnx4qivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17016. {
  17017. return 0;
  17018. }
  17019. static inline rtx gen_zero_extendvnx4qivnx2si2 (rtx, rtx);
  17020. static inline rtx
  17021. gen_zero_extendvnx4qivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17022. {
  17023. return 0;
  17024. }
  17025. extern rtx gen_extendvnx2qivnx2si2 (rtx, rtx);
  17026. extern rtx gen_zero_extendvnx2qivnx2si2 (rtx, rtx);
  17027. static inline rtx gen_extendvnx4hivnx2si2 (rtx, rtx);
  17028. static inline rtx
  17029. gen_extendvnx4hivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17030. {
  17031. return 0;
  17032. }
  17033. static inline rtx gen_zero_extendvnx4hivnx2si2 (rtx, rtx);
  17034. static inline rtx
  17035. gen_zero_extendvnx4hivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17036. {
  17037. return 0;
  17038. }
  17039. extern rtx gen_extendvnx2hivnx2si2 (rtx, rtx);
  17040. extern rtx gen_zero_extendvnx2hivnx2si2 (rtx, rtx);
  17041. static inline rtx gen_extendvnx2sivnx2si2 (rtx, rtx);
  17042. static inline rtx
  17043. gen_extendvnx2sivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17044. {
  17045. return 0;
  17046. }
  17047. static inline rtx gen_zero_extendvnx2sivnx2si2 (rtx, rtx);
  17048. static inline rtx
  17049. gen_zero_extendvnx2sivnx2si2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17050. {
  17051. return 0;
  17052. }
  17053. static inline rtx gen_extendvnx8qivnx2di2 (rtx, rtx);
  17054. static inline rtx
  17055. gen_extendvnx8qivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17056. {
  17057. return 0;
  17058. }
  17059. static inline rtx gen_zero_extendvnx8qivnx2di2 (rtx, rtx);
  17060. static inline rtx
  17061. gen_zero_extendvnx8qivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17062. {
  17063. return 0;
  17064. }
  17065. static inline rtx gen_extendvnx4qivnx2di2 (rtx, rtx);
  17066. static inline rtx
  17067. gen_extendvnx4qivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17068. {
  17069. return 0;
  17070. }
  17071. static inline rtx gen_zero_extendvnx4qivnx2di2 (rtx, rtx);
  17072. static inline rtx
  17073. gen_zero_extendvnx4qivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17074. {
  17075. return 0;
  17076. }
  17077. extern rtx gen_extendvnx2qivnx2di2 (rtx, rtx);
  17078. extern rtx gen_zero_extendvnx2qivnx2di2 (rtx, rtx);
  17079. static inline rtx gen_extendvnx4hivnx2di2 (rtx, rtx);
  17080. static inline rtx
  17081. gen_extendvnx4hivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17082. {
  17083. return 0;
  17084. }
  17085. static inline rtx gen_zero_extendvnx4hivnx2di2 (rtx, rtx);
  17086. static inline rtx
  17087. gen_zero_extendvnx4hivnx2di2(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b))
  17088. {
  17089. return 0;
  17090. }
  17091. extern rtx gen_extendvnx2hivnx2di2 (rtx, rtx);
  17092. extern rtx gen_zero_extendvnx2hivnx2di2 (rtx, rtx);
  17093. extern rtx gen_extendvnx2sivnx2di2 (rtx, rtx);
  17094. extern rtx gen_zero_extendvnx2sivnx2di2 (rtx, rtx);
  17095. extern rtx gen_aarch64_pred_cnotvnx16qi (rtx, rtx, rtx, rtx);
  17096. extern rtx gen_aarch64_pred_cnotvnx8hi (rtx, rtx, rtx, rtx);
  17097. extern rtx gen_aarch64_pred_cnotvnx4si (rtx, rtx, rtx, rtx);
  17098. extern rtx gen_aarch64_pred_cnotvnx2di (rtx, rtx, rtx, rtx);
  17099. extern rtx gen_cond_cnotvnx16qi (rtx, rtx, rtx, rtx);
  17100. extern rtx gen_cond_cnotvnx8hi (rtx, rtx, rtx, rtx);
  17101. extern rtx gen_cond_cnotvnx4si (rtx, rtx, rtx, rtx);
  17102. extern rtx gen_cond_cnotvnx2di (rtx, rtx, rtx, rtx);
  17103. extern rtx gen_absvnx8hf2 (rtx, rtx);
  17104. extern rtx gen_negvnx8hf2 (rtx, rtx);
  17105. extern rtx gen_frecpxvnx8hf2 (rtx, rtx);
  17106. extern rtx gen_roundvnx8hf2 (rtx, rtx);
  17107. extern rtx gen_nearbyintvnx8hf2 (rtx, rtx);
  17108. extern rtx gen_floorvnx8hf2 (rtx, rtx);
  17109. extern rtx gen_frintnvnx8hf2 (rtx, rtx);
  17110. extern rtx gen_ceilvnx8hf2 (rtx, rtx);
  17111. extern rtx gen_rintvnx8hf2 (rtx, rtx);
  17112. extern rtx gen_btruncvnx8hf2 (rtx, rtx);
  17113. extern rtx gen_absvnx4sf2 (rtx, rtx);
  17114. extern rtx gen_negvnx4sf2 (rtx, rtx);
  17115. extern rtx gen_frecpxvnx4sf2 (rtx, rtx);
  17116. extern rtx gen_roundvnx4sf2 (rtx, rtx);
  17117. extern rtx gen_nearbyintvnx4sf2 (rtx, rtx);
  17118. extern rtx gen_floorvnx4sf2 (rtx, rtx);
  17119. extern rtx gen_frintnvnx4sf2 (rtx, rtx);
  17120. extern rtx gen_ceilvnx4sf2 (rtx, rtx);
  17121. extern rtx gen_rintvnx4sf2 (rtx, rtx);
  17122. extern rtx gen_btruncvnx4sf2 (rtx, rtx);
  17123. extern rtx gen_absvnx2df2 (rtx, rtx);
  17124. extern rtx gen_negvnx2df2 (rtx, rtx);
  17125. extern rtx gen_frecpxvnx2df2 (rtx, rtx);
  17126. extern rtx gen_roundvnx2df2 (rtx, rtx);
  17127. extern rtx gen_nearbyintvnx2df2 (rtx, rtx);
  17128. extern rtx gen_floorvnx2df2 (rtx, rtx);
  17129. extern rtx gen_frintnvnx2df2 (rtx, rtx);
  17130. extern rtx gen_ceilvnx2df2 (rtx, rtx);
  17131. extern rtx gen_rintvnx2df2 (rtx, rtx);
  17132. extern rtx gen_btruncvnx2df2 (rtx, rtx);
  17133. extern rtx gen_cond_absvnx8hf (rtx, rtx, rtx, rtx);
  17134. extern rtx gen_cond_negvnx8hf (rtx, rtx, rtx, rtx);
  17135. extern rtx gen_cond_frecpxvnx8hf (rtx, rtx, rtx, rtx);
  17136. extern rtx gen_cond_roundvnx8hf (rtx, rtx, rtx, rtx);
  17137. extern rtx gen_cond_nearbyintvnx8hf (rtx, rtx, rtx, rtx);
  17138. extern rtx gen_cond_floorvnx8hf (rtx, rtx, rtx, rtx);
  17139. extern rtx gen_cond_frintnvnx8hf (rtx, rtx, rtx, rtx);
  17140. extern rtx gen_cond_ceilvnx8hf (rtx, rtx, rtx, rtx);
  17141. extern rtx gen_cond_rintvnx8hf (rtx, rtx, rtx, rtx);
  17142. extern rtx gen_cond_btruncvnx8hf (rtx, rtx, rtx, rtx);
  17143. extern rtx gen_cond_sqrtvnx8hf (rtx, rtx, rtx, rtx);
  17144. extern rtx gen_cond_absvnx4sf (rtx, rtx, rtx, rtx);
  17145. extern rtx gen_cond_negvnx4sf (rtx, rtx, rtx, rtx);
  17146. extern rtx gen_cond_frecpxvnx4sf (rtx, rtx, rtx, rtx);
  17147. extern rtx gen_cond_roundvnx4sf (rtx, rtx, rtx, rtx);
  17148. extern rtx gen_cond_nearbyintvnx4sf (rtx, rtx, rtx, rtx);
  17149. extern rtx gen_cond_floorvnx4sf (rtx, rtx, rtx, rtx);
  17150. extern rtx gen_cond_frintnvnx4sf (rtx, rtx, rtx, rtx);
  17151. extern rtx gen_cond_ceilvnx4sf (rtx, rtx, rtx, rtx);
  17152. extern rtx gen_cond_rintvnx4sf (rtx, rtx, rtx, rtx);
  17153. extern rtx gen_cond_btruncvnx4sf (rtx, rtx, rtx, rtx);
  17154. extern rtx gen_cond_sqrtvnx4sf (rtx, rtx, rtx, rtx);
  17155. extern rtx gen_cond_absvnx2df (rtx, rtx, rtx, rtx);
  17156. extern rtx gen_cond_negvnx2df (rtx, rtx, rtx, rtx);
  17157. extern rtx gen_cond_frecpxvnx2df (rtx, rtx, rtx, rtx);
  17158. extern rtx gen_cond_roundvnx2df (rtx, rtx, rtx, rtx);
  17159. extern rtx gen_cond_nearbyintvnx2df (rtx, rtx, rtx, rtx);
  17160. extern rtx gen_cond_floorvnx2df (rtx, rtx, rtx, rtx);
  17161. extern rtx gen_cond_frintnvnx2df (rtx, rtx, rtx, rtx);
  17162. extern rtx gen_cond_ceilvnx2df (rtx, rtx, rtx, rtx);
  17163. extern rtx gen_cond_rintvnx2df (rtx, rtx, rtx, rtx);
  17164. extern rtx gen_cond_btruncvnx2df (rtx, rtx, rtx, rtx);
  17165. extern rtx gen_cond_sqrtvnx2df (rtx, rtx, rtx, rtx);
  17166. extern rtx gen_sqrtvnx8hf2 (rtx, rtx);
  17167. extern rtx gen_sqrtvnx4sf2 (rtx, rtx);
  17168. extern rtx gen_sqrtvnx2df2 (rtx, rtx);
  17169. extern rtx gen_rsqrtvnx4sf2 (rtx, rtx);
  17170. extern rtx gen_rsqrtvnx2df2 (rtx, rtx);
  17171. extern rtx gen_aarch64_rsqrtevnx4sf (rtx, rtx);
  17172. extern rtx gen_aarch64_rsqrtevnx2df (rtx, rtx);
  17173. extern rtx gen_aarch64_rsqrtsvnx4sf (rtx, rtx, rtx);
  17174. extern rtx gen_aarch64_rsqrtsvnx2df (rtx, rtx, rtx);
  17175. extern rtx gen_one_cmplvnx16bi2 (rtx, rtx);
  17176. extern rtx gen_one_cmplvnx8bi2 (rtx, rtx);
  17177. extern rtx gen_one_cmplvnx4bi2 (rtx, rtx);
  17178. extern rtx gen_one_cmplvnx2bi2 (rtx, rtx);
  17179. extern rtx gen_mulvnx16qi3 (rtx, rtx, rtx);
  17180. extern rtx gen_smaxvnx16qi3 (rtx, rtx, rtx);
  17181. extern rtx gen_sminvnx16qi3 (rtx, rtx, rtx);
  17182. extern rtx gen_umaxvnx16qi3 (rtx, rtx, rtx);
  17183. extern rtx gen_uminvnx16qi3 (rtx, rtx, rtx);
  17184. extern rtx gen_mulvnx8hi3 (rtx, rtx, rtx);
  17185. extern rtx gen_smaxvnx8hi3 (rtx, rtx, rtx);
  17186. extern rtx gen_sminvnx8hi3 (rtx, rtx, rtx);
  17187. extern rtx gen_umaxvnx8hi3 (rtx, rtx, rtx);
  17188. extern rtx gen_uminvnx8hi3 (rtx, rtx, rtx);
  17189. extern rtx gen_mulvnx4si3 (rtx, rtx, rtx);
  17190. extern rtx gen_smaxvnx4si3 (rtx, rtx, rtx);
  17191. extern rtx gen_sminvnx4si3 (rtx, rtx, rtx);
  17192. extern rtx gen_umaxvnx4si3 (rtx, rtx, rtx);
  17193. extern rtx gen_uminvnx4si3 (rtx, rtx, rtx);
  17194. extern rtx gen_mulvnx2di3 (rtx, rtx, rtx);
  17195. extern rtx gen_smaxvnx2di3 (rtx, rtx, rtx);
  17196. extern rtx gen_sminvnx2di3 (rtx, rtx, rtx);
  17197. extern rtx gen_umaxvnx2di3 (rtx, rtx, rtx);
  17198. extern rtx gen_uminvnx2di3 (rtx, rtx, rtx);
  17199. extern rtx gen_cond_addvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17200. extern rtx gen_cond_subvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17201. extern rtx gen_cond_mulvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17202. extern rtx gen_cond_smaxvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17203. extern rtx gen_cond_umaxvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17204. extern rtx gen_cond_sminvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17205. extern rtx gen_cond_uminvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17206. extern rtx gen_cond_ashlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17207. extern rtx gen_cond_ashrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17208. extern rtx gen_cond_lshrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17209. extern rtx gen_cond_andvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17210. extern rtx gen_cond_iorvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17211. extern rtx gen_cond_xorvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17212. extern rtx gen_cond_ssaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17213. extern rtx gen_cond_usaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17214. extern rtx gen_cond_sssubvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17215. extern rtx gen_cond_ussubvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17216. extern rtx gen_cond_addvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17217. extern rtx gen_cond_subvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17218. extern rtx gen_cond_mulvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17219. extern rtx gen_cond_smaxvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17220. extern rtx gen_cond_umaxvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17221. extern rtx gen_cond_sminvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17222. extern rtx gen_cond_uminvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17223. extern rtx gen_cond_ashlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17224. extern rtx gen_cond_ashrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17225. extern rtx gen_cond_lshrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17226. extern rtx gen_cond_andvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17227. extern rtx gen_cond_iorvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17228. extern rtx gen_cond_xorvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17229. extern rtx gen_cond_ssaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17230. extern rtx gen_cond_usaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17231. extern rtx gen_cond_sssubvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17232. extern rtx gen_cond_ussubvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17233. extern rtx gen_cond_addvnx4si (rtx, rtx, rtx, rtx, rtx);
  17234. extern rtx gen_cond_subvnx4si (rtx, rtx, rtx, rtx, rtx);
  17235. extern rtx gen_cond_mulvnx4si (rtx, rtx, rtx, rtx, rtx);
  17236. extern rtx gen_cond_smaxvnx4si (rtx, rtx, rtx, rtx, rtx);
  17237. extern rtx gen_cond_umaxvnx4si (rtx, rtx, rtx, rtx, rtx);
  17238. extern rtx gen_cond_sminvnx4si (rtx, rtx, rtx, rtx, rtx);
  17239. extern rtx gen_cond_uminvnx4si (rtx, rtx, rtx, rtx, rtx);
  17240. extern rtx gen_cond_ashlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17241. extern rtx gen_cond_ashrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17242. extern rtx gen_cond_lshrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17243. extern rtx gen_cond_andvnx4si (rtx, rtx, rtx, rtx, rtx);
  17244. extern rtx gen_cond_iorvnx4si (rtx, rtx, rtx, rtx, rtx);
  17245. extern rtx gen_cond_xorvnx4si (rtx, rtx, rtx, rtx, rtx);
  17246. extern rtx gen_cond_ssaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17247. extern rtx gen_cond_usaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17248. extern rtx gen_cond_sssubvnx4si (rtx, rtx, rtx, rtx, rtx);
  17249. extern rtx gen_cond_ussubvnx4si (rtx, rtx, rtx, rtx, rtx);
  17250. extern rtx gen_cond_addvnx2di (rtx, rtx, rtx, rtx, rtx);
  17251. extern rtx gen_cond_subvnx2di (rtx, rtx, rtx, rtx, rtx);
  17252. extern rtx gen_cond_mulvnx2di (rtx, rtx, rtx, rtx, rtx);
  17253. extern rtx gen_cond_smaxvnx2di (rtx, rtx, rtx, rtx, rtx);
  17254. extern rtx gen_cond_umaxvnx2di (rtx, rtx, rtx, rtx, rtx);
  17255. extern rtx gen_cond_sminvnx2di (rtx, rtx, rtx, rtx, rtx);
  17256. extern rtx gen_cond_uminvnx2di (rtx, rtx, rtx, rtx, rtx);
  17257. extern rtx gen_cond_ashlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17258. extern rtx gen_cond_ashrvnx2di (rtx, rtx, rtx, rtx, rtx);
  17259. extern rtx gen_cond_lshrvnx2di (rtx, rtx, rtx, rtx, rtx);
  17260. extern rtx gen_cond_andvnx2di (rtx, rtx, rtx, rtx, rtx);
  17261. extern rtx gen_cond_iorvnx2di (rtx, rtx, rtx, rtx, rtx);
  17262. extern rtx gen_cond_xorvnx2di (rtx, rtx, rtx, rtx, rtx);
  17263. extern rtx gen_cond_ssaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17264. extern rtx gen_cond_usaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17265. extern rtx gen_cond_sssubvnx2di (rtx, rtx, rtx, rtx, rtx);
  17266. extern rtx gen_cond_ussubvnx2di (rtx, rtx, rtx, rtx, rtx);
  17267. extern rtx gen_aarch64_adrvnx4si_shift (rtx, rtx, rtx, rtx);
  17268. extern rtx gen_aarch64_adrvnx2di_shift (rtx, rtx, rtx, rtx);
  17269. extern rtx gen_sabdvnx16qi_3 (rtx, rtx, rtx);
  17270. extern rtx gen_uabdvnx16qi_3 (rtx, rtx, rtx);
  17271. extern rtx gen_sabdvnx8hi_3 (rtx, rtx, rtx);
  17272. extern rtx gen_uabdvnx8hi_3 (rtx, rtx, rtx);
  17273. extern rtx gen_sabdvnx4si_3 (rtx, rtx, rtx);
  17274. extern rtx gen_uabdvnx4si_3 (rtx, rtx, rtx);
  17275. extern rtx gen_sabdvnx2di_3 (rtx, rtx, rtx);
  17276. extern rtx gen_uabdvnx2di_3 (rtx, rtx, rtx);
  17277. extern rtx gen_aarch64_cond_sabdvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17278. extern rtx gen_aarch64_cond_uabdvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17279. extern rtx gen_aarch64_cond_sabdvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17280. extern rtx gen_aarch64_cond_uabdvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17281. extern rtx gen_aarch64_cond_sabdvnx4si (rtx, rtx, rtx, rtx, rtx);
  17282. extern rtx gen_aarch64_cond_uabdvnx4si (rtx, rtx, rtx, rtx, rtx);
  17283. extern rtx gen_aarch64_cond_sabdvnx2di (rtx, rtx, rtx, rtx, rtx);
  17284. extern rtx gen_aarch64_cond_uabdvnx2di (rtx, rtx, rtx, rtx, rtx);
  17285. extern rtx gen_smulvnx16qi3_highpart (rtx, rtx, rtx);
  17286. extern rtx gen_umulvnx16qi3_highpart (rtx, rtx, rtx);
  17287. extern rtx gen_smulvnx8hi3_highpart (rtx, rtx, rtx);
  17288. extern rtx gen_umulvnx8hi3_highpart (rtx, rtx, rtx);
  17289. extern rtx gen_smulvnx4si3_highpart (rtx, rtx, rtx);
  17290. extern rtx gen_umulvnx4si3_highpart (rtx, rtx, rtx);
  17291. extern rtx gen_smulvnx2di3_highpart (rtx, rtx, rtx);
  17292. extern rtx gen_umulvnx2di3_highpart (rtx, rtx, rtx);
  17293. extern rtx gen_cond_smulhvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17294. extern rtx gen_cond_umulhvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17295. extern rtx gen_cond_smulhvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17296. extern rtx gen_cond_umulhvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17297. extern rtx gen_cond_smulhvnx4si (rtx, rtx, rtx, rtx, rtx);
  17298. extern rtx gen_cond_umulhvnx4si (rtx, rtx, rtx, rtx, rtx);
  17299. extern rtx gen_cond_smulhvnx2di (rtx, rtx, rtx, rtx, rtx);
  17300. extern rtx gen_cond_umulhvnx2di (rtx, rtx, rtx, rtx, rtx);
  17301. extern rtx gen_divvnx4si3 (rtx, rtx, rtx);
  17302. extern rtx gen_udivvnx4si3 (rtx, rtx, rtx);
  17303. extern rtx gen_divvnx2di3 (rtx, rtx, rtx);
  17304. extern rtx gen_udivvnx2di3 (rtx, rtx, rtx);
  17305. extern rtx gen_cond_divvnx4si (rtx, rtx, rtx, rtx, rtx);
  17306. extern rtx gen_cond_udivvnx4si (rtx, rtx, rtx, rtx, rtx);
  17307. extern rtx gen_cond_divvnx2di (rtx, rtx, rtx, rtx, rtx);
  17308. extern rtx gen_cond_udivvnx2di (rtx, rtx, rtx, rtx, rtx);
  17309. extern rtx gen_aarch64_bicvnx16qi (rtx, rtx, rtx);
  17310. extern rtx gen_aarch64_bicvnx8hi (rtx, rtx, rtx);
  17311. extern rtx gen_aarch64_bicvnx4si (rtx, rtx, rtx);
  17312. extern rtx gen_aarch64_bicvnx2di (rtx, rtx, rtx);
  17313. extern rtx gen_cond_bicvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17314. extern rtx gen_cond_bicvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17315. extern rtx gen_cond_bicvnx4si (rtx, rtx, rtx, rtx, rtx);
  17316. extern rtx gen_cond_bicvnx2di (rtx, rtx, rtx, rtx, rtx);
  17317. extern rtx gen_ashlvnx16qi3 (rtx, rtx, rtx);
  17318. extern rtx gen_ashrvnx16qi3 (rtx, rtx, rtx);
  17319. extern rtx gen_lshrvnx16qi3 (rtx, rtx, rtx);
  17320. extern rtx gen_ashlvnx8hi3 (rtx, rtx, rtx);
  17321. extern rtx gen_ashrvnx8hi3 (rtx, rtx, rtx);
  17322. extern rtx gen_lshrvnx8hi3 (rtx, rtx, rtx);
  17323. extern rtx gen_ashlvnx4si3 (rtx, rtx, rtx);
  17324. extern rtx gen_ashrvnx4si3 (rtx, rtx, rtx);
  17325. extern rtx gen_lshrvnx4si3 (rtx, rtx, rtx);
  17326. extern rtx gen_ashlvnx2di3 (rtx, rtx, rtx);
  17327. extern rtx gen_ashrvnx2di3 (rtx, rtx, rtx);
  17328. extern rtx gen_lshrvnx2di3 (rtx, rtx, rtx);
  17329. extern rtx gen_vashlvnx16qi3 (rtx, rtx, rtx);
  17330. extern rtx gen_vashrvnx16qi3 (rtx, rtx, rtx);
  17331. extern rtx gen_vlshrvnx16qi3 (rtx, rtx, rtx);
  17332. extern rtx gen_vashlvnx8hi3 (rtx, rtx, rtx);
  17333. extern rtx gen_vashrvnx8hi3 (rtx, rtx, rtx);
  17334. extern rtx gen_vlshrvnx8hi3 (rtx, rtx, rtx);
  17335. extern rtx gen_vashlvnx4si3 (rtx, rtx, rtx);
  17336. extern rtx gen_vashrvnx4si3 (rtx, rtx, rtx);
  17337. extern rtx gen_vlshrvnx4si3 (rtx, rtx, rtx);
  17338. extern rtx gen_vashlvnx2di3 (rtx, rtx, rtx);
  17339. extern rtx gen_vashrvnx2di3 (rtx, rtx, rtx);
  17340. extern rtx gen_vlshrvnx2di3 (rtx, rtx, rtx);
  17341. extern rtx gen_cond_lslvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17342. extern rtx gen_cond_asrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17343. extern rtx gen_cond_lsrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17344. extern rtx gen_cond_lslvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17345. extern rtx gen_cond_asrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17346. extern rtx gen_cond_lsrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17347. extern rtx gen_cond_lslvnx4si (rtx, rtx, rtx, rtx, rtx);
  17348. extern rtx gen_cond_asrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17349. extern rtx gen_cond_lsrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17350. extern rtx gen_sdiv_pow2vnx16qi3 (rtx, rtx, rtx);
  17351. extern rtx gen_sdiv_pow2vnx8hi3 (rtx, rtx, rtx);
  17352. extern rtx gen_sdiv_pow2vnx4si3 (rtx, rtx, rtx);
  17353. extern rtx gen_sdiv_pow2vnx2di3 (rtx, rtx, rtx);
  17354. extern rtx gen_cond_asrdvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17355. extern rtx gen_cond_sqshluvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17356. extern rtx gen_cond_srshrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17357. extern rtx gen_cond_urshrvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17358. extern rtx gen_cond_asrdvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17359. extern rtx gen_cond_sqshluvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17360. extern rtx gen_cond_srshrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17361. extern rtx gen_cond_urshrvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17362. extern rtx gen_cond_asrdvnx4si (rtx, rtx, rtx, rtx, rtx);
  17363. extern rtx gen_cond_sqshluvnx4si (rtx, rtx, rtx, rtx, rtx);
  17364. extern rtx gen_cond_srshrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17365. extern rtx gen_cond_urshrvnx4si (rtx, rtx, rtx, rtx, rtx);
  17366. extern rtx gen_cond_asrdvnx2di (rtx, rtx, rtx, rtx, rtx);
  17367. extern rtx gen_cond_sqshluvnx2di (rtx, rtx, rtx, rtx, rtx);
  17368. extern rtx gen_cond_srshrvnx2di (rtx, rtx, rtx, rtx, rtx);
  17369. extern rtx gen_cond_urshrvnx2di (rtx, rtx, rtx, rtx, rtx);
  17370. extern rtx gen_cond_fscalevnx8hf (rtx, rtx, rtx, rtx, rtx);
  17371. extern rtx gen_cond_fscalevnx4sf (rtx, rtx, rtx, rtx, rtx);
  17372. extern rtx gen_cond_fscalevnx2df (rtx, rtx, rtx, rtx, rtx);
  17373. extern rtx gen_addvnx8hf3 (rtx, rtx, rtx);
  17374. extern rtx gen_smax_nanvnx8hf3 (rtx, rtx, rtx);
  17375. extern rtx gen_smaxvnx8hf3 (rtx, rtx, rtx);
  17376. extern rtx gen_smin_nanvnx8hf3 (rtx, rtx, rtx);
  17377. extern rtx gen_sminvnx8hf3 (rtx, rtx, rtx);
  17378. extern rtx gen_mulvnx8hf3 (rtx, rtx, rtx);
  17379. extern rtx gen_mulxvnx8hf3 (rtx, rtx, rtx);
  17380. extern rtx gen_subvnx8hf3 (rtx, rtx, rtx);
  17381. extern rtx gen_addvnx4sf3 (rtx, rtx, rtx);
  17382. extern rtx gen_smax_nanvnx4sf3 (rtx, rtx, rtx);
  17383. extern rtx gen_smaxvnx4sf3 (rtx, rtx, rtx);
  17384. extern rtx gen_smin_nanvnx4sf3 (rtx, rtx, rtx);
  17385. extern rtx gen_sminvnx4sf3 (rtx, rtx, rtx);
  17386. extern rtx gen_mulvnx4sf3 (rtx, rtx, rtx);
  17387. extern rtx gen_mulxvnx4sf3 (rtx, rtx, rtx);
  17388. extern rtx gen_subvnx4sf3 (rtx, rtx, rtx);
  17389. extern rtx gen_addvnx2df3 (rtx, rtx, rtx);
  17390. extern rtx gen_smax_nanvnx2df3 (rtx, rtx, rtx);
  17391. extern rtx gen_smaxvnx2df3 (rtx, rtx, rtx);
  17392. extern rtx gen_smin_nanvnx2df3 (rtx, rtx, rtx);
  17393. extern rtx gen_sminvnx2df3 (rtx, rtx, rtx);
  17394. extern rtx gen_mulvnx2df3 (rtx, rtx, rtx);
  17395. extern rtx gen_mulxvnx2df3 (rtx, rtx, rtx);
  17396. extern rtx gen_subvnx2df3 (rtx, rtx, rtx);
  17397. extern rtx gen_cond_addvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17398. extern rtx gen_cond_divvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17399. extern rtx gen_cond_smax_nanvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17400. extern rtx gen_cond_smaxvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17401. extern rtx gen_cond_smin_nanvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17402. extern rtx gen_cond_sminvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17403. extern rtx gen_cond_mulvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17404. extern rtx gen_cond_mulxvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17405. extern rtx gen_cond_subvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17406. extern rtx gen_cond_addvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17407. extern rtx gen_cond_divvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17408. extern rtx gen_cond_smax_nanvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17409. extern rtx gen_cond_smaxvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17410. extern rtx gen_cond_smin_nanvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17411. extern rtx gen_cond_sminvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17412. extern rtx gen_cond_mulvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17413. extern rtx gen_cond_mulxvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17414. extern rtx gen_cond_subvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17415. extern rtx gen_cond_addvnx2df (rtx, rtx, rtx, rtx, rtx);
  17416. extern rtx gen_cond_divvnx2df (rtx, rtx, rtx, rtx, rtx);
  17417. extern rtx gen_cond_smax_nanvnx2df (rtx, rtx, rtx, rtx, rtx);
  17418. extern rtx gen_cond_smaxvnx2df (rtx, rtx, rtx, rtx, rtx);
  17419. extern rtx gen_cond_smin_nanvnx2df (rtx, rtx, rtx, rtx, rtx);
  17420. extern rtx gen_cond_sminvnx2df (rtx, rtx, rtx, rtx, rtx);
  17421. extern rtx gen_cond_mulvnx2df (rtx, rtx, rtx, rtx, rtx);
  17422. extern rtx gen_cond_mulxvnx2df (rtx, rtx, rtx, rtx, rtx);
  17423. extern rtx gen_cond_subvnx2df (rtx, rtx, rtx, rtx, rtx);
  17424. extern rtx gen_cond_cadd90vnx8hf (rtx, rtx, rtx, rtx, rtx);
  17425. extern rtx gen_cond_cadd270vnx8hf (rtx, rtx, rtx, rtx, rtx);
  17426. extern rtx gen_cond_cadd90vnx4sf (rtx, rtx, rtx, rtx, rtx);
  17427. extern rtx gen_cond_cadd270vnx4sf (rtx, rtx, rtx, rtx, rtx);
  17428. extern rtx gen_cond_cadd90vnx2df (rtx, rtx, rtx, rtx, rtx);
  17429. extern rtx gen_cond_cadd270vnx2df (rtx, rtx, rtx, rtx, rtx);
  17430. extern rtx gen_aarch64_pred_abdvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17431. extern rtx gen_aarch64_pred_abdvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17432. extern rtx gen_aarch64_pred_abdvnx2df (rtx, rtx, rtx, rtx, rtx);
  17433. extern rtx gen_aarch64_cond_abdvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17434. extern rtx gen_aarch64_cond_abdvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17435. extern rtx gen_aarch64_cond_abdvnx2df (rtx, rtx, rtx, rtx, rtx);
  17436. extern rtx gen_divvnx8hf3 (rtx, rtx, rtx);
  17437. extern rtx gen_divvnx4sf3 (rtx, rtx, rtx);
  17438. extern rtx gen_divvnx2df3 (rtx, rtx, rtx);
  17439. extern rtx gen_aarch64_frecpevnx8hf (rtx, rtx);
  17440. extern rtx gen_aarch64_frecpevnx4sf (rtx, rtx);
  17441. extern rtx gen_aarch64_frecpevnx2df (rtx, rtx);
  17442. extern rtx gen_aarch64_frecpsvnx8hf (rtx, rtx, rtx);
  17443. extern rtx gen_aarch64_frecpsvnx4sf (rtx, rtx, rtx);
  17444. extern rtx gen_aarch64_frecpsvnx2df (rtx, rtx, rtx);
  17445. extern rtx gen_copysignvnx8hf3 (rtx, rtx, rtx);
  17446. extern rtx gen_copysignvnx4sf3 (rtx, rtx, rtx);
  17447. extern rtx gen_copysignvnx2df3 (rtx, rtx, rtx);
  17448. extern rtx gen_xorsignvnx8hf3 (rtx, rtx, rtx);
  17449. extern rtx gen_xorsignvnx4sf3 (rtx, rtx, rtx);
  17450. extern rtx gen_xorsignvnx2df3 (rtx, rtx, rtx);
  17451. extern rtx gen_fmaxvnx8hf3 (rtx, rtx, rtx);
  17452. extern rtx gen_fminvnx8hf3 (rtx, rtx, rtx);
  17453. extern rtx gen_fmaxvnx4sf3 (rtx, rtx, rtx);
  17454. extern rtx gen_fminvnx4sf3 (rtx, rtx, rtx);
  17455. extern rtx gen_fmaxvnx2df3 (rtx, rtx, rtx);
  17456. extern rtx gen_fminvnx2df3 (rtx, rtx, rtx);
  17457. extern rtx gen_iorvnx16bi3 (rtx, rtx, rtx);
  17458. extern rtx gen_xorvnx16bi3 (rtx, rtx, rtx);
  17459. extern rtx gen_iorvnx8bi3 (rtx, rtx, rtx);
  17460. extern rtx gen_xorvnx8bi3 (rtx, rtx, rtx);
  17461. extern rtx gen_iorvnx4bi3 (rtx, rtx, rtx);
  17462. extern rtx gen_xorvnx4bi3 (rtx, rtx, rtx);
  17463. extern rtx gen_iorvnx2bi3 (rtx, rtx, rtx);
  17464. extern rtx gen_xorvnx2bi3 (rtx, rtx, rtx);
  17465. extern rtx gen_fmavnx16qi4 (rtx, rtx, rtx, rtx);
  17466. extern rtx gen_fmavnx8hi4 (rtx, rtx, rtx, rtx);
  17467. extern rtx gen_fmavnx4si4 (rtx, rtx, rtx, rtx);
  17468. extern rtx gen_fmavnx2di4 (rtx, rtx, rtx, rtx);
  17469. extern rtx gen_cond_fmavnx16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  17470. extern rtx gen_cond_fmavnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17471. extern rtx gen_cond_fmavnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17472. extern rtx gen_cond_fmavnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17473. extern rtx gen_fnmavnx16qi4 (rtx, rtx, rtx, rtx);
  17474. extern rtx gen_fnmavnx8hi4 (rtx, rtx, rtx, rtx);
  17475. extern rtx gen_fnmavnx4si4 (rtx, rtx, rtx, rtx);
  17476. extern rtx gen_fnmavnx2di4 (rtx, rtx, rtx, rtx);
  17477. extern rtx gen_cond_fnmavnx16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  17478. extern rtx gen_cond_fnmavnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17479. extern rtx gen_cond_fnmavnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17480. extern rtx gen_cond_fnmavnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17481. extern rtx gen_ssadvnx16qi (rtx, rtx, rtx, rtx);
  17482. extern rtx gen_usadvnx16qi (rtx, rtx, rtx, rtx);
  17483. extern rtx gen_ssadvnx8hi (rtx, rtx, rtx, rtx);
  17484. extern rtx gen_usadvnx8hi (rtx, rtx, rtx, rtx);
  17485. extern rtx gen_fmavnx8hf4 (rtx, rtx, rtx, rtx);
  17486. extern rtx gen_fnmavnx8hf4 (rtx, rtx, rtx, rtx);
  17487. extern rtx gen_fnmsvnx8hf4 (rtx, rtx, rtx, rtx);
  17488. extern rtx gen_fmsvnx8hf4 (rtx, rtx, rtx, rtx);
  17489. extern rtx gen_fmavnx4sf4 (rtx, rtx, rtx, rtx);
  17490. extern rtx gen_fnmavnx4sf4 (rtx, rtx, rtx, rtx);
  17491. extern rtx gen_fnmsvnx4sf4 (rtx, rtx, rtx, rtx);
  17492. extern rtx gen_fmsvnx4sf4 (rtx, rtx, rtx, rtx);
  17493. extern rtx gen_fmavnx2df4 (rtx, rtx, rtx, rtx);
  17494. extern rtx gen_fnmavnx2df4 (rtx, rtx, rtx, rtx);
  17495. extern rtx gen_fnmsvnx2df4 (rtx, rtx, rtx, rtx);
  17496. extern rtx gen_fmsvnx2df4 (rtx, rtx, rtx, rtx);
  17497. extern rtx gen_cond_fmavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17498. extern rtx gen_cond_fnmavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17499. extern rtx gen_cond_fnmsvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17500. extern rtx gen_cond_fmsvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17501. extern rtx gen_cond_fmavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17502. extern rtx gen_cond_fnmavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17503. extern rtx gen_cond_fnmsvnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17504. extern rtx gen_cond_fmsvnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17505. extern rtx gen_cond_fmavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17506. extern rtx gen_cond_fnmavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17507. extern rtx gen_cond_fnmsvnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17508. extern rtx gen_cond_fmsvnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17509. extern rtx gen_cond_fcmlavnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17510. extern rtx gen_cond_fcmla90vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17511. extern rtx gen_cond_fcmla180vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17512. extern rtx gen_cond_fcmla270vnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17513. extern rtx gen_cond_fcmlavnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17514. extern rtx gen_cond_fcmla90vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17515. extern rtx gen_cond_fcmla180vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17516. extern rtx gen_cond_fcmla270vnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17517. extern rtx gen_cond_fcmlavnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17518. extern rtx gen_cond_fcmla90vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17519. extern rtx gen_cond_fcmla180vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17520. extern rtx gen_cond_fcmla270vnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17521. extern rtx gen_vcond_mask_vnx16qivnx16bi (rtx, rtx, rtx, rtx);
  17522. extern rtx gen_vcond_mask_vnx8hivnx8bi (rtx, rtx, rtx, rtx);
  17523. extern rtx gen_vcond_mask_vnx4sivnx4bi (rtx, rtx, rtx, rtx);
  17524. extern rtx gen_vcond_mask_vnx2divnx2bi (rtx, rtx, rtx, rtx);
  17525. extern rtx gen_vcond_mask_vnx8bfvnx8bi (rtx, rtx, rtx, rtx);
  17526. extern rtx gen_vcond_mask_vnx8hfvnx8bi (rtx, rtx, rtx, rtx);
  17527. extern rtx gen_vcond_mask_vnx4sfvnx4bi (rtx, rtx, rtx, rtx);
  17528. extern rtx gen_vcond_mask_vnx2dfvnx2bi (rtx, rtx, rtx, rtx);
  17529. extern rtx gen_vcondvnx16qivnx16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  17530. extern rtx gen_vcondvnx8hivnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17531. extern rtx gen_vcondvnx4sivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17532. extern rtx gen_vcondvnx2divnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17533. extern rtx gen_vcondvnx8bfvnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17534. extern rtx gen_vcondvnx8hfvnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17535. extern rtx gen_vcondvnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17536. extern rtx gen_vcondvnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17537. extern rtx gen_vconduvnx16qivnx16qi (rtx, rtx, rtx, rtx, rtx, rtx);
  17538. extern rtx gen_vconduvnx8hivnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17539. extern rtx gen_vconduvnx4sivnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17540. extern rtx gen_vconduvnx2divnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17541. extern rtx gen_vconduvnx8bfvnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17542. extern rtx gen_vconduvnx8hfvnx8hi (rtx, rtx, rtx, rtx, rtx, rtx);
  17543. extern rtx gen_vconduvnx4sfvnx4si (rtx, rtx, rtx, rtx, rtx, rtx);
  17544. extern rtx gen_vconduvnx2dfvnx2di (rtx, rtx, rtx, rtx, rtx, rtx);
  17545. extern rtx gen_vcondvnx8hivnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17546. extern rtx gen_vcondvnx4sivnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17547. extern rtx gen_vcondvnx2divnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17548. extern rtx gen_vcondvnx8bfvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17549. extern rtx gen_vcondvnx8hfvnx8hf (rtx, rtx, rtx, rtx, rtx, rtx);
  17550. extern rtx gen_vcondvnx4sfvnx4sf (rtx, rtx, rtx, rtx, rtx, rtx);
  17551. extern rtx gen_vcondvnx2dfvnx2df (rtx, rtx, rtx, rtx, rtx, rtx);
  17552. extern rtx gen_vec_cmpvnx16qivnx16bi (rtx, rtx, rtx, rtx);
  17553. extern rtx gen_vec_cmpvnx8hivnx8bi (rtx, rtx, rtx, rtx);
  17554. extern rtx gen_vec_cmpvnx4sivnx4bi (rtx, rtx, rtx, rtx);
  17555. extern rtx gen_vec_cmpvnx2divnx2bi (rtx, rtx, rtx, rtx);
  17556. extern rtx gen_vec_cmpuvnx16qivnx16bi (rtx, rtx, rtx, rtx);
  17557. extern rtx gen_vec_cmpuvnx8hivnx8bi (rtx, rtx, rtx, rtx);
  17558. extern rtx gen_vec_cmpuvnx4sivnx4bi (rtx, rtx, rtx, rtx);
  17559. extern rtx gen_vec_cmpuvnx2divnx2bi (rtx, rtx, rtx, rtx);
  17560. extern rtx gen_vec_cmpvnx8hfvnx8bi (rtx, rtx, rtx, rtx);
  17561. extern rtx gen_vec_cmpvnx4sfvnx4bi (rtx, rtx, rtx, rtx);
  17562. extern rtx gen_vec_cmpvnx2dfvnx2bi (rtx, rtx, rtx, rtx);
  17563. extern rtx gen_aarch64_pred_facgevnx8hf (rtx, rtx, rtx, rtx, rtx);
  17564. extern rtx gen_aarch64_pred_facgtvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17565. extern rtx gen_aarch64_pred_faclevnx8hf (rtx, rtx, rtx, rtx, rtx);
  17566. extern rtx gen_aarch64_pred_facltvnx8hf (rtx, rtx, rtx, rtx, rtx);
  17567. extern rtx gen_aarch64_pred_facgevnx4sf (rtx, rtx, rtx, rtx, rtx);
  17568. extern rtx gen_aarch64_pred_facgtvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17569. extern rtx gen_aarch64_pred_faclevnx4sf (rtx, rtx, rtx, rtx, rtx);
  17570. extern rtx gen_aarch64_pred_facltvnx4sf (rtx, rtx, rtx, rtx, rtx);
  17571. extern rtx gen_aarch64_pred_facgevnx2df (rtx, rtx, rtx, rtx, rtx);
  17572. extern rtx gen_aarch64_pred_facgtvnx2df (rtx, rtx, rtx, rtx, rtx);
  17573. extern rtx gen_aarch64_pred_faclevnx2df (rtx, rtx, rtx, rtx, rtx);
  17574. extern rtx gen_aarch64_pred_facltvnx2df (rtx, rtx, rtx, rtx, rtx);
  17575. extern rtx gen_cbranchvnx16bi4 (rtx, rtx, rtx, rtx);
  17576. extern rtx gen_cbranchvnx8bi4 (rtx, rtx, rtx, rtx);
  17577. extern rtx gen_cbranchvnx4bi4 (rtx, rtx, rtx, rtx);
  17578. extern rtx gen_cbranchvnx2bi4 (rtx, rtx, rtx, rtx);
  17579. extern rtx gen_reduc_plus_scal_vnx16qi (rtx, rtx);
  17580. extern rtx gen_reduc_plus_scal_vnx8hi (rtx, rtx);
  17581. extern rtx gen_reduc_plus_scal_vnx4si (rtx, rtx);
  17582. extern rtx gen_reduc_plus_scal_vnx2di (rtx, rtx);
  17583. extern rtx gen_reduc_and_scal_vnx16qi (rtx, rtx);
  17584. extern rtx gen_reduc_ior_scal_vnx16qi (rtx, rtx);
  17585. extern rtx gen_reduc_smax_scal_vnx16qi (rtx, rtx);
  17586. extern rtx gen_reduc_smin_scal_vnx16qi (rtx, rtx);
  17587. extern rtx gen_reduc_umax_scal_vnx16qi (rtx, rtx);
  17588. extern rtx gen_reduc_umin_scal_vnx16qi (rtx, rtx);
  17589. extern rtx gen_reduc_xor_scal_vnx16qi (rtx, rtx);
  17590. extern rtx gen_reduc_and_scal_vnx8hi (rtx, rtx);
  17591. extern rtx gen_reduc_ior_scal_vnx8hi (rtx, rtx);
  17592. extern rtx gen_reduc_smax_scal_vnx8hi (rtx, rtx);
  17593. extern rtx gen_reduc_smin_scal_vnx8hi (rtx, rtx);
  17594. extern rtx gen_reduc_umax_scal_vnx8hi (rtx, rtx);
  17595. extern rtx gen_reduc_umin_scal_vnx8hi (rtx, rtx);
  17596. extern rtx gen_reduc_xor_scal_vnx8hi (rtx, rtx);
  17597. extern rtx gen_reduc_and_scal_vnx4si (rtx, rtx);
  17598. extern rtx gen_reduc_ior_scal_vnx4si (rtx, rtx);
  17599. extern rtx gen_reduc_smax_scal_vnx4si (rtx, rtx);
  17600. extern rtx gen_reduc_smin_scal_vnx4si (rtx, rtx);
  17601. extern rtx gen_reduc_umax_scal_vnx4si (rtx, rtx);
  17602. extern rtx gen_reduc_umin_scal_vnx4si (rtx, rtx);
  17603. extern rtx gen_reduc_xor_scal_vnx4si (rtx, rtx);
  17604. extern rtx gen_reduc_and_scal_vnx2di (rtx, rtx);
  17605. extern rtx gen_reduc_ior_scal_vnx2di (rtx, rtx);
  17606. extern rtx gen_reduc_smax_scal_vnx2di (rtx, rtx);
  17607. extern rtx gen_reduc_smin_scal_vnx2di (rtx, rtx);
  17608. extern rtx gen_reduc_umax_scal_vnx2di (rtx, rtx);
  17609. extern rtx gen_reduc_umin_scal_vnx2di (rtx, rtx);
  17610. extern rtx gen_reduc_xor_scal_vnx2di (rtx, rtx);
  17611. extern rtx gen_reduc_plus_scal_vnx8hf (rtx, rtx);
  17612. extern rtx gen_reduc_smax_nan_scal_vnx8hf (rtx, rtx);
  17613. extern rtx gen_reduc_smax_scal_vnx8hf (rtx, rtx);
  17614. extern rtx gen_reduc_smin_nan_scal_vnx8hf (rtx, rtx);
  17615. extern rtx gen_reduc_smin_scal_vnx8hf (rtx, rtx);
  17616. extern rtx gen_reduc_plus_scal_vnx4sf (rtx, rtx);
  17617. extern rtx gen_reduc_smax_nan_scal_vnx4sf (rtx, rtx);
  17618. extern rtx gen_reduc_smax_scal_vnx4sf (rtx, rtx);
  17619. extern rtx gen_reduc_smin_nan_scal_vnx4sf (rtx, rtx);
  17620. extern rtx gen_reduc_smin_scal_vnx4sf (rtx, rtx);
  17621. extern rtx gen_reduc_plus_scal_vnx2df (rtx, rtx);
  17622. extern rtx gen_reduc_smax_nan_scal_vnx2df (rtx, rtx);
  17623. extern rtx gen_reduc_smax_scal_vnx2df (rtx, rtx);
  17624. extern rtx gen_reduc_smin_nan_scal_vnx2df (rtx, rtx);
  17625. extern rtx gen_reduc_smin_scal_vnx2df (rtx, rtx);
  17626. extern rtx gen_fold_left_plus_vnx8hf (rtx, rtx, rtx);
  17627. extern rtx gen_fold_left_plus_vnx4sf (rtx, rtx, rtx);
  17628. extern rtx gen_fold_left_plus_vnx2df (rtx, rtx, rtx);
  17629. extern rtx gen_vec_permvnx16qi (rtx, rtx, rtx, rtx);
  17630. extern rtx gen_vec_permvnx8hi (rtx, rtx, rtx, rtx);
  17631. extern rtx gen_vec_permvnx4si (rtx, rtx, rtx, rtx);
  17632. extern rtx gen_vec_permvnx2di (rtx, rtx, rtx, rtx);
  17633. extern rtx gen_vec_permvnx8bf (rtx, rtx, rtx, rtx);
  17634. extern rtx gen_vec_permvnx8hf (rtx, rtx, rtx, rtx);
  17635. extern rtx gen_vec_permvnx4sf (rtx, rtx, rtx, rtx);
  17636. extern rtx gen_vec_permvnx2df (rtx, rtx, rtx, rtx);
  17637. extern rtx gen_vec_unpacks_hi_vnx16qi (rtx, rtx);
  17638. extern rtx gen_vec_unpacku_hi_vnx16qi (rtx, rtx);
  17639. extern rtx gen_vec_unpacks_lo_vnx16qi (rtx, rtx);
  17640. extern rtx gen_vec_unpacku_lo_vnx16qi (rtx, rtx);
  17641. extern rtx gen_vec_unpacks_hi_vnx8hi (rtx, rtx);
  17642. extern rtx gen_vec_unpacku_hi_vnx8hi (rtx, rtx);
  17643. extern rtx gen_vec_unpacks_lo_vnx8hi (rtx, rtx);
  17644. extern rtx gen_vec_unpacku_lo_vnx8hi (rtx, rtx);
  17645. extern rtx gen_vec_unpacks_hi_vnx4si (rtx, rtx);
  17646. extern rtx gen_vec_unpacku_hi_vnx4si (rtx, rtx);
  17647. extern rtx gen_vec_unpacks_lo_vnx4si (rtx, rtx);
  17648. extern rtx gen_vec_unpacku_lo_vnx4si (rtx, rtx);
  17649. extern rtx gen_fix_truncvnx8hfvnx8hi2 (rtx, rtx);
  17650. extern rtx gen_fixuns_truncvnx8hfvnx8hi2 (rtx, rtx);
  17651. extern rtx gen_fix_truncvnx4sfvnx4si2 (rtx, rtx);
  17652. extern rtx gen_fixuns_truncvnx4sfvnx4si2 (rtx, rtx);
  17653. extern rtx gen_fix_truncvnx2dfvnx2di2 (rtx, rtx);
  17654. extern rtx gen_fixuns_truncvnx2dfvnx2di2 (rtx, rtx);
  17655. extern rtx gen_cond_fix_trunc_nontruncvnx8hfvnx8hi (rtx, rtx, rtx, rtx);
  17656. extern rtx gen_cond_fixuns_trunc_nontruncvnx8hfvnx8hi (rtx, rtx, rtx, rtx);
  17657. static inline rtx gen_cond_fix_trunc_nontruncvnx4sfvnx8hi (rtx, rtx, rtx, rtx);
  17658. static inline rtx
  17659. gen_cond_fix_trunc_nontruncvnx4sfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17660. {
  17661. return 0;
  17662. }
  17663. static inline rtx gen_cond_fixuns_trunc_nontruncvnx4sfvnx8hi (rtx, rtx, rtx, rtx);
  17664. static inline rtx
  17665. gen_cond_fixuns_trunc_nontruncvnx4sfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17666. {
  17667. return 0;
  17668. }
  17669. static inline rtx gen_cond_fix_trunc_nontruncvnx2dfvnx8hi (rtx, rtx, rtx, rtx);
  17670. static inline rtx
  17671. gen_cond_fix_trunc_nontruncvnx2dfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17672. {
  17673. return 0;
  17674. }
  17675. static inline rtx gen_cond_fixuns_trunc_nontruncvnx2dfvnx8hi (rtx, rtx, rtx, rtx);
  17676. static inline rtx
  17677. gen_cond_fixuns_trunc_nontruncvnx2dfvnx8hi(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17678. {
  17679. return 0;
  17680. }
  17681. extern rtx gen_cond_fix_trunc_nontruncvnx8hfvnx4si (rtx, rtx, rtx, rtx);
  17682. extern rtx gen_cond_fixuns_trunc_nontruncvnx8hfvnx4si (rtx, rtx, rtx, rtx);
  17683. extern rtx gen_cond_fix_trunc_nontruncvnx4sfvnx4si (rtx, rtx, rtx, rtx);
  17684. extern rtx gen_cond_fixuns_trunc_nontruncvnx4sfvnx4si (rtx, rtx, rtx, rtx);
  17685. static inline rtx gen_cond_fix_trunc_nontruncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  17686. static inline rtx
  17687. gen_cond_fix_trunc_nontruncvnx2dfvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17688. {
  17689. return 0;
  17690. }
  17691. static inline rtx gen_cond_fixuns_trunc_nontruncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  17692. static inline rtx
  17693. gen_cond_fixuns_trunc_nontruncvnx2dfvnx4si(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17694. {
  17695. return 0;
  17696. }
  17697. extern rtx gen_cond_fix_trunc_nontruncvnx8hfvnx2di (rtx, rtx, rtx, rtx);
  17698. extern rtx gen_cond_fixuns_trunc_nontruncvnx8hfvnx2di (rtx, rtx, rtx, rtx);
  17699. extern rtx gen_cond_fix_trunc_nontruncvnx4sfvnx2di (rtx, rtx, rtx, rtx);
  17700. extern rtx gen_cond_fixuns_trunc_nontruncvnx4sfvnx2di (rtx, rtx, rtx, rtx);
  17701. extern rtx gen_cond_fix_trunc_nontruncvnx2dfvnx2di (rtx, rtx, rtx, rtx);
  17702. extern rtx gen_cond_fixuns_trunc_nontruncvnx2dfvnx2di (rtx, rtx, rtx, rtx);
  17703. extern rtx gen_cond_fix_trunc_truncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  17704. extern rtx gen_cond_fixuns_trunc_truncvnx2dfvnx4si (rtx, rtx, rtx, rtx);
  17705. extern rtx gen_vec_pack_sfix_trunc_vnx2df (rtx, rtx, rtx);
  17706. extern rtx gen_vec_pack_ufix_trunc_vnx2df (rtx, rtx, rtx);
  17707. extern rtx gen_floatvnx8hivnx8hf2 (rtx, rtx);
  17708. extern rtx gen_floatunsvnx8hivnx8hf2 (rtx, rtx);
  17709. extern rtx gen_floatvnx4sivnx4sf2 (rtx, rtx);
  17710. extern rtx gen_floatunsvnx4sivnx4sf2 (rtx, rtx);
  17711. extern rtx gen_floatvnx2divnx2df2 (rtx, rtx);
  17712. extern rtx gen_floatunsvnx2divnx2df2 (rtx, rtx);
  17713. extern rtx gen_cond_float_nonextendvnx8hivnx8hf (rtx, rtx, rtx, rtx);
  17714. extern rtx gen_cond_floatuns_nonextendvnx8hivnx8hf (rtx, rtx, rtx, rtx);
  17715. static inline rtx gen_cond_float_nonextendvnx8hivnx4sf (rtx, rtx, rtx, rtx);
  17716. static inline rtx
  17717. gen_cond_float_nonextendvnx8hivnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17718. {
  17719. return 0;
  17720. }
  17721. static inline rtx gen_cond_floatuns_nonextendvnx8hivnx4sf (rtx, rtx, rtx, rtx);
  17722. static inline rtx
  17723. gen_cond_floatuns_nonextendvnx8hivnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17724. {
  17725. return 0;
  17726. }
  17727. static inline rtx gen_cond_float_nonextendvnx8hivnx2df (rtx, rtx, rtx, rtx);
  17728. static inline rtx
  17729. gen_cond_float_nonextendvnx8hivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17730. {
  17731. return 0;
  17732. }
  17733. static inline rtx gen_cond_floatuns_nonextendvnx8hivnx2df (rtx, rtx, rtx, rtx);
  17734. static inline rtx
  17735. gen_cond_floatuns_nonextendvnx8hivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17736. {
  17737. return 0;
  17738. }
  17739. extern rtx gen_cond_float_nonextendvnx4sivnx8hf (rtx, rtx, rtx, rtx);
  17740. extern rtx gen_cond_floatuns_nonextendvnx4sivnx8hf (rtx, rtx, rtx, rtx);
  17741. extern rtx gen_cond_float_nonextendvnx4sivnx4sf (rtx, rtx, rtx, rtx);
  17742. extern rtx gen_cond_floatuns_nonextendvnx4sivnx4sf (rtx, rtx, rtx, rtx);
  17743. static inline rtx gen_cond_float_nonextendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  17744. static inline rtx
  17745. gen_cond_float_nonextendvnx4sivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17746. {
  17747. return 0;
  17748. }
  17749. static inline rtx gen_cond_floatuns_nonextendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  17750. static inline rtx
  17751. gen_cond_floatuns_nonextendvnx4sivnx2df(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17752. {
  17753. return 0;
  17754. }
  17755. extern rtx gen_cond_float_nonextendvnx2divnx8hf (rtx, rtx, rtx, rtx);
  17756. extern rtx gen_cond_floatuns_nonextendvnx2divnx8hf (rtx, rtx, rtx, rtx);
  17757. extern rtx gen_cond_float_nonextendvnx2divnx4sf (rtx, rtx, rtx, rtx);
  17758. extern rtx gen_cond_floatuns_nonextendvnx2divnx4sf (rtx, rtx, rtx, rtx);
  17759. extern rtx gen_cond_float_nonextendvnx2divnx2df (rtx, rtx, rtx, rtx);
  17760. extern rtx gen_cond_floatuns_nonextendvnx2divnx2df (rtx, rtx, rtx, rtx);
  17761. extern rtx gen_cond_float_extendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  17762. extern rtx gen_cond_floatuns_extendvnx4sivnx2df (rtx, rtx, rtx, rtx);
  17763. extern rtx gen_vec_unpacks_float_lo_vnx4si (rtx, rtx);
  17764. extern rtx gen_vec_unpacks_float_hi_vnx4si (rtx, rtx);
  17765. extern rtx gen_vec_unpacku_float_lo_vnx4si (rtx, rtx);
  17766. extern rtx gen_vec_unpacku_float_hi_vnx4si (rtx, rtx);
  17767. extern rtx gen_vec_pack_trunc_vnx4sf (rtx, rtx, rtx);
  17768. extern rtx gen_vec_pack_trunc_vnx2df (rtx, rtx, rtx);
  17769. extern rtx gen_cond_fcvt_truncvnx4sfvnx8hf (rtx, rtx, rtx, rtx);
  17770. static inline rtx gen_cond_fcvt_truncvnx4sfvnx4sf (rtx, rtx, rtx, rtx);
  17771. static inline rtx
  17772. gen_cond_fcvt_truncvnx4sfvnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17773. {
  17774. return 0;
  17775. }
  17776. extern rtx gen_cond_fcvt_truncvnx2dfvnx8hf (rtx, rtx, rtx, rtx);
  17777. extern rtx gen_cond_fcvt_truncvnx2dfvnx4sf (rtx, rtx, rtx, rtx);
  17778. extern rtx gen_cond_fcvt_truncvnx4sfvnx8bf (rtx, rtx, rtx, rtx);
  17779. extern rtx gen_vec_unpacks_lo_vnx8hf (rtx, rtx);
  17780. extern rtx gen_vec_unpacks_hi_vnx8hf (rtx, rtx);
  17781. extern rtx gen_vec_unpacks_lo_vnx4sf (rtx, rtx);
  17782. extern rtx gen_vec_unpacks_hi_vnx4sf (rtx, rtx);
  17783. extern rtx gen_cond_fcvt_nontruncvnx8hfvnx4sf (rtx, rtx, rtx, rtx);
  17784. static inline rtx gen_cond_fcvt_nontruncvnx4sfvnx4sf (rtx, rtx, rtx, rtx);
  17785. static inline rtx
  17786. gen_cond_fcvt_nontruncvnx4sfvnx4sf(rtx ARG_UNUSED (a), rtx ARG_UNUSED (b), rtx ARG_UNUSED (c), rtx ARG_UNUSED (d))
  17787. {
  17788. return 0;
  17789. }
  17790. extern rtx gen_cond_fcvt_nontruncvnx8hfvnx2df (rtx, rtx, rtx, rtx);
  17791. extern rtx gen_cond_fcvt_nontruncvnx4sfvnx2df (rtx, rtx, rtx, rtx);
  17792. extern rtx gen_vec_unpacks_hi_vnx16bi (rtx, rtx);
  17793. extern rtx gen_vec_unpacku_hi_vnx16bi (rtx, rtx);
  17794. extern rtx gen_vec_unpacks_lo_vnx16bi (rtx, rtx);
  17795. extern rtx gen_vec_unpacku_lo_vnx16bi (rtx, rtx);
  17796. extern rtx gen_vec_unpacks_hi_vnx8bi (rtx, rtx);
  17797. extern rtx gen_vec_unpacku_hi_vnx8bi (rtx, rtx);
  17798. extern rtx gen_vec_unpacks_lo_vnx8bi (rtx, rtx);
  17799. extern rtx gen_vec_unpacku_lo_vnx8bi (rtx, rtx);
  17800. extern rtx gen_vec_unpacks_hi_vnx4bi (rtx, rtx);
  17801. extern rtx gen_vec_unpacku_hi_vnx4bi (rtx, rtx);
  17802. extern rtx gen_vec_unpacks_lo_vnx4bi (rtx, rtx);
  17803. extern rtx gen_vec_unpacku_lo_vnx4bi (rtx, rtx);
  17804. extern rtx gen_aarch64_sve_incvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17805. extern rtx gen_aarch64_sve_sqincvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17806. extern rtx gen_aarch64_sve_uqincvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17807. extern rtx gen_aarch64_sve_decvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17808. extern rtx gen_aarch64_sve_sqdecvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17809. extern rtx gen_aarch64_sve_uqdecvnx8hi_pat (rtx, rtx, rtx, rtx, rtx);
  17810. extern rtx gen_aarch64_sve_incdivnx16bi_cntp (rtx, rtx, rtx);
  17811. extern rtx gen_aarch64_sve_sqincdivnx16bi_cntp (rtx, rtx, rtx);
  17812. extern rtx gen_aarch64_sve_uqincdivnx16bi_cntp (rtx, rtx, rtx);
  17813. extern rtx gen_aarch64_sve_incdivnx8bi_cntp (rtx, rtx, rtx);
  17814. extern rtx gen_aarch64_sve_sqincdivnx8bi_cntp (rtx, rtx, rtx);
  17815. extern rtx gen_aarch64_sve_uqincdivnx8bi_cntp (rtx, rtx, rtx);
  17816. extern rtx gen_aarch64_sve_incdivnx4bi_cntp (rtx, rtx, rtx);
  17817. extern rtx gen_aarch64_sve_sqincdivnx4bi_cntp (rtx, rtx, rtx);
  17818. extern rtx gen_aarch64_sve_uqincdivnx4bi_cntp (rtx, rtx, rtx);
  17819. extern rtx gen_aarch64_sve_incdivnx2bi_cntp (rtx, rtx, rtx);
  17820. extern rtx gen_aarch64_sve_sqincdivnx2bi_cntp (rtx, rtx, rtx);
  17821. extern rtx gen_aarch64_sve_uqincdivnx2bi_cntp (rtx, rtx, rtx);
  17822. extern rtx gen_aarch64_sve_sqincsivnx16bi_cntp (rtx, rtx, rtx);
  17823. extern rtx gen_aarch64_sve_uqincsivnx16bi_cntp (rtx, rtx, rtx);
  17824. extern rtx gen_aarch64_sve_sqincsivnx8bi_cntp (rtx, rtx, rtx);
  17825. extern rtx gen_aarch64_sve_uqincsivnx8bi_cntp (rtx, rtx, rtx);
  17826. extern rtx gen_aarch64_sve_sqincsivnx4bi_cntp (rtx, rtx, rtx);
  17827. extern rtx gen_aarch64_sve_uqincsivnx4bi_cntp (rtx, rtx, rtx);
  17828. extern rtx gen_aarch64_sve_sqincsivnx2bi_cntp (rtx, rtx, rtx);
  17829. extern rtx gen_aarch64_sve_uqincsivnx2bi_cntp (rtx, rtx, rtx);
  17830. extern rtx gen_aarch64_sve_incvnx2di_cntp (rtx, rtx, rtx);
  17831. extern rtx gen_aarch64_sve_sqincvnx2di_cntp (rtx, rtx, rtx);
  17832. extern rtx gen_aarch64_sve_uqincvnx2di_cntp (rtx, rtx, rtx);
  17833. extern rtx gen_aarch64_sve_incvnx4si_cntp (rtx, rtx, rtx);
  17834. extern rtx gen_aarch64_sve_sqincvnx4si_cntp (rtx, rtx, rtx);
  17835. extern rtx gen_aarch64_sve_uqincvnx4si_cntp (rtx, rtx, rtx);
  17836. extern rtx gen_aarch64_sve_incvnx8hi_cntp (rtx, rtx, rtx);
  17837. extern rtx gen_aarch64_sve_sqincvnx8hi_cntp (rtx, rtx, rtx);
  17838. extern rtx gen_aarch64_sve_uqincvnx8hi_cntp (rtx, rtx, rtx);
  17839. extern rtx gen_aarch64_sve_decdivnx16bi_cntp (rtx, rtx, rtx);
  17840. extern rtx gen_aarch64_sve_sqdecdivnx16bi_cntp (rtx, rtx, rtx);
  17841. extern rtx gen_aarch64_sve_uqdecdivnx16bi_cntp (rtx, rtx, rtx);
  17842. extern rtx gen_aarch64_sve_decdivnx8bi_cntp (rtx, rtx, rtx);
  17843. extern rtx gen_aarch64_sve_sqdecdivnx8bi_cntp (rtx, rtx, rtx);
  17844. extern rtx gen_aarch64_sve_uqdecdivnx8bi_cntp (rtx, rtx, rtx);
  17845. extern rtx gen_aarch64_sve_decdivnx4bi_cntp (rtx, rtx, rtx);
  17846. extern rtx gen_aarch64_sve_sqdecdivnx4bi_cntp (rtx, rtx, rtx);
  17847. extern rtx gen_aarch64_sve_uqdecdivnx4bi_cntp (rtx, rtx, rtx);
  17848. extern rtx gen_aarch64_sve_decdivnx2bi_cntp (rtx, rtx, rtx);
  17849. extern rtx gen_aarch64_sve_sqdecdivnx2bi_cntp (rtx, rtx, rtx);
  17850. extern rtx gen_aarch64_sve_uqdecdivnx2bi_cntp (rtx, rtx, rtx);
  17851. extern rtx gen_aarch64_sve_sqdecsivnx16bi_cntp (rtx, rtx, rtx);
  17852. extern rtx gen_aarch64_sve_uqdecsivnx16bi_cntp (rtx, rtx, rtx);
  17853. extern rtx gen_aarch64_sve_sqdecsivnx8bi_cntp (rtx, rtx, rtx);
  17854. extern rtx gen_aarch64_sve_uqdecsivnx8bi_cntp (rtx, rtx, rtx);
  17855. extern rtx gen_aarch64_sve_sqdecsivnx4bi_cntp (rtx, rtx, rtx);
  17856. extern rtx gen_aarch64_sve_uqdecsivnx4bi_cntp (rtx, rtx, rtx);
  17857. extern rtx gen_aarch64_sve_sqdecsivnx2bi_cntp (rtx, rtx, rtx);
  17858. extern rtx gen_aarch64_sve_uqdecsivnx2bi_cntp (rtx, rtx, rtx);
  17859. extern rtx gen_aarch64_sve_decvnx2di_cntp (rtx, rtx, rtx);
  17860. extern rtx gen_aarch64_sve_sqdecvnx2di_cntp (rtx, rtx, rtx);
  17861. extern rtx gen_aarch64_sve_uqdecvnx2di_cntp (rtx, rtx, rtx);
  17862. extern rtx gen_aarch64_sve_decvnx4si_cntp (rtx, rtx, rtx);
  17863. extern rtx gen_aarch64_sve_sqdecvnx4si_cntp (rtx, rtx, rtx);
  17864. extern rtx gen_aarch64_sve_uqdecvnx4si_cntp (rtx, rtx, rtx);
  17865. extern rtx gen_aarch64_sve_decvnx8hi_cntp (rtx, rtx, rtx);
  17866. extern rtx gen_aarch64_sve_sqdecvnx8hi_cntp (rtx, rtx, rtx);
  17867. extern rtx gen_aarch64_sve_uqdecvnx8hi_cntp (rtx, rtx, rtx);
  17868. extern rtx gen_smulhsvnx16qi3 (rtx, rtx, rtx);
  17869. extern rtx gen_umulhsvnx16qi3 (rtx, rtx, rtx);
  17870. extern rtx gen_smulhrsvnx16qi3 (rtx, rtx, rtx);
  17871. extern rtx gen_umulhrsvnx16qi3 (rtx, rtx, rtx);
  17872. extern rtx gen_smulhsvnx8hi3 (rtx, rtx, rtx);
  17873. extern rtx gen_umulhsvnx8hi3 (rtx, rtx, rtx);
  17874. extern rtx gen_smulhrsvnx8hi3 (rtx, rtx, rtx);
  17875. extern rtx gen_umulhrsvnx8hi3 (rtx, rtx, rtx);
  17876. extern rtx gen_smulhsvnx4si3 (rtx, rtx, rtx);
  17877. extern rtx gen_umulhsvnx4si3 (rtx, rtx, rtx);
  17878. extern rtx gen_smulhrsvnx4si3 (rtx, rtx, rtx);
  17879. extern rtx gen_umulhrsvnx4si3 (rtx, rtx, rtx);
  17880. extern rtx gen_avgvnx16qi3_floor (rtx, rtx, rtx);
  17881. extern rtx gen_uavgvnx16qi3_floor (rtx, rtx, rtx);
  17882. extern rtx gen_avgvnx8hi3_floor (rtx, rtx, rtx);
  17883. extern rtx gen_uavgvnx8hi3_floor (rtx, rtx, rtx);
  17884. extern rtx gen_avgvnx4si3_floor (rtx, rtx, rtx);
  17885. extern rtx gen_uavgvnx4si3_floor (rtx, rtx, rtx);
  17886. extern rtx gen_avgvnx2di3_floor (rtx, rtx, rtx);
  17887. extern rtx gen_uavgvnx2di3_floor (rtx, rtx, rtx);
  17888. extern rtx gen_avgvnx16qi3_ceil (rtx, rtx, rtx);
  17889. extern rtx gen_uavgvnx16qi3_ceil (rtx, rtx, rtx);
  17890. extern rtx gen_avgvnx8hi3_ceil (rtx, rtx, rtx);
  17891. extern rtx gen_uavgvnx8hi3_ceil (rtx, rtx, rtx);
  17892. extern rtx gen_avgvnx4si3_ceil (rtx, rtx, rtx);
  17893. extern rtx gen_uavgvnx4si3_ceil (rtx, rtx, rtx);
  17894. extern rtx gen_avgvnx2di3_ceil (rtx, rtx, rtx);
  17895. extern rtx gen_uavgvnx2di3_ceil (rtx, rtx, rtx);
  17896. extern rtx gen_cond_shaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17897. extern rtx gen_cond_shsubvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17898. extern rtx gen_cond_sqrshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17899. extern rtx gen_cond_srhaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17900. extern rtx gen_cond_srshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17901. extern rtx gen_cond_suqaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17902. extern rtx gen_cond_uhaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17903. extern rtx gen_cond_uhsubvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17904. extern rtx gen_cond_uqrshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17905. extern rtx gen_cond_urhaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17906. extern rtx gen_cond_urshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17907. extern rtx gen_cond_usqaddvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17908. extern rtx gen_cond_shaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17909. extern rtx gen_cond_shsubvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17910. extern rtx gen_cond_sqrshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17911. extern rtx gen_cond_srhaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17912. extern rtx gen_cond_srshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17913. extern rtx gen_cond_suqaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17914. extern rtx gen_cond_uhaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17915. extern rtx gen_cond_uhsubvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17916. extern rtx gen_cond_uqrshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17917. extern rtx gen_cond_urhaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17918. extern rtx gen_cond_urshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17919. extern rtx gen_cond_usqaddvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17920. extern rtx gen_cond_shaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17921. extern rtx gen_cond_shsubvnx4si (rtx, rtx, rtx, rtx, rtx);
  17922. extern rtx gen_cond_sqrshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17923. extern rtx gen_cond_srhaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17924. extern rtx gen_cond_srshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17925. extern rtx gen_cond_suqaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17926. extern rtx gen_cond_uhaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17927. extern rtx gen_cond_uhsubvnx4si (rtx, rtx, rtx, rtx, rtx);
  17928. extern rtx gen_cond_uqrshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17929. extern rtx gen_cond_urhaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17930. extern rtx gen_cond_urshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17931. extern rtx gen_cond_usqaddvnx4si (rtx, rtx, rtx, rtx, rtx);
  17932. extern rtx gen_cond_shaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17933. extern rtx gen_cond_shsubvnx2di (rtx, rtx, rtx, rtx, rtx);
  17934. extern rtx gen_cond_sqrshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17935. extern rtx gen_cond_srhaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17936. extern rtx gen_cond_srshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17937. extern rtx gen_cond_suqaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17938. extern rtx gen_cond_uhaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17939. extern rtx gen_cond_uhsubvnx2di (rtx, rtx, rtx, rtx, rtx);
  17940. extern rtx gen_cond_uqrshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17941. extern rtx gen_cond_urhaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17942. extern rtx gen_cond_urshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17943. extern rtx gen_cond_usqaddvnx2di (rtx, rtx, rtx, rtx, rtx);
  17944. extern rtx gen_cond_sqshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17945. extern rtx gen_cond_uqshlvnx16qi (rtx, rtx, rtx, rtx, rtx);
  17946. extern rtx gen_cond_sqshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17947. extern rtx gen_cond_uqshlvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17948. extern rtx gen_cond_sqshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17949. extern rtx gen_cond_uqshlvnx4si (rtx, rtx, rtx, rtx, rtx);
  17950. extern rtx gen_cond_sqshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17951. extern rtx gen_cond_uqshlvnx2di (rtx, rtx, rtx, rtx, rtx);
  17952. extern rtx gen_aarch64_sve2_bcaxvnx16qi (rtx, rtx, rtx, rtx);
  17953. extern rtx gen_aarch64_sve2_bcaxvnx8hi (rtx, rtx, rtx, rtx);
  17954. extern rtx gen_aarch64_sve2_bcaxvnx4si (rtx, rtx, rtx, rtx);
  17955. extern rtx gen_aarch64_sve2_bcaxvnx2di (rtx, rtx, rtx, rtx);
  17956. extern rtx gen_aarch64_sve2_bslvnx16qi (rtx, rtx, rtx, rtx);
  17957. extern rtx gen_aarch64_sve2_bslvnx8hi (rtx, rtx, rtx, rtx);
  17958. extern rtx gen_aarch64_sve2_bslvnx4si (rtx, rtx, rtx, rtx);
  17959. extern rtx gen_aarch64_sve2_bslvnx2di (rtx, rtx, rtx, rtx);
  17960. extern rtx gen_aarch64_sve2_nbslvnx16qi (rtx, rtx, rtx, rtx);
  17961. extern rtx gen_aarch64_sve2_nbslvnx8hi (rtx, rtx, rtx, rtx);
  17962. extern rtx gen_aarch64_sve2_nbslvnx4si (rtx, rtx, rtx, rtx);
  17963. extern rtx gen_aarch64_sve2_nbslvnx2di (rtx, rtx, rtx, rtx);
  17964. extern rtx gen_aarch64_sve2_bsl1nvnx16qi (rtx, rtx, rtx, rtx);
  17965. extern rtx gen_aarch64_sve2_bsl1nvnx8hi (rtx, rtx, rtx, rtx);
  17966. extern rtx gen_aarch64_sve2_bsl1nvnx4si (rtx, rtx, rtx, rtx);
  17967. extern rtx gen_aarch64_sve2_bsl1nvnx2di (rtx, rtx, rtx, rtx);
  17968. extern rtx gen_aarch64_sve2_bsl2nvnx16qi (rtx, rtx, rtx, rtx);
  17969. extern rtx gen_aarch64_sve2_bsl2nvnx8hi (rtx, rtx, rtx, rtx);
  17970. extern rtx gen_aarch64_sve2_bsl2nvnx4si (rtx, rtx, rtx, rtx);
  17971. extern rtx gen_aarch64_sve2_bsl2nvnx2di (rtx, rtx, rtx, rtx);
  17972. extern rtx gen_aarch64_sve_add_asrvnx16qi (rtx, rtx, rtx, rtx);
  17973. extern rtx gen_aarch64_sve_add_lsrvnx16qi (rtx, rtx, rtx, rtx);
  17974. extern rtx gen_aarch64_sve_add_asrvnx8hi (rtx, rtx, rtx, rtx);
  17975. extern rtx gen_aarch64_sve_add_lsrvnx8hi (rtx, rtx, rtx, rtx);
  17976. extern rtx gen_aarch64_sve_add_asrvnx4si (rtx, rtx, rtx, rtx);
  17977. extern rtx gen_aarch64_sve_add_lsrvnx4si (rtx, rtx, rtx, rtx);
  17978. extern rtx gen_aarch64_sve_add_asrvnx2di (rtx, rtx, rtx, rtx);
  17979. extern rtx gen_aarch64_sve_add_lsrvnx2di (rtx, rtx, rtx, rtx);
  17980. extern rtx gen_aarch64_sve2_sabavnx16qi (rtx, rtx, rtx, rtx);
  17981. extern rtx gen_aarch64_sve2_uabavnx16qi (rtx, rtx, rtx, rtx);
  17982. extern rtx gen_aarch64_sve2_sabavnx8hi (rtx, rtx, rtx, rtx);
  17983. extern rtx gen_aarch64_sve2_uabavnx8hi (rtx, rtx, rtx, rtx);
  17984. extern rtx gen_aarch64_sve2_sabavnx4si (rtx, rtx, rtx, rtx);
  17985. extern rtx gen_aarch64_sve2_uabavnx4si (rtx, rtx, rtx, rtx);
  17986. extern rtx gen_aarch64_sve2_sabavnx2di (rtx, rtx, rtx, rtx);
  17987. extern rtx gen_aarch64_sve2_uabavnx2di (rtx, rtx, rtx, rtx);
  17988. extern rtx gen_cond_sadalpvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17989. extern rtx gen_cond_uadalpvnx8hi (rtx, rtx, rtx, rtx, rtx);
  17990. extern rtx gen_cond_sadalpvnx4si (rtx, rtx, rtx, rtx, rtx);
  17991. extern rtx gen_cond_uadalpvnx4si (rtx, rtx, rtx, rtx, rtx);
  17992. extern rtx gen_cond_sadalpvnx2di (rtx, rtx, rtx, rtx, rtx);
  17993. extern rtx gen_cond_uadalpvnx2di (rtx, rtx, rtx, rtx, rtx);
  17994. extern rtx gen_cond_fcvtltvnx4sf (rtx, rtx, rtx, rtx);
  17995. extern rtx gen_cond_fcvtltvnx2df (rtx, rtx, rtx, rtx);
  17996. extern rtx gen_cond_fcvtxvnx4sf (rtx, rtx, rtx, rtx);
  17997. extern rtx gen_cond_urecpevnx4si (rtx, rtx, rtx, rtx);
  17998. extern rtx gen_cond_ursqrtevnx4si (rtx, rtx, rtx, rtx);
  17999. extern rtx gen_cond_flogbvnx8hf (rtx, rtx, rtx, rtx);
  18000. extern rtx gen_cond_flogbvnx4sf (rtx, rtx, rtx, rtx);
  18001. extern rtx gen_cond_flogbvnx2df (rtx, rtx, rtx, rtx);
  18002. extern rtx gen_check_raw_ptrssi (rtx, rtx, rtx, rtx, rtx);
  18003. extern rtx gen_check_war_ptrssi (rtx, rtx, rtx, rtx, rtx);
  18004. extern rtx gen_check_raw_ptrsdi (rtx, rtx, rtx, rtx, rtx);
  18005. extern rtx gen_check_war_ptrsdi (rtx, rtx, rtx, rtx, rtx);
  18006. #endif /* GCC_INSN_FLAGS_H */