podman
1069 строк · 19.4 Кб
1// Copyright 2016 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5package s390x6
7import (8"github.com/twitchyliquid64/golang-asm/obj"9)
10
11// This file contains utility functions for use when
12// assembling vector instructions.
13
14// vop returns the opcode, element size and condition
15// setting for the given (possibly extended) mnemonic.
16func vop(as obj.As) (opcode, es, cs uint32) {17switch as {18default:19return 0, 0, 020case AVA:21return op_VA, 0, 022case AVAB:23return op_VA, 0, 024case AVAH:25return op_VA, 1, 026case AVAF:27return op_VA, 2, 028case AVAG:29return op_VA, 3, 030case AVAQ:31return op_VA, 4, 032case AVACC:33return op_VACC, 0, 034case AVACCB:35return op_VACC, 0, 036case AVACCH:37return op_VACC, 1, 038case AVACCF:39return op_VACC, 2, 040case AVACCG:41return op_VACC, 3, 042case AVACCQ:43return op_VACC, 4, 044case AVAC:45return op_VAC, 0, 046case AVACQ:47return op_VAC, 4, 048case AVMSLG, AVMSLEG, AVMSLOG, AVMSLEOG:49return op_VMSL, 3, 050case AVACCC:51return op_VACCC, 0, 052case AVACCCQ:53return op_VACCC, 4, 054case AVN:55return op_VN, 0, 056case AVNC:57return op_VNC, 0, 058case AVAVG:59return op_VAVG, 0, 060case AVAVGB:61return op_VAVG, 0, 062case AVAVGH:63return op_VAVG, 1, 064case AVAVGF:65return op_VAVG, 2, 066case AVAVGG:67return op_VAVG, 3, 068case AVAVGL:69return op_VAVGL, 0, 070case AVAVGLB:71return op_VAVGL, 0, 072case AVAVGLH:73return op_VAVGL, 1, 074case AVAVGLF:75return op_VAVGL, 2, 076case AVAVGLG:77return op_VAVGL, 3, 078case AVCKSM:79return op_VCKSM, 0, 080case AVCEQ:81return op_VCEQ, 0, 082case AVCEQB:83return op_VCEQ, 0, 084case AVCEQH:85return op_VCEQ, 1, 086case AVCEQF:87return op_VCEQ, 2, 088case AVCEQG:89return op_VCEQ, 3, 090case AVCEQBS:91return op_VCEQ, 0, 192case AVCEQHS:93return op_VCEQ, 1, 194case AVCEQFS:95return op_VCEQ, 2, 196case AVCEQGS:97return op_VCEQ, 3, 198case AVCH:99return op_VCH, 0, 0100case AVCHB:101return op_VCH, 0, 0102case AVCHH:103return op_VCH, 1, 0104case AVCHF:105return op_VCH, 2, 0106case AVCHG:107return op_VCH, 3, 0108case AVCHBS:109return op_VCH, 0, 1110case AVCHHS:111return op_VCH, 1, 1112case AVCHFS:113return op_VCH, 2, 1114case AVCHGS:115return op_VCH, 3, 1116case AVCHL:117return op_VCHL, 0, 0118case AVCHLB:119return op_VCHL, 0, 0120case AVCHLH:121return op_VCHL, 1, 0122case AVCHLF:123return op_VCHL, 2, 0124case AVCHLG:125return op_VCHL, 3, 0126case AVCHLBS:127return op_VCHL, 0, 1128case AVCHLHS:129return op_VCHL, 1, 1130case AVCHLFS:131return op_VCHL, 2, 1132case AVCHLGS:133return op_VCHL, 3, 1134case AVCLZ:135return op_VCLZ, 0, 0136case AVCLZB:137return op_VCLZ, 0, 0138case AVCLZH:139return op_VCLZ, 1, 0140case AVCLZF:141return op_VCLZ, 2, 0142case AVCLZG:143return op_VCLZ, 3, 0144case AVCTZ:145return op_VCTZ, 0, 0146case AVCTZB:147return op_VCTZ, 0, 0148case AVCTZH:149return op_VCTZ, 1, 0150case AVCTZF:151return op_VCTZ, 2, 0152case AVCTZG:153return op_VCTZ, 3, 0154case AVEC:155return op_VEC, 0, 0156case AVECB:157return op_VEC, 0, 0158case AVECH:159return op_VEC, 1, 0160case AVECF:161return op_VEC, 2, 0162case AVECG:163return op_VEC, 3, 0164case AVECL:165return op_VECL, 0, 0166case AVECLB:167return op_VECL, 0, 0168case AVECLH:169return op_VECL, 1, 0170case AVECLF:171return op_VECL, 2, 0172case AVECLG:173return op_VECL, 3, 0174case AVERIM:175return op_VERIM, 0, 0176case AVERIMB:177return op_VERIM, 0, 0178case AVERIMH:179return op_VERIM, 1, 0180case AVERIMF:181return op_VERIM, 2, 0182case AVERIMG:183return op_VERIM, 3, 0184case AVERLL:185return op_VERLL, 0, 0186case AVERLLB:187return op_VERLL, 0, 0188case AVERLLH:189return op_VERLL, 1, 0190case AVERLLF:191return op_VERLL, 2, 0192case AVERLLG:193return op_VERLL, 3, 0194case AVERLLV:195return op_VERLLV, 0, 0196case AVERLLVB:197return op_VERLLV, 0, 0198case AVERLLVH:199return op_VERLLV, 1, 0200case AVERLLVF:201return op_VERLLV, 2, 0202case AVERLLVG:203return op_VERLLV, 3, 0204case AVESLV:205return op_VESLV, 0, 0206case AVESLVB:207return op_VESLV, 0, 0208case AVESLVH:209return op_VESLV, 1, 0210case AVESLVF:211return op_VESLV, 2, 0212case AVESLVG:213return op_VESLV, 3, 0214case AVESL:215return op_VESL, 0, 0216case AVESLB:217return op_VESL, 0, 0218case AVESLH:219return op_VESL, 1, 0220case AVESLF:221return op_VESL, 2, 0222case AVESLG:223return op_VESL, 3, 0224case AVESRA:225return op_VESRA, 0, 0226case AVESRAB:227return op_VESRA, 0, 0228case AVESRAH:229return op_VESRA, 1, 0230case AVESRAF:231return op_VESRA, 2, 0232case AVESRAG:233return op_VESRA, 3, 0234case AVESRAV:235return op_VESRAV, 0, 0236case AVESRAVB:237return op_VESRAV, 0, 0238case AVESRAVH:239return op_VESRAV, 1, 0240case AVESRAVF:241return op_VESRAV, 2, 0242case AVESRAVG:243return op_VESRAV, 3, 0244case AVESRL:245return op_VESRL, 0, 0246case AVESRLB:247return op_VESRL, 0, 0248case AVESRLH:249return op_VESRL, 1, 0250case AVESRLF:251return op_VESRL, 2, 0252case AVESRLG:253return op_VESRL, 3, 0254case AVESRLV:255return op_VESRLV, 0, 0256case AVESRLVB:257return op_VESRLV, 0, 0258case AVESRLVH:259return op_VESRLV, 1, 0260case AVESRLVF:261return op_VESRLV, 2, 0262case AVESRLVG:263return op_VESRLV, 3, 0264case AVX:265return op_VX, 0, 0266case AVFAE:267return op_VFAE, 0, 0268case AVFAEB:269return op_VFAE, 0, 0270case AVFAEH:271return op_VFAE, 1, 0272case AVFAEF:273return op_VFAE, 2, 0274case AVFAEBS:275return op_VFAE, 0, 1276case AVFAEHS:277return op_VFAE, 1, 1278case AVFAEFS:279return op_VFAE, 2, 1280case AVFAEZB:281return op_VFAE, 0, 2282case AVFAEZH:283return op_VFAE, 1, 2284case AVFAEZF:285return op_VFAE, 2, 2286case AVFAEZBS:287return op_VFAE, 0, 3288case AVFAEZHS:289return op_VFAE, 1, 3290case AVFAEZFS:291return op_VFAE, 2, 3292case AVFEE:293return op_VFEE, 0, 0294case AVFEEB:295return op_VFEE, 0, 0296case AVFEEH:297return op_VFEE, 1, 0298case AVFEEF:299return op_VFEE, 2, 0300case AVFEEBS:301return op_VFEE, 0, 1302case AVFEEHS:303return op_VFEE, 1, 1304case AVFEEFS:305return op_VFEE, 2, 1306case AVFEEZB:307return op_VFEE, 0, 2308case AVFEEZH:309return op_VFEE, 1, 2310case AVFEEZF:311return op_VFEE, 2, 2312case AVFEEZBS:313return op_VFEE, 0, 3314case AVFEEZHS:315return op_VFEE, 1, 3316case AVFEEZFS:317return op_VFEE, 2, 3318case AVFENE:319return op_VFENE, 0, 0320case AVFENEB:321return op_VFENE, 0, 0322case AVFENEH:323return op_VFENE, 1, 0324case AVFENEF:325return op_VFENE, 2, 0326case AVFENEBS:327return op_VFENE, 0, 1328case AVFENEHS:329return op_VFENE, 1, 1330case AVFENEFS:331return op_VFENE, 2, 1332case AVFENEZB:333return op_VFENE, 0, 2334case AVFENEZH:335return op_VFENE, 1, 2336case AVFENEZF:337return op_VFENE, 2, 2338case AVFENEZBS:339return op_VFENE, 0, 3340case AVFENEZHS:341return op_VFENE, 1, 3342case AVFENEZFS:343return op_VFENE, 2, 3344case AVFA:345return op_VFA, 0, 0346case AVFADB:347return op_VFA, 3, 0348case AWFADB:349return op_VFA, 3, 0350case AWFK:351return op_WFK, 0, 0352case AWFKDB:353return op_WFK, 3, 0354case AVFCE:355return op_VFCE, 0, 0356case AVFCEDB:357return op_VFCE, 3, 0358case AVFCEDBS:359return op_VFCE, 3, 1360case AWFCEDB:361return op_VFCE, 3, 0362case AWFCEDBS:363return op_VFCE, 3, 1364case AVFCH:365return op_VFCH, 0, 0366case AVFCHDB:367return op_VFCH, 3, 0368case AVFCHDBS:369return op_VFCH, 3, 1370case AWFCHDB:371return op_VFCH, 3, 0372case AWFCHDBS:373return op_VFCH, 3, 1374case AVFCHE:375return op_VFCHE, 0, 0376case AVFCHEDB:377return op_VFCHE, 3, 0378case AVFCHEDBS:379return op_VFCHE, 3, 1380case AWFCHEDB:381return op_VFCHE, 3, 0382case AWFCHEDBS:383return op_VFCHE, 3, 1384case AWFC:385return op_WFC, 0, 0386case AWFCDB:387return op_WFC, 3, 0388case AVCDG:389return op_VCDG, 0, 0390case AVCDGB:391return op_VCDG, 3, 0392case AWCDGB:393return op_VCDG, 3, 0394case AVCDLG:395return op_VCDLG, 0, 0396case AVCDLGB:397return op_VCDLG, 3, 0398case AWCDLGB:399return op_VCDLG, 3, 0400case AVCGD:401return op_VCGD, 0, 0402case AVCGDB:403return op_VCGD, 3, 0404case AWCGDB:405return op_VCGD, 3, 0406case AVCLGD:407return op_VCLGD, 0, 0408case AVCLGDB:409return op_VCLGD, 3, 0410case AWCLGDB:411return op_VCLGD, 3, 0412case AVFD:413return op_VFD, 0, 0414case AVFDDB:415return op_VFD, 3, 0416case AWFDDB:417return op_VFD, 3, 0418case AVLDE:419return op_VLDE, 0, 0420case AVLDEB:421return op_VLDE, 2, 0422case AWLDEB:423return op_VLDE, 2, 0424case AVLED:425return op_VLED, 0, 0426case AVLEDB:427return op_VLED, 3, 0428case AWLEDB:429return op_VLED, 3, 0430case AVFM:431return op_VFM, 0, 0432case AVFMDB:433return op_VFM, 3, 0434case AWFMDB:435return op_VFM, 3, 0436case AVFMA:437return op_VFMA, 0, 0438case AVFMADB:439return op_VFMA, 3, 0440case AWFMADB:441return op_VFMA, 3, 0442case AVFMS:443return op_VFMS, 0, 0444case AVFMSDB:445return op_VFMS, 3, 0446case AWFMSDB:447return op_VFMS, 3, 0448case AVFPSO:449return op_VFPSO, 0, 0450case AVFPSODB:451return op_VFPSO, 3, 0452case AWFPSODB:453return op_VFPSO, 3, 0454case AVFLCDB:455return op_VFPSO, 3, 0456case AWFLCDB:457return op_VFPSO, 3, 0458case AVFLNDB:459return op_VFPSO, 3, 1460case AWFLNDB:461return op_VFPSO, 3, 1462case AVFLPDB:463return op_VFPSO, 3, 2464case AWFLPDB:465return op_VFPSO, 3, 2466case AVFSQ:467return op_VFSQ, 0, 0468case AVFSQDB:469return op_VFSQ, 3, 0470case AWFSQDB:471return op_VFSQ, 3, 0472case AVFS:473return op_VFS, 0, 0474case AVFSDB:475return op_VFS, 3, 0476case AWFSDB:477return op_VFS, 3, 0478case AVFTCI:479return op_VFTCI, 0, 0480case AVFTCIDB:481return op_VFTCI, 3, 0482case AWFTCIDB:483return op_VFTCI, 3, 0484case AVGFM:485return op_VGFM, 0, 0486case AVGFMB:487return op_VGFM, 0, 0488case AVGFMH:489return op_VGFM, 1, 0490case AVGFMF:491return op_VGFM, 2, 0492case AVGFMG:493return op_VGFM, 3, 0494case AVGFMA:495return op_VGFMA, 0, 0496case AVGFMAB:497return op_VGFMA, 0, 0498case AVGFMAH:499return op_VGFMA, 1, 0500case AVGFMAF:501return op_VGFMA, 2, 0502case AVGFMAG:503return op_VGFMA, 3, 0504case AVGEF:505return op_VGEF, 0, 0506case AVGEG:507return op_VGEG, 0, 0508case AVGBM:509return op_VGBM, 0, 0510case AVZERO:511return op_VGBM, 0, 0512case AVONE:513return op_VGBM, 0, 0514case AVGM:515return op_VGM, 0, 0516case AVGMB:517return op_VGM, 0, 0518case AVGMH:519return op_VGM, 1, 0520case AVGMF:521return op_VGM, 2, 0522case AVGMG:523return op_VGM, 3, 0524case AVISTR:525return op_VISTR, 0, 0526case AVISTRB:527return op_VISTR, 0, 0528case AVISTRH:529return op_VISTR, 1, 0530case AVISTRF:531return op_VISTR, 2, 0532case AVISTRBS:533return op_VISTR, 0, 1534case AVISTRHS:535return op_VISTR, 1, 1536case AVISTRFS:537return op_VISTR, 2, 1538case AVL:539return op_VL, 0, 0540case AVLR:541return op_VLR, 0, 0542case AVLREP:543return op_VLREP, 0, 0544case AVLREPB:545return op_VLREP, 0, 0546case AVLREPH:547return op_VLREP, 1, 0548case AVLREPF:549return op_VLREP, 2, 0550case AVLREPG:551return op_VLREP, 3, 0552case AVLC:553return op_VLC, 0, 0554case AVLCB:555return op_VLC, 0, 0556case AVLCH:557return op_VLC, 1, 0558case AVLCF:559return op_VLC, 2, 0560case AVLCG:561return op_VLC, 3, 0562case AVLEH:563return op_VLEH, 0, 0564case AVLEF:565return op_VLEF, 0, 0566case AVLEG:567return op_VLEG, 0, 0568case AVLEB:569return op_VLEB, 0, 0570case AVLEIH:571return op_VLEIH, 0, 0572case AVLEIF:573return op_VLEIF, 0, 0574case AVLEIG:575return op_VLEIG, 0, 0576case AVLEIB:577return op_VLEIB, 0, 0578case AVFI:579return op_VFI, 0, 0580case AVFIDB:581return op_VFI, 3, 0582case AWFIDB:583return op_VFI, 3, 0584case AVLGV:585return op_VLGV, 0, 0586case AVLGVB:587return op_VLGV, 0, 0588case AVLGVH:589return op_VLGV, 1, 0590case AVLGVF:591return op_VLGV, 2, 0592case AVLGVG:593return op_VLGV, 3, 0594case AVLLEZ:595return op_VLLEZ, 0, 0596case AVLLEZB:597return op_VLLEZ, 0, 0598case AVLLEZH:599return op_VLLEZ, 1, 0600case AVLLEZF:601return op_VLLEZ, 2, 0602case AVLLEZG:603return op_VLLEZ, 3, 0604case AVLM:605return op_VLM, 0, 0606case AVLP:607return op_VLP, 0, 0608case AVLPB:609return op_VLP, 0, 0610case AVLPH:611return op_VLP, 1, 0612case AVLPF:613return op_VLP, 2, 0614case AVLPG:615return op_VLP, 3, 0616case AVLBB:617return op_VLBB, 0, 0618case AVLVG:619return op_VLVG, 0, 0620case AVLVGB:621return op_VLVG, 0, 0622case AVLVGH:623return op_VLVG, 1, 0624case AVLVGF:625return op_VLVG, 2, 0626case AVLVGG:627return op_VLVG, 3, 0628case AVLVGP:629return op_VLVGP, 0, 0630case AVLL:631return op_VLL, 0, 0632case AVMX:633return op_VMX, 0, 0634case AVMXB:635return op_VMX, 0, 0636case AVMXH:637return op_VMX, 1, 0638case AVMXF:639return op_VMX, 2, 0640case AVMXG:641return op_VMX, 3, 0642case AVMXL:643return op_VMXL, 0, 0644case AVMXLB:645return op_VMXL, 0, 0646case AVMXLH:647return op_VMXL, 1, 0648case AVMXLF:649return op_VMXL, 2, 0650case AVMXLG:651return op_VMXL, 3, 0652case AVMRH:653return op_VMRH, 0, 0654case AVMRHB:655return op_VMRH, 0, 0656case AVMRHH:657return op_VMRH, 1, 0658case AVMRHF:659return op_VMRH, 2, 0660case AVMRHG:661return op_VMRH, 3, 0662case AVMRL:663return op_VMRL, 0, 0664case AVMRLB:665return op_VMRL, 0, 0666case AVMRLH:667return op_VMRL, 1, 0668case AVMRLF:669return op_VMRL, 2, 0670case AVMRLG:671return op_VMRL, 3, 0672case AVMN:673return op_VMN, 0, 0674case AVMNB:675return op_VMN, 0, 0676case AVMNH:677return op_VMN, 1, 0678case AVMNF:679return op_VMN, 2, 0680case AVMNG:681return op_VMN, 3, 0682case AVMNL:683return op_VMNL, 0, 0684case AVMNLB:685return op_VMNL, 0, 0686case AVMNLH:687return op_VMNL, 1, 0688case AVMNLF:689return op_VMNL, 2, 0690case AVMNLG:691return op_VMNL, 3, 0692case AVMAE:693return op_VMAE, 0, 0694case AVMAEB:695return op_VMAE, 0, 0696case AVMAEH:697return op_VMAE, 1, 0698case AVMAEF:699return op_VMAE, 2, 0700case AVMAH:701return op_VMAH, 0, 0702case AVMAHB:703return op_VMAH, 0, 0704case AVMAHH:705return op_VMAH, 1, 0706case AVMAHF:707return op_VMAH, 2, 0708case AVMALE:709return op_VMALE, 0, 0710case AVMALEB:711return op_VMALE, 0, 0712case AVMALEH:713return op_VMALE, 1, 0714case AVMALEF:715return op_VMALE, 2, 0716case AVMALH:717return op_VMALH, 0, 0718case AVMALHB:719return op_VMALH, 0, 0720case AVMALHH:721return op_VMALH, 1, 0722case AVMALHF:723return op_VMALH, 2, 0724case AVMALO:725return op_VMALO, 0, 0726case AVMALOB:727return op_VMALO, 0, 0728case AVMALOH:729return op_VMALO, 1, 0730case AVMALOF:731return op_VMALO, 2, 0732case AVMAL:733return op_VMAL, 0, 0734case AVMALB:735return op_VMAL, 0, 0736case AVMALHW:737return op_VMAL, 1, 0738case AVMALF:739return op_VMAL, 2, 0740case AVMAO:741return op_VMAO, 0, 0742case AVMAOB:743return op_VMAO, 0, 0744case AVMAOH:745return op_VMAO, 1, 0746case AVMAOF:747return op_VMAO, 2, 0748case AVME:749return op_VME, 0, 0750case AVMEB:751return op_VME, 0, 0752case AVMEH:753return op_VME, 1, 0754case AVMEF:755return op_VME, 2, 0756case AVMH:757return op_VMH, 0, 0758case AVMHB:759return op_VMH, 0, 0760case AVMHH:761return op_VMH, 1, 0762case AVMHF:763return op_VMH, 2, 0764case AVMLE:765return op_VMLE, 0, 0766case AVMLEB:767return op_VMLE, 0, 0768case AVMLEH:769return op_VMLE, 1, 0770case AVMLEF:771return op_VMLE, 2, 0772case AVMLH:773return op_VMLH, 0, 0774case AVMLHB:775return op_VMLH, 0, 0776case AVMLHH:777return op_VMLH, 1, 0778case AVMLHF:779return op_VMLH, 2, 0780case AVMLO:781return op_VMLO, 0, 0782case AVMLOB:783return op_VMLO, 0, 0784case AVMLOH:785return op_VMLO, 1, 0786case AVMLOF:787return op_VMLO, 2, 0788case AVML:789return op_VML, 0, 0790case AVMLB:791return op_VML, 0, 0792case AVMLHW:793return op_VML, 1, 0794case AVMLF:795return op_VML, 2, 0796case AVMO:797return op_VMO, 0, 0798case AVMOB:799return op_VMO, 0, 0800case AVMOH:801return op_VMO, 1, 0802case AVMOF:803return op_VMO, 2, 0804case AVNO:805return op_VNO, 0, 0806case AVNOT:807return op_VNO, 0, 0808case AVO:809return op_VO, 0, 0810case AVPK:811return op_VPK, 0, 0812case AVPKH:813return op_VPK, 1, 0814case AVPKF:815return op_VPK, 2, 0816case AVPKG:817return op_VPK, 3, 0818case AVPKLS:819return op_VPKLS, 0, 0820case AVPKLSH:821return op_VPKLS, 1, 0822case AVPKLSF:823return op_VPKLS, 2, 0824case AVPKLSG:825return op_VPKLS, 3, 0826case AVPKLSHS:827return op_VPKLS, 1, 1828case AVPKLSFS:829return op_VPKLS, 2, 1830case AVPKLSGS:831return op_VPKLS, 3, 1832case AVPKS:833return op_VPKS, 0, 0834case AVPKSH:835return op_VPKS, 1, 0836case AVPKSF:837return op_VPKS, 2, 0838case AVPKSG:839return op_VPKS, 3, 0840case AVPKSHS:841return op_VPKS, 1, 1842case AVPKSFS:843return op_VPKS, 2, 1844case AVPKSGS:845return op_VPKS, 3, 1846case AVPERM:847return op_VPERM, 0, 0848case AVPDI:849return op_VPDI, 0, 0850case AVPOPCT:851return op_VPOPCT, 0, 0852case AVREP:853return op_VREP, 0, 0854case AVREPB:855return op_VREP, 0, 0856case AVREPH:857return op_VREP, 1, 0858case AVREPF:859return op_VREP, 2, 0860case AVREPG:861return op_VREP, 3, 0862case AVREPI:863return op_VREPI, 0, 0864case AVREPIB:865return op_VREPI, 0, 0866case AVREPIH:867return op_VREPI, 1, 0868case AVREPIF:869return op_VREPI, 2, 0870case AVREPIG:871return op_VREPI, 3, 0872case AVSCEF:873return op_VSCEF, 0, 0874case AVSCEG:875return op_VSCEG, 0, 0876case AVSEL:877return op_VSEL, 0, 0878case AVSL:879return op_VSL, 0, 0880case AVSLB:881return op_VSLB, 0, 0882case AVSLDB:883return op_VSLDB, 0, 0884case AVSRA:885return op_VSRA, 0, 0886case AVSRAB:887return op_VSRAB, 0, 0888case AVSRL:889return op_VSRL, 0, 0890case AVSRLB:891return op_VSRLB, 0, 0892case AVSEG:893return op_VSEG, 0, 0894case AVSEGB:895return op_VSEG, 0, 0896case AVSEGH:897return op_VSEG, 1, 0898case AVSEGF:899return op_VSEG, 2, 0900case AVST:901return op_VST, 0, 0902case AVSTEH:903return op_VSTEH, 0, 0904case AVSTEF:905return op_VSTEF, 0, 0906case AVSTEG:907return op_VSTEG, 0, 0908case AVSTEB:909return op_VSTEB, 0, 0910case AVSTM:911return op_VSTM, 0, 0912case AVSTL:913return op_VSTL, 0, 0914case AVSTRC:915return op_VSTRC, 0, 0916case AVSTRCB:917return op_VSTRC, 0, 0918case AVSTRCH:919return op_VSTRC, 1, 0920case AVSTRCF:921return op_VSTRC, 2, 0922case AVSTRCBS:923return op_VSTRC, 0, 1924case AVSTRCHS:925return op_VSTRC, 1, 1926case AVSTRCFS:927return op_VSTRC, 2, 1928case AVSTRCZB:929return op_VSTRC, 0, 2930case AVSTRCZH:931return op_VSTRC, 1, 2932case AVSTRCZF:933return op_VSTRC, 2, 2934case AVSTRCZBS:935return op_VSTRC, 0, 3936case AVSTRCZHS:937return op_VSTRC, 1, 3938case AVSTRCZFS:939return op_VSTRC, 2, 3940case AVS:941return op_VS, 0, 0942case AVSB:943return op_VS, 0, 0944case AVSH:945return op_VS, 1, 0946case AVSF:947return op_VS, 2, 0948case AVSG:949return op_VS, 3, 0950case AVSQ:951return op_VS, 4, 0952case AVSCBI:953return op_VSCBI, 0, 0954case AVSCBIB:955return op_VSCBI, 0, 0956case AVSCBIH:957return op_VSCBI, 1, 0958case AVSCBIF:959return op_VSCBI, 2, 0960case AVSCBIG:961return op_VSCBI, 3, 0962case AVSCBIQ:963return op_VSCBI, 4, 0964case AVSBCBI:965return op_VSBCBI, 0, 0966case AVSBCBIQ:967return op_VSBCBI, 4, 0968case AVSBI:969return op_VSBI, 0, 0970case AVSBIQ:971return op_VSBI, 4, 0972case AVSUMG:973return op_VSUMG, 0, 0974case AVSUMGH:975return op_VSUMG, 1, 0976case AVSUMGF:977return op_VSUMG, 2, 0978case AVSUMQ:979return op_VSUMQ, 0, 0980case AVSUMQF:981return op_VSUMQ, 2, 0982case AVSUMQG:983return op_VSUMQ, 3, 0984case AVSUM:985return op_VSUM, 0, 0986case AVSUMB:987return op_VSUM, 0, 0988case AVSUMH:989return op_VSUM, 1, 0990case AVTM:991return op_VTM, 0, 0992case AVUPH:993return op_VUPH, 0, 0994case AVUPHB:995return op_VUPH, 0, 0996case AVUPHH:997return op_VUPH, 1, 0998case AVUPHF:999return op_VUPH, 2, 01000case AVUPLH:1001return op_VUPLH, 0, 01002case AVUPLHB:1003return op_VUPLH, 0, 01004case AVUPLHH:1005return op_VUPLH, 1, 01006case AVUPLHF:1007return op_VUPLH, 2, 01008case AVUPLL:1009return op_VUPLL, 0, 01010case AVUPLLB:1011return op_VUPLL, 0, 01012case AVUPLLH:1013return op_VUPLL, 1, 01014case AVUPLLF:1015return op_VUPLL, 2, 01016case AVUPL:1017return op_VUPL, 0, 01018case AVUPLB:1019return op_VUPL, 0, 01020case AVUPLHW:1021return op_VUPL, 1, 01022case AVUPLF:1023return op_VUPL, 2, 01024}1025}
1026
1027// singleElementMask returns the single element mask bits required for the
1028// given instruction.
1029func singleElementMask(as obj.As) uint32 {1030switch as {1031case AWFADB,1032AWFK,1033AWFKDB,1034AWFCEDB,1035AWFCEDBS,1036AWFCHDB,1037AWFCHDBS,1038AWFCHEDB,1039AWFCHEDBS,1040AWFC,1041AWFCDB,1042AWCDGB,1043AWCDLGB,1044AWCGDB,1045AWCLGDB,1046AWFDDB,1047AWLDEB,1048AWLEDB,1049AWFMDB,1050AWFMADB,1051AWFMSDB,1052AWFPSODB,1053AWFLCDB,1054AWFLNDB,1055AWFLPDB,1056AWFSQDB,1057AWFSDB,1058AWFTCIDB,1059AWFIDB:1060return 81061case AVMSLEG:1062return 81063case AVMSLOG:1064return 41065case AVMSLEOG:1066return 121067}1068return 01069}
1070