0027-RISC-V-Report-rvv-assembler-constraint-errors-in-det.patch 184 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257
  1. From 1263f0e6190b7dc9267199d83abacba8e3053eac Mon Sep 17 00:00:00 2001
  2. From: Nelson Chu <nelson.chu@sifive.com>
  3. Date: Fri, 14 Aug 2020 14:55:27 +0800
  4. Subject: [PATCH 27/48] RISC-V: Report rvv assembler constraint errors in
  5. detail.
  6. I think it would be helpful if assembler can report more detailed
  7. errors when parsing instructions. I tried to improve them before,
  8. but still have some problems need to be resolved. In general,
  9. we can check the constraints when parsing the operands, or in the
  10. `match_func` when the parsing is done. However, reporting detailed
  11. rvv constraints messages in the `match_func` is relatively clear and
  12. simple without any potential problems. Besides, most of the rvv
  13. constraints are checked in their `match_func`, so I only improve
  14. them for now, and it should be enough to handle most of cases.
  15. opcodes/
  16. * riscv-opc.c (match_*): Add new argument `error` to store
  17. different errors. Only the `match_*` for checking rvv
  18. constraints will store the detailed errors.
  19. * riscv-dis.c (riscv_disassemble_insn): Updated since the
  20. `match_func` is changed.
  21. gas/
  22. * config/tc-riscv.c (riscv_ip): Reset the error message
  23. before parsing the instruction, rather than the parsing is
  24. done. Pass the `error` to `match_func` to store the detailed
  25. error messages.
  26. * testsuite/gas/riscv/vector-insns-fail-load-store.l: Updated.
  27. * testsuite/gas/riscv/vector-insns-fail-arith-int.l: Likewise.
  28. * testsuite/gas/riscv/vector-insns-fail-arith-fixp.l: Likewise.
  29. * testsuite/gas/riscv/vector-insns-fail-arith-floatp.l: Likewise.
  30. * testsuite/gas/riscv/vector-insns-fail-arith-widen.l: Likewise.
  31. * testsuite/gas/riscv/vector-insns-fail-arith-narrow.l: Likewise.
  32. * testsuite/gas/riscv/vector-insns-fail-zvqmac.l: Likewise.
  33. * testsuite/gas/riscv/vector-insns-fail-zvamo.l: Likewise. We can
  34. not report the detailed messages when parsing the operands, that is
  35. the `Ve` cases here.
  36. * testsuite/gas/riscv/vector-insns-fail-mask.: Likewise.
  37. * testsuite/gas/riscv/vector-insns-fail-permutation.l: Likewise.
  38. include/
  39. * opcode/riscv.h (struct riscv_opcode): Update since the
  40. `match_func` is changed..
  41. ---
  42. gas/config/tc-riscv.c | 6 +-
  43. .../gas/riscv/vector-insns-fail-arith-fixp.l | 52 +-
  44. .../riscv/vector-insns-fail-arith-floatp.l | 92 +-
  45. .../gas/riscv/vector-insns-fail-arith-int.l | 138 +-
  46. .../riscv/vector-insns-fail-arith-narrow.l | 168 +--
  47. .../gas/riscv/vector-insns-fail-arith-widen.l | 504 +++----
  48. .../gas/riscv/vector-insns-fail-load-store.l | 1172 ++++++++---------
  49. .../gas/riscv/vector-insns-fail-mask.l | 18 +-
  50. .../gas/riscv/vector-insns-fail-permutation.l | 60 +-
  51. .../gas/riscv/vector-insns-fail-zvamo.l | 144 +-
  52. .../gas/riscv/vector-insns-fail-zvqmac.l | 68 +-
  53. include/opcode/riscv.h | 2 +-
  54. opcodes/riscv-dis.c | 2 +-
  55. opcodes/riscv-opc.c | 346 +++--
  56. 14 files changed, 1434 insertions(+), 1338 deletions(-)
  57. diff --git a/gas/config/tc-riscv.c b/gas/config/tc-riscv.c
  58. index e998890b92..eca9fabb3f 100644
  59. --- a/gas/config/tc-riscv.c
  60. +++ b/gas/config/tc-riscv.c
  61. @@ -2058,6 +2058,8 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
  62. if (!riscv_multi_subset_supports (insn->insn_class))
  63. continue;
  64. + /* Reset error message of the previous round. */
  65. + error = _("illegal operands");
  66. create_insn (ip, insn);
  67. argnum = 1;
  68. @@ -2074,7 +2076,8 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
  69. if (insn->pinfo != INSN_MACRO)
  70. {
  71. if (!insn->match_func (insn, ip->insn_opcode,
  72. - riscv_opts.check_constraints))
  73. + riscv_opts.check_constraints,
  74. + &error))
  75. break;
  76. /* For .insn, insn->match and insn->mask are 0. */
  77. @@ -2923,7 +2926,6 @@ riscv_ip (char *str, struct riscv_cl_insn *ip, expressionS *imm_expr,
  78. break;
  79. }
  80. s = argsStart;
  81. - error = _("illegal operands");
  82. insn_with_csr = FALSE;
  83. }
  84. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-arith-fixp.l b/gas/testsuite/gas/riscv/vector-insns-fail-arith-fixp.l
  85. index a3c126d8ec..3481174969 100644
  86. --- a/gas/testsuite/gas/riscv/vector-insns-fail-arith-fixp.l
  87. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-arith-fixp.l
  88. @@ -1,27 +1,27 @@
  89. .*: Assembler messages:
  90. -.*Error: illegal operands `vsaddu.vv v0,v4,v8,v0.t'
  91. -.*Error: illegal operands `vsaddu.vx v0,v4,a1,v0.t'
  92. -.*Error: illegal operands `vsaddu.vi v0,v4,15,v0.t'
  93. -.*Error: illegal operands `vsadd.vv v0,v4,v8,v0.t'
  94. -.*Error: illegal operands `vsadd.vx v0,v4,a1,v0.t'
  95. -.*Error: illegal operands `vsadd.vi v0,v4,15,v0.t'
  96. -.*Error: illegal operands `vssubu.vv v0,v4,v8,v0.t'
  97. -.*Error: illegal operands `vssubu.vx v0,v4,a1,v0.t'
  98. -.*Error: illegal operands `vssub.vv v0,v4,v8,v0.t'
  99. -.*Error: illegal operands `vssub.vx v0,v4,a1,v0.t'
  100. -.*Error: illegal operands `vaaddu.vv v0,v4,v8,v0.t'
  101. -.*Error: illegal operands `vaaddu.vx v0,v4,a1,v0.t'
  102. -.*Error: illegal operands `vaadd.vv v0,v4,v8,v0.t'
  103. -.*Error: illegal operands `vaadd.vx v0,v4,a1,v0.t'
  104. -.*Error: illegal operands `vasubu.vv v0,v4,v8,v0.t'
  105. -.*Error: illegal operands `vasubu.vx v0,v4,a1,v0.t'
  106. -.*Error: illegal operands `vasub.vv v0,v4,v8,v0.t'
  107. -.*Error: illegal operands `vasub.vx v0,v4,a1,v0.t'
  108. -.*Error: illegal operands `vsmul.vv v0,v4,v8,v0.t'
  109. -.*Error: illegal operands `vsmul.vx v0,v4,a1,v0.t'
  110. -.*Error: illegal operands `vssrl.vv v0,v4,v8,v0.t'
  111. -.*Error: illegal operands `vssrl.vx v0,v4,a1,v0.t'
  112. -.*Error: illegal operands `vssrl.vi v0,v4,31,v0.t'
  113. -.*Error: illegal operands `vssra.vv v0,v4,v8,v0.t'
  114. -.*Error: illegal operands `vssra.vx v0,v4,a1,v0.t'
  115. -.*Error: illegal operands `vssra.vi v0,v4,31,v0.t'
  116. +.*Error: illegal operands vd cannot overlap vm `vsaddu.vv v0,v4,v8,v0.t'
  117. +.*Error: illegal operands vd cannot overlap vm `vsaddu.vx v0,v4,a1,v0.t'
  118. +.*Error: illegal operands vd cannot overlap vm `vsaddu.vi v0,v4,15,v0.t'
  119. +.*Error: illegal operands vd cannot overlap vm `vsadd.vv v0,v4,v8,v0.t'
  120. +.*Error: illegal operands vd cannot overlap vm `vsadd.vx v0,v4,a1,v0.t'
  121. +.*Error: illegal operands vd cannot overlap vm `vsadd.vi v0,v4,15,v0.t'
  122. +.*Error: illegal operands vd cannot overlap vm `vssubu.vv v0,v4,v8,v0.t'
  123. +.*Error: illegal operands vd cannot overlap vm `vssubu.vx v0,v4,a1,v0.t'
  124. +.*Error: illegal operands vd cannot overlap vm `vssub.vv v0,v4,v8,v0.t'
  125. +.*Error: illegal operands vd cannot overlap vm `vssub.vx v0,v4,a1,v0.t'
  126. +.*Error: illegal operands vd cannot overlap vm `vaaddu.vv v0,v4,v8,v0.t'
  127. +.*Error: illegal operands vd cannot overlap vm `vaaddu.vx v0,v4,a1,v0.t'
  128. +.*Error: illegal operands vd cannot overlap vm `vaadd.vv v0,v4,v8,v0.t'
  129. +.*Error: illegal operands vd cannot overlap vm `vaadd.vx v0,v4,a1,v0.t'
  130. +.*Error: illegal operands vd cannot overlap vm `vasubu.vv v0,v4,v8,v0.t'
  131. +.*Error: illegal operands vd cannot overlap vm `vasubu.vx v0,v4,a1,v0.t'
  132. +.*Error: illegal operands vd cannot overlap vm `vasub.vv v0,v4,v8,v0.t'
  133. +.*Error: illegal operands vd cannot overlap vm `vasub.vx v0,v4,a1,v0.t'
  134. +.*Error: illegal operands vd cannot overlap vm `vsmul.vv v0,v4,v8,v0.t'
  135. +.*Error: illegal operands vd cannot overlap vm `vsmul.vx v0,v4,a1,v0.t'
  136. +.*Error: illegal operands vd cannot overlap vm `vssrl.vv v0,v4,v8,v0.t'
  137. +.*Error: illegal operands vd cannot overlap vm `vssrl.vx v0,v4,a1,v0.t'
  138. +.*Error: illegal operands vd cannot overlap vm `vssrl.vi v0,v4,31,v0.t'
  139. +.*Error: illegal operands vd cannot overlap vm `vssra.vv v0,v4,v8,v0.t'
  140. +.*Error: illegal operands vd cannot overlap vm `vssra.vx v0,v4,a1,v0.t'
  141. +.*Error: illegal operands vd cannot overlap vm `vssra.vi v0,v4,31,v0.t'
  142. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-arith-floatp.l b/gas/testsuite/gas/riscv/vector-insns-fail-arith-floatp.l
  143. index 0fc28a82d7..c55c7d24cd 100644
  144. --- a/gas/testsuite/gas/riscv/vector-insns-fail-arith-floatp.l
  145. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-arith-floatp.l
  146. @@ -1,47 +1,47 @@
  147. .*: Assembler messages:
  148. -.*Error: illegal operands `vfadd.vv v0,v4,v8,v0.t'
  149. -.*Error: illegal operands `vfadd.vf v0,v4,fa1,v0.t'
  150. -.*Error: illegal operands `vfsub.vv v0,v4,v8,v0.t'
  151. -.*Error: illegal operands `vfsub.vf v0,v4,fa1,v0.t'
  152. -.*Error: illegal operands `vfrsub.vf v0,v4,fa1,v0.t'
  153. -.*Error: illegal operands `vfmul.vv v0,v4,v8,v0.t'
  154. -.*Error: illegal operands `vfmul.vf v0,v4,fa1,v0.t'
  155. -.*Error: illegal operands `vfdiv.vv v0,v4,v8,v0.t'
  156. -.*Error: illegal operands `vfdiv.vf v0,v4,fa1,v0.t'
  157. -.*Error: illegal operands `vfrdiv.vf v0,v4,fa1,v0.t'
  158. -.*Error: illegal operands `vfmacc.vv v0,v4,v8,v0.t'
  159. -.*Error: illegal operands `vfmacc.vf v0,fa1,v4,v0.t'
  160. -.*Error: illegal operands `vfnmacc.vv v0,v4,v8,v0.t'
  161. -.*Error: illegal operands `vfnmacc.vf v0,fa1,v4,v0.t'
  162. -.*Error: illegal operands `vfmsac.vv v0,v4,v8,v0.t'
  163. -.*Error: illegal operands `vfmsac.vf v0,fa1,v4,v0.t'
  164. -.*Error: illegal operands `vfnmsac.vv v0,v4,v8,v0.t'
  165. -.*Error: illegal operands `vfnmsac.vf v0,fa1,v4,v0.t'
  166. -.*Error: illegal operands `vfmadd.vv v0,v4,v8,v0.t'
  167. -.*Error: illegal operands `vfmadd.vf v0,fa1,v4,v0.t'
  168. -.*Error: illegal operands `vfnmadd.vv v0,v4,v8,v0.t'
  169. -.*Error: illegal operands `vfnmadd.vf v0,fa1,v4,v0.t'
  170. -.*Error: illegal operands `vfmsub.vv v0,v4,v8,v0.t'
  171. -.*Error: illegal operands `vfmsub.vf v0,fa1,v4,v0.t'
  172. -.*Error: illegal operands `vfnmsub.vv v0,v4,v8,v0.t'
  173. -.*Error: illegal operands `vfnmsub.vf v0,fa1,v4,v0.t'
  174. -.*Error: illegal operands `vfsqrt.v v0,v4,v0.t'
  175. -.*Error: illegal operands `vfrece7.v v0,v4,v0.t'
  176. -.*Error: illegal operands `vfrsqrte7.v v0,v4,v0.t'
  177. -.*Error: illegal operands `vfclass.v v0,v4,v0.t'
  178. -.*Error: illegal operands `vfmin.vv v0,v4,v8,v0.t'
  179. -.*Error: illegal operands `vfmin.vf v0,v4,fa1,v0.t'
  180. -.*Error: illegal operands `vfmax.vv v0,v4,v8,v0.t'
  181. -.*Error: illegal operands `vfmax.vf v0,v4,fa1,v0.t'
  182. -.*Error: illegal operands `vfsgnj.vv v0,v4,v8,v0.t'
  183. -.*Error: illegal operands `vfsgnj.vf v0,v4,fa1,v0.t'
  184. -.*Error: illegal operands `vfsgnjn.vv v0,v4,v8,v0.t'
  185. -.*Error: illegal operands `vfsgnjn.vf v0,v4,fa1,v0.t'
  186. -.*Error: illegal operands `vfsgnjx.vv v0,v4,v8,v0.t'
  187. -.*Error: illegal operands `vfsgnjx.vf v0,v4,fa1,v0.t'
  188. -.*Error: illegal operands `vfcvt.xu.f.v v0,v4,v0.t'
  189. -.*Error: illegal operands `vfcvt.x.f.v v0,v4,v0.t'
  190. -.*Error: illegal operands `vfcvt.rtz.xu.f.v v0,v4,v0.t'
  191. -.*Error: illegal operands `vfcvt.rtz.x.f.v v0,v4,v0.t'
  192. -.*Error: illegal operands `vfcvt.f.xu.v v0,v4,v0.t'
  193. -.*Error: illegal operands `vfcvt.f.x.v v0,v4,v0.t'
  194. +.*Error: illegal operands vd cannot overlap vm `vfadd.vv v0,v4,v8,v0.t'
  195. +.*Error: illegal operands vd cannot overlap vm `vfadd.vf v0,v4,fa1,v0.t'
  196. +.*Error: illegal operands vd cannot overlap vm `vfsub.vv v0,v4,v8,v0.t'
  197. +.*Error: illegal operands vd cannot overlap vm `vfsub.vf v0,v4,fa1,v0.t'
  198. +.*Error: illegal operands vd cannot overlap vm `vfrsub.vf v0,v4,fa1,v0.t'
  199. +.*Error: illegal operands vd cannot overlap vm `vfmul.vv v0,v4,v8,v0.t'
  200. +.*Error: illegal operands vd cannot overlap vm `vfmul.vf v0,v4,fa1,v0.t'
  201. +.*Error: illegal operands vd cannot overlap vm `vfdiv.vv v0,v4,v8,v0.t'
  202. +.*Error: illegal operands vd cannot overlap vm `vfdiv.vf v0,v4,fa1,v0.t'
  203. +.*Error: illegal operands vd cannot overlap vm `vfrdiv.vf v0,v4,fa1,v0.t'
  204. +.*Error: illegal operands vd cannot overlap vm `vfmacc.vv v0,v4,v8,v0.t'
  205. +.*Error: illegal operands vd cannot overlap vm `vfmacc.vf v0,fa1,v4,v0.t'
  206. +.*Error: illegal operands vd cannot overlap vm `vfnmacc.vv v0,v4,v8,v0.t'
  207. +.*Error: illegal operands vd cannot overlap vm `vfnmacc.vf v0,fa1,v4,v0.t'
  208. +.*Error: illegal operands vd cannot overlap vm `vfmsac.vv v0,v4,v8,v0.t'
  209. +.*Error: illegal operands vd cannot overlap vm `vfmsac.vf v0,fa1,v4,v0.t'
  210. +.*Error: illegal operands vd cannot overlap vm `vfnmsac.vv v0,v4,v8,v0.t'
  211. +.*Error: illegal operands vd cannot overlap vm `vfnmsac.vf v0,fa1,v4,v0.t'
  212. +.*Error: illegal operands vd cannot overlap vm `vfmadd.vv v0,v4,v8,v0.t'
  213. +.*Error: illegal operands vd cannot overlap vm `vfmadd.vf v0,fa1,v4,v0.t'
  214. +.*Error: illegal operands vd cannot overlap vm `vfnmadd.vv v0,v4,v8,v0.t'
  215. +.*Error: illegal operands vd cannot overlap vm `vfnmadd.vf v0,fa1,v4,v0.t'
  216. +.*Error: illegal operands vd cannot overlap vm `vfmsub.vv v0,v4,v8,v0.t'
  217. +.*Error: illegal operands vd cannot overlap vm `vfmsub.vf v0,fa1,v4,v0.t'
  218. +.*Error: illegal operands vd cannot overlap vm `vfnmsub.vv v0,v4,v8,v0.t'
  219. +.*Error: illegal operands vd cannot overlap vm `vfnmsub.vf v0,fa1,v4,v0.t'
  220. +.*Error: illegal operands vd cannot overlap vm `vfsqrt.v v0,v4,v0.t'
  221. +.*Error: illegal operands vd cannot overlap vm `vfrece7.v v0,v4,v0.t'
  222. +.*Error: illegal operands vd cannot overlap vm `vfrsqrte7.v v0,v4,v0.t'
  223. +.*Error: illegal operands vd cannot overlap vm `vfclass.v v0,v4,v0.t'
  224. +.*Error: illegal operands vd cannot overlap vm `vfmin.vv v0,v4,v8,v0.t'
  225. +.*Error: illegal operands vd cannot overlap vm `vfmin.vf v0,v4,fa1,v0.t'
  226. +.*Error: illegal operands vd cannot overlap vm `vfmax.vv v0,v4,v8,v0.t'
  227. +.*Error: illegal operands vd cannot overlap vm `vfmax.vf v0,v4,fa1,v0.t'
  228. +.*Error: illegal operands vd cannot overlap vm `vfsgnj.vv v0,v4,v8,v0.t'
  229. +.*Error: illegal operands vd cannot overlap vm `vfsgnj.vf v0,v4,fa1,v0.t'
  230. +.*Error: illegal operands vd cannot overlap vm `vfsgnjn.vv v0,v4,v8,v0.t'
  231. +.*Error: illegal operands vd cannot overlap vm `vfsgnjn.vf v0,v4,fa1,v0.t'
  232. +.*Error: illegal operands vd cannot overlap vm `vfsgnjx.vv v0,v4,v8,v0.t'
  233. +.*Error: illegal operands vd cannot overlap vm `vfsgnjx.vf v0,v4,fa1,v0.t'
  234. +.*Error: illegal operands vd cannot overlap vm `vfcvt.xu.f.v v0,v4,v0.t'
  235. +.*Error: illegal operands vd cannot overlap vm `vfcvt.x.f.v v0,v4,v0.t'
  236. +.*Error: illegal operands vd cannot overlap vm `vfcvt.rtz.xu.f.v v0,v4,v0.t'
  237. +.*Error: illegal operands vd cannot overlap vm `vfcvt.rtz.x.f.v v0,v4,v0.t'
  238. +.*Error: illegal operands vd cannot overlap vm `vfcvt.f.xu.v v0,v4,v0.t'
  239. +.*Error: illegal operands vd cannot overlap vm `vfcvt.f.x.v v0,v4,v0.t'
  240. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-arith-int.l b/gas/testsuite/gas/riscv/vector-insns-fail-arith-int.l
  241. index 480406af93..3b1d780fa4 100644
  242. --- a/gas/testsuite/gas/riscv/vector-insns-fail-arith-int.l
  243. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-arith-int.l
  244. @@ -1,70 +1,70 @@
  245. .*: Assembler messages:
  246. -.*Error: illegal operands `vadd.vv v0,v4,v8,v0.t'
  247. -.*Error: illegal operands `vadd.vx v0,v4,a1,v0.t'
  248. -.*Error: illegal operands `vadd.vi v0,v4,15,v0.t'
  249. -.*Error: illegal operands `vsub.vv v0,v4,v8,v0.t'
  250. -.*Error: illegal operands `vsub.vx v0,v4,a1,v0.t'
  251. -.*Error: illegal operands `vrsub.vx v0,v4,a1,v0.t'
  252. -.*Error: illegal operands `vrsub.vi v0,v4,15,v0.t'
  253. -.*Error: illegal operands `vzext.vf2 v0,v4,v0.t'
  254. -.*Error: illegal operands `vsext.vf2 v0,v4,v0.t'
  255. -.*Error: illegal operands `vzext.vf4 v0,v4,v0.t'
  256. -.*Error: illegal operands `vsext.vf4 v0,v4,v0.t'
  257. -.*Error: illegal operands `vzext.vf8 v0,v4,v0.t'
  258. -.*Error: illegal operands `vsext.vf8 v0,v4,v0.t'
  259. -.*Error: illegal operands `vadc.vvm v0,v4,v8,v0'
  260. -.*Error: illegal operands `vadc.vxm v0,v4,a1,v0'
  261. -.*Error: illegal operands `vadc.vim v0,v4,15,v0'
  262. -.*Error: illegal operands `vsbc.vvm v0,v4,v8,v0'
  263. -.*Error: illegal operands `vsbc.vxm v0,v4,a1,v0'
  264. -.*Error: illegal operands `vnot.v v0,v4,v0.t'
  265. -.*Error: illegal operands `vand.vv v0,v4,v8,v0.t'
  266. -.*Error: illegal operands `vand.vx v0,v4,a1,v0.t'
  267. -.*Error: illegal operands `vand.vi v0,v4,15,v0.t'
  268. -.*Error: illegal operands `vor.vv v0,v4,v8,v0.t'
  269. -.*Error: illegal operands `vor.vx v0,v4,a1,v0.t'
  270. -.*Error: illegal operands `vor.vi v0,v4,15,v0.t'
  271. -.*Error: illegal operands `vxor.vv v0,v4,v8,v0.t'
  272. -.*Error: illegal operands `vxor.vx v0,v4,a1,v0.t'
  273. -.*Error: illegal operands `vxor.vi v0,v4,15,v0.t'
  274. -.*Error: illegal operands `vsll.vv v0,v4,v8,v0.t'
  275. -.*Error: illegal operands `vsll.vx v0,v4,a1,v0.t'
  276. -.*Error: illegal operands `vsll.vi v0,v4,31,v0.t'
  277. -.*Error: illegal operands `vsrl.vv v0,v4,v8,v0.t'
  278. -.*Error: illegal operands `vsrl.vx v0,v4,a1,v0.t'
  279. -.*Error: illegal operands `vsrl.vi v0,v4,31,v0.t'
  280. -.*Error: illegal operands `vsra.vv v0,v4,v8,v0.t'
  281. -.*Error: illegal operands `vsra.vx v0,v4,a1,v0.t'
  282. -.*Error: illegal operands `vsra.vi v0,v4,31,v0.t'
  283. -.*Error: illegal operands `vminu.vv v0,v4,v8,v0.t'
  284. -.*Error: illegal operands `vminu.vx v0,v4,a1,v0.t'
  285. -.*Error: illegal operands `vmin.vv v0,v4,v8,v0.t'
  286. -.*Error: illegal operands `vmin.vx v0,v4,a1,v0.t'
  287. -.*Error: illegal operands `vmaxu.vv v0,v4,v8,v0.t'
  288. -.*Error: illegal operands `vmaxu.vx v0,v4,a1,v0.t'
  289. -.*Error: illegal operands `vmax.vv v0,v4,v8,v0.t'
  290. -.*Error: illegal operands `vmax.vx v0,v4,a1,v0.t'
  291. -.*Error: illegal operands `vmul.vv v0,v4,v8,v0.t'
  292. -.*Error: illegal operands `vmul.vx v0,v4,a1,v0.t'
  293. -.*Error: illegal operands `vmulh.vv v0,v4,v8,v0.t'
  294. -.*Error: illegal operands `vmulh.vx v0,v4,a1,v0.t'
  295. -.*Error: illegal operands `vmulhu.vv v0,v4,v8,v0.t'
  296. -.*Error: illegal operands `vmulhu.vx v0,v4,a1,v0.t'
  297. -.*Error: illegal operands `vmulhsu.vv v0,v4,v8,v0.t'
  298. -.*Error: illegal operands `vmulhsu.vx v0,v4,a1,v0.t'
  299. -.*Error: illegal operands `vdivu.vv v0,v4,v8,v0.t'
  300. -.*Error: illegal operands `vdivu.vx v0,v4,a1,v0.t'
  301. -.*Error: illegal operands `vdiv.vv v0,v4,v8,v0.t'
  302. -.*Error: illegal operands `vdiv.vx v0,v4,a1,v0.t'
  303. -.*Error: illegal operands `vremu.vv v0,v4,v8,v0.t'
  304. -.*Error: illegal operands `vremu.vx v0,v4,a1,v0.t'
  305. -.*Error: illegal operands `vrem.vv v0,v4,v8,v0.t'
  306. -.*Error: illegal operands `vrem.vx v0,v4,a1,v0.t'
  307. -.*Error: illegal operands `vmacc.vv v0,v4,v8,v0.t'
  308. -.*Error: illegal operands `vmacc.vx v0,a1,v4,v0.t'
  309. -.*Error: illegal operands `vnmsac.vv v0,v4,v8,v0.t'
  310. -.*Error: illegal operands `vnmsac.vx v0,a1,v4,v0.t'
  311. -.*Error: illegal operands `vmadd.vv v0,v4,v8,v0.t'
  312. -.*Error: illegal operands `vmadd.vx v0,a1,v4,v0.t'
  313. -.*Error: illegal operands `vnmsub.vv v0,v4,v8,v0.t'
  314. -.*Error: illegal operands `vnmsub.vx v0,a1,v4,v0.t'
  315. +.*Error: illegal operands vd cannot overlap vm `vadd.vv v0,v4,v8,v0.t'
  316. +.*Error: illegal operands vd cannot overlap vm `vadd.vx v0,v4,a1,v0.t'
  317. +.*Error: illegal operands vd cannot overlap vm `vadd.vi v0,v4,15,v0.t'
  318. +.*Error: illegal operands vd cannot overlap vm `vsub.vv v0,v4,v8,v0.t'
  319. +.*Error: illegal operands vd cannot overlap vm `vsub.vx v0,v4,a1,v0.t'
  320. +.*Error: illegal operands vd cannot overlap vm `vrsub.vx v0,v4,a1,v0.t'
  321. +.*Error: illegal operands vd cannot overlap vm `vrsub.vi v0,v4,15,v0.t'
  322. +.*Error: illegal operands vd cannot overlap vm `vzext.vf2 v0,v4,v0.t'
  323. +.*Error: illegal operands vd cannot overlap vm `vsext.vf2 v0,v4,v0.t'
  324. +.*Error: illegal operands vd cannot overlap vm `vzext.vf4 v0,v4,v0.t'
  325. +.*Error: illegal operands vd cannot overlap vm `vsext.vf4 v0,v4,v0.t'
  326. +.*Error: illegal operands vd cannot overlap vm `vzext.vf8 v0,v4,v0.t'
  327. +.*Error: illegal operands vd cannot overlap vm `vsext.vf8 v0,v4,v0.t'
  328. +.*Error: illegal operands vd cannot overlap vm `vadc.vvm v0,v4,v8,v0'
  329. +.*Error: illegal operands vd cannot overlap vm `vadc.vxm v0,v4,a1,v0'
  330. +.*Error: illegal operands vd cannot overlap vm `vadc.vim v0,v4,15,v0'
  331. +.*Error: illegal operands vd cannot overlap vm `vsbc.vvm v0,v4,v8,v0'
  332. +.*Error: illegal operands vd cannot overlap vm `vsbc.vxm v0,v4,a1,v0'
  333. +.*Error: illegal operands vd cannot overlap vm `vnot.v v0,v4,v0.t'
  334. +.*Error: illegal operands vd cannot overlap vm `vand.vv v0,v4,v8,v0.t'
  335. +.*Error: illegal operands vd cannot overlap vm `vand.vx v0,v4,a1,v0.t'
  336. +.*Error: illegal operands vd cannot overlap vm `vand.vi v0,v4,15,v0.t'
  337. +.*Error: illegal operands vd cannot overlap vm `vor.vv v0,v4,v8,v0.t'
  338. +.*Error: illegal operands vd cannot overlap vm `vor.vx v0,v4,a1,v0.t'
  339. +.*Error: illegal operands vd cannot overlap vm `vor.vi v0,v4,15,v0.t'
  340. +.*Error: illegal operands vd cannot overlap vm `vxor.vv v0,v4,v8,v0.t'
  341. +.*Error: illegal operands vd cannot overlap vm `vxor.vx v0,v4,a1,v0.t'
  342. +.*Error: illegal operands vd cannot overlap vm `vxor.vi v0,v4,15,v0.t'
  343. +.*Error: illegal operands vd cannot overlap vm `vsll.vv v0,v4,v8,v0.t'
  344. +.*Error: illegal operands vd cannot overlap vm `vsll.vx v0,v4,a1,v0.t'
  345. +.*Error: illegal operands vd cannot overlap vm `vsll.vi v0,v4,31,v0.t'
  346. +.*Error: illegal operands vd cannot overlap vm `vsrl.vv v0,v4,v8,v0.t'
  347. +.*Error: illegal operands vd cannot overlap vm `vsrl.vx v0,v4,a1,v0.t'
  348. +.*Error: illegal operands vd cannot overlap vm `vsrl.vi v0,v4,31,v0.t'
  349. +.*Error: illegal operands vd cannot overlap vm `vsra.vv v0,v4,v8,v0.t'
  350. +.*Error: illegal operands vd cannot overlap vm `vsra.vx v0,v4,a1,v0.t'
  351. +.*Error: illegal operands vd cannot overlap vm `vsra.vi v0,v4,31,v0.t'
  352. +.*Error: illegal operands vd cannot overlap vm `vminu.vv v0,v4,v8,v0.t'
  353. +.*Error: illegal operands vd cannot overlap vm `vminu.vx v0,v4,a1,v0.t'
  354. +.*Error: illegal operands vd cannot overlap vm `vmin.vv v0,v4,v8,v0.t'
  355. +.*Error: illegal operands vd cannot overlap vm `vmin.vx v0,v4,a1,v0.t'
  356. +.*Error: illegal operands vd cannot overlap vm `vmaxu.vv v0,v4,v8,v0.t'
  357. +.*Error: illegal operands vd cannot overlap vm `vmaxu.vx v0,v4,a1,v0.t'
  358. +.*Error: illegal operands vd cannot overlap vm `vmax.vv v0,v4,v8,v0.t'
  359. +.*Error: illegal operands vd cannot overlap vm `vmax.vx v0,v4,a1,v0.t'
  360. +.*Error: illegal operands vd cannot overlap vm `vmul.vv v0,v4,v8,v0.t'
  361. +.*Error: illegal operands vd cannot overlap vm `vmul.vx v0,v4,a1,v0.t'
  362. +.*Error: illegal operands vd cannot overlap vm `vmulh.vv v0,v4,v8,v0.t'
  363. +.*Error: illegal operands vd cannot overlap vm `vmulh.vx v0,v4,a1,v0.t'
  364. +.*Error: illegal operands vd cannot overlap vm `vmulhu.vv v0,v4,v8,v0.t'
  365. +.*Error: illegal operands vd cannot overlap vm `vmulhu.vx v0,v4,a1,v0.t'
  366. +.*Error: illegal operands vd cannot overlap vm `vmulhsu.vv v0,v4,v8,v0.t'
  367. +.*Error: illegal operands vd cannot overlap vm `vmulhsu.vx v0,v4,a1,v0.t'
  368. +.*Error: illegal operands vd cannot overlap vm `vdivu.vv v0,v4,v8,v0.t'
  369. +.*Error: illegal operands vd cannot overlap vm `vdivu.vx v0,v4,a1,v0.t'
  370. +.*Error: illegal operands vd cannot overlap vm `vdiv.vv v0,v4,v8,v0.t'
  371. +.*Error: illegal operands vd cannot overlap vm `vdiv.vx v0,v4,a1,v0.t'
  372. +.*Error: illegal operands vd cannot overlap vm `vremu.vv v0,v4,v8,v0.t'
  373. +.*Error: illegal operands vd cannot overlap vm `vremu.vx v0,v4,a1,v0.t'
  374. +.*Error: illegal operands vd cannot overlap vm `vrem.vv v0,v4,v8,v0.t'
  375. +.*Error: illegal operands vd cannot overlap vm `vrem.vx v0,v4,a1,v0.t'
  376. +.*Error: illegal operands vd cannot overlap vm `vmacc.vv v0,v4,v8,v0.t'
  377. +.*Error: illegal operands vd cannot overlap vm `vmacc.vx v0,a1,v4,v0.t'
  378. +.*Error: illegal operands vd cannot overlap vm `vnmsac.vv v0,v4,v8,v0.t'
  379. +.*Error: illegal operands vd cannot overlap vm `vnmsac.vx v0,a1,v4,v0.t'
  380. +.*Error: illegal operands vd cannot overlap vm `vmadd.vv v0,v4,v8,v0.t'
  381. +.*Error: illegal operands vd cannot overlap vm `vmadd.vx v0,a1,v4,v0.t'
  382. +.*Error: illegal operands vd cannot overlap vm `vnmsub.vv v0,v4,v8,v0.t'
  383. +.*Error: illegal operands vd cannot overlap vm `vnmsub.vx v0,a1,v4,v0.t'
  384. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-arith-narrow.l b/gas/testsuite/gas/riscv/vector-insns-fail-arith-narrow.l
  385. index dcbe3b3f79..defca03d6d 100644
  386. --- a/gas/testsuite/gas/riscv/vector-insns-fail-arith-narrow.l
  387. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-arith-narrow.l
  388. @@ -1,85 +1,85 @@
  389. .*: Assembler messages:
  390. -.*Error: illegal operands `vncvt.x.x.v v2,v2'
  391. -.*Error: illegal operands `vncvt.x.x.v v2,v3'
  392. -.*Error: illegal operands `vncvt.x.x.v v3,v2'
  393. -.*Error: illegal operands `vncvt.x.x.v v0,v2,v0.t'
  394. -.*Error: illegal operands `vnsrl.wv v2,v2,v4'
  395. -.*Error: illegal operands `vnsrl.wv v2,v3,v4'
  396. -.*Error: illegal operands `vnsrl.wv v3,v2,v4'
  397. -.*Error: illegal operands `vnsrl.wv v0,v2,v4,v0.t'
  398. -.*Error: illegal operands `vnsrl.wx v2,v2,a1'
  399. -.*Error: illegal operands `vnsrl.wx v2,v3,a1'
  400. -.*Error: illegal operands `vnsrl.wx v3,v2,a1'
  401. -.*Error: illegal operands `vnsrl.wx v0,v2,a1,v0.t'
  402. -.*Error: illegal operands `vnsrl.wi v2,v2,31'
  403. -.*Error: illegal operands `vnsrl.wi v2,v3,31'
  404. -.*Error: illegal operands `vnsrl.wi v3,v2,31'
  405. -.*Error: illegal operands `vnsrl.wi v0,v2,31,v0.t'
  406. -.*Error: illegal operands `vnsra.wv v2,v2,v4'
  407. -.*Error: illegal operands `vnsra.wv v2,v3,v4'
  408. -.*Error: illegal operands `vnsra.wv v3,v2,v4'
  409. -.*Error: illegal operands `vnsra.wv v0,v2,v4,v0.t'
  410. -.*Error: illegal operands `vnsra.wx v2,v2,a1'
  411. -.*Error: illegal operands `vnsra.wx v2,v3,a1'
  412. -.*Error: illegal operands `vnsra.wx v3,v2,a1'
  413. -.*Error: illegal operands `vnsra.wx v0,v2,a1,v0.t'
  414. -.*Error: illegal operands `vnsra.wi v2,v2,31'
  415. -.*Error: illegal operands `vnsra.wi v2,v3,31'
  416. -.*Error: illegal operands `vnsra.wi v3,v2,31'
  417. -.*Error: illegal operands `vnsra.wi v0,v2,31,v0.t'
  418. -.*Error: illegal operands `vnclipu.wv v2,v2,v4'
  419. -.*Error: illegal operands `vnclipu.wv v2,v3,v4'
  420. -.*Error: illegal operands `vnclipu.wv v3,v2,v4'
  421. -.*Error: illegal operands `vnclipu.wv v0,v2,v4,v0.t'
  422. -.*Error: illegal operands `vnclipu.wx v2,v2,a1'
  423. -.*Error: illegal operands `vnclipu.wx v2,v3,a1'
  424. -.*Error: illegal operands `vnclipu.wx v3,v2,a1'
  425. -.*Error: illegal operands `vnclipu.wx v0,v2,a1,v0.t'
  426. -.*Error: illegal operands `vnclipu.wi v2,v2,31'
  427. -.*Error: illegal operands `vnclipu.wi v2,v3,31'
  428. -.*Error: illegal operands `vnclipu.wi v3,v2,31'
  429. -.*Error: illegal operands `vnclipu.wi v0,v2,31,v0.t'
  430. -.*Error: illegal operands `vnclip.wv v2,v2,v4'
  431. -.*Error: illegal operands `vnclip.wv v2,v3,v4'
  432. -.*Error: illegal operands `vnclip.wv v3,v2,v4'
  433. -.*Error: illegal operands `vnclip.wv v0,v2,v4,v0.t'
  434. -.*Error: illegal operands `vnclip.wx v2,v2,a1'
  435. -.*Error: illegal operands `vnclip.wx v2,v3,a1'
  436. -.*Error: illegal operands `vnclip.wx v3,v2,a1'
  437. -.*Error: illegal operands `vnclip.wx v0,v2,a1,v0.t'
  438. -.*Error: illegal operands `vnclip.wi v2,v2,31'
  439. -.*Error: illegal operands `vnclip.wi v2,v3,31'
  440. -.*Error: illegal operands `vnclip.wi v3,v2,31'
  441. -.*Error: illegal operands `vnclip.wi v0,v2,31,v0.t'
  442. -.*Error: illegal operands `vfncvt.xu.f.w v2,v2'
  443. -.*Error: illegal operands `vfncvt.xu.f.w v2,v3'
  444. -.*Error: illegal operands `vfncvt.xu.f.w v3,v2'
  445. -.*Error: illegal operands `vfncvt.xu.f.w v0,v2,v0.t'
  446. -.*Error: illegal operands `vfncvt.x.f.w v2,v2'
  447. -.*Error: illegal operands `vfncvt.x.f.w v2,v3'
  448. -.*Error: illegal operands `vfncvt.x.f.w v3,v2'
  449. -.*Error: illegal operands `vfncvt.x.f.w v0,v2,v0.t'
  450. -.*Error: illegal operands `vfncvt.rtz.xu.f.w v2,v2'
  451. -.*Error: illegal operands `vfncvt.rtz.xu.f.w v2,v3'
  452. -.*Error: illegal operands `vfncvt.rtz.xu.f.w v3,v2'
  453. -.*Error: illegal operands `vfncvt.rtz.xu.f.w v0,v2,v0.t'
  454. -.*Error: illegal operands `vfncvt.rtz.x.f.w v2,v2'
  455. -.*Error: illegal operands `vfncvt.rtz.x.f.w v2,v3'
  456. -.*Error: illegal operands `vfncvt.rtz.x.f.w v3,v2'
  457. -.*Error: illegal operands `vfncvt.rtz.x.f.w v0,v2,v0.t'
  458. -.*Error: illegal operands `vfncvt.f.xu.w v2,v2'
  459. -.*Error: illegal operands `vfncvt.f.xu.w v2,v3'
  460. -.*Error: illegal operands `vfncvt.f.xu.w v3,v2'
  461. -.*Error: illegal operands `vfncvt.f.xu.w v0,v2,v0.t'
  462. -.*Error: illegal operands `vfncvt.f.x.w v2,v2'
  463. -.*Error: illegal operands `vfncvt.f.x.w v2,v3'
  464. -.*Error: illegal operands `vfncvt.f.x.w v3,v2'
  465. -.*Error: illegal operands `vfncvt.f.x.w v0,v2,v0.t'
  466. -.*Error: illegal operands `vfncvt.f.f.w v2,v2'
  467. -.*Error: illegal operands `vfncvt.f.f.w v2,v3'
  468. -.*Error: illegal operands `vfncvt.f.f.w v3,v2'
  469. -.*Error: illegal operands `vfncvt.f.f.w v0,v2,v0.t'
  470. -.*Error: illegal operands `vfncvt.rod.f.f.w v2,v2'
  471. -.*Error: illegal operands `vfncvt.rod.f.f.w v2,v3'
  472. -.*Error: illegal operands `vfncvt.rod.f.f.w v3,v2'
  473. -.*Error: illegal operands `vfncvt.rod.f.f.w v0,v2,v0.t'
  474. +.*Error: illegal operands vd cannot overlap vs2 `vncvt.x.x.v v2,v2'
  475. +.*Error: illegal operands vd must be multiple of 2 `vncvt.x.x.v v2,v3'
  476. +.*Error: illegal operands vd cannot overlap vs2 `vncvt.x.x.v v3,v2'
  477. +.*Error: illegal operands vd cannot overlap vm `vncvt.x.x.v v0,v2,v0.t'
  478. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wv v2,v2,v4'
  479. +.*Error: illegal operands vd must be multiple of 2 `vnsrl.wv v2,v3,v4'
  480. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wv v3,v2,v4'
  481. +.*Error: illegal operands vd cannot overlap vm `vnsrl.wv v0,v2,v4,v0.t'
  482. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wx v2,v2,a1'
  483. +.*Error: illegal operands vd must be multiple of 2 `vnsrl.wx v2,v3,a1'
  484. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wx v3,v2,a1'
  485. +.*Error: illegal operands vd cannot overlap vm `vnsrl.wx v0,v2,a1,v0.t'
  486. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wi v2,v2,31'
  487. +.*Error: illegal operands vd must be multiple of 2 `vnsrl.wi v2,v3,31'
  488. +.*Error: illegal operands vd cannot overlap vs2 `vnsrl.wi v3,v2,31'
  489. +.*Error: illegal operands vd cannot overlap vm `vnsrl.wi v0,v2,31,v0.t'
  490. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wv v2,v2,v4'
  491. +.*Error: illegal operands vd must be multiple of 2 `vnsra.wv v2,v3,v4'
  492. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wv v3,v2,v4'
  493. +.*Error: illegal operands vd cannot overlap vm `vnsra.wv v0,v2,v4,v0.t'
  494. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wx v2,v2,a1'
  495. +.*Error: illegal operands vd must be multiple of 2 `vnsra.wx v2,v3,a1'
  496. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wx v3,v2,a1'
  497. +.*Error: illegal operands vd cannot overlap vm `vnsra.wx v0,v2,a1,v0.t'
  498. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wi v2,v2,31'
  499. +.*Error: illegal operands vd must be multiple of 2 `vnsra.wi v2,v3,31'
  500. +.*Error: illegal operands vd cannot overlap vs2 `vnsra.wi v3,v2,31'
  501. +.*Error: illegal operands vd cannot overlap vm `vnsra.wi v0,v2,31,v0.t'
  502. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wv v2,v2,v4'
  503. +.*Error: illegal operands vd must be multiple of 2 `vnclipu.wv v2,v3,v4'
  504. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wv v3,v2,v4'
  505. +.*Error: illegal operands vd cannot overlap vm `vnclipu.wv v0,v2,v4,v0.t'
  506. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wx v2,v2,a1'
  507. +.*Error: illegal operands vd must be multiple of 2 `vnclipu.wx v2,v3,a1'
  508. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wx v3,v2,a1'
  509. +.*Error: illegal operands vd cannot overlap vm `vnclipu.wx v0,v2,a1,v0.t'
  510. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wi v2,v2,31'
  511. +.*Error: illegal operands vd must be multiple of 2 `vnclipu.wi v2,v3,31'
  512. +.*Error: illegal operands vd cannot overlap vs2 `vnclipu.wi v3,v2,31'
  513. +.*Error: illegal operands vd cannot overlap vm `vnclipu.wi v0,v2,31,v0.t'
  514. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wv v2,v2,v4'
  515. +.*Error: illegal operands vd must be multiple of 2 `vnclip.wv v2,v3,v4'
  516. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wv v3,v2,v4'
  517. +.*Error: illegal operands vd cannot overlap vm `vnclip.wv v0,v2,v4,v0.t'
  518. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wx v2,v2,a1'
  519. +.*Error: illegal operands vd must be multiple of 2 `vnclip.wx v2,v3,a1'
  520. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wx v3,v2,a1'
  521. +.*Error: illegal operands vd cannot overlap vm `vnclip.wx v0,v2,a1,v0.t'
  522. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wi v2,v2,31'
  523. +.*Error: illegal operands vd must be multiple of 2 `vnclip.wi v2,v3,31'
  524. +.*Error: illegal operands vd cannot overlap vs2 `vnclip.wi v3,v2,31'
  525. +.*Error: illegal operands vd cannot overlap vm `vnclip.wi v0,v2,31,v0.t'
  526. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.xu.f.w v2,v2'
  527. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.xu.f.w v2,v3'
  528. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.xu.f.w v3,v2'
  529. +.*Error: illegal operands vd cannot overlap vm `vfncvt.xu.f.w v0,v2,v0.t'
  530. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.x.f.w v2,v2'
  531. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.x.f.w v2,v3'
  532. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.x.f.w v3,v2'
  533. +.*Error: illegal operands vd cannot overlap vm `vfncvt.x.f.w v0,v2,v0.t'
  534. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rtz.xu.f.w v2,v2'
  535. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.rtz.xu.f.w v2,v3'
  536. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rtz.xu.f.w v3,v2'
  537. +.*Error: illegal operands vd cannot overlap vm `vfncvt.rtz.xu.f.w v0,v2,v0.t'
  538. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rtz.x.f.w v2,v2'
  539. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.rtz.x.f.w v2,v3'
  540. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rtz.x.f.w v3,v2'
  541. +.*Error: illegal operands vd cannot overlap vm `vfncvt.rtz.x.f.w v0,v2,v0.t'
  542. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.xu.w v2,v2'
  543. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.f.xu.w v2,v3'
  544. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.xu.w v3,v2'
  545. +.*Error: illegal operands vd cannot overlap vm `vfncvt.f.xu.w v0,v2,v0.t'
  546. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.x.w v2,v2'
  547. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.f.x.w v2,v3'
  548. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.x.w v3,v2'
  549. +.*Error: illegal operands vd cannot overlap vm `vfncvt.f.x.w v0,v2,v0.t'
  550. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.f.w v2,v2'
  551. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.f.f.w v2,v3'
  552. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.f.f.w v3,v2'
  553. +.*Error: illegal operands vd cannot overlap vm `vfncvt.f.f.w v0,v2,v0.t'
  554. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rod.f.f.w v2,v2'
  555. +.*Error: illegal operands vd must be multiple of 2 `vfncvt.rod.f.f.w v2,v3'
  556. +.*Error: illegal operands vd cannot overlap vs2 `vfncvt.rod.f.f.w v3,v2'
  557. +.*Error: illegal operands vd cannot overlap vm `vfncvt.rod.f.f.w v0,v2,v0.t'
  558. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-arith-widen.l b/gas/testsuite/gas/riscv/vector-insns-fail-arith-widen.l
  559. index 5684601697..5f22ca99e9 100644
  560. --- a/gas/testsuite/gas/riscv/vector-insns-fail-arith-widen.l
  561. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-arith-widen.l
  562. @@ -1,253 +1,253 @@
  563. .*: Assembler messages:
  564. -.*Error: illegal operands `vwcvtu.x.x.v v1,v2'
  565. -.*Error: illegal operands `vwcvtu.x.x.v v2,v2'
  566. -.*Error: illegal operands `vwcvtu.x.x.v v2,v3'
  567. -.*Error: illegal operands `vwcvtu.x.x.v v0,v2,v0.t'
  568. -.*Error: illegal operands `vwcvt.x.x.v v1,v2'
  569. -.*Error: illegal operands `vwcvt.x.x.v v2,v2'
  570. -.*Error: illegal operands `vwcvt.x.x.v v2,v3'
  571. -.*Error: illegal operands `vwcvt.x.x.v v0,v2,v0.t'
  572. -.*Error: illegal operands `vwaddu.vv v1,v2,v4'
  573. -.*Error: illegal operands `vwaddu.vv v2,v2,v4'
  574. -.*Error: illegal operands `vwaddu.vv v2,v3,v4'
  575. -.*Error: illegal operands `vwaddu.vv v4,v2,v4'
  576. -.*Error: illegal operands `vwaddu.vv v4,v2,v5'
  577. -.*Error: illegal operands `vwaddu.vv v0,v2,v4,v0.t'
  578. -.*Error: illegal operands `vwaddu.vx v1,v2,a1'
  579. -.*Error: illegal operands `vwaddu.vx v2,v2,a1'
  580. -.*Error: illegal operands `vwaddu.vx v2,v3,a1'
  581. -.*Error: illegal operands `vwaddu.vx v0,v2,a1,v0.t'
  582. -.*Error: illegal operands `vwaddu.wv v1,v2,v4'
  583. -.*Error: illegal operands `vwaddu.wv v2,v3,v4'
  584. -.*Error: illegal operands `vwaddu.wv v4,v2,v4'
  585. -.*Error: illegal operands `vwaddu.wv v4,v2,v5'
  586. -.*Error: illegal operands `vwaddu.wv v0,v2,v4,v0.t'
  587. -.*Error: illegal operands `vwaddu.wx v1,v2,a1'
  588. -.*Error: illegal operands `vwaddu.wx v2,v3,a1'
  589. -.*Error: illegal operands `vwaddu.wx v0,v2,a1,v0.t'
  590. -.*Error: illegal operands `vwsubu.vv v1,v2,v4'
  591. -.*Error: illegal operands `vwsubu.vv v2,v2,v4'
  592. -.*Error: illegal operands `vwsubu.vv v2,v3,v4'
  593. -.*Error: illegal operands `vwsubu.vv v4,v2,v4'
  594. -.*Error: illegal operands `vwsubu.vv v4,v2,v5'
  595. -.*Error: illegal operands `vwsubu.vv v0,v2,v4,v0.t'
  596. -.*Error: illegal operands `vwsubu.vx v1,v2,a1'
  597. -.*Error: illegal operands `vwsubu.vx v2,v2,a1'
  598. -.*Error: illegal operands `vwsubu.vx v2,v3,a1'
  599. -.*Error: illegal operands `vwsubu.vx v0,v2,a1,v0.t'
  600. -.*Error: illegal operands `vwsubu.wv v1,v2,v4'
  601. -.*Error: illegal operands `vwsubu.wv v2,v3,v4'
  602. -.*Error: illegal operands `vwsubu.wv v4,v2,v4'
  603. -.*Error: illegal operands `vwsubu.wv v4,v2,v5'
  604. -.*Error: illegal operands `vwsubu.wv v0,v2,v4,v0.t'
  605. -.*Error: illegal operands `vwsubu.wx v1,v2,a1'
  606. -.*Error: illegal operands `vwsubu.wx v2,v3,a1'
  607. -.*Error: illegal operands `vwsubu.wx v0,v2,a1,v0.t'
  608. -.*Error: illegal operands `vwadd.vv v1,v2,v4'
  609. -.*Error: illegal operands `vwadd.vv v2,v2,v4'
  610. -.*Error: illegal operands `vwadd.vv v2,v3,v4'
  611. -.*Error: illegal operands `vwadd.vv v4,v2,v4'
  612. -.*Error: illegal operands `vwadd.vv v4,v2,v5'
  613. -.*Error: illegal operands `vwadd.vv v0,v2,v4,v0.t'
  614. -.*Error: illegal operands `vwadd.vx v1,v2,a1'
  615. -.*Error: illegal operands `vwadd.vx v2,v2,a1'
  616. -.*Error: illegal operands `vwadd.vx v2,v3,a1'
  617. -.*Error: illegal operands `vwadd.vx v0,v2,a1,v0.t'
  618. -.*Error: illegal operands `vwadd.wv v1,v2,v4'
  619. -.*Error: illegal operands `vwadd.wv v2,v3,v4'
  620. -.*Error: illegal operands `vwadd.wv v4,v2,v4'
  621. -.*Error: illegal operands `vwadd.wv v4,v2,v5'
  622. -.*Error: illegal operands `vwadd.wv v0,v2,v4,v0.t'
  623. -.*Error: illegal operands `vwadd.wx v1,v2,a1'
  624. -.*Error: illegal operands `vwadd.wx v2,v3,a1'
  625. -.*Error: illegal operands `vwadd.wx v0,v2,a1,v0.t'
  626. -.*Error: illegal operands `vwsub.vv v1,v2,v4'
  627. -.*Error: illegal operands `vwsub.vv v2,v2,v4'
  628. -.*Error: illegal operands `vwsub.vv v2,v3,v4'
  629. -.*Error: illegal operands `vwsub.vv v4,v2,v4'
  630. -.*Error: illegal operands `vwsub.vv v4,v2,v5'
  631. -.*Error: illegal operands `vwsub.vv v0,v2,v4,v0.t'
  632. -.*Error: illegal operands `vwsub.vx v1,v2,a1'
  633. -.*Error: illegal operands `vwsub.vx v2,v2,a1'
  634. -.*Error: illegal operands `vwsub.vx v2,v3,a1'
  635. -.*Error: illegal operands `vwsub.vx v0,v2,a1,v0.t'
  636. -.*Error: illegal operands `vwsub.wv v1,v2,v4'
  637. -.*Error: illegal operands `vwsub.wv v2,v3,v4'
  638. -.*Error: illegal operands `vwsub.wv v4,v2,v4'
  639. -.*Error: illegal operands `vwsub.wv v4,v2,v5'
  640. -.*Error: illegal operands `vwsub.wv v0,v2,v4,v0.t'
  641. -.*Error: illegal operands `vwsub.wx v1,v2,a1'
  642. -.*Error: illegal operands `vwsub.wx v2,v3,a1'
  643. -.*Error: illegal operands `vwsub.wx v0,v2,a1,v0.t'
  644. -.*Error: illegal operands `vwmul.vv v1,v2,v4'
  645. -.*Error: illegal operands `vwmul.vv v2,v2,v4'
  646. -.*Error: illegal operands `vwmul.vv v2,v3,v4'
  647. -.*Error: illegal operands `vwmul.vv v4,v2,v4'
  648. -.*Error: illegal operands `vwmul.vv v4,v2,v5'
  649. -.*Error: illegal operands `vwmul.vv v0,v2,v4,v0.t'
  650. -.*Error: illegal operands `vwmul.vx v1,v2,a1'
  651. -.*Error: illegal operands `vwmul.vx v2,v2,a1'
  652. -.*Error: illegal operands `vwmul.vx v2,v3,a1'
  653. -.*Error: illegal operands `vwmul.vx v0,v2,a1,v0.t'
  654. -.*Error: illegal operands `vwmulu.vv v1,v2,v4'
  655. -.*Error: illegal operands `vwmulu.vv v2,v2,v4'
  656. -.*Error: illegal operands `vwmulu.vv v2,v3,v4'
  657. -.*Error: illegal operands `vwmulu.vv v4,v2,v4'
  658. -.*Error: illegal operands `vwmulu.vv v4,v2,v5'
  659. -.*Error: illegal operands `vwmulu.vv v0,v2,v4,v0.t'
  660. -.*Error: illegal operands `vwmulu.vx v1,v2,a1'
  661. -.*Error: illegal operands `vwmulu.vx v2,v2,a1'
  662. -.*Error: illegal operands `vwmulu.vx v2,v3,a1'
  663. -.*Error: illegal operands `vwmulu.vx v0,v2,a1,v0.t'
  664. -.*Error: illegal operands `vwmulsu.vv v1,v2,v4'
  665. -.*Error: illegal operands `vwmulsu.vv v2,v2,v4'
  666. -.*Error: illegal operands `vwmulsu.vv v2,v3,v4'
  667. -.*Error: illegal operands `vwmulsu.vv v4,v2,v4'
  668. -.*Error: illegal operands `vwmulsu.vv v4,v2,v5'
  669. -.*Error: illegal operands `vwmulsu.vv v0,v2,v4,v0.t'
  670. -.*Error: illegal operands `vwmulsu.vx v1,v2,a1'
  671. -.*Error: illegal operands `vwmulsu.vx v2,v2,a1'
  672. -.*Error: illegal operands `vwmulsu.vx v2,v3,a1'
  673. -.*Error: illegal operands `vwmulsu.vx v0,v2,a1,v0.t'
  674. -.*Error: illegal operands `vwmaccu.vv v1,v2,v4'
  675. -.*Error: illegal operands `vwmaccu.vv v2,v2,v4'
  676. -.*Error: illegal operands `vwmaccu.vv v2,v3,v4'
  677. -.*Error: illegal operands `vwmaccu.vv v4,v2,v4'
  678. -.*Error: illegal operands `vwmaccu.vv v4,v2,v5'
  679. -.*Error: illegal operands `vwmaccu.vv v0,v2,v4,v0.t'
  680. -.*Error: illegal operands `vwmaccu.vx v1,a1,v2'
  681. -.*Error: illegal operands `vwmaccu.vx v2,a1,v2'
  682. -.*Error: illegal operands `vwmaccu.vx v2,a1,v3'
  683. -.*Error: illegal operands `vwmaccu.vx v0,a1,v2,v0.t'
  684. -.*Error: illegal operands `vwmacc.vv v1,v2,v4'
  685. -.*Error: illegal operands `vwmacc.vv v2,v2,v4'
  686. -.*Error: illegal operands `vwmacc.vv v2,v3,v4'
  687. -.*Error: illegal operands `vwmacc.vv v4,v2,v4'
  688. -.*Error: illegal operands `vwmacc.vv v4,v2,v5'
  689. -.*Error: illegal operands `vwmacc.vv v0,v2,v4,v0.t'
  690. -.*Error: illegal operands `vwmacc.vx v1,a1,v2'
  691. -.*Error: illegal operands `vwmacc.vx v2,a1,v2'
  692. -.*Error: illegal operands `vwmacc.vx v2,a1,v3'
  693. -.*Error: illegal operands `vwmacc.vx v0,a1,v2,v0.t'
  694. -.*Error: illegal operands `vwmaccsu.vv v1,v2,v4'
  695. -.*Error: illegal operands `vwmaccsu.vv v2,v2,v4'
  696. -.*Error: illegal operands `vwmaccsu.vv v2,v3,v4'
  697. -.*Error: illegal operands `vwmaccsu.vv v4,v2,v4'
  698. -.*Error: illegal operands `vwmaccsu.vv v4,v2,v5'
  699. -.*Error: illegal operands `vwmaccsu.vv v0,v2,v4,v0.t'
  700. -.*Error: illegal operands `vwmaccsu.vx v1,a1,v2'
  701. -.*Error: illegal operands `vwmaccsu.vx v2,a1,v2'
  702. -.*Error: illegal operands `vwmaccsu.vx v2,a1,v3'
  703. -.*Error: illegal operands `vwmaccsu.vx v0,a1,v2,v0.t'
  704. -.*Error: illegal operands `vwmaccus.vx v1,a1,v2'
  705. -.*Error: illegal operands `vwmaccus.vx v2,a1,v2'
  706. -.*Error: illegal operands `vwmaccus.vx v2,a1,v3'
  707. -.*Error: illegal operands `vwmaccus.vx v0,a1,v2,v0.t'
  708. -.*Error: illegal operands `vfwadd.vv v1,v2,v4'
  709. -.*Error: illegal operands `vfwadd.vv v2,v2,v4'
  710. -.*Error: illegal operands `vfwadd.vv v2,v3,v4'
  711. -.*Error: illegal operands `vfwadd.vv v4,v2,v4'
  712. -.*Error: illegal operands `vfwadd.vv v4,v2,v5'
  713. -.*Error: illegal operands `vfwadd.vv v0,v2,v4,v0.t'
  714. -.*Error: illegal operands `vfwadd.vf v1,v2,fa1'
  715. -.*Error: illegal operands `vfwadd.vf v2,v2,fa1'
  716. -.*Error: illegal operands `vfwadd.vf v2,v3,fa1'
  717. -.*Error: illegal operands `vfwadd.vf v0,v2,fa1,v0.t'
  718. -.*Error: illegal operands `vfwadd.wv v1,v2,v4'
  719. -.*Error: illegal operands `vfwadd.wv v2,v3,v4'
  720. -.*Error: illegal operands `vfwadd.wv v4,v2,v4'
  721. -.*Error: illegal operands `vfwadd.wv v4,v2,v5'
  722. -.*Error: illegal operands `vfwadd.wv v0,v2,v4,v0.t'
  723. -.*Error: illegal operands `vfwsub.vv v1,v2,v4'
  724. -.*Error: illegal operands `vfwsub.vv v2,v2,v4'
  725. -.*Error: illegal operands `vfwsub.vv v2,v3,v4'
  726. -.*Error: illegal operands `vfwsub.vv v4,v2,v4'
  727. -.*Error: illegal operands `vfwsub.vv v4,v2,v5'
  728. -.*Error: illegal operands `vfwsub.vv v0,v2,v4,v0.t'
  729. -.*Error: illegal operands `vfwsub.vf v1,v2,fa1'
  730. -.*Error: illegal operands `vfwsub.vf v2,v2,fa1'
  731. -.*Error: illegal operands `vfwsub.vf v2,v3,fa1'
  732. -.*Error: illegal operands `vfwsub.vf v0,v2,fa1,v0.t'
  733. -.*Error: illegal operands `vfwsub.wv v1,v2,v4'
  734. -.*Error: illegal operands `vfwsub.wv v2,v3,v4'
  735. -.*Error: illegal operands `vfwsub.wv v4,v2,v4'
  736. -.*Error: illegal operands `vfwsub.wv v4,v2,v5'
  737. -.*Error: illegal operands `vfwsub.wv v0,v2,v4,v0.t'
  738. -.*Error: illegal operands `vfwmul.vv v1,v2,v4'
  739. -.*Error: illegal operands `vfwmul.vv v2,v2,v4'
  740. -.*Error: illegal operands `vfwmul.vv v2,v3,v4'
  741. -.*Error: illegal operands `vfwmul.vv v4,v2,v4'
  742. -.*Error: illegal operands `vfwmul.vv v4,v2,v5'
  743. -.*Error: illegal operands `vfwmul.vv v0,v2,v4,v0.t'
  744. -.*Error: illegal operands `vfwsub.vf v1,v2,fa1'
  745. -.*Error: illegal operands `vfwsub.vf v2,v2,fa1'
  746. -.*Error: illegal operands `vfwsub.vf v2,v3,fa1'
  747. -.*Error: illegal operands `vfwsub.vf v0,v2,fa1,v0.t'
  748. -.*Error: illegal operands `vfwmacc.vv v1,v2,v4'
  749. -.*Error: illegal operands `vfwmacc.vv v2,v2,v4'
  750. -.*Error: illegal operands `vfwmacc.vv v2,v3,v4'
  751. -.*Error: illegal operands `vfwmacc.vv v4,v2,v4'
  752. -.*Error: illegal operands `vfwmacc.vv v4,v2,v5'
  753. -.*Error: illegal operands `vfwmacc.vv v0,v2,v4,v0.t'
  754. -.*Error: illegal operands `vfwmacc.vf v1,fa1,v2'
  755. -.*Error: illegal operands `vfwmacc.vf v2,fa1,v2'
  756. -.*Error: illegal operands `vfwmacc.vf v2,fa1,v3'
  757. -.*Error: illegal operands `vfwmacc.vf v0,fa1,v2,v0.t'
  758. -.*Error: illegal operands `vfwnmacc.vv v1,v2,v4'
  759. -.*Error: illegal operands `vfwnmacc.vv v2,v2,v4'
  760. -.*Error: illegal operands `vfwnmacc.vv v2,v3,v4'
  761. -.*Error: illegal operands `vfwnmacc.vv v4,v2,v4'
  762. -.*Error: illegal operands `vfwnmacc.vv v4,v2,v5'
  763. -.*Error: illegal operands `vfwnmacc.vv v0,v2,v4,v0.t'
  764. -.*Error: illegal operands `vfwnmacc.vf v1,fa1,v2'
  765. -.*Error: illegal operands `vfwnmacc.vf v2,fa1,v2'
  766. -.*Error: illegal operands `vfwnmacc.vf v2,fa1,v3'
  767. -.*Error: illegal operands `vfwnmacc.vf v0,fa1,v2,v0.t'
  768. -.*Error: illegal operands `vfwmsac.vv v1,v2,v4'
  769. -.*Error: illegal operands `vfwmsac.vv v2,v2,v4'
  770. -.*Error: illegal operands `vfwmsac.vv v2,v3,v4'
  771. -.*Error: illegal operands `vfwmsac.vv v4,v2,v4'
  772. -.*Error: illegal operands `vfwmsac.vv v4,v2,v5'
  773. -.*Error: illegal operands `vfwmsac.vv v0,v2,v4,v0.t'
  774. -.*Error: illegal operands `vfwmsac.vf v1,fa1,v2'
  775. -.*Error: illegal operands `vfwmsac.vf v2,fa1,v2'
  776. -.*Error: illegal operands `vfwmsac.vf v2,fa1,v3'
  777. -.*Error: illegal operands `vfwmsac.vf v0,fa1,v2,v0.t'
  778. -.*Error: illegal operands `vfwnmsac.vv v1,v2,v4'
  779. -.*Error: illegal operands `vfwnmsac.vv v2,v2,v4'
  780. -.*Error: illegal operands `vfwnmsac.vv v2,v3,v4'
  781. -.*Error: illegal operands `vfwnmsac.vv v4,v2,v4'
  782. -.*Error: illegal operands `vfwnmsac.vv v4,v2,v5'
  783. -.*Error: illegal operands `vfwnmsac.vv v0,v2,v4,v0.t'
  784. -.*Error: illegal operands `vfwnmsac.vf v1,fa1,v2'
  785. -.*Error: illegal operands `vfwnmsac.vf v2,fa1,v2'
  786. -.*Error: illegal operands `vfwnmsac.vf v2,fa1,v3'
  787. -.*Error: illegal operands `vfwnmsac.vf v0,fa1,v2,v0.t'
  788. -.*Error: illegal operands `vfwcvt.xu.f.v v1,v2'
  789. -.*Error: illegal operands `vfwcvt.xu.f.v v2,v2'
  790. -.*Error: illegal operands `vfwcvt.xu.f.v v2,v3'
  791. -.*Error: illegal operands `vfwcvt.xu.f.v v0,v2,v0.t'
  792. -.*Error: illegal operands `vfwcvt.x.f.v v1,v2'
  793. -.*Error: illegal operands `vfwcvt.x.f.v v2,v2'
  794. -.*Error: illegal operands `vfwcvt.x.f.v v2,v3'
  795. -.*Error: illegal operands `vfwcvt.x.f.v v0,v2,v0.t'
  796. -.*Error: illegal operands `vfwcvt.rtz.xu.f.v v1,v2'
  797. -.*Error: illegal operands `vfwcvt.rtz.xu.f.v v2,v2'
  798. -.*Error: illegal operands `vfwcvt.rtz.xu.f.v v2,v3'
  799. -.*Error: illegal operands `vfwcvt.rtz.xu.f.v v0,v2,v0.t'
  800. -.*Error: illegal operands `vfwcvt.rtz.x.f.v v1,v2'
  801. -.*Error: illegal operands `vfwcvt.rtz.x.f.v v2,v2'
  802. -.*Error: illegal operands `vfwcvt.rtz.x.f.v v2,v3'
  803. -.*Error: illegal operands `vfwcvt.rtz.x.f.v v0,v2,v0.t'
  804. -.*Error: illegal operands `vfwcvt.f.xu.v v1,v2'
  805. -.*Error: illegal operands `vfwcvt.f.xu.v v2,v2'
  806. -.*Error: illegal operands `vfwcvt.f.xu.v v2,v3'
  807. -.*Error: illegal operands `vfwcvt.f.xu.v v0,v2,v0.t'
  808. -.*Error: illegal operands `vfwcvt.f.x.v v1,v2'
  809. -.*Error: illegal operands `vfwcvt.f.x.v v2,v2'
  810. -.*Error: illegal operands `vfwcvt.f.x.v v2,v3'
  811. -.*Error: illegal operands `vfwcvt.f.x.v v0,v2,v0.t'
  812. -.*Error: illegal operands `vfwcvt.f.f.v v1,v2'
  813. -.*Error: illegal operands `vfwcvt.f.f.v v2,v2'
  814. -.*Error: illegal operands `vfwcvt.f.f.v v2,v3'
  815. -.*Error: illegal operands `vfwcvt.f.f.v v0,v2,v0.t'
  816. +.*Error: illegal operands vd must be multiple of 2 `vwcvtu.x.x.v v1,v2'
  817. +.*Error: illegal operands vd cannot overlap vs2 `vwcvtu.x.x.v v2,v2'
  818. +.*Error: illegal operands vd cannot overlap vs2 `vwcvtu.x.x.v v2,v3'
  819. +.*Error: illegal operands vd cannot overlap vm `vwcvtu.x.x.v v0,v2,v0.t'
  820. +.*Error: illegal operands vd must be multiple of 2 `vwcvt.x.x.v v1,v2'
  821. +.*Error: illegal operands vd cannot overlap vs2 `vwcvt.x.x.v v2,v2'
  822. +.*Error: illegal operands vd cannot overlap vs2 `vwcvt.x.x.v v2,v3'
  823. +.*Error: illegal operands vd cannot overlap vm `vwcvt.x.x.v v0,v2,v0.t'
  824. +.*Error: illegal operands vd must be multiple of 2 `vwaddu.vv v1,v2,v4'
  825. +.*Error: illegal operands vd cannot overlap vs2 `vwaddu.vv v2,v2,v4'
  826. +.*Error: illegal operands vd cannot overlap vs2 `vwaddu.vv v2,v3,v4'
  827. +.*Error: illegal operands vd cannot overlap vs1 `vwaddu.vv v4,v2,v4'
  828. +.*Error: illegal operands vd cannot overlap vs1 `vwaddu.vv v4,v2,v5'
  829. +.*Error: illegal operands vd cannot overlap vm `vwaddu.vv v0,v2,v4,v0.t'
  830. +.*Error: illegal operands vd must be multiple of 2 `vwaddu.vx v1,v2,a1'
  831. +.*Error: illegal operands vd cannot overlap vs2 `vwaddu.vx v2,v2,a1'
  832. +.*Error: illegal operands vd cannot overlap vs2 `vwaddu.vx v2,v3,a1'
  833. +.*Error: illegal operands vd cannot overlap vm `vwaddu.vx v0,v2,a1,v0.t'
  834. +.*Error: illegal operands vd must be multiple of 2 `vwaddu.wv v1,v2,v4'
  835. +.*Error: illegal operands vs2 must be multiple of 2 `vwaddu.wv v2,v3,v4'
  836. +.*Error: illegal operands vd cannot overlap vs1 `vwaddu.wv v4,v2,v4'
  837. +.*Error: illegal operands vd cannot overlap vs1 `vwaddu.wv v4,v2,v5'
  838. +.*Error: illegal operands vd cannot overlap vm `vwaddu.wv v0,v2,v4,v0.t'
  839. +.*Error: illegal operands vd must be multiple of 2 `vwaddu.wx v1,v2,a1'
  840. +.*Error: illegal operands vs2 must be multiple of 2 `vwaddu.wx v2,v3,a1'
  841. +.*Error: illegal operands vd cannot overlap vm `vwaddu.wx v0,v2,a1,v0.t'
  842. +.*Error: illegal operands vd must be multiple of 2 `vwsubu.vv v1,v2,v4'
  843. +.*Error: illegal operands vd cannot overlap vs2 `vwsubu.vv v2,v2,v4'
  844. +.*Error: illegal operands vd cannot overlap vs2 `vwsubu.vv v2,v3,v4'
  845. +.*Error: illegal operands vd cannot overlap vs1 `vwsubu.vv v4,v2,v4'
  846. +.*Error: illegal operands vd cannot overlap vs1 `vwsubu.vv v4,v2,v5'
  847. +.*Error: illegal operands vd cannot overlap vm `vwsubu.vv v0,v2,v4,v0.t'
  848. +.*Error: illegal operands vd must be multiple of 2 `vwsubu.vx v1,v2,a1'
  849. +.*Error: illegal operands vd cannot overlap vs2 `vwsubu.vx v2,v2,a1'
  850. +.*Error: illegal operands vd cannot overlap vs2 `vwsubu.vx v2,v3,a1'
  851. +.*Error: illegal operands vd cannot overlap vm `vwsubu.vx v0,v2,a1,v0.t'
  852. +.*Error: illegal operands vd must be multiple of 2 `vwsubu.wv v1,v2,v4'
  853. +.*Error: illegal operands vs2 must be multiple of 2 `vwsubu.wv v2,v3,v4'
  854. +.*Error: illegal operands vd cannot overlap vs1 `vwsubu.wv v4,v2,v4'
  855. +.*Error: illegal operands vd cannot overlap vs1 `vwsubu.wv v4,v2,v5'
  856. +.*Error: illegal operands vd cannot overlap vm `vwsubu.wv v0,v2,v4,v0.t'
  857. +.*Error: illegal operands vd must be multiple of 2 `vwsubu.wx v1,v2,a1'
  858. +.*Error: illegal operands vs2 must be multiple of 2 `vwsubu.wx v2,v3,a1'
  859. +.*Error: illegal operands vd cannot overlap vm `vwsubu.wx v0,v2,a1,v0.t'
  860. +.*Error: illegal operands vd must be multiple of 2 `vwadd.vv v1,v2,v4'
  861. +.*Error: illegal operands vd cannot overlap vs2 `vwadd.vv v2,v2,v4'
  862. +.*Error: illegal operands vd cannot overlap vs2 `vwadd.vv v2,v3,v4'
  863. +.*Error: illegal operands vd cannot overlap vs1 `vwadd.vv v4,v2,v4'
  864. +.*Error: illegal operands vd cannot overlap vs1 `vwadd.vv v4,v2,v5'
  865. +.*Error: illegal operands vd cannot overlap vm `vwadd.vv v0,v2,v4,v0.t'
  866. +.*Error: illegal operands vd must be multiple of 2 `vwadd.vx v1,v2,a1'
  867. +.*Error: illegal operands vd cannot overlap vs2 `vwadd.vx v2,v2,a1'
  868. +.*Error: illegal operands vd cannot overlap vs2 `vwadd.vx v2,v3,a1'
  869. +.*Error: illegal operands vd cannot overlap vm `vwadd.vx v0,v2,a1,v0.t'
  870. +.*Error: illegal operands vd must be multiple of 2 `vwadd.wv v1,v2,v4'
  871. +.*Error: illegal operands vs2 must be multiple of 2 `vwadd.wv v2,v3,v4'
  872. +.*Error: illegal operands vd cannot overlap vs1 `vwadd.wv v4,v2,v4'
  873. +.*Error: illegal operands vd cannot overlap vs1 `vwadd.wv v4,v2,v5'
  874. +.*Error: illegal operands vd cannot overlap vm `vwadd.wv v0,v2,v4,v0.t'
  875. +.*Error: illegal operands vd must be multiple of 2 `vwadd.wx v1,v2,a1'
  876. +.*Error: illegal operands vs2 must be multiple of 2 `vwadd.wx v2,v3,a1'
  877. +.*Error: illegal operands vd cannot overlap vm `vwadd.wx v0,v2,a1,v0.t'
  878. +.*Error: illegal operands vd must be multiple of 2 `vwsub.vv v1,v2,v4'
  879. +.*Error: illegal operands vd cannot overlap vs2 `vwsub.vv v2,v2,v4'
  880. +.*Error: illegal operands vd cannot overlap vs2 `vwsub.vv v2,v3,v4'
  881. +.*Error: illegal operands vd cannot overlap vs1 `vwsub.vv v4,v2,v4'
  882. +.*Error: illegal operands vd cannot overlap vs1 `vwsub.vv v4,v2,v5'
  883. +.*Error: illegal operands vd cannot overlap vm `vwsub.vv v0,v2,v4,v0.t'
  884. +.*Error: illegal operands vd must be multiple of 2 `vwsub.vx v1,v2,a1'
  885. +.*Error: illegal operands vd cannot overlap vs2 `vwsub.vx v2,v2,a1'
  886. +.*Error: illegal operands vd cannot overlap vs2 `vwsub.vx v2,v3,a1'
  887. +.*Error: illegal operands vd cannot overlap vm `vwsub.vx v0,v2,a1,v0.t'
  888. +.*Error: illegal operands vd must be multiple of 2 `vwsub.wv v1,v2,v4'
  889. +.*Error: illegal operands vs2 must be multiple of 2 `vwsub.wv v2,v3,v4'
  890. +.*Error: illegal operands vd cannot overlap vs1 `vwsub.wv v4,v2,v4'
  891. +.*Error: illegal operands vd cannot overlap vs1 `vwsub.wv v4,v2,v5'
  892. +.*Error: illegal operands vd cannot overlap vm `vwsub.wv v0,v2,v4,v0.t'
  893. +.*Error: illegal operands vd must be multiple of 2 `vwsub.wx v1,v2,a1'
  894. +.*Error: illegal operands vs2 must be multiple of 2 `vwsub.wx v2,v3,a1'
  895. +.*Error: illegal operands vd cannot overlap vm `vwsub.wx v0,v2,a1,v0.t'
  896. +.*Error: illegal operands vd must be multiple of 2 `vwmul.vv v1,v2,v4'
  897. +.*Error: illegal operands vd cannot overlap vs2 `vwmul.vv v2,v2,v4'
  898. +.*Error: illegal operands vd cannot overlap vs2 `vwmul.vv v2,v3,v4'
  899. +.*Error: illegal operands vd cannot overlap vs1 `vwmul.vv v4,v2,v4'
  900. +.*Error: illegal operands vd cannot overlap vs1 `vwmul.vv v4,v2,v5'
  901. +.*Error: illegal operands vd cannot overlap vm `vwmul.vv v0,v2,v4,v0.t'
  902. +.*Error: illegal operands vd must be multiple of 2 `vwmul.vx v1,v2,a1'
  903. +.*Error: illegal operands vd cannot overlap vs2 `vwmul.vx v2,v2,a1'
  904. +.*Error: illegal operands vd cannot overlap vs2 `vwmul.vx v2,v3,a1'
  905. +.*Error: illegal operands vd cannot overlap vm `vwmul.vx v0,v2,a1,v0.t'
  906. +.*Error: illegal operands vd must be multiple of 2 `vwmulu.vv v1,v2,v4'
  907. +.*Error: illegal operands vd cannot overlap vs2 `vwmulu.vv v2,v2,v4'
  908. +.*Error: illegal operands vd cannot overlap vs2 `vwmulu.vv v2,v3,v4'
  909. +.*Error: illegal operands vd cannot overlap vs1 `vwmulu.vv v4,v2,v4'
  910. +.*Error: illegal operands vd cannot overlap vs1 `vwmulu.vv v4,v2,v5'
  911. +.*Error: illegal operands vd cannot overlap vm `vwmulu.vv v0,v2,v4,v0.t'
  912. +.*Error: illegal operands vd must be multiple of 2 `vwmulu.vx v1,v2,a1'
  913. +.*Error: illegal operands vd cannot overlap vs2 `vwmulu.vx v2,v2,a1'
  914. +.*Error: illegal operands vd cannot overlap vs2 `vwmulu.vx v2,v3,a1'
  915. +.*Error: illegal operands vd cannot overlap vm `vwmulu.vx v0,v2,a1,v0.t'
  916. +.*Error: illegal operands vd must be multiple of 2 `vwmulsu.vv v1,v2,v4'
  917. +.*Error: illegal operands vd cannot overlap vs2 `vwmulsu.vv v2,v2,v4'
  918. +.*Error: illegal operands vd cannot overlap vs2 `vwmulsu.vv v2,v3,v4'
  919. +.*Error: illegal operands vd cannot overlap vs1 `vwmulsu.vv v4,v2,v4'
  920. +.*Error: illegal operands vd cannot overlap vs1 `vwmulsu.vv v4,v2,v5'
  921. +.*Error: illegal operands vd cannot overlap vm `vwmulsu.vv v0,v2,v4,v0.t'
  922. +.*Error: illegal operands vd must be multiple of 2 `vwmulsu.vx v1,v2,a1'
  923. +.*Error: illegal operands vd cannot overlap vs2 `vwmulsu.vx v2,v2,a1'
  924. +.*Error: illegal operands vd cannot overlap vs2 `vwmulsu.vx v2,v3,a1'
  925. +.*Error: illegal operands vd cannot overlap vm `vwmulsu.vx v0,v2,a1,v0.t'
  926. +.*Error: illegal operands vd must be multiple of 2 `vwmaccu.vv v1,v2,v4'
  927. +.*Error: illegal operands vd cannot overlap vs1 `vwmaccu.vv v2,v2,v4'
  928. +.*Error: illegal operands vd cannot overlap vs1 `vwmaccu.vv v2,v3,v4'
  929. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccu.vv v4,v2,v4'
  930. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccu.vv v4,v2,v5'
  931. +.*Error: illegal operands vd cannot overlap vm `vwmaccu.vv v0,v2,v4,v0.t'
  932. +.*Error: illegal operands vd must be multiple of 2 `vwmaccu.vx v1,a1,v2'
  933. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccu.vx v2,a1,v2'
  934. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccu.vx v2,a1,v3'
  935. +.*Error: illegal operands vd cannot overlap vm `vwmaccu.vx v0,a1,v2,v0.t'
  936. +.*Error: illegal operands vd must be multiple of 2 `vwmacc.vv v1,v2,v4'
  937. +.*Error: illegal operands vd cannot overlap vs1 `vwmacc.vv v2,v2,v4'
  938. +.*Error: illegal operands vd cannot overlap vs1 `vwmacc.vv v2,v3,v4'
  939. +.*Error: illegal operands vd cannot overlap vs2 `vwmacc.vv v4,v2,v4'
  940. +.*Error: illegal operands vd cannot overlap vs2 `vwmacc.vv v4,v2,v5'
  941. +.*Error: illegal operands vd cannot overlap vm `vwmacc.vv v0,v2,v4,v0.t'
  942. +.*Error: illegal operands vd must be multiple of 2 `vwmacc.vx v1,a1,v2'
  943. +.*Error: illegal operands vd cannot overlap vs2 `vwmacc.vx v2,a1,v2'
  944. +.*Error: illegal operands vd cannot overlap vs2 `vwmacc.vx v2,a1,v3'
  945. +.*Error: illegal operands vd cannot overlap vm `vwmacc.vx v0,a1,v2,v0.t'
  946. +.*Error: illegal operands vd must be multiple of 2 `vwmaccsu.vv v1,v2,v4'
  947. +.*Error: illegal operands vd cannot overlap vs1 `vwmaccsu.vv v2,v2,v4'
  948. +.*Error: illegal operands vd cannot overlap vs1 `vwmaccsu.vv v2,v3,v4'
  949. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccsu.vv v4,v2,v4'
  950. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccsu.vv v4,v2,v5'
  951. +.*Error: illegal operands vd cannot overlap vm `vwmaccsu.vv v0,v2,v4,v0.t'
  952. +.*Error: illegal operands vd must be multiple of 2 `vwmaccsu.vx v1,a1,v2'
  953. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccsu.vx v2,a1,v2'
  954. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccsu.vx v2,a1,v3'
  955. +.*Error: illegal operands vd cannot overlap vm `vwmaccsu.vx v0,a1,v2,v0.t'
  956. +.*Error: illegal operands vd must be multiple of 2 `vwmaccus.vx v1,a1,v2'
  957. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccus.vx v2,a1,v2'
  958. +.*Error: illegal operands vd cannot overlap vs2 `vwmaccus.vx v2,a1,v3'
  959. +.*Error: illegal operands vd cannot overlap vm `vwmaccus.vx v0,a1,v2,v0.t'
  960. +.*Error: illegal operands vd must be multiple of 2 `vfwadd.vv v1,v2,v4'
  961. +.*Error: illegal operands vd cannot overlap vs2 `vfwadd.vv v2,v2,v4'
  962. +.*Error: illegal operands vd cannot overlap vs2 `vfwadd.vv v2,v3,v4'
  963. +.*Error: illegal operands vd cannot overlap vs1 `vfwadd.vv v4,v2,v4'
  964. +.*Error: illegal operands vd cannot overlap vs1 `vfwadd.vv v4,v2,v5'
  965. +.*Error: illegal operands vd cannot overlap vm `vfwadd.vv v0,v2,v4,v0.t'
  966. +.*Error: illegal operands vd must be multiple of 2 `vfwadd.vf v1,v2,fa1'
  967. +.*Error: illegal operands vd cannot overlap vs2 `vfwadd.vf v2,v2,fa1'
  968. +.*Error: illegal operands vd cannot overlap vs2 `vfwadd.vf v2,v3,fa1'
  969. +.*Error: illegal operands vd cannot overlap vm `vfwadd.vf v0,v2,fa1,v0.t'
  970. +.*Error: illegal operands vd must be multiple of 2 `vfwadd.wv v1,v2,v4'
  971. +.*Error: illegal operands vs2 must be multiple of 2 `vfwadd.wv v2,v3,v4'
  972. +.*Error: illegal operands vd cannot overlap vs1 `vfwadd.wv v4,v2,v4'
  973. +.*Error: illegal operands vd cannot overlap vs1 `vfwadd.wv v4,v2,v5'
  974. +.*Error: illegal operands vd cannot overlap vm `vfwadd.wv v0,v2,v4,v0.t'
  975. +.*Error: illegal operands vd must be multiple of 2 `vfwsub.vv v1,v2,v4'
  976. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vv v2,v2,v4'
  977. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vv v2,v3,v4'
  978. +.*Error: illegal operands vd cannot overlap vs1 `vfwsub.vv v4,v2,v4'
  979. +.*Error: illegal operands vd cannot overlap vs1 `vfwsub.vv v4,v2,v5'
  980. +.*Error: illegal operands vd cannot overlap vm `vfwsub.vv v0,v2,v4,v0.t'
  981. +.*Error: illegal operands vd must be multiple of 2 `vfwsub.vf v1,v2,fa1'
  982. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vf v2,v2,fa1'
  983. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vf v2,v3,fa1'
  984. +.*Error: illegal operands vd cannot overlap vm `vfwsub.vf v0,v2,fa1,v0.t'
  985. +.*Error: illegal operands vd must be multiple of 2 `vfwsub.wv v1,v2,v4'
  986. +.*Error: illegal operands vs2 must be multiple of 2 `vfwsub.wv v2,v3,v4'
  987. +.*Error: illegal operands vd cannot overlap vs1 `vfwsub.wv v4,v2,v4'
  988. +.*Error: illegal operands vd cannot overlap vs1 `vfwsub.wv v4,v2,v5'
  989. +.*Error: illegal operands vd cannot overlap vm `vfwsub.wv v0,v2,v4,v0.t'
  990. +.*Error: illegal operands vd must be multiple of 2 `vfwmul.vv v1,v2,v4'
  991. +.*Error: illegal operands vd cannot overlap vs2 `vfwmul.vv v2,v2,v4'
  992. +.*Error: illegal operands vd cannot overlap vs2 `vfwmul.vv v2,v3,v4'
  993. +.*Error: illegal operands vd cannot overlap vs1 `vfwmul.vv v4,v2,v4'
  994. +.*Error: illegal operands vd cannot overlap vs1 `vfwmul.vv v4,v2,v5'
  995. +.*Error: illegal operands vd cannot overlap vm `vfwmul.vv v0,v2,v4,v0.t'
  996. +.*Error: illegal operands vd must be multiple of 2 `vfwsub.vf v1,v2,fa1'
  997. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vf v2,v2,fa1'
  998. +.*Error: illegal operands vd cannot overlap vs2 `vfwsub.vf v2,v3,fa1'
  999. +.*Error: illegal operands vd cannot overlap vm `vfwsub.vf v0,v2,fa1,v0.t'
  1000. +.*Error: illegal operands vd must be multiple of 2 `vfwmacc.vv v1,v2,v4'
  1001. +.*Error: illegal operands vd cannot overlap vs1 `vfwmacc.vv v2,v2,v4'
  1002. +.*Error: illegal operands vd cannot overlap vs1 `vfwmacc.vv v2,v3,v4'
  1003. +.*Error: illegal operands vd cannot overlap vs2 `vfwmacc.vv v4,v2,v4'
  1004. +.*Error: illegal operands vd cannot overlap vs2 `vfwmacc.vv v4,v2,v5'
  1005. +.*Error: illegal operands vd cannot overlap vm `vfwmacc.vv v0,v2,v4,v0.t'
  1006. +.*Error: illegal operands vd must be multiple of 2 `vfwmacc.vf v1,fa1,v2'
  1007. +.*Error: illegal operands vd cannot overlap vs2 `vfwmacc.vf v2,fa1,v2'
  1008. +.*Error: illegal operands vd cannot overlap vs2 `vfwmacc.vf v2,fa1,v3'
  1009. +.*Error: illegal operands vd cannot overlap vm `vfwmacc.vf v0,fa1,v2,v0.t'
  1010. +.*Error: illegal operands vd must be multiple of 2 `vfwnmacc.vv v1,v2,v4'
  1011. +.*Error: illegal operands vd cannot overlap vs1 `vfwnmacc.vv v2,v2,v4'
  1012. +.*Error: illegal operands vd cannot overlap vs1 `vfwnmacc.vv v2,v3,v4'
  1013. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmacc.vv v4,v2,v4'
  1014. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmacc.vv v4,v2,v5'
  1015. +.*Error: illegal operands vd cannot overlap vm `vfwnmacc.vv v0,v2,v4,v0.t'
  1016. +.*Error: illegal operands vd must be multiple of 2 `vfwnmacc.vf v1,fa1,v2'
  1017. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmacc.vf v2,fa1,v2'
  1018. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmacc.vf v2,fa1,v3'
  1019. +.*Error: illegal operands vd cannot overlap vm `vfwnmacc.vf v0,fa1,v2,v0.t'
  1020. +.*Error: illegal operands vd must be multiple of 2 `vfwmsac.vv v1,v2,v4'
  1021. +.*Error: illegal operands vd cannot overlap vs1 `vfwmsac.vv v2,v2,v4'
  1022. +.*Error: illegal operands vd cannot overlap vs1 `vfwmsac.vv v2,v3,v4'
  1023. +.*Error: illegal operands vd cannot overlap vs2 `vfwmsac.vv v4,v2,v4'
  1024. +.*Error: illegal operands vd cannot overlap vs2 `vfwmsac.vv v4,v2,v5'
  1025. +.*Error: illegal operands vd cannot overlap vm `vfwmsac.vv v0,v2,v4,v0.t'
  1026. +.*Error: illegal operands vd must be multiple of 2 `vfwmsac.vf v1,fa1,v2'
  1027. +.*Error: illegal operands vd cannot overlap vs2 `vfwmsac.vf v2,fa1,v2'
  1028. +.*Error: illegal operands vd cannot overlap vs2 `vfwmsac.vf v2,fa1,v3'
  1029. +.*Error: illegal operands vd cannot overlap vm `vfwmsac.vf v0,fa1,v2,v0.t'
  1030. +.*Error: illegal operands vd must be multiple of 2 `vfwnmsac.vv v1,v2,v4'
  1031. +.*Error: illegal operands vd cannot overlap vs1 `vfwnmsac.vv v2,v2,v4'
  1032. +.*Error: illegal operands vd cannot overlap vs1 `vfwnmsac.vv v2,v3,v4'
  1033. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmsac.vv v4,v2,v4'
  1034. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmsac.vv v4,v2,v5'
  1035. +.*Error: illegal operands vd cannot overlap vm `vfwnmsac.vv v0,v2,v4,v0.t'
  1036. +.*Error: illegal operands vd must be multiple of 2 `vfwnmsac.vf v1,fa1,v2'
  1037. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmsac.vf v2,fa1,v2'
  1038. +.*Error: illegal operands vd cannot overlap vs2 `vfwnmsac.vf v2,fa1,v3'
  1039. +.*Error: illegal operands vd cannot overlap vm `vfwnmsac.vf v0,fa1,v2,v0.t'
  1040. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.xu.f.v v1,v2'
  1041. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.xu.f.v v2,v2'
  1042. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.xu.f.v v2,v3'
  1043. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.xu.f.v v0,v2,v0.t'
  1044. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.x.f.v v1,v2'
  1045. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.x.f.v v2,v2'
  1046. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.x.f.v v2,v3'
  1047. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.x.f.v v0,v2,v0.t'
  1048. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.rtz.xu.f.v v1,v2'
  1049. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.rtz.xu.f.v v2,v2'
  1050. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.rtz.xu.f.v v2,v3'
  1051. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.rtz.xu.f.v v0,v2,v0.t'
  1052. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.rtz.x.f.v v1,v2'
  1053. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.rtz.x.f.v v2,v2'
  1054. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.rtz.x.f.v v2,v3'
  1055. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.rtz.x.f.v v0,v2,v0.t'
  1056. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.f.xu.v v1,v2'
  1057. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.xu.v v2,v2'
  1058. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.xu.v v2,v3'
  1059. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.f.xu.v v0,v2,v0.t'
  1060. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.f.x.v v1,v2'
  1061. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.x.v v2,v2'
  1062. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.x.v v2,v3'
  1063. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.f.x.v v0,v2,v0.t'
  1064. +.*Error: illegal operands vd must be multiple of 2 `vfwcvt.f.f.v v1,v2'
  1065. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.f.v v2,v2'
  1066. +.*Error: illegal operands vd cannot overlap vs2 `vfwcvt.f.f.v v2,v3'
  1067. +.*Error: illegal operands vd cannot overlap vm `vfwcvt.f.f.v v0,v2,v0.t'
  1068. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-load-store.l b/gas/testsuite/gas/riscv/vector-insns-fail-load-store.l
  1069. index 406d79e2b2..3e2a24390b 100644
  1070. --- a/gas/testsuite/gas/riscv/vector-insns-fail-load-store.l
  1071. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-load-store.l
  1072. @@ -1,587 +1,587 @@
  1073. .*: Assembler messages:
  1074. -.*Error: illegal operands `vle8.v v0,\(a0\),v0.t'
  1075. -.*Error: illegal operands `vle8ff.v v0,\(a0\),v0.t'
  1076. -.*Error: illegal operands `vle16.v v0,\(a0\),v0.t'
  1077. -.*Error: illegal operands `vle16ff.v v0,\(a0\),v0.t'
  1078. -.*Error: illegal operands `vle32.v v0,\(a0\),v0.t'
  1079. -.*Error: illegal operands `vle32ff.v v0,\(a0\),v0.t'
  1080. -.*Error: illegal operands `vle64.v v0,\(a0\),v0.t'
  1081. -.*Error: illegal operands `vle64ff.v v0,\(a0\),v0.t'
  1082. -.*Error: illegal operands `vle128.v v0,\(a0\),v0.t'
  1083. -.*Error: illegal operands `vle128ff.v v0,\(a0\),v0.t'
  1084. -.*Error: illegal operands `vle256.v v0,\(a0\),v0.t'
  1085. -.*Error: illegal operands `vle256ff.v v0,\(a0\),v0.t'
  1086. -.*Error: illegal operands `vle512.v v0,\(a0\),v0.t'
  1087. -.*Error: illegal operands `vle512ff.v v0,\(a0\),v0.t'
  1088. -.*Error: illegal operands `vle1024.v v0,\(a0\),v0.t'
  1089. -.*Error: illegal operands `vle1024ff.v v0,\(a0\),v0.t'
  1090. -.*Error: illegal operands `vse8.v v0,\(a0\),v0.t'
  1091. -.*Error: illegal operands `vse16.v v0,\(a0\),v0.t'
  1092. -.*Error: illegal operands `vse32.v v0,\(a0\),v0.t'
  1093. -.*Error: illegal operands `vse64.v v0,\(a0\),v0.t'
  1094. -.*Error: illegal operands `vse128.v v0,\(a0\),v0.t'
  1095. -.*Error: illegal operands `vse256.v v0,\(a0\),v0.t'
  1096. -.*Error: illegal operands `vse512.v v0,\(a0\),v0.t'
  1097. -.*Error: illegal operands `vse1024.v v0,\(a0\),v0.t'
  1098. -.*Error: illegal operands `vlse8.v v0,\(a0\),a1,v0.t'
  1099. -.*Error: illegal operands `vlse16.v v0,\(a0\),a1,v0.t'
  1100. -.*Error: illegal operands `vlse32.v v0,\(a0\),a1,v0.t'
  1101. -.*Error: illegal operands `vlse64.v v0,\(a0\),a1,v0.t'
  1102. -.*Error: illegal operands `vlse128.v v0,\(a0\),a1,v0.t'
  1103. -.*Error: illegal operands `vlse256.v v0,\(a0\),a1,v0.t'
  1104. -.*Error: illegal operands `vlse512.v v0,\(a0\),a1,v0.t'
  1105. -.*Error: illegal operands `vlse1024.v v0,\(a0\),a1,v0.t'
  1106. -.*Error: illegal operands `vsse8.v v0,\(a0\),a1,v0.t'
  1107. -.*Error: illegal operands `vsse16.v v0,\(a0\),a1,v0.t'
  1108. -.*Error: illegal operands `vsse32.v v0,\(a0\),a1,v0.t'
  1109. -.*Error: illegal operands `vsse64.v v0,\(a0\),a1,v0.t'
  1110. -.*Error: illegal operands `vsse128.v v0,\(a0\),a1,v0.t'
  1111. -.*Error: illegal operands `vsse256.v v0,\(a0\),a1,v0.t'
  1112. -.*Error: illegal operands `vsse512.v v0,\(a0\),a1,v0.t'
  1113. -.*Error: illegal operands `vsse1024.v v0,\(a0\),a1,v0.t'
  1114. -.*Error: illegal operands `vlxei8.v v0,\(a0\),v4,v0.t'
  1115. -.*Error: illegal operands `vlxei16.v v0,\(a0\),v4,v0.t'
  1116. -.*Error: illegal operands `vlxei32.v v0,\(a0\),v4,v0.t'
  1117. -.*Error: illegal operands `vlxei64.v v0,\(a0\),v4,v0.t'
  1118. -.*Error: illegal operands `vsxei8.v v0,\(a0\),v4,v0.t'
  1119. -.*Error: illegal operands `vsxei16.v v0,\(a0\),v4,v0.t'
  1120. -.*Error: illegal operands `vsxei32.v v0,\(a0\),v4,v0.t'
  1121. -.*Error: illegal operands `vsxei64.v v0,\(a0\),v4,v0.t'
  1122. -.*Error: illegal operands `vsuxei8.v v0,\(a0\),v4,v0.t'
  1123. -.*Error: illegal operands `vsuxei16.v v0,\(a0\),v4,v0.t'
  1124. -.*Error: illegal operands `vsuxei32.v v0,\(a0\),v4,v0.t'
  1125. -.*Error: illegal operands `vsuxei64.v v0,\(a0\),v4,v0.t'
  1126. -.*Error: illegal operands `vlseg2e8.v v0,\(a0\),v0.t'
  1127. -.*Error: illegal operands `vsseg2e8.v v0,\(a0\),v0.t'
  1128. -.*Error: illegal operands `vlseg2e8ff.v v0,\(a0\),v0.t'
  1129. -.*Error: illegal operands `vlseg3e8.v v0,\(a0\),v0.t'
  1130. -.*Error: illegal operands `vsseg3e8.v v0,\(a0\),v0.t'
  1131. -.*Error: illegal operands `vlseg3e8ff.v v0,\(a0\),v0.t'
  1132. -.*Error: illegal operands `vlseg4e8.v v0,\(a0\),v0.t'
  1133. -.*Error: illegal operands `vsseg4e8.v v0,\(a0\),v0.t'
  1134. -.*Error: illegal operands `vlseg4e8ff.v v0,\(a0\),v0.t'
  1135. -.*Error: illegal operands `vlseg5e8.v v0,\(a0\),v0.t'
  1136. -.*Error: illegal operands `vsseg5e8.v v0,\(a0\),v0.t'
  1137. -.*Error: illegal operands `vlseg5e8ff.v v0,\(a0\),v0.t'
  1138. -.*Error: illegal operands `vlseg6e8.v v0,\(a0\),v0.t'
  1139. -.*Error: illegal operands `vsseg6e8.v v0,\(a0\),v0.t'
  1140. -.*Error: illegal operands `vlseg6e8ff.v v0,\(a0\),v0.t'
  1141. -.*Error: illegal operands `vlseg7e8.v v0,\(a0\),v0.t'
  1142. -.*Error: illegal operands `vsseg7e8.v v0,\(a0\),v0.t'
  1143. -.*Error: illegal operands `vlseg7e8ff.v v0,\(a0\),v0.t'
  1144. -.*Error: illegal operands `vlseg8e8.v v0,\(a0\),v0.t'
  1145. -.*Error: illegal operands `vsseg8e8.v v0,\(a0\),v0.t'
  1146. -.*Error: illegal operands `vlseg8e8ff.v v0,\(a0\),v0.t'
  1147. -.*Error: illegal operands `vlseg2e16.v v0,\(a0\),v0.t'
  1148. -.*Error: illegal operands `vsseg2e16.v v0,\(a0\),v0.t'
  1149. -.*Error: illegal operands `vlseg2e16ff.v v0,\(a0\),v0.t'
  1150. -.*Error: illegal operands `vlseg3e16.v v0,\(a0\),v0.t'
  1151. -.*Error: illegal operands `vsseg3e16.v v0,\(a0\),v0.t'
  1152. -.*Error: illegal operands `vlseg3e16ff.v v0,\(a0\),v0.t'
  1153. -.*Error: illegal operands `vlseg4e16.v v0,\(a0\),v0.t'
  1154. -.*Error: illegal operands `vsseg4e16.v v0,\(a0\),v0.t'
  1155. -.*Error: illegal operands `vlseg4e16ff.v v0,\(a0\),v0.t'
  1156. -.*Error: illegal operands `vlseg5e16.v v0,\(a0\),v0.t'
  1157. -.*Error: illegal operands `vsseg5e16.v v0,\(a0\),v0.t'
  1158. -.*Error: illegal operands `vlseg5e16ff.v v0,\(a0\),v0.t'
  1159. -.*Error: illegal operands `vlseg6e16.v v0,\(a0\),v0.t'
  1160. -.*Error: illegal operands `vsseg6e16.v v0,\(a0\),v0.t'
  1161. -.*Error: illegal operands `vlseg6e16ff.v v0,\(a0\),v0.t'
  1162. -.*Error: illegal operands `vlseg7e16.v v0,\(a0\),v0.t'
  1163. -.*Error: illegal operands `vsseg7e16.v v0,\(a0\),v0.t'
  1164. -.*Error: illegal operands `vlseg7e16ff.v v0,\(a0\),v0.t'
  1165. -.*Error: illegal operands `vlseg8e16.v v0,\(a0\),v0.t'
  1166. -.*Error: illegal operands `vsseg8e16.v v0,\(a0\),v0.t'
  1167. -.*Error: illegal operands `vlseg8e16ff.v v0,\(a0\),v0.t'
  1168. -.*Error: illegal operands `vlseg2e32.v v0,\(a0\),v0.t'
  1169. -.*Error: illegal operands `vsseg2e32.v v0,\(a0\),v0.t'
  1170. -.*Error: illegal operands `vlseg2e32ff.v v0,\(a0\),v0.t'
  1171. -.*Error: illegal operands `vlseg3e32.v v0,\(a0\),v0.t'
  1172. -.*Error: illegal operands `vsseg3e32.v v0,\(a0\),v0.t'
  1173. -.*Error: illegal operands `vlseg3e32ff.v v0,\(a0\),v0.t'
  1174. -.*Error: illegal operands `vlseg4e32.v v0,\(a0\),v0.t'
  1175. -.*Error: illegal operands `vsseg4e32.v v0,\(a0\),v0.t'
  1176. -.*Error: illegal operands `vlseg4e32ff.v v0,\(a0\),v0.t'
  1177. -.*Error: illegal operands `vlseg5e32.v v0,\(a0\),v0.t'
  1178. -.*Error: illegal operands `vsseg5e32.v v0,\(a0\),v0.t'
  1179. -.*Error: illegal operands `vlseg5e32ff.v v0,\(a0\),v0.t'
  1180. -.*Error: illegal operands `vlseg6e32.v v0,\(a0\),v0.t'
  1181. -.*Error: illegal operands `vsseg6e32.v v0,\(a0\),v0.t'
  1182. -.*Error: illegal operands `vlseg6e32ff.v v0,\(a0\),v0.t'
  1183. -.*Error: illegal operands `vlseg7e32.v v0,\(a0\),v0.t'
  1184. -.*Error: illegal operands `vsseg7e32.v v0,\(a0\),v0.t'
  1185. -.*Error: illegal operands `vlseg7e32ff.v v0,\(a0\),v0.t'
  1186. -.*Error: illegal operands `vlseg8e32.v v0,\(a0\),v0.t'
  1187. -.*Error: illegal operands `vsseg8e32.v v0,\(a0\),v0.t'
  1188. -.*Error: illegal operands `vlseg8e32ff.v v0,\(a0\),v0.t'
  1189. -.*Error: illegal operands `vlseg2e64.v v0,\(a0\),v0.t'
  1190. -.*Error: illegal operands `vsseg2e64.v v0,\(a0\),v0.t'
  1191. -.*Error: illegal operands `vlseg2e64ff.v v0,\(a0\),v0.t'
  1192. -.*Error: illegal operands `vlseg3e64.v v0,\(a0\),v0.t'
  1193. -.*Error: illegal operands `vsseg3e64.v v0,\(a0\),v0.t'
  1194. -.*Error: illegal operands `vlseg3e64ff.v v0,\(a0\),v0.t'
  1195. -.*Error: illegal operands `vlseg4e64.v v0,\(a0\),v0.t'
  1196. -.*Error: illegal operands `vsseg4e64.v v0,\(a0\),v0.t'
  1197. -.*Error: illegal operands `vlseg4e64ff.v v0,\(a0\),v0.t'
  1198. -.*Error: illegal operands `vlseg5e64.v v0,\(a0\),v0.t'
  1199. -.*Error: illegal operands `vsseg5e64.v v0,\(a0\),v0.t'
  1200. -.*Error: illegal operands `vlseg5e64ff.v v0,\(a0\),v0.t'
  1201. -.*Error: illegal operands `vlseg6e64.v v0,\(a0\),v0.t'
  1202. -.*Error: illegal operands `vsseg6e64.v v0,\(a0\),v0.t'
  1203. -.*Error: illegal operands `vlseg6e64ff.v v0,\(a0\),v0.t'
  1204. -.*Error: illegal operands `vlseg7e64.v v0,\(a0\),v0.t'
  1205. -.*Error: illegal operands `vsseg7e64.v v0,\(a0\),v0.t'
  1206. -.*Error: illegal operands `vlseg7e64ff.v v0,\(a0\),v0.t'
  1207. -.*Error: illegal operands `vlseg8e64.v v0,\(a0\),v0.t'
  1208. -.*Error: illegal operands `vsseg8e64.v v0,\(a0\),v0.t'
  1209. -.*Error: illegal operands `vlseg8e64ff.v v0,\(a0\),v0.t'
  1210. -.*Error: illegal operands `vlseg2e128.v v0,\(a0\),v0.t'
  1211. -.*Error: illegal operands `vsseg2e128.v v0,\(a0\),v0.t'
  1212. -.*Error: illegal operands `vlseg2e128ff.v v0,\(a0\),v0.t'
  1213. -.*Error: illegal operands `vlseg3e128.v v0,\(a0\),v0.t'
  1214. -.*Error: illegal operands `vsseg3e128.v v0,\(a0\),v0.t'
  1215. -.*Error: illegal operands `vlseg3e128ff.v v0,\(a0\),v0.t'
  1216. -.*Error: illegal operands `vlseg4e128.v v0,\(a0\),v0.t'
  1217. -.*Error: illegal operands `vsseg4e128.v v0,\(a0\),v0.t'
  1218. -.*Error: illegal operands `vlseg4e128ff.v v0,\(a0\),v0.t'
  1219. -.*Error: illegal operands `vlseg5e128.v v0,\(a0\),v0.t'
  1220. -.*Error: illegal operands `vsseg5e128.v v0,\(a0\),v0.t'
  1221. -.*Error: illegal operands `vlseg5e128ff.v v0,\(a0\),v0.t'
  1222. -.*Error: illegal operands `vlseg6e128.v v0,\(a0\),v0.t'
  1223. -.*Error: illegal operands `vsseg6e128.v v0,\(a0\),v0.t'
  1224. -.*Error: illegal operands `vlseg6e128ff.v v0,\(a0\),v0.t'
  1225. -.*Error: illegal operands `vlseg7e128.v v0,\(a0\),v0.t'
  1226. -.*Error: illegal operands `vsseg7e128.v v0,\(a0\),v0.t'
  1227. -.*Error: illegal operands `vlseg7e128ff.v v0,\(a0\),v0.t'
  1228. -.*Error: illegal operands `vlseg8e128.v v0,\(a0\),v0.t'
  1229. -.*Error: illegal operands `vsseg8e128.v v0,\(a0\),v0.t'
  1230. -.*Error: illegal operands `vlseg8e128ff.v v0,\(a0\),v0.t'
  1231. -.*Error: illegal operands `vlseg2e256.v v0,\(a0\),v0.t'
  1232. -.*Error: illegal operands `vsseg2e256.v v0,\(a0\),v0.t'
  1233. -.*Error: illegal operands `vlseg2e256ff.v v0,\(a0\),v0.t'
  1234. -.*Error: illegal operands `vlseg3e256.v v0,\(a0\),v0.t'
  1235. -.*Error: illegal operands `vsseg3e256.v v0,\(a0\),v0.t'
  1236. -.*Error: illegal operands `vlseg3e256ff.v v0,\(a0\),v0.t'
  1237. -.*Error: illegal operands `vlseg4e256.v v0,\(a0\),v0.t'
  1238. -.*Error: illegal operands `vsseg4e256.v v0,\(a0\),v0.t'
  1239. -.*Error: illegal operands `vlseg4e256ff.v v0,\(a0\),v0.t'
  1240. -.*Error: illegal operands `vlseg5e256.v v0,\(a0\),v0.t'
  1241. -.*Error: illegal operands `vsseg5e256.v v0,\(a0\),v0.t'
  1242. -.*Error: illegal operands `vlseg5e256ff.v v0,\(a0\),v0.t'
  1243. -.*Error: illegal operands `vlseg6e256.v v0,\(a0\),v0.t'
  1244. -.*Error: illegal operands `vsseg6e256.v v0,\(a0\),v0.t'
  1245. -.*Error: illegal operands `vlseg6e256ff.v v0,\(a0\),v0.t'
  1246. -.*Error: illegal operands `vlseg7e256.v v0,\(a0\),v0.t'
  1247. -.*Error: illegal operands `vsseg7e256.v v0,\(a0\),v0.t'
  1248. -.*Error: illegal operands `vlseg7e256ff.v v0,\(a0\),v0.t'
  1249. -.*Error: illegal operands `vlseg8e256.v v0,\(a0\),v0.t'
  1250. -.*Error: illegal operands `vsseg8e256.v v0,\(a0\),v0.t'
  1251. -.*Error: illegal operands `vlseg8e256ff.v v0,\(a0\),v0.t'
  1252. -.*Error: illegal operands `vlseg2e512.v v0,\(a0\),v0.t'
  1253. -.*Error: illegal operands `vsseg2e512.v v0,\(a0\),v0.t'
  1254. -.*Error: illegal operands `vlseg2e512ff.v v0,\(a0\),v0.t'
  1255. -.*Error: illegal operands `vlseg3e512.v v0,\(a0\),v0.t'
  1256. -.*Error: illegal operands `vsseg3e512.v v0,\(a0\),v0.t'
  1257. -.*Error: illegal operands `vlseg3e512ff.v v0,\(a0\),v0.t'
  1258. -.*Error: illegal operands `vlseg4e512.v v0,\(a0\),v0.t'
  1259. -.*Error: illegal operands `vsseg4e512.v v0,\(a0\),v0.t'
  1260. -.*Error: illegal operands `vlseg4e512ff.v v0,\(a0\),v0.t'
  1261. -.*Error: illegal operands `vlseg5e512.v v0,\(a0\),v0.t'
  1262. -.*Error: illegal operands `vsseg5e512.v v0,\(a0\),v0.t'
  1263. -.*Error: illegal operands `vlseg5e512ff.v v0,\(a0\),v0.t'
  1264. -.*Error: illegal operands `vlseg6e512.v v0,\(a0\),v0.t'
  1265. -.*Error: illegal operands `vsseg6e512.v v0,\(a0\),v0.t'
  1266. -.*Error: illegal operands `vlseg6e512ff.v v0,\(a0\),v0.t'
  1267. -.*Error: illegal operands `vlseg7e512.v v0,\(a0\),v0.t'
  1268. -.*Error: illegal operands `vsseg7e512.v v0,\(a0\),v0.t'
  1269. -.*Error: illegal operands `vlseg7e512ff.v v0,\(a0\),v0.t'
  1270. -.*Error: illegal operands `vlseg8e512.v v0,\(a0\),v0.t'
  1271. -.*Error: illegal operands `vsseg8e512.v v0,\(a0\),v0.t'
  1272. -.*Error: illegal operands `vlseg8e512ff.v v0,\(a0\),v0.t'
  1273. -.*Error: illegal operands `vlseg2e1024.v v0,\(a0\),v0.t'
  1274. -.*Error: illegal operands `vsseg2e1024.v v0,\(a0\),v0.t'
  1275. -.*Error: illegal operands `vlseg2e1024ff.v v0,\(a0\),v0.t'
  1276. -.*Error: illegal operands `vlseg3e1024.v v0,\(a0\),v0.t'
  1277. -.*Error: illegal operands `vsseg3e1024.v v0,\(a0\),v0.t'
  1278. -.*Error: illegal operands `vlseg3e1024ff.v v0,\(a0\),v0.t'
  1279. -.*Error: illegal operands `vlseg4e1024.v v0,\(a0\),v0.t'
  1280. -.*Error: illegal operands `vsseg4e1024.v v0,\(a0\),v0.t'
  1281. -.*Error: illegal operands `vlseg4e1024ff.v v0,\(a0\),v0.t'
  1282. -.*Error: illegal operands `vlseg5e1024.v v0,\(a0\),v0.t'
  1283. -.*Error: illegal operands `vsseg5e1024.v v0,\(a0\),v0.t'
  1284. -.*Error: illegal operands `vlseg5e1024ff.v v0,\(a0\),v0.t'
  1285. -.*Error: illegal operands `vlseg6e1024.v v0,\(a0\),v0.t'
  1286. -.*Error: illegal operands `vsseg6e1024.v v0,\(a0\),v0.t'
  1287. -.*Error: illegal operands `vlseg6e1024ff.v v0,\(a0\),v0.t'
  1288. -.*Error: illegal operands `vlseg7e1024.v v0,\(a0\),v0.t'
  1289. -.*Error: illegal operands `vsseg7e1024.v v0,\(a0\),v0.t'
  1290. -.*Error: illegal operands `vlseg7e1024ff.v v0,\(a0\),v0.t'
  1291. -.*Error: illegal operands `vlseg8e1024.v v0,\(a0\),v0.t'
  1292. -.*Error: illegal operands `vsseg8e1024.v v0,\(a0\),v0.t'
  1293. -.*Error: illegal operands `vlseg8e1024ff.v v0,\(a0\),v0.t'
  1294. -.*Error: illegal operands `vlsseg2e8.v v0,\(a0\),a1,v0.t'
  1295. -.*Error: illegal operands `vssseg2e8.v v0,\(a0\),a1,v0.t'
  1296. -.*Error: illegal operands `vlsseg3e8.v v0,\(a0\),a1,v0.t'
  1297. -.*Error: illegal operands `vssseg3e8.v v0,\(a0\),a1,v0.t'
  1298. -.*Error: illegal operands `vlsseg4e8.v v0,\(a0\),a1,v0.t'
  1299. -.*Error: illegal operands `vssseg4e8.v v0,\(a0\),a1,v0.t'
  1300. -.*Error: illegal operands `vlsseg5e8.v v0,\(a0\),a1,v0.t'
  1301. -.*Error: illegal operands `vssseg5e8.v v0,\(a0\),a1,v0.t'
  1302. -.*Error: illegal operands `vlsseg6e8.v v0,\(a0\),a1,v0.t'
  1303. -.*Error: illegal operands `vssseg6e8.v v0,\(a0\),a1,v0.t'
  1304. -.*Error: illegal operands `vlsseg7e8.v v0,\(a0\),a1,v0.t'
  1305. -.*Error: illegal operands `vssseg7e8.v v0,\(a0\),a1,v0.t'
  1306. -.*Error: illegal operands `vlsseg8e8.v v0,\(a0\),a1,v0.t'
  1307. -.*Error: illegal operands `vssseg8e8.v v0,\(a0\),a1,v0.t'
  1308. -.*Error: illegal operands `vlsseg2e16.v v0,\(a0\),a1,v0.t'
  1309. -.*Error: illegal operands `vssseg2e16.v v0,\(a0\),a1,v0.t'
  1310. -.*Error: illegal operands `vlsseg3e16.v v0,\(a0\),a1,v0.t'
  1311. -.*Error: illegal operands `vssseg3e16.v v0,\(a0\),a1,v0.t'
  1312. -.*Error: illegal operands `vlsseg4e16.v v0,\(a0\),a1,v0.t'
  1313. -.*Error: illegal operands `vssseg4e16.v v0,\(a0\),a1,v0.t'
  1314. -.*Error: illegal operands `vlsseg5e16.v v0,\(a0\),a1,v0.t'
  1315. -.*Error: illegal operands `vssseg5e16.v v0,\(a0\),a1,v0.t'
  1316. -.*Error: illegal operands `vlsseg6e16.v v0,\(a0\),a1,v0.t'
  1317. -.*Error: illegal operands `vssseg6e16.v v0,\(a0\),a1,v0.t'
  1318. -.*Error: illegal operands `vlsseg7e16.v v0,\(a0\),a1,v0.t'
  1319. -.*Error: illegal operands `vssseg7e16.v v0,\(a0\),a1,v0.t'
  1320. -.*Error: illegal operands `vlsseg8e16.v v0,\(a0\),a1,v0.t'
  1321. -.*Error: illegal operands `vssseg8e16.v v0,\(a0\),a1,v0.t'
  1322. -.*Error: illegal operands `vlsseg2e32.v v0,\(a0\),a1,v0.t'
  1323. -.*Error: illegal operands `vssseg2e32.v v0,\(a0\),a1,v0.t'
  1324. -.*Error: illegal operands `vlsseg3e32.v v0,\(a0\),a1,v0.t'
  1325. -.*Error: illegal operands `vssseg3e32.v v0,\(a0\),a1,v0.t'
  1326. -.*Error: illegal operands `vlsseg4e32.v v0,\(a0\),a1,v0.t'
  1327. -.*Error: illegal operands `vssseg4e32.v v0,\(a0\),a1,v0.t'
  1328. -.*Error: illegal operands `vlsseg5e32.v v0,\(a0\),a1,v0.t'
  1329. -.*Error: illegal operands `vssseg5e32.v v0,\(a0\),a1,v0.t'
  1330. -.*Error: illegal operands `vlsseg6e32.v v0,\(a0\),a1,v0.t'
  1331. -.*Error: illegal operands `vssseg6e32.v v0,\(a0\),a1,v0.t'
  1332. -.*Error: illegal operands `vlsseg7e32.v v0,\(a0\),a1,v0.t'
  1333. -.*Error: illegal operands `vssseg7e32.v v0,\(a0\),a1,v0.t'
  1334. -.*Error: illegal operands `vlsseg8e32.v v0,\(a0\),a1,v0.t'
  1335. -.*Error: illegal operands `vssseg8e32.v v0,\(a0\),a1,v0.t'
  1336. -.*Error: illegal operands `vlsseg2e64.v v0,\(a0\),a1,v0.t'
  1337. -.*Error: illegal operands `vssseg2e64.v v0,\(a0\),a1,v0.t'
  1338. -.*Error: illegal operands `vlsseg3e64.v v0,\(a0\),a1,v0.t'
  1339. -.*Error: illegal operands `vssseg3e64.v v0,\(a0\),a1,v0.t'
  1340. -.*Error: illegal operands `vlsseg4e64.v v0,\(a0\),a1,v0.t'
  1341. -.*Error: illegal operands `vssseg4e64.v v0,\(a0\),a1,v0.t'
  1342. -.*Error: illegal operands `vlsseg5e64.v v0,\(a0\),a1,v0.t'
  1343. -.*Error: illegal operands `vssseg5e64.v v0,\(a0\),a1,v0.t'
  1344. -.*Error: illegal operands `vlsseg6e64.v v0,\(a0\),a1,v0.t'
  1345. -.*Error: illegal operands `vssseg6e64.v v0,\(a0\),a1,v0.t'
  1346. -.*Error: illegal operands `vlsseg7e64.v v0,\(a0\),a1,v0.t'
  1347. -.*Error: illegal operands `vssseg7e64.v v0,\(a0\),a1,v0.t'
  1348. -.*Error: illegal operands `vlsseg8e64.v v0,\(a0\),a1,v0.t'
  1349. -.*Error: illegal operands `vssseg8e64.v v0,\(a0\),a1,v0.t'
  1350. -.*Error: illegal operands `vlsseg2e128.v v0,\(a0\),a1,v0.t'
  1351. -.*Error: illegal operands `vssseg2e128.v v0,\(a0\),a1,v0.t'
  1352. -.*Error: illegal operands `vlsseg3e128.v v0,\(a0\),a1,v0.t'
  1353. -.*Error: illegal operands `vssseg3e128.v v0,\(a0\),a1,v0.t'
  1354. -.*Error: illegal operands `vlsseg4e128.v v0,\(a0\),a1,v0.t'
  1355. -.*Error: illegal operands `vssseg4e128.v v0,\(a0\),a1,v0.t'
  1356. -.*Error: illegal operands `vlsseg5e128.v v0,\(a0\),a1,v0.t'
  1357. -.*Error: illegal operands `vssseg5e128.v v0,\(a0\),a1,v0.t'
  1358. -.*Error: illegal operands `vlsseg6e128.v v0,\(a0\),a1,v0.t'
  1359. -.*Error: illegal operands `vssseg6e128.v v0,\(a0\),a1,v0.t'
  1360. -.*Error: illegal operands `vlsseg7e128.v v0,\(a0\),a1,v0.t'
  1361. -.*Error: illegal operands `vssseg7e128.v v0,\(a0\),a1,v0.t'
  1362. -.*Error: illegal operands `vlsseg8e128.v v0,\(a0\),a1,v0.t'
  1363. -.*Error: illegal operands `vssseg8e128.v v0,\(a0\),a1,v0.t'
  1364. -.*Error: illegal operands `vlsseg2e256.v v0,\(a0\),a1,v0.t'
  1365. -.*Error: illegal operands `vssseg2e256.v v0,\(a0\),a1,v0.t'
  1366. -.*Error: illegal operands `vlsseg3e256.v v0,\(a0\),a1,v0.t'
  1367. -.*Error: illegal operands `vssseg3e256.v v0,\(a0\),a1,v0.t'
  1368. -.*Error: illegal operands `vlsseg4e256.v v0,\(a0\),a1,v0.t'
  1369. -.*Error: illegal operands `vssseg4e256.v v0,\(a0\),a1,v0.t'
  1370. -.*Error: illegal operands `vlsseg5e256.v v0,\(a0\),a1,v0.t'
  1371. -.*Error: illegal operands `vssseg5e256.v v0,\(a0\),a1,v0.t'
  1372. -.*Error: illegal operands `vlsseg6e256.v v0,\(a0\),a1,v0.t'
  1373. -.*Error: illegal operands `vssseg6e256.v v0,\(a0\),a1,v0.t'
  1374. -.*Error: illegal operands `vlsseg7e256.v v0,\(a0\),a1,v0.t'
  1375. -.*Error: illegal operands `vssseg7e256.v v0,\(a0\),a1,v0.t'
  1376. -.*Error: illegal operands `vlsseg8e256.v v0,\(a0\),a1,v0.t'
  1377. -.*Error: illegal operands `vssseg8e256.v v0,\(a0\),a1,v0.t'
  1378. -.*Error: illegal operands `vlsseg2e512.v v0,\(a0\),a1,v0.t'
  1379. -.*Error: illegal operands `vssseg2e512.v v0,\(a0\),a1,v0.t'
  1380. -.*Error: illegal operands `vlsseg3e512.v v0,\(a0\),a1,v0.t'
  1381. -.*Error: illegal operands `vssseg3e512.v v0,\(a0\),a1,v0.t'
  1382. -.*Error: illegal operands `vlsseg4e512.v v0,\(a0\),a1,v0.t'
  1383. -.*Error: illegal operands `vssseg4e512.v v0,\(a0\),a1,v0.t'
  1384. -.*Error: illegal operands `vlsseg5e512.v v0,\(a0\),a1,v0.t'
  1385. -.*Error: illegal operands `vssseg5e512.v v0,\(a0\),a1,v0.t'
  1386. -.*Error: illegal operands `vlsseg6e512.v v0,\(a0\),a1,v0.t'
  1387. -.*Error: illegal operands `vssseg6e512.v v0,\(a0\),a1,v0.t'
  1388. -.*Error: illegal operands `vlsseg7e512.v v0,\(a0\),a1,v0.t'
  1389. -.*Error: illegal operands `vssseg7e512.v v0,\(a0\),a1,v0.t'
  1390. -.*Error: illegal operands `vlsseg8e512.v v0,\(a0\),a1,v0.t'
  1391. -.*Error: illegal operands `vssseg8e512.v v0,\(a0\),a1,v0.t'
  1392. -.*Error: illegal operands `vlsseg2e1024.v v0,\(a0\),a1,v0.t'
  1393. -.*Error: illegal operands `vssseg2e1024.v v0,\(a0\),a1,v0.t'
  1394. -.*Error: illegal operands `vlsseg3e1024.v v0,\(a0\),a1,v0.t'
  1395. -.*Error: illegal operands `vssseg3e1024.v v0,\(a0\),a1,v0.t'
  1396. -.*Error: illegal operands `vlsseg4e1024.v v0,\(a0\),a1,v0.t'
  1397. -.*Error: illegal operands `vssseg4e1024.v v0,\(a0\),a1,v0.t'
  1398. -.*Error: illegal operands `vlsseg5e1024.v v0,\(a0\),a1,v0.t'
  1399. -.*Error: illegal operands `vssseg5e1024.v v0,\(a0\),a1,v0.t'
  1400. -.*Error: illegal operands `vlsseg6e1024.v v0,\(a0\),a1,v0.t'
  1401. -.*Error: illegal operands `vssseg6e1024.v v0,\(a0\),a1,v0.t'
  1402. -.*Error: illegal operands `vlsseg7e1024.v v0,\(a0\),a1,v0.t'
  1403. -.*Error: illegal operands `vssseg7e1024.v v0,\(a0\),a1,v0.t'
  1404. -.*Error: illegal operands `vlsseg8e1024.v v0,\(a0\),a1,v0.t'
  1405. -.*Error: illegal operands `vssseg8e1024.v v0,\(a0\),a1,v0.t'
  1406. -.*Error: illegal operands `vlxseg2ei8.v v4,\(a0\),v4'
  1407. -.*Error: illegal operands `vlxseg2ei8.v v0,\(a0\),v4,v0.t'
  1408. -.*Error: illegal operands `vsxseg2ei8.v v4,\(a0\),v4'
  1409. -.*Error: illegal operands `vsxseg2ei8.v v0,\(a0\),v4,v0.t'
  1410. -.*Error: illegal operands `vlxseg3ei8.v v4,\(a0\),v4'
  1411. -.*Error: illegal operands `vlxseg3ei8.v v0,\(a0\),v4,v0.t'
  1412. -.*Error: illegal operands `vsxseg3ei8.v v4,\(a0\),v4'
  1413. -.*Error: illegal operands `vsxseg3ei8.v v0,\(a0\),v4,v0.t'
  1414. -.*Error: illegal operands `vlxseg4ei8.v v4,\(a0\),v4'
  1415. -.*Error: illegal operands `vlxseg4ei8.v v0,\(a0\),v4,v0.t'
  1416. -.*Error: illegal operands `vsxseg4ei8.v v4,\(a0\),v4'
  1417. -.*Error: illegal operands `vsxseg4ei8.v v0,\(a0\),v4,v0.t'
  1418. -.*Error: illegal operands `vlxseg5ei8.v v4,\(a0\),v4'
  1419. -.*Error: illegal operands `vlxseg5ei8.v v0,\(a0\),v4,v0.t'
  1420. -.*Error: illegal operands `vsxseg5ei8.v v4,\(a0\),v4'
  1421. -.*Error: illegal operands `vsxseg5ei8.v v0,\(a0\),v4,v0.t'
  1422. -.*Error: illegal operands `vlxseg6ei8.v v4,\(a0\),v4'
  1423. -.*Error: illegal operands `vlxseg6ei8.v v0,\(a0\),v4,v0.t'
  1424. -.*Error: illegal operands `vsxseg6ei8.v v4,\(a0\),v4'
  1425. -.*Error: illegal operands `vsxseg6ei8.v v0,\(a0\),v4,v0.t'
  1426. -.*Error: illegal operands `vlxseg7ei8.v v4,\(a0\),v4'
  1427. -.*Error: illegal operands `vlxseg7ei8.v v0,\(a0\),v4,v0.t'
  1428. -.*Error: illegal operands `vsxseg7ei8.v v4,\(a0\),v4'
  1429. -.*Error: illegal operands `vsxseg7ei8.v v0,\(a0\),v4,v0.t'
  1430. -.*Error: illegal operands `vlxseg8ei8.v v4,\(a0\),v4'
  1431. -.*Error: illegal operands `vlxseg8ei8.v v0,\(a0\),v4,v0.t'
  1432. -.*Error: illegal operands `vsxseg8ei8.v v4,\(a0\),v4'
  1433. -.*Error: illegal operands `vsxseg8ei8.v v0,\(a0\),v4,v0.t'
  1434. -.*Error: illegal operands `vlxseg2ei16.v v4,\(a0\),v4'
  1435. -.*Error: illegal operands `vlxseg2ei16.v v0,\(a0\),v4,v0.t'
  1436. -.*Error: illegal operands `vsxseg2ei16.v v4,\(a0\),v4'
  1437. -.*Error: illegal operands `vsxseg2ei16.v v0,\(a0\),v4,v0.t'
  1438. -.*Error: illegal operands `vlxseg3ei16.v v4,\(a0\),v4'
  1439. -.*Error: illegal operands `vlxseg3ei16.v v0,\(a0\),v4,v0.t'
  1440. -.*Error: illegal operands `vsxseg3ei16.v v4,\(a0\),v4'
  1441. -.*Error: illegal operands `vsxseg3ei16.v v0,\(a0\),v4,v0.t'
  1442. -.*Error: illegal operands `vlxseg4ei16.v v4,\(a0\),v4'
  1443. -.*Error: illegal operands `vlxseg4ei16.v v0,\(a0\),v4,v0.t'
  1444. -.*Error: illegal operands `vsxseg4ei16.v v4,\(a0\),v4'
  1445. -.*Error: illegal operands `vsxseg4ei16.v v0,\(a0\),v4,v0.t'
  1446. -.*Error: illegal operands `vlxseg5ei16.v v4,\(a0\),v4'
  1447. -.*Error: illegal operands `vlxseg5ei16.v v0,\(a0\),v4,v0.t'
  1448. -.*Error: illegal operands `vsxseg5ei16.v v4,\(a0\),v4'
  1449. -.*Error: illegal operands `vsxseg5ei16.v v0,\(a0\),v4,v0.t'
  1450. -.*Error: illegal operands `vlxseg6ei16.v v4,\(a0\),v4'
  1451. -.*Error: illegal operands `vlxseg6ei16.v v0,\(a0\),v4,v0.t'
  1452. -.*Error: illegal operands `vsxseg6ei16.v v4,\(a0\),v4'
  1453. -.*Error: illegal operands `vsxseg6ei16.v v0,\(a0\),v4,v0.t'
  1454. -.*Error: illegal operands `vlxseg7ei16.v v4,\(a0\),v4'
  1455. -.*Error: illegal operands `vlxseg7ei16.v v0,\(a0\),v4,v0.t'
  1456. -.*Error: illegal operands `vsxseg7ei16.v v4,\(a0\),v4'
  1457. -.*Error: illegal operands `vsxseg7ei16.v v0,\(a0\),v4,v0.t'
  1458. -.*Error: illegal operands `vlxseg8ei16.v v4,\(a0\),v4'
  1459. -.*Error: illegal operands `vlxseg8ei16.v v0,\(a0\),v4,v0.t'
  1460. -.*Error: illegal operands `vsxseg8ei16.v v4,\(a0\),v4'
  1461. -.*Error: illegal operands `vsxseg8ei16.v v0,\(a0\),v4,v0.t'
  1462. -.*Error: illegal operands `vlxseg2ei32.v v4,\(a0\),v4'
  1463. -.*Error: illegal operands `vlxseg2ei32.v v0,\(a0\),v4,v0.t'
  1464. -.*Error: illegal operands `vsxseg2ei32.v v4,\(a0\),v4'
  1465. -.*Error: illegal operands `vsxseg2ei32.v v0,\(a0\),v4,v0.t'
  1466. -.*Error: illegal operands `vlxseg3ei32.v v4,\(a0\),v4'
  1467. -.*Error: illegal operands `vlxseg3ei32.v v0,\(a0\),v4,v0.t'
  1468. -.*Error: illegal operands `vsxseg3ei32.v v4,\(a0\),v4'
  1469. -.*Error: illegal operands `vsxseg3ei32.v v0,\(a0\),v4,v0.t'
  1470. -.*Error: illegal operands `vlxseg4ei32.v v4,\(a0\),v4'
  1471. -.*Error: illegal operands `vlxseg4ei32.v v0,\(a0\),v4,v0.t'
  1472. -.*Error: illegal operands `vsxseg4ei32.v v4,\(a0\),v4'
  1473. -.*Error: illegal operands `vsxseg4ei32.v v0,\(a0\),v4,v0.t'
  1474. -.*Error: illegal operands `vlxseg5ei32.v v4,\(a0\),v4'
  1475. -.*Error: illegal operands `vlxseg5ei32.v v0,\(a0\),v4,v0.t'
  1476. -.*Error: illegal operands `vsxseg5ei32.v v4,\(a0\),v4'
  1477. -.*Error: illegal operands `vsxseg5ei32.v v0,\(a0\),v4,v0.t'
  1478. -.*Error: illegal operands `vlxseg6ei32.v v4,\(a0\),v4'
  1479. -.*Error: illegal operands `vlxseg6ei32.v v0,\(a0\),v4,v0.t'
  1480. -.*Error: illegal operands `vsxseg6ei32.v v4,\(a0\),v4'
  1481. -.*Error: illegal operands `vsxseg6ei32.v v0,\(a0\),v4,v0.t'
  1482. -.*Error: illegal operands `vlxseg7ei32.v v4,\(a0\),v4'
  1483. -.*Error: illegal operands `vlxseg7ei32.v v0,\(a0\),v4,v0.t'
  1484. -.*Error: illegal operands `vsxseg7ei32.v v4,\(a0\),v4'
  1485. -.*Error: illegal operands `vsxseg7ei32.v v0,\(a0\),v4,v0.t'
  1486. -.*Error: illegal operands `vlxseg8ei32.v v4,\(a0\),v4'
  1487. -.*Error: illegal operands `vlxseg8ei32.v v0,\(a0\),v4,v0.t'
  1488. -.*Error: illegal operands `vsxseg8ei32.v v4,\(a0\),v4'
  1489. -.*Error: illegal operands `vsxseg8ei32.v v0,\(a0\),v4,v0.t'
  1490. -.*Error: illegal operands `vlxseg2ei64.v v4,\(a0\),v4'
  1491. -.*Error: illegal operands `vlxseg2ei64.v v0,\(a0\),v4,v0.t'
  1492. -.*Error: illegal operands `vsxseg2ei64.v v4,\(a0\),v4'
  1493. -.*Error: illegal operands `vsxseg2ei64.v v0,\(a0\),v4,v0.t'
  1494. -.*Error: illegal operands `vlxseg3ei64.v v4,\(a0\),v4'
  1495. -.*Error: illegal operands `vlxseg3ei64.v v0,\(a0\),v4,v0.t'
  1496. -.*Error: illegal operands `vsxseg3ei64.v v4,\(a0\),v4'
  1497. -.*Error: illegal operands `vsxseg3ei64.v v0,\(a0\),v4,v0.t'
  1498. -.*Error: illegal operands `vlxseg4ei64.v v4,\(a0\),v4'
  1499. -.*Error: illegal operands `vlxseg4ei64.v v0,\(a0\),v4,v0.t'
  1500. -.*Error: illegal operands `vsxseg4ei64.v v4,\(a0\),v4'
  1501. -.*Error: illegal operands `vsxseg4ei64.v v0,\(a0\),v4,v0.t'
  1502. -.*Error: illegal operands `vlxseg5ei64.v v4,\(a0\),v4'
  1503. -.*Error: illegal operands `vlxseg5ei64.v v0,\(a0\),v4,v0.t'
  1504. -.*Error: illegal operands `vsxseg5ei64.v v4,\(a0\),v4'
  1505. -.*Error: illegal operands `vsxseg5ei64.v v0,\(a0\),v4,v0.t'
  1506. -.*Error: illegal operands `vlxseg6ei64.v v4,\(a0\),v4'
  1507. -.*Error: illegal operands `vlxseg6ei64.v v0,\(a0\),v4,v0.t'
  1508. -.*Error: illegal operands `vsxseg6ei64.v v4,\(a0\),v4'
  1509. -.*Error: illegal operands `vsxseg6ei64.v v0,\(a0\),v4,v0.t'
  1510. -.*Error: illegal operands `vlxseg7ei64.v v4,\(a0\),v4'
  1511. -.*Error: illegal operands `vlxseg7ei64.v v0,\(a0\),v4,v0.t'
  1512. -.*Error: illegal operands `vsxseg7ei64.v v4,\(a0\),v4'
  1513. -.*Error: illegal operands `vsxseg7ei64.v v0,\(a0\),v4,v0.t'
  1514. -.*Error: illegal operands `vlxseg8ei64.v v4,\(a0\),v4'
  1515. -.*Error: illegal operands `vlxseg8ei64.v v0,\(a0\),v4,v0.t'
  1516. -.*Error: illegal operands `vsxseg8ei64.v v4,\(a0\),v4'
  1517. -.*Error: illegal operands `vsxseg8ei64.v v0,\(a0\),v4,v0.t'
  1518. -.*Error: illegal operands `vlxseg2ei128.v v4,\(a0\),v4'
  1519. -.*Error: illegal operands `vlxseg2ei128.v v0,\(a0\),v4,v0.t'
  1520. -.*Error: illegal operands `vsxseg2ei128.v v4,\(a0\),v4'
  1521. -.*Error: illegal operands `vsxseg2ei128.v v0,\(a0\),v4,v0.t'
  1522. -.*Error: illegal operands `vlxseg3ei128.v v4,\(a0\),v4'
  1523. -.*Error: illegal operands `vlxseg3ei128.v v0,\(a0\),v4,v0.t'
  1524. -.*Error: illegal operands `vsxseg3ei128.v v4,\(a0\),v4'
  1525. -.*Error: illegal operands `vsxseg3ei128.v v0,\(a0\),v4,v0.t'
  1526. -.*Error: illegal operands `vlxseg4ei128.v v4,\(a0\),v4'
  1527. -.*Error: illegal operands `vlxseg4ei128.v v0,\(a0\),v4,v0.t'
  1528. -.*Error: illegal operands `vsxseg4ei128.v v4,\(a0\),v4'
  1529. -.*Error: illegal operands `vsxseg4ei128.v v0,\(a0\),v4,v0.t'
  1530. -.*Error: illegal operands `vlxseg5ei128.v v4,\(a0\),v4'
  1531. -.*Error: illegal operands `vlxseg5ei128.v v0,\(a0\),v4,v0.t'
  1532. -.*Error: illegal operands `vsxseg5ei128.v v4,\(a0\),v4'
  1533. -.*Error: illegal operands `vsxseg5ei128.v v0,\(a0\),v4,v0.t'
  1534. -.*Error: illegal operands `vlxseg6ei128.v v4,\(a0\),v4'
  1535. -.*Error: illegal operands `vlxseg6ei128.v v0,\(a0\),v4,v0.t'
  1536. -.*Error: illegal operands `vsxseg6ei128.v v4,\(a0\),v4'
  1537. -.*Error: illegal operands `vsxseg6ei128.v v0,\(a0\),v4,v0.t'
  1538. -.*Error: illegal operands `vlxseg7ei128.v v4,\(a0\),v4'
  1539. -.*Error: illegal operands `vlxseg7ei128.v v0,\(a0\),v4,v0.t'
  1540. -.*Error: illegal operands `vsxseg7ei128.v v4,\(a0\),v4'
  1541. -.*Error: illegal operands `vsxseg7ei128.v v0,\(a0\),v4,v0.t'
  1542. -.*Error: illegal operands `vlxseg8ei128.v v4,\(a0\),v4'
  1543. -.*Error: illegal operands `vlxseg8ei128.v v0,\(a0\),v4,v0.t'
  1544. -.*Error: illegal operands `vsxseg8ei128.v v4,\(a0\),v4'
  1545. -.*Error: illegal operands `vsxseg8ei128.v v0,\(a0\),v4,v0.t'
  1546. -.*Error: illegal operands `vlxseg2ei256.v v4,\(a0\),v4'
  1547. -.*Error: illegal operands `vlxseg2ei256.v v0,\(a0\),v4,v0.t'
  1548. -.*Error: illegal operands `vsxseg2ei256.v v4,\(a0\),v4'
  1549. -.*Error: illegal operands `vsxseg2ei256.v v0,\(a0\),v4,v0.t'
  1550. -.*Error: illegal operands `vlxseg3ei256.v v4,\(a0\),v4'
  1551. -.*Error: illegal operands `vlxseg3ei256.v v0,\(a0\),v4,v0.t'
  1552. -.*Error: illegal operands `vsxseg3ei256.v v4,\(a0\),v4'
  1553. -.*Error: illegal operands `vsxseg3ei256.v v0,\(a0\),v4,v0.t'
  1554. -.*Error: illegal operands `vlxseg4ei256.v v4,\(a0\),v4'
  1555. -.*Error: illegal operands `vlxseg4ei256.v v0,\(a0\),v4,v0.t'
  1556. -.*Error: illegal operands `vsxseg4ei256.v v4,\(a0\),v4'
  1557. -.*Error: illegal operands `vsxseg4ei256.v v0,\(a0\),v4,v0.t'
  1558. -.*Error: illegal operands `vlxseg5ei256.v v4,\(a0\),v4'
  1559. -.*Error: illegal operands `vlxseg5ei256.v v0,\(a0\),v4,v0.t'
  1560. -.*Error: illegal operands `vsxseg5ei256.v v4,\(a0\),v4'
  1561. -.*Error: illegal operands `vsxseg5ei256.v v0,\(a0\),v4,v0.t'
  1562. -.*Error: illegal operands `vlxseg6ei256.v v4,\(a0\),v4'
  1563. -.*Error: illegal operands `vlxseg6ei256.v v0,\(a0\),v4,v0.t'
  1564. -.*Error: illegal operands `vsxseg6ei256.v v4,\(a0\),v4'
  1565. -.*Error: illegal operands `vsxseg6ei256.v v0,\(a0\),v4,v0.t'
  1566. -.*Error: illegal operands `vlxseg7ei256.v v4,\(a0\),v4'
  1567. -.*Error: illegal operands `vlxseg7ei256.v v0,\(a0\),v4,v0.t'
  1568. -.*Error: illegal operands `vsxseg7ei256.v v4,\(a0\),v4'
  1569. -.*Error: illegal operands `vsxseg7ei256.v v0,\(a0\),v4,v0.t'
  1570. -.*Error: illegal operands `vlxseg8ei256.v v4,\(a0\),v4'
  1571. -.*Error: illegal operands `vlxseg8ei256.v v0,\(a0\),v4,v0.t'
  1572. -.*Error: illegal operands `vsxseg8ei256.v v4,\(a0\),v4'
  1573. -.*Error: illegal operands `vsxseg8ei256.v v0,\(a0\),v4,v0.t'
  1574. -.*Error: illegal operands `vlxseg2ei512.v v4,\(a0\),v4'
  1575. -.*Error: illegal operands `vlxseg2ei512.v v0,\(a0\),v4,v0.t'
  1576. -.*Error: illegal operands `vsxseg2ei512.v v4,\(a0\),v4'
  1577. -.*Error: illegal operands `vsxseg2ei512.v v0,\(a0\),v4,v0.t'
  1578. -.*Error: illegal operands `vlxseg3ei512.v v4,\(a0\),v4'
  1579. -.*Error: illegal operands `vlxseg3ei512.v v0,\(a0\),v4,v0.t'
  1580. -.*Error: illegal operands `vsxseg3ei512.v v4,\(a0\),v4'
  1581. -.*Error: illegal operands `vsxseg3ei512.v v0,\(a0\),v4,v0.t'
  1582. -.*Error: illegal operands `vlxseg4ei512.v v4,\(a0\),v4'
  1583. -.*Error: illegal operands `vlxseg4ei512.v v0,\(a0\),v4,v0.t'
  1584. -.*Error: illegal operands `vsxseg4ei512.v v4,\(a0\),v4'
  1585. -.*Error: illegal operands `vsxseg4ei512.v v0,\(a0\),v4,v0.t'
  1586. -.*Error: illegal operands `vlxseg5ei512.v v4,\(a0\),v4'
  1587. -.*Error: illegal operands `vlxseg5ei512.v v0,\(a0\),v4,v0.t'
  1588. -.*Error: illegal operands `vsxseg5ei512.v v4,\(a0\),v4'
  1589. -.*Error: illegal operands `vsxseg5ei512.v v0,\(a0\),v4,v0.t'
  1590. -.*Error: illegal operands `vlxseg6ei512.v v4,\(a0\),v4'
  1591. -.*Error: illegal operands `vlxseg6ei512.v v0,\(a0\),v4,v0.t'
  1592. -.*Error: illegal operands `vsxseg6ei512.v v4,\(a0\),v4'
  1593. -.*Error: illegal operands `vsxseg6ei512.v v0,\(a0\),v4,v0.t'
  1594. -.*Error: illegal operands `vlxseg7ei512.v v4,\(a0\),v4'
  1595. -.*Error: illegal operands `vlxseg7ei512.v v0,\(a0\),v4,v0.t'
  1596. -.*Error: illegal operands `vsxseg7ei512.v v4,\(a0\),v4'
  1597. -.*Error: illegal operands `vsxseg7ei512.v v0,\(a0\),v4,v0.t'
  1598. -.*Error: illegal operands `vlxseg8ei512.v v4,\(a0\),v4'
  1599. -.*Error: illegal operands `vlxseg8ei512.v v0,\(a0\),v4,v0.t'
  1600. -.*Error: illegal operands `vsxseg8ei512.v v4,\(a0\),v4'
  1601. -.*Error: illegal operands `vsxseg8ei512.v v0,\(a0\),v4,v0.t'
  1602. -.*Error: illegal operands `vlxseg2ei1024.v v4,\(a0\),v4'
  1603. -.*Error: illegal operands `vlxseg2ei1024.v v0,\(a0\),v4,v0.t'
  1604. -.*Error: illegal operands `vsxseg2ei1024.v v4,\(a0\),v4'
  1605. -.*Error: illegal operands `vsxseg2ei1024.v v0,\(a0\),v4,v0.t'
  1606. -.*Error: illegal operands `vlxseg3ei1024.v v4,\(a0\),v4'
  1607. -.*Error: illegal operands `vlxseg3ei1024.v v0,\(a0\),v4,v0.t'
  1608. -.*Error: illegal operands `vsxseg3ei1024.v v4,\(a0\),v4'
  1609. -.*Error: illegal operands `vsxseg3ei1024.v v0,\(a0\),v4,v0.t'
  1610. -.*Error: illegal operands `vlxseg4ei1024.v v4,\(a0\),v4'
  1611. -.*Error: illegal operands `vlxseg4ei1024.v v0,\(a0\),v4,v0.t'
  1612. -.*Error: illegal operands `vsxseg4ei1024.v v4,\(a0\),v4'
  1613. -.*Error: illegal operands `vsxseg4ei1024.v v0,\(a0\),v4,v0.t'
  1614. -.*Error: illegal operands `vlxseg5ei1024.v v4,\(a0\),v4'
  1615. -.*Error: illegal operands `vlxseg5ei1024.v v0,\(a0\),v4,v0.t'
  1616. -.*Error: illegal operands `vsxseg5ei1024.v v4,\(a0\),v4'
  1617. -.*Error: illegal operands `vsxseg5ei1024.v v0,\(a0\),v4,v0.t'
  1618. -.*Error: illegal operands `vlxseg6ei1024.v v4,\(a0\),v4'
  1619. -.*Error: illegal operands `vlxseg6ei1024.v v0,\(a0\),v4,v0.t'
  1620. -.*Error: illegal operands `vsxseg6ei1024.v v4,\(a0\),v4'
  1621. -.*Error: illegal operands `vsxseg6ei1024.v v0,\(a0\),v4,v0.t'
  1622. -.*Error: illegal operands `vlxseg7ei1024.v v4,\(a0\),v4'
  1623. -.*Error: illegal operands `vlxseg7ei1024.v v0,\(a0\),v4,v0.t'
  1624. -.*Error: illegal operands `vsxseg7ei1024.v v4,\(a0\),v4'
  1625. -.*Error: illegal operands `vsxseg7ei1024.v v0,\(a0\),v4,v0.t'
  1626. -.*Error: illegal operands `vlxseg8ei1024.v v4,\(a0\),v4'
  1627. -.*Error: illegal operands `vlxseg8ei1024.v v0,\(a0\),v4,v0.t'
  1628. -.*Error: illegal operands `vsxseg8ei1024.v v4,\(a0\),v4'
  1629. -.*Error: illegal operands `vsxseg8ei1024.v v0,\(a0\),v4,v0.t'
  1630. -.*Error: illegal operands `vl2r.v v31,\(a0\)'
  1631. -.*Error: illegal operands `vl2re8.v v31,\(a0\)'
  1632. -.*Error: illegal operands `vl2re16.v v31,\(a0\)'
  1633. -.*Error: illegal operands `vl2re32.v v31,\(a0\)'
  1634. -.*Error: illegal operands `vl2re64.v v31,\(a0\)'
  1635. -.*Error: illegal operands `vl2re128.v v31,\(a0\)'
  1636. -.*Error: illegal operands `vl2re256.v v31,\(a0\)'
  1637. -.*Error: illegal operands `vl2re512.v v31,\(a0\)'
  1638. -.*Error: illegal operands `vl2re1024.v v31,\(a0\)'
  1639. -.*Error: illegal operands `vl4r.v v30,\(a0\)'
  1640. -.*Error: illegal operands `vl4re8.v v30,\(a0\)'
  1641. -.*Error: illegal operands `vl4re16.v v30,\(a0\)'
  1642. -.*Error: illegal operands `vl4re32.v v30,\(a0\)'
  1643. -.*Error: illegal operands `vl4re64.v v30,\(a0\)'
  1644. -.*Error: illegal operands `vl4re128.v v30,\(a0\)'
  1645. -.*Error: illegal operands `vl4re256.v v30,\(a0\)'
  1646. -.*Error: illegal operands `vl4re512.v v30,\(a0\)'
  1647. -.*Error: illegal operands `vl4re1024.v v30,\(a0\)'
  1648. -.*Error: illegal operands `vl8r.v v26,\(a0\)'
  1649. -.*Error: illegal operands `vl8re8.v v26,\(a0\)'
  1650. -.*Error: illegal operands `vl8re16.v v26,\(a0\)'
  1651. -.*Error: illegal operands `vl8re32.v v26,\(a0\)'
  1652. -.*Error: illegal operands `vl8re64.v v26,\(a0\)'
  1653. -.*Error: illegal operands `vl8re128.v v26,\(a0\)'
  1654. -.*Error: illegal operands `vl8re256.v v26,\(a0\)'
  1655. -.*Error: illegal operands `vl8re512.v v26,\(a0\)'
  1656. -.*Error: illegal operands `vl8re1024.v v26,\(a0\)'
  1657. -.*Error: illegal operands `vs2r.v v31,\(a0\)'
  1658. -.*Error: illegal operands `vs4r.v v30,\(a0\)'
  1659. -.*Error: illegal operands `vs8r.v v26,\(a0\)'
  1660. +.*Error: illegal operands vd cannot overlap vm `vle8.v v0,\(a0\),v0.t'
  1661. +.*Error: illegal operands vd cannot overlap vm `vle8ff.v v0,\(a0\),v0.t'
  1662. +.*Error: illegal operands vd cannot overlap vm `vle16.v v0,\(a0\),v0.t'
  1663. +.*Error: illegal operands vd cannot overlap vm `vle16ff.v v0,\(a0\),v0.t'
  1664. +.*Error: illegal operands vd cannot overlap vm `vle32.v v0,\(a0\),v0.t'
  1665. +.*Error: illegal operands vd cannot overlap vm `vle32ff.v v0,\(a0\),v0.t'
  1666. +.*Error: illegal operands vd cannot overlap vm `vle64.v v0,\(a0\),v0.t'
  1667. +.*Error: illegal operands vd cannot overlap vm `vle64ff.v v0,\(a0\),v0.t'
  1668. +.*Error: illegal operands vd cannot overlap vm `vle128.v v0,\(a0\),v0.t'
  1669. +.*Error: illegal operands vd cannot overlap vm `vle128ff.v v0,\(a0\),v0.t'
  1670. +.*Error: illegal operands vd cannot overlap vm `vle256.v v0,\(a0\),v0.t'
  1671. +.*Error: illegal operands vd cannot overlap vm `vle256ff.v v0,\(a0\),v0.t'
  1672. +.*Error: illegal operands vd cannot overlap vm `vle512.v v0,\(a0\),v0.t'
  1673. +.*Error: illegal operands vd cannot overlap vm `vle512ff.v v0,\(a0\),v0.t'
  1674. +.*Error: illegal operands vd cannot overlap vm `vle1024.v v0,\(a0\),v0.t'
  1675. +.*Error: illegal operands vd cannot overlap vm `vle1024ff.v v0,\(a0\),v0.t'
  1676. +.*Error: illegal operands vd cannot overlap vm `vse8.v v0,\(a0\),v0.t'
  1677. +.*Error: illegal operands vd cannot overlap vm `vse16.v v0,\(a0\),v0.t'
  1678. +.*Error: illegal operands vd cannot overlap vm `vse32.v v0,\(a0\),v0.t'
  1679. +.*Error: illegal operands vd cannot overlap vm `vse64.v v0,\(a0\),v0.t'
  1680. +.*Error: illegal operands vd cannot overlap vm `vse128.v v0,\(a0\),v0.t'
  1681. +.*Error: illegal operands vd cannot overlap vm `vse256.v v0,\(a0\),v0.t'
  1682. +.*Error: illegal operands vd cannot overlap vm `vse512.v v0,\(a0\),v0.t'
  1683. +.*Error: illegal operands vd cannot overlap vm `vse1024.v v0,\(a0\),v0.t'
  1684. +.*Error: illegal operands vd cannot overlap vm `vlse8.v v0,\(a0\),a1,v0.t'
  1685. +.*Error: illegal operands vd cannot overlap vm `vlse16.v v0,\(a0\),a1,v0.t'
  1686. +.*Error: illegal operands vd cannot overlap vm `vlse32.v v0,\(a0\),a1,v0.t'
  1687. +.*Error: illegal operands vd cannot overlap vm `vlse64.v v0,\(a0\),a1,v0.t'
  1688. +.*Error: illegal operands vd cannot overlap vm `vlse128.v v0,\(a0\),a1,v0.t'
  1689. +.*Error: illegal operands vd cannot overlap vm `vlse256.v v0,\(a0\),a1,v0.t'
  1690. +.*Error: illegal operands vd cannot overlap vm `vlse512.v v0,\(a0\),a1,v0.t'
  1691. +.*Error: illegal operands vd cannot overlap vm `vlse1024.v v0,\(a0\),a1,v0.t'
  1692. +.*Error: illegal operands vd cannot overlap vm `vsse8.v v0,\(a0\),a1,v0.t'
  1693. +.*Error: illegal operands vd cannot overlap vm `vsse16.v v0,\(a0\),a1,v0.t'
  1694. +.*Error: illegal operands vd cannot overlap vm `vsse32.v v0,\(a0\),a1,v0.t'
  1695. +.*Error: illegal operands vd cannot overlap vm `vsse64.v v0,\(a0\),a1,v0.t'
  1696. +.*Error: illegal operands vd cannot overlap vm `vsse128.v v0,\(a0\),a1,v0.t'
  1697. +.*Error: illegal operands vd cannot overlap vm `vsse256.v v0,\(a0\),a1,v0.t'
  1698. +.*Error: illegal operands vd cannot overlap vm `vsse512.v v0,\(a0\),a1,v0.t'
  1699. +.*Error: illegal operands vd cannot overlap vm `vsse1024.v v0,\(a0\),a1,v0.t'
  1700. +.*Error: illegal operands vd cannot overlap vm `vlxei8.v v0,\(a0\),v4,v0.t'
  1701. +.*Error: illegal operands vd cannot overlap vm `vlxei16.v v0,\(a0\),v4,v0.t'
  1702. +.*Error: illegal operands vd cannot overlap vm `vlxei32.v v0,\(a0\),v4,v0.t'
  1703. +.*Error: illegal operands vd cannot overlap vm `vlxei64.v v0,\(a0\),v4,v0.t'
  1704. +.*Error: illegal operands vd cannot overlap vm `vsxei8.v v0,\(a0\),v4,v0.t'
  1705. +.*Error: illegal operands vd cannot overlap vm `vsxei16.v v0,\(a0\),v4,v0.t'
  1706. +.*Error: illegal operands vd cannot overlap vm `vsxei32.v v0,\(a0\),v4,v0.t'
  1707. +.*Error: illegal operands vd cannot overlap vm `vsxei64.v v0,\(a0\),v4,v0.t'
  1708. +.*Error: illegal operands vd cannot overlap vm `vsuxei8.v v0,\(a0\),v4,v0.t'
  1709. +.*Error: illegal operands vd cannot overlap vm `vsuxei16.v v0,\(a0\),v4,v0.t'
  1710. +.*Error: illegal operands vd cannot overlap vm `vsuxei32.v v0,\(a0\),v4,v0.t'
  1711. +.*Error: illegal operands vd cannot overlap vm `vsuxei64.v v0,\(a0\),v4,v0.t'
  1712. +.*Error: illegal operands vd cannot overlap vm `vlseg2e8.v v0,\(a0\),v0.t'
  1713. +.*Error: illegal operands vd cannot overlap vm `vsseg2e8.v v0,\(a0\),v0.t'
  1714. +.*Error: illegal operands vd cannot overlap vm `vlseg2e8ff.v v0,\(a0\),v0.t'
  1715. +.*Error: illegal operands vd cannot overlap vm `vlseg3e8.v v0,\(a0\),v0.t'
  1716. +.*Error: illegal operands vd cannot overlap vm `vsseg3e8.v v0,\(a0\),v0.t'
  1717. +.*Error: illegal operands vd cannot overlap vm `vlseg3e8ff.v v0,\(a0\),v0.t'
  1718. +.*Error: illegal operands vd cannot overlap vm `vlseg4e8.v v0,\(a0\),v0.t'
  1719. +.*Error: illegal operands vd cannot overlap vm `vsseg4e8.v v0,\(a0\),v0.t'
  1720. +.*Error: illegal operands vd cannot overlap vm `vlseg4e8ff.v v0,\(a0\),v0.t'
  1721. +.*Error: illegal operands vd cannot overlap vm `vlseg5e8.v v0,\(a0\),v0.t'
  1722. +.*Error: illegal operands vd cannot overlap vm `vsseg5e8.v v0,\(a0\),v0.t'
  1723. +.*Error: illegal operands vd cannot overlap vm `vlseg5e8ff.v v0,\(a0\),v0.t'
  1724. +.*Error: illegal operands vd cannot overlap vm `vlseg6e8.v v0,\(a0\),v0.t'
  1725. +.*Error: illegal operands vd cannot overlap vm `vsseg6e8.v v0,\(a0\),v0.t'
  1726. +.*Error: illegal operands vd cannot overlap vm `vlseg6e8ff.v v0,\(a0\),v0.t'
  1727. +.*Error: illegal operands vd cannot overlap vm `vlseg7e8.v v0,\(a0\),v0.t'
  1728. +.*Error: illegal operands vd cannot overlap vm `vsseg7e8.v v0,\(a0\),v0.t'
  1729. +.*Error: illegal operands vd cannot overlap vm `vlseg7e8ff.v v0,\(a0\),v0.t'
  1730. +.*Error: illegal operands vd cannot overlap vm `vlseg8e8.v v0,\(a0\),v0.t'
  1731. +.*Error: illegal operands vd cannot overlap vm `vsseg8e8.v v0,\(a0\),v0.t'
  1732. +.*Error: illegal operands vd cannot overlap vm `vlseg8e8ff.v v0,\(a0\),v0.t'
  1733. +.*Error: illegal operands vd cannot overlap vm `vlseg2e16.v v0,\(a0\),v0.t'
  1734. +.*Error: illegal operands vd cannot overlap vm `vsseg2e16.v v0,\(a0\),v0.t'
  1735. +.*Error: illegal operands vd cannot overlap vm `vlseg2e16ff.v v0,\(a0\),v0.t'
  1736. +.*Error: illegal operands vd cannot overlap vm `vlseg3e16.v v0,\(a0\),v0.t'
  1737. +.*Error: illegal operands vd cannot overlap vm `vsseg3e16.v v0,\(a0\),v0.t'
  1738. +.*Error: illegal operands vd cannot overlap vm `vlseg3e16ff.v v0,\(a0\),v0.t'
  1739. +.*Error: illegal operands vd cannot overlap vm `vlseg4e16.v v0,\(a0\),v0.t'
  1740. +.*Error: illegal operands vd cannot overlap vm `vsseg4e16.v v0,\(a0\),v0.t'
  1741. +.*Error: illegal operands vd cannot overlap vm `vlseg4e16ff.v v0,\(a0\),v0.t'
  1742. +.*Error: illegal operands vd cannot overlap vm `vlseg5e16.v v0,\(a0\),v0.t'
  1743. +.*Error: illegal operands vd cannot overlap vm `vsseg5e16.v v0,\(a0\),v0.t'
  1744. +.*Error: illegal operands vd cannot overlap vm `vlseg5e16ff.v v0,\(a0\),v0.t'
  1745. +.*Error: illegal operands vd cannot overlap vm `vlseg6e16.v v0,\(a0\),v0.t'
  1746. +.*Error: illegal operands vd cannot overlap vm `vsseg6e16.v v0,\(a0\),v0.t'
  1747. +.*Error: illegal operands vd cannot overlap vm `vlseg6e16ff.v v0,\(a0\),v0.t'
  1748. +.*Error: illegal operands vd cannot overlap vm `vlseg7e16.v v0,\(a0\),v0.t'
  1749. +.*Error: illegal operands vd cannot overlap vm `vsseg7e16.v v0,\(a0\),v0.t'
  1750. +.*Error: illegal operands vd cannot overlap vm `vlseg7e16ff.v v0,\(a0\),v0.t'
  1751. +.*Error: illegal operands vd cannot overlap vm `vlseg8e16.v v0,\(a0\),v0.t'
  1752. +.*Error: illegal operands vd cannot overlap vm `vsseg8e16.v v0,\(a0\),v0.t'
  1753. +.*Error: illegal operands vd cannot overlap vm `vlseg8e16ff.v v0,\(a0\),v0.t'
  1754. +.*Error: illegal operands vd cannot overlap vm `vlseg2e32.v v0,\(a0\),v0.t'
  1755. +.*Error: illegal operands vd cannot overlap vm `vsseg2e32.v v0,\(a0\),v0.t'
  1756. +.*Error: illegal operands vd cannot overlap vm `vlseg2e32ff.v v0,\(a0\),v0.t'
  1757. +.*Error: illegal operands vd cannot overlap vm `vlseg3e32.v v0,\(a0\),v0.t'
  1758. +.*Error: illegal operands vd cannot overlap vm `vsseg3e32.v v0,\(a0\),v0.t'
  1759. +.*Error: illegal operands vd cannot overlap vm `vlseg3e32ff.v v0,\(a0\),v0.t'
  1760. +.*Error: illegal operands vd cannot overlap vm `vlseg4e32.v v0,\(a0\),v0.t'
  1761. +.*Error: illegal operands vd cannot overlap vm `vsseg4e32.v v0,\(a0\),v0.t'
  1762. +.*Error: illegal operands vd cannot overlap vm `vlseg4e32ff.v v0,\(a0\),v0.t'
  1763. +.*Error: illegal operands vd cannot overlap vm `vlseg5e32.v v0,\(a0\),v0.t'
  1764. +.*Error: illegal operands vd cannot overlap vm `vsseg5e32.v v0,\(a0\),v0.t'
  1765. +.*Error: illegal operands vd cannot overlap vm `vlseg5e32ff.v v0,\(a0\),v0.t'
  1766. +.*Error: illegal operands vd cannot overlap vm `vlseg6e32.v v0,\(a0\),v0.t'
  1767. +.*Error: illegal operands vd cannot overlap vm `vsseg6e32.v v0,\(a0\),v0.t'
  1768. +.*Error: illegal operands vd cannot overlap vm `vlseg6e32ff.v v0,\(a0\),v0.t'
  1769. +.*Error: illegal operands vd cannot overlap vm `vlseg7e32.v v0,\(a0\),v0.t'
  1770. +.*Error: illegal operands vd cannot overlap vm `vsseg7e32.v v0,\(a0\),v0.t'
  1771. +.*Error: illegal operands vd cannot overlap vm `vlseg7e32ff.v v0,\(a0\),v0.t'
  1772. +.*Error: illegal operands vd cannot overlap vm `vlseg8e32.v v0,\(a0\),v0.t'
  1773. +.*Error: illegal operands vd cannot overlap vm `vsseg8e32.v v0,\(a0\),v0.t'
  1774. +.*Error: illegal operands vd cannot overlap vm `vlseg8e32ff.v v0,\(a0\),v0.t'
  1775. +.*Error: illegal operands vd cannot overlap vm `vlseg2e64.v v0,\(a0\),v0.t'
  1776. +.*Error: illegal operands vd cannot overlap vm `vsseg2e64.v v0,\(a0\),v0.t'
  1777. +.*Error: illegal operands vd cannot overlap vm `vlseg2e64ff.v v0,\(a0\),v0.t'
  1778. +.*Error: illegal operands vd cannot overlap vm `vlseg3e64.v v0,\(a0\),v0.t'
  1779. +.*Error: illegal operands vd cannot overlap vm `vsseg3e64.v v0,\(a0\),v0.t'
  1780. +.*Error: illegal operands vd cannot overlap vm `vlseg3e64ff.v v0,\(a0\),v0.t'
  1781. +.*Error: illegal operands vd cannot overlap vm `vlseg4e64.v v0,\(a0\),v0.t'
  1782. +.*Error: illegal operands vd cannot overlap vm `vsseg4e64.v v0,\(a0\),v0.t'
  1783. +.*Error: illegal operands vd cannot overlap vm `vlseg4e64ff.v v0,\(a0\),v0.t'
  1784. +.*Error: illegal operands vd cannot overlap vm `vlseg5e64.v v0,\(a0\),v0.t'
  1785. +.*Error: illegal operands vd cannot overlap vm `vsseg5e64.v v0,\(a0\),v0.t'
  1786. +.*Error: illegal operands vd cannot overlap vm `vlseg5e64ff.v v0,\(a0\),v0.t'
  1787. +.*Error: illegal operands vd cannot overlap vm `vlseg6e64.v v0,\(a0\),v0.t'
  1788. +.*Error: illegal operands vd cannot overlap vm `vsseg6e64.v v0,\(a0\),v0.t'
  1789. +.*Error: illegal operands vd cannot overlap vm `vlseg6e64ff.v v0,\(a0\),v0.t'
  1790. +.*Error: illegal operands vd cannot overlap vm `vlseg7e64.v v0,\(a0\),v0.t'
  1791. +.*Error: illegal operands vd cannot overlap vm `vsseg7e64.v v0,\(a0\),v0.t'
  1792. +.*Error: illegal operands vd cannot overlap vm `vlseg7e64ff.v v0,\(a0\),v0.t'
  1793. +.*Error: illegal operands vd cannot overlap vm `vlseg8e64.v v0,\(a0\),v0.t'
  1794. +.*Error: illegal operands vd cannot overlap vm `vsseg8e64.v v0,\(a0\),v0.t'
  1795. +.*Error: illegal operands vd cannot overlap vm `vlseg8e64ff.v v0,\(a0\),v0.t'
  1796. +.*Error: illegal operands vd cannot overlap vm `vlseg2e128.v v0,\(a0\),v0.t'
  1797. +.*Error: illegal operands vd cannot overlap vm `vsseg2e128.v v0,\(a0\),v0.t'
  1798. +.*Error: illegal operands vd cannot overlap vm `vlseg2e128ff.v v0,\(a0\),v0.t'
  1799. +.*Error: illegal operands vd cannot overlap vm `vlseg3e128.v v0,\(a0\),v0.t'
  1800. +.*Error: illegal operands vd cannot overlap vm `vsseg3e128.v v0,\(a0\),v0.t'
  1801. +.*Error: illegal operands vd cannot overlap vm `vlseg3e128ff.v v0,\(a0\),v0.t'
  1802. +.*Error: illegal operands vd cannot overlap vm `vlseg4e128.v v0,\(a0\),v0.t'
  1803. +.*Error: illegal operands vd cannot overlap vm `vsseg4e128.v v0,\(a0\),v0.t'
  1804. +.*Error: illegal operands vd cannot overlap vm `vlseg4e128ff.v v0,\(a0\),v0.t'
  1805. +.*Error: illegal operands vd cannot overlap vm `vlseg5e128.v v0,\(a0\),v0.t'
  1806. +.*Error: illegal operands vd cannot overlap vm `vsseg5e128.v v0,\(a0\),v0.t'
  1807. +.*Error: illegal operands vd cannot overlap vm `vlseg5e128ff.v v0,\(a0\),v0.t'
  1808. +.*Error: illegal operands vd cannot overlap vm `vlseg6e128.v v0,\(a0\),v0.t'
  1809. +.*Error: illegal operands vd cannot overlap vm `vsseg6e128.v v0,\(a0\),v0.t'
  1810. +.*Error: illegal operands vd cannot overlap vm `vlseg6e128ff.v v0,\(a0\),v0.t'
  1811. +.*Error: illegal operands vd cannot overlap vm `vlseg7e128.v v0,\(a0\),v0.t'
  1812. +.*Error: illegal operands vd cannot overlap vm `vsseg7e128.v v0,\(a0\),v0.t'
  1813. +.*Error: illegal operands vd cannot overlap vm `vlseg7e128ff.v v0,\(a0\),v0.t'
  1814. +.*Error: illegal operands vd cannot overlap vm `vlseg8e128.v v0,\(a0\),v0.t'
  1815. +.*Error: illegal operands vd cannot overlap vm `vsseg8e128.v v0,\(a0\),v0.t'
  1816. +.*Error: illegal operands vd cannot overlap vm `vlseg8e128ff.v v0,\(a0\),v0.t'
  1817. +.*Error: illegal operands vd cannot overlap vm `vlseg2e256.v v0,\(a0\),v0.t'
  1818. +.*Error: illegal operands vd cannot overlap vm `vsseg2e256.v v0,\(a0\),v0.t'
  1819. +.*Error: illegal operands vd cannot overlap vm `vlseg2e256ff.v v0,\(a0\),v0.t'
  1820. +.*Error: illegal operands vd cannot overlap vm `vlseg3e256.v v0,\(a0\),v0.t'
  1821. +.*Error: illegal operands vd cannot overlap vm `vsseg3e256.v v0,\(a0\),v0.t'
  1822. +.*Error: illegal operands vd cannot overlap vm `vlseg3e256ff.v v0,\(a0\),v0.t'
  1823. +.*Error: illegal operands vd cannot overlap vm `vlseg4e256.v v0,\(a0\),v0.t'
  1824. +.*Error: illegal operands vd cannot overlap vm `vsseg4e256.v v0,\(a0\),v0.t'
  1825. +.*Error: illegal operands vd cannot overlap vm `vlseg4e256ff.v v0,\(a0\),v0.t'
  1826. +.*Error: illegal operands vd cannot overlap vm `vlseg5e256.v v0,\(a0\),v0.t'
  1827. +.*Error: illegal operands vd cannot overlap vm `vsseg5e256.v v0,\(a0\),v0.t'
  1828. +.*Error: illegal operands vd cannot overlap vm `vlseg5e256ff.v v0,\(a0\),v0.t'
  1829. +.*Error: illegal operands vd cannot overlap vm `vlseg6e256.v v0,\(a0\),v0.t'
  1830. +.*Error: illegal operands vd cannot overlap vm `vsseg6e256.v v0,\(a0\),v0.t'
  1831. +.*Error: illegal operands vd cannot overlap vm `vlseg6e256ff.v v0,\(a0\),v0.t'
  1832. +.*Error: illegal operands vd cannot overlap vm `vlseg7e256.v v0,\(a0\),v0.t'
  1833. +.*Error: illegal operands vd cannot overlap vm `vsseg7e256.v v0,\(a0\),v0.t'
  1834. +.*Error: illegal operands vd cannot overlap vm `vlseg7e256ff.v v0,\(a0\),v0.t'
  1835. +.*Error: illegal operands vd cannot overlap vm `vlseg8e256.v v0,\(a0\),v0.t'
  1836. +.*Error: illegal operands vd cannot overlap vm `vsseg8e256.v v0,\(a0\),v0.t'
  1837. +.*Error: illegal operands vd cannot overlap vm `vlseg8e256ff.v v0,\(a0\),v0.t'
  1838. +.*Error: illegal operands vd cannot overlap vm `vlseg2e512.v v0,\(a0\),v0.t'
  1839. +.*Error: illegal operands vd cannot overlap vm `vsseg2e512.v v0,\(a0\),v0.t'
  1840. +.*Error: illegal operands vd cannot overlap vm `vlseg2e512ff.v v0,\(a0\),v0.t'
  1841. +.*Error: illegal operands vd cannot overlap vm `vlseg3e512.v v0,\(a0\),v0.t'
  1842. +.*Error: illegal operands vd cannot overlap vm `vsseg3e512.v v0,\(a0\),v0.t'
  1843. +.*Error: illegal operands vd cannot overlap vm `vlseg3e512ff.v v0,\(a0\),v0.t'
  1844. +.*Error: illegal operands vd cannot overlap vm `vlseg4e512.v v0,\(a0\),v0.t'
  1845. +.*Error: illegal operands vd cannot overlap vm `vsseg4e512.v v0,\(a0\),v0.t'
  1846. +.*Error: illegal operands vd cannot overlap vm `vlseg4e512ff.v v0,\(a0\),v0.t'
  1847. +.*Error: illegal operands vd cannot overlap vm `vlseg5e512.v v0,\(a0\),v0.t'
  1848. +.*Error: illegal operands vd cannot overlap vm `vsseg5e512.v v0,\(a0\),v0.t'
  1849. +.*Error: illegal operands vd cannot overlap vm `vlseg5e512ff.v v0,\(a0\),v0.t'
  1850. +.*Error: illegal operands vd cannot overlap vm `vlseg6e512.v v0,\(a0\),v0.t'
  1851. +.*Error: illegal operands vd cannot overlap vm `vsseg6e512.v v0,\(a0\),v0.t'
  1852. +.*Error: illegal operands vd cannot overlap vm `vlseg6e512ff.v v0,\(a0\),v0.t'
  1853. +.*Error: illegal operands vd cannot overlap vm `vlseg7e512.v v0,\(a0\),v0.t'
  1854. +.*Error: illegal operands vd cannot overlap vm `vsseg7e512.v v0,\(a0\),v0.t'
  1855. +.*Error: illegal operands vd cannot overlap vm `vlseg7e512ff.v v0,\(a0\),v0.t'
  1856. +.*Error: illegal operands vd cannot overlap vm `vlseg8e512.v v0,\(a0\),v0.t'
  1857. +.*Error: illegal operands vd cannot overlap vm `vsseg8e512.v v0,\(a0\),v0.t'
  1858. +.*Error: illegal operands vd cannot overlap vm `vlseg8e512ff.v v0,\(a0\),v0.t'
  1859. +.*Error: illegal operands vd cannot overlap vm `vlseg2e1024.v v0,\(a0\),v0.t'
  1860. +.*Error: illegal operands vd cannot overlap vm `vsseg2e1024.v v0,\(a0\),v0.t'
  1861. +.*Error: illegal operands vd cannot overlap vm `vlseg2e1024ff.v v0,\(a0\),v0.t'
  1862. +.*Error: illegal operands vd cannot overlap vm `vlseg3e1024.v v0,\(a0\),v0.t'
  1863. +.*Error: illegal operands vd cannot overlap vm `vsseg3e1024.v v0,\(a0\),v0.t'
  1864. +.*Error: illegal operands vd cannot overlap vm `vlseg3e1024ff.v v0,\(a0\),v0.t'
  1865. +.*Error: illegal operands vd cannot overlap vm `vlseg4e1024.v v0,\(a0\),v0.t'
  1866. +.*Error: illegal operands vd cannot overlap vm `vsseg4e1024.v v0,\(a0\),v0.t'
  1867. +.*Error: illegal operands vd cannot overlap vm `vlseg4e1024ff.v v0,\(a0\),v0.t'
  1868. +.*Error: illegal operands vd cannot overlap vm `vlseg5e1024.v v0,\(a0\),v0.t'
  1869. +.*Error: illegal operands vd cannot overlap vm `vsseg5e1024.v v0,\(a0\),v0.t'
  1870. +.*Error: illegal operands vd cannot overlap vm `vlseg5e1024ff.v v0,\(a0\),v0.t'
  1871. +.*Error: illegal operands vd cannot overlap vm `vlseg6e1024.v v0,\(a0\),v0.t'
  1872. +.*Error: illegal operands vd cannot overlap vm `vsseg6e1024.v v0,\(a0\),v0.t'
  1873. +.*Error: illegal operands vd cannot overlap vm `vlseg6e1024ff.v v0,\(a0\),v0.t'
  1874. +.*Error: illegal operands vd cannot overlap vm `vlseg7e1024.v v0,\(a0\),v0.t'
  1875. +.*Error: illegal operands vd cannot overlap vm `vsseg7e1024.v v0,\(a0\),v0.t'
  1876. +.*Error: illegal operands vd cannot overlap vm `vlseg7e1024ff.v v0,\(a0\),v0.t'
  1877. +.*Error: illegal operands vd cannot overlap vm `vlseg8e1024.v v0,\(a0\),v0.t'
  1878. +.*Error: illegal operands vd cannot overlap vm `vsseg8e1024.v v0,\(a0\),v0.t'
  1879. +.*Error: illegal operands vd cannot overlap vm `vlseg8e1024ff.v v0,\(a0\),v0.t'
  1880. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e8.v v0,\(a0\),a1,v0.t'
  1881. +.*Error: illegal operands vd cannot overlap vm `vssseg2e8.v v0,\(a0\),a1,v0.t'
  1882. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e8.v v0,\(a0\),a1,v0.t'
  1883. +.*Error: illegal operands vd cannot overlap vm `vssseg3e8.v v0,\(a0\),a1,v0.t'
  1884. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e8.v v0,\(a0\),a1,v0.t'
  1885. +.*Error: illegal operands vd cannot overlap vm `vssseg4e8.v v0,\(a0\),a1,v0.t'
  1886. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e8.v v0,\(a0\),a1,v0.t'
  1887. +.*Error: illegal operands vd cannot overlap vm `vssseg5e8.v v0,\(a0\),a1,v0.t'
  1888. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e8.v v0,\(a0\),a1,v0.t'
  1889. +.*Error: illegal operands vd cannot overlap vm `vssseg6e8.v v0,\(a0\),a1,v0.t'
  1890. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e8.v v0,\(a0\),a1,v0.t'
  1891. +.*Error: illegal operands vd cannot overlap vm `vssseg7e8.v v0,\(a0\),a1,v0.t'
  1892. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e8.v v0,\(a0\),a1,v0.t'
  1893. +.*Error: illegal operands vd cannot overlap vm `vssseg8e8.v v0,\(a0\),a1,v0.t'
  1894. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e16.v v0,\(a0\),a1,v0.t'
  1895. +.*Error: illegal operands vd cannot overlap vm `vssseg2e16.v v0,\(a0\),a1,v0.t'
  1896. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e16.v v0,\(a0\),a1,v0.t'
  1897. +.*Error: illegal operands vd cannot overlap vm `vssseg3e16.v v0,\(a0\),a1,v0.t'
  1898. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e16.v v0,\(a0\),a1,v0.t'
  1899. +.*Error: illegal operands vd cannot overlap vm `vssseg4e16.v v0,\(a0\),a1,v0.t'
  1900. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e16.v v0,\(a0\),a1,v0.t'
  1901. +.*Error: illegal operands vd cannot overlap vm `vssseg5e16.v v0,\(a0\),a1,v0.t'
  1902. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e16.v v0,\(a0\),a1,v0.t'
  1903. +.*Error: illegal operands vd cannot overlap vm `vssseg6e16.v v0,\(a0\),a1,v0.t'
  1904. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e16.v v0,\(a0\),a1,v0.t'
  1905. +.*Error: illegal operands vd cannot overlap vm `vssseg7e16.v v0,\(a0\),a1,v0.t'
  1906. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e16.v v0,\(a0\),a1,v0.t'
  1907. +.*Error: illegal operands vd cannot overlap vm `vssseg8e16.v v0,\(a0\),a1,v0.t'
  1908. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e32.v v0,\(a0\),a1,v0.t'
  1909. +.*Error: illegal operands vd cannot overlap vm `vssseg2e32.v v0,\(a0\),a1,v0.t'
  1910. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e32.v v0,\(a0\),a1,v0.t'
  1911. +.*Error: illegal operands vd cannot overlap vm `vssseg3e32.v v0,\(a0\),a1,v0.t'
  1912. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e32.v v0,\(a0\),a1,v0.t'
  1913. +.*Error: illegal operands vd cannot overlap vm `vssseg4e32.v v0,\(a0\),a1,v0.t'
  1914. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e32.v v0,\(a0\),a1,v0.t'
  1915. +.*Error: illegal operands vd cannot overlap vm `vssseg5e32.v v0,\(a0\),a1,v0.t'
  1916. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e32.v v0,\(a0\),a1,v0.t'
  1917. +.*Error: illegal operands vd cannot overlap vm `vssseg6e32.v v0,\(a0\),a1,v0.t'
  1918. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e32.v v0,\(a0\),a1,v0.t'
  1919. +.*Error: illegal operands vd cannot overlap vm `vssseg7e32.v v0,\(a0\),a1,v0.t'
  1920. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e32.v v0,\(a0\),a1,v0.t'
  1921. +.*Error: illegal operands vd cannot overlap vm `vssseg8e32.v v0,\(a0\),a1,v0.t'
  1922. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e64.v v0,\(a0\),a1,v0.t'
  1923. +.*Error: illegal operands vd cannot overlap vm `vssseg2e64.v v0,\(a0\),a1,v0.t'
  1924. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e64.v v0,\(a0\),a1,v0.t'
  1925. +.*Error: illegal operands vd cannot overlap vm `vssseg3e64.v v0,\(a0\),a1,v0.t'
  1926. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e64.v v0,\(a0\),a1,v0.t'
  1927. +.*Error: illegal operands vd cannot overlap vm `vssseg4e64.v v0,\(a0\),a1,v0.t'
  1928. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e64.v v0,\(a0\),a1,v0.t'
  1929. +.*Error: illegal operands vd cannot overlap vm `vssseg5e64.v v0,\(a0\),a1,v0.t'
  1930. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e64.v v0,\(a0\),a1,v0.t'
  1931. +.*Error: illegal operands vd cannot overlap vm `vssseg6e64.v v0,\(a0\),a1,v0.t'
  1932. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e64.v v0,\(a0\),a1,v0.t'
  1933. +.*Error: illegal operands vd cannot overlap vm `vssseg7e64.v v0,\(a0\),a1,v0.t'
  1934. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e64.v v0,\(a0\),a1,v0.t'
  1935. +.*Error: illegal operands vd cannot overlap vm `vssseg8e64.v v0,\(a0\),a1,v0.t'
  1936. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e128.v v0,\(a0\),a1,v0.t'
  1937. +.*Error: illegal operands vd cannot overlap vm `vssseg2e128.v v0,\(a0\),a1,v0.t'
  1938. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e128.v v0,\(a0\),a1,v0.t'
  1939. +.*Error: illegal operands vd cannot overlap vm `vssseg3e128.v v0,\(a0\),a1,v0.t'
  1940. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e128.v v0,\(a0\),a1,v0.t'
  1941. +.*Error: illegal operands vd cannot overlap vm `vssseg4e128.v v0,\(a0\),a1,v0.t'
  1942. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e128.v v0,\(a0\),a1,v0.t'
  1943. +.*Error: illegal operands vd cannot overlap vm `vssseg5e128.v v0,\(a0\),a1,v0.t'
  1944. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e128.v v0,\(a0\),a1,v0.t'
  1945. +.*Error: illegal operands vd cannot overlap vm `vssseg6e128.v v0,\(a0\),a1,v0.t'
  1946. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e128.v v0,\(a0\),a1,v0.t'
  1947. +.*Error: illegal operands vd cannot overlap vm `vssseg7e128.v v0,\(a0\),a1,v0.t'
  1948. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e128.v v0,\(a0\),a1,v0.t'
  1949. +.*Error: illegal operands vd cannot overlap vm `vssseg8e128.v v0,\(a0\),a1,v0.t'
  1950. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e256.v v0,\(a0\),a1,v0.t'
  1951. +.*Error: illegal operands vd cannot overlap vm `vssseg2e256.v v0,\(a0\),a1,v0.t'
  1952. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e256.v v0,\(a0\),a1,v0.t'
  1953. +.*Error: illegal operands vd cannot overlap vm `vssseg3e256.v v0,\(a0\),a1,v0.t'
  1954. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e256.v v0,\(a0\),a1,v0.t'
  1955. +.*Error: illegal operands vd cannot overlap vm `vssseg4e256.v v0,\(a0\),a1,v0.t'
  1956. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e256.v v0,\(a0\),a1,v0.t'
  1957. +.*Error: illegal operands vd cannot overlap vm `vssseg5e256.v v0,\(a0\),a1,v0.t'
  1958. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e256.v v0,\(a0\),a1,v0.t'
  1959. +.*Error: illegal operands vd cannot overlap vm `vssseg6e256.v v0,\(a0\),a1,v0.t'
  1960. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e256.v v0,\(a0\),a1,v0.t'
  1961. +.*Error: illegal operands vd cannot overlap vm `vssseg7e256.v v0,\(a0\),a1,v0.t'
  1962. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e256.v v0,\(a0\),a1,v0.t'
  1963. +.*Error: illegal operands vd cannot overlap vm `vssseg8e256.v v0,\(a0\),a1,v0.t'
  1964. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e512.v v0,\(a0\),a1,v0.t'
  1965. +.*Error: illegal operands vd cannot overlap vm `vssseg2e512.v v0,\(a0\),a1,v0.t'
  1966. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e512.v v0,\(a0\),a1,v0.t'
  1967. +.*Error: illegal operands vd cannot overlap vm `vssseg3e512.v v0,\(a0\),a1,v0.t'
  1968. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e512.v v0,\(a0\),a1,v0.t'
  1969. +.*Error: illegal operands vd cannot overlap vm `vssseg4e512.v v0,\(a0\),a1,v0.t'
  1970. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e512.v v0,\(a0\),a1,v0.t'
  1971. +.*Error: illegal operands vd cannot overlap vm `vssseg5e512.v v0,\(a0\),a1,v0.t'
  1972. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e512.v v0,\(a0\),a1,v0.t'
  1973. +.*Error: illegal operands vd cannot overlap vm `vssseg6e512.v v0,\(a0\),a1,v0.t'
  1974. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e512.v v0,\(a0\),a1,v0.t'
  1975. +.*Error: illegal operands vd cannot overlap vm `vssseg7e512.v v0,\(a0\),a1,v0.t'
  1976. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e512.v v0,\(a0\),a1,v0.t'
  1977. +.*Error: illegal operands vd cannot overlap vm `vssseg8e512.v v0,\(a0\),a1,v0.t'
  1978. +.*Error: illegal operands vd cannot overlap vm `vlsseg2e1024.v v0,\(a0\),a1,v0.t'
  1979. +.*Error: illegal operands vd cannot overlap vm `vssseg2e1024.v v0,\(a0\),a1,v0.t'
  1980. +.*Error: illegal operands vd cannot overlap vm `vlsseg3e1024.v v0,\(a0\),a1,v0.t'
  1981. +.*Error: illegal operands vd cannot overlap vm `vssseg3e1024.v v0,\(a0\),a1,v0.t'
  1982. +.*Error: illegal operands vd cannot overlap vm `vlsseg4e1024.v v0,\(a0\),a1,v0.t'
  1983. +.*Error: illegal operands vd cannot overlap vm `vssseg4e1024.v v0,\(a0\),a1,v0.t'
  1984. +.*Error: illegal operands vd cannot overlap vm `vlsseg5e1024.v v0,\(a0\),a1,v0.t'
  1985. +.*Error: illegal operands vd cannot overlap vm `vssseg5e1024.v v0,\(a0\),a1,v0.t'
  1986. +.*Error: illegal operands vd cannot overlap vm `vlsseg6e1024.v v0,\(a0\),a1,v0.t'
  1987. +.*Error: illegal operands vd cannot overlap vm `vssseg6e1024.v v0,\(a0\),a1,v0.t'
  1988. +.*Error: illegal operands vd cannot overlap vm `vlsseg7e1024.v v0,\(a0\),a1,v0.t'
  1989. +.*Error: illegal operands vd cannot overlap vm `vssseg7e1024.v v0,\(a0\),a1,v0.t'
  1990. +.*Error: illegal operands vd cannot overlap vm `vlsseg8e1024.v v0,\(a0\),a1,v0.t'
  1991. +.*Error: illegal operands vd cannot overlap vm `vssseg8e1024.v v0,\(a0\),a1,v0.t'
  1992. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei8.v v4,\(a0\),v4'
  1993. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei8.v v0,\(a0\),v4,v0.t'
  1994. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei8.v v4,\(a0\),v4'
  1995. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei8.v v0,\(a0\),v4,v0.t'
  1996. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei8.v v4,\(a0\),v4'
  1997. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei8.v v0,\(a0\),v4,v0.t'
  1998. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei8.v v4,\(a0\),v4'
  1999. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei8.v v0,\(a0\),v4,v0.t'
  2000. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei8.v v4,\(a0\),v4'
  2001. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei8.v v0,\(a0\),v4,v0.t'
  2002. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei8.v v4,\(a0\),v4'
  2003. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei8.v v0,\(a0\),v4,v0.t'
  2004. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei8.v v4,\(a0\),v4'
  2005. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei8.v v0,\(a0\),v4,v0.t'
  2006. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei8.v v4,\(a0\),v4'
  2007. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei8.v v0,\(a0\),v4,v0.t'
  2008. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei8.v v4,\(a0\),v4'
  2009. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei8.v v0,\(a0\),v4,v0.t'
  2010. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei8.v v4,\(a0\),v4'
  2011. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei8.v v0,\(a0\),v4,v0.t'
  2012. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei8.v v4,\(a0\),v4'
  2013. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei8.v v0,\(a0\),v4,v0.t'
  2014. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei8.v v4,\(a0\),v4'
  2015. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei8.v v0,\(a0\),v4,v0.t'
  2016. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei8.v v4,\(a0\),v4'
  2017. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei8.v v0,\(a0\),v4,v0.t'
  2018. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei8.v v4,\(a0\),v4'
  2019. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei8.v v0,\(a0\),v4,v0.t'
  2020. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei16.v v4,\(a0\),v4'
  2021. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei16.v v0,\(a0\),v4,v0.t'
  2022. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei16.v v4,\(a0\),v4'
  2023. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei16.v v0,\(a0\),v4,v0.t'
  2024. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei16.v v4,\(a0\),v4'
  2025. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei16.v v0,\(a0\),v4,v0.t'
  2026. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei16.v v4,\(a0\),v4'
  2027. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei16.v v0,\(a0\),v4,v0.t'
  2028. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei16.v v4,\(a0\),v4'
  2029. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei16.v v0,\(a0\),v4,v0.t'
  2030. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei16.v v4,\(a0\),v4'
  2031. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei16.v v0,\(a0\),v4,v0.t'
  2032. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei16.v v4,\(a0\),v4'
  2033. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei16.v v0,\(a0\),v4,v0.t'
  2034. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei16.v v4,\(a0\),v4'
  2035. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei16.v v0,\(a0\),v4,v0.t'
  2036. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei16.v v4,\(a0\),v4'
  2037. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei16.v v0,\(a0\),v4,v0.t'
  2038. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei16.v v4,\(a0\),v4'
  2039. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei16.v v0,\(a0\),v4,v0.t'
  2040. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei16.v v4,\(a0\),v4'
  2041. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei16.v v0,\(a0\),v4,v0.t'
  2042. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei16.v v4,\(a0\),v4'
  2043. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei16.v v0,\(a0\),v4,v0.t'
  2044. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei16.v v4,\(a0\),v4'
  2045. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei16.v v0,\(a0\),v4,v0.t'
  2046. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei16.v v4,\(a0\),v4'
  2047. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei16.v v0,\(a0\),v4,v0.t'
  2048. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei32.v v4,\(a0\),v4'
  2049. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei32.v v0,\(a0\),v4,v0.t'
  2050. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei32.v v4,\(a0\),v4'
  2051. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei32.v v0,\(a0\),v4,v0.t'
  2052. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei32.v v4,\(a0\),v4'
  2053. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei32.v v0,\(a0\),v4,v0.t'
  2054. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei32.v v4,\(a0\),v4'
  2055. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei32.v v0,\(a0\),v4,v0.t'
  2056. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei32.v v4,\(a0\),v4'
  2057. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei32.v v0,\(a0\),v4,v0.t'
  2058. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei32.v v4,\(a0\),v4'
  2059. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei32.v v0,\(a0\),v4,v0.t'
  2060. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei32.v v4,\(a0\),v4'
  2061. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei32.v v0,\(a0\),v4,v0.t'
  2062. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei32.v v4,\(a0\),v4'
  2063. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei32.v v0,\(a0\),v4,v0.t'
  2064. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei32.v v4,\(a0\),v4'
  2065. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei32.v v0,\(a0\),v4,v0.t'
  2066. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei32.v v4,\(a0\),v4'
  2067. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei32.v v0,\(a0\),v4,v0.t'
  2068. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei32.v v4,\(a0\),v4'
  2069. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei32.v v0,\(a0\),v4,v0.t'
  2070. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei32.v v4,\(a0\),v4'
  2071. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei32.v v0,\(a0\),v4,v0.t'
  2072. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei32.v v4,\(a0\),v4'
  2073. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei32.v v0,\(a0\),v4,v0.t'
  2074. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei32.v v4,\(a0\),v4'
  2075. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei32.v v0,\(a0\),v4,v0.t'
  2076. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei64.v v4,\(a0\),v4'
  2077. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei64.v v0,\(a0\),v4,v0.t'
  2078. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei64.v v4,\(a0\),v4'
  2079. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei64.v v0,\(a0\),v4,v0.t'
  2080. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei64.v v4,\(a0\),v4'
  2081. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei64.v v0,\(a0\),v4,v0.t'
  2082. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei64.v v4,\(a0\),v4'
  2083. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei64.v v0,\(a0\),v4,v0.t'
  2084. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei64.v v4,\(a0\),v4'
  2085. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei64.v v0,\(a0\),v4,v0.t'
  2086. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei64.v v4,\(a0\),v4'
  2087. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei64.v v0,\(a0\),v4,v0.t'
  2088. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei64.v v4,\(a0\),v4'
  2089. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei64.v v0,\(a0\),v4,v0.t'
  2090. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei64.v v4,\(a0\),v4'
  2091. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei64.v v0,\(a0\),v4,v0.t'
  2092. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei64.v v4,\(a0\),v4'
  2093. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei64.v v0,\(a0\),v4,v0.t'
  2094. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei64.v v4,\(a0\),v4'
  2095. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei64.v v0,\(a0\),v4,v0.t'
  2096. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei64.v v4,\(a0\),v4'
  2097. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei64.v v0,\(a0\),v4,v0.t'
  2098. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei64.v v4,\(a0\),v4'
  2099. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei64.v v0,\(a0\),v4,v0.t'
  2100. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei64.v v4,\(a0\),v4'
  2101. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei64.v v0,\(a0\),v4,v0.t'
  2102. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei64.v v4,\(a0\),v4'
  2103. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei64.v v0,\(a0\),v4,v0.t'
  2104. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei128.v v4,\(a0\),v4'
  2105. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei128.v v0,\(a0\),v4,v0.t'
  2106. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei128.v v4,\(a0\),v4'
  2107. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei128.v v0,\(a0\),v4,v0.t'
  2108. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei128.v v4,\(a0\),v4'
  2109. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei128.v v0,\(a0\),v4,v0.t'
  2110. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei128.v v4,\(a0\),v4'
  2111. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei128.v v0,\(a0\),v4,v0.t'
  2112. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei128.v v4,\(a0\),v4'
  2113. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei128.v v0,\(a0\),v4,v0.t'
  2114. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei128.v v4,\(a0\),v4'
  2115. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei128.v v0,\(a0\),v4,v0.t'
  2116. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei128.v v4,\(a0\),v4'
  2117. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei128.v v0,\(a0\),v4,v0.t'
  2118. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei128.v v4,\(a0\),v4'
  2119. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei128.v v0,\(a0\),v4,v0.t'
  2120. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei128.v v4,\(a0\),v4'
  2121. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei128.v v0,\(a0\),v4,v0.t'
  2122. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei128.v v4,\(a0\),v4'
  2123. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei128.v v0,\(a0\),v4,v0.t'
  2124. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei128.v v4,\(a0\),v4'
  2125. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei128.v v0,\(a0\),v4,v0.t'
  2126. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei128.v v4,\(a0\),v4'
  2127. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei128.v v0,\(a0\),v4,v0.t'
  2128. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei128.v v4,\(a0\),v4'
  2129. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei128.v v0,\(a0\),v4,v0.t'
  2130. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei128.v v4,\(a0\),v4'
  2131. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei128.v v0,\(a0\),v4,v0.t'
  2132. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei256.v v4,\(a0\),v4'
  2133. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei256.v v0,\(a0\),v4,v0.t'
  2134. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei256.v v4,\(a0\),v4'
  2135. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei256.v v0,\(a0\),v4,v0.t'
  2136. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei256.v v4,\(a0\),v4'
  2137. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei256.v v0,\(a0\),v4,v0.t'
  2138. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei256.v v4,\(a0\),v4'
  2139. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei256.v v0,\(a0\),v4,v0.t'
  2140. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei256.v v4,\(a0\),v4'
  2141. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei256.v v0,\(a0\),v4,v0.t'
  2142. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei256.v v4,\(a0\),v4'
  2143. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei256.v v0,\(a0\),v4,v0.t'
  2144. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei256.v v4,\(a0\),v4'
  2145. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei256.v v0,\(a0\),v4,v0.t'
  2146. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei256.v v4,\(a0\),v4'
  2147. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei256.v v0,\(a0\),v4,v0.t'
  2148. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei256.v v4,\(a0\),v4'
  2149. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei256.v v0,\(a0\),v4,v0.t'
  2150. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei256.v v4,\(a0\),v4'
  2151. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei256.v v0,\(a0\),v4,v0.t'
  2152. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei256.v v4,\(a0\),v4'
  2153. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei256.v v0,\(a0\),v4,v0.t'
  2154. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei256.v v4,\(a0\),v4'
  2155. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei256.v v0,\(a0\),v4,v0.t'
  2156. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei256.v v4,\(a0\),v4'
  2157. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei256.v v0,\(a0\),v4,v0.t'
  2158. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei256.v v4,\(a0\),v4'
  2159. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei256.v v0,\(a0\),v4,v0.t'
  2160. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei512.v v4,\(a0\),v4'
  2161. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei512.v v0,\(a0\),v4,v0.t'
  2162. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei512.v v4,\(a0\),v4'
  2163. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei512.v v0,\(a0\),v4,v0.t'
  2164. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei512.v v4,\(a0\),v4'
  2165. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei512.v v0,\(a0\),v4,v0.t'
  2166. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei512.v v4,\(a0\),v4'
  2167. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei512.v v0,\(a0\),v4,v0.t'
  2168. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei512.v v4,\(a0\),v4'
  2169. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei512.v v0,\(a0\),v4,v0.t'
  2170. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei512.v v4,\(a0\),v4'
  2171. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei512.v v0,\(a0\),v4,v0.t'
  2172. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei512.v v4,\(a0\),v4'
  2173. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei512.v v0,\(a0\),v4,v0.t'
  2174. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei512.v v4,\(a0\),v4'
  2175. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei512.v v0,\(a0\),v4,v0.t'
  2176. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei512.v v4,\(a0\),v4'
  2177. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei512.v v0,\(a0\),v4,v0.t'
  2178. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei512.v v4,\(a0\),v4'
  2179. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei512.v v0,\(a0\),v4,v0.t'
  2180. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei512.v v4,\(a0\),v4'
  2181. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei512.v v0,\(a0\),v4,v0.t'
  2182. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei512.v v4,\(a0\),v4'
  2183. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei512.v v0,\(a0\),v4,v0.t'
  2184. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei512.v v4,\(a0\),v4'
  2185. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei512.v v0,\(a0\),v4,v0.t'
  2186. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei512.v v4,\(a0\),v4'
  2187. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei512.v v0,\(a0\),v4,v0.t'
  2188. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg2ei1024.v v4,\(a0\),v4'
  2189. +.*Error: illegal operands vd cannot overlap vm `vlxseg2ei1024.v v0,\(a0\),v4,v0.t'
  2190. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg2ei1024.v v4,\(a0\),v4'
  2191. +.*Error: illegal operands vd cannot overlap vm `vsxseg2ei1024.v v0,\(a0\),v4,v0.t'
  2192. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg3ei1024.v v4,\(a0\),v4'
  2193. +.*Error: illegal operands vd cannot overlap vm `vlxseg3ei1024.v v0,\(a0\),v4,v0.t'
  2194. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg3ei1024.v v4,\(a0\),v4'
  2195. +.*Error: illegal operands vd cannot overlap vm `vsxseg3ei1024.v v0,\(a0\),v4,v0.t'
  2196. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg4ei1024.v v4,\(a0\),v4'
  2197. +.*Error: illegal operands vd cannot overlap vm `vlxseg4ei1024.v v0,\(a0\),v4,v0.t'
  2198. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg4ei1024.v v4,\(a0\),v4'
  2199. +.*Error: illegal operands vd cannot overlap vm `vsxseg4ei1024.v v0,\(a0\),v4,v0.t'
  2200. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg5ei1024.v v4,\(a0\),v4'
  2201. +.*Error: illegal operands vd cannot overlap vm `vlxseg5ei1024.v v0,\(a0\),v4,v0.t'
  2202. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg5ei1024.v v4,\(a0\),v4'
  2203. +.*Error: illegal operands vd cannot overlap vm `vsxseg5ei1024.v v0,\(a0\),v4,v0.t'
  2204. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg6ei1024.v v4,\(a0\),v4'
  2205. +.*Error: illegal operands vd cannot overlap vm `vlxseg6ei1024.v v0,\(a0\),v4,v0.t'
  2206. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg6ei1024.v v4,\(a0\),v4'
  2207. +.*Error: illegal operands vd cannot overlap vm `vsxseg6ei1024.v v0,\(a0\),v4,v0.t'
  2208. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg7ei1024.v v4,\(a0\),v4'
  2209. +.*Error: illegal operands vd cannot overlap vm `vlxseg7ei1024.v v0,\(a0\),v4,v0.t'
  2210. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg7ei1024.v v4,\(a0\),v4'
  2211. +.*Error: illegal operands vd cannot overlap vm `vsxseg7ei1024.v v0,\(a0\),v4,v0.t'
  2212. +.*Error: illegal operands vd cannot overlap vs2 `vlxseg8ei1024.v v4,\(a0\),v4'
  2213. +.*Error: illegal operands vd cannot overlap vm `vlxseg8ei1024.v v0,\(a0\),v4,v0.t'
  2214. +.*Error: illegal operands vd cannot overlap vs2 `vsxseg8ei1024.v v4,\(a0\),v4'
  2215. +.*Error: illegal operands vd cannot overlap vm `vsxseg8ei1024.v v0,\(a0\),v4,v0.t'
  2216. +.*Error: illegal operands vd must be multiple of nf `vl2r.v v31,\(a0\)'
  2217. +.*Error: illegal operands vd must be multiple of nf `vl2re8.v v31,\(a0\)'
  2218. +.*Error: illegal operands vd must be multiple of nf `vl2re16.v v31,\(a0\)'
  2219. +.*Error: illegal operands vd must be multiple of nf `vl2re32.v v31,\(a0\)'
  2220. +.*Error: illegal operands vd must be multiple of nf `vl2re64.v v31,\(a0\)'
  2221. +.*Error: illegal operands vd must be multiple of nf `vl2re128.v v31,\(a0\)'
  2222. +.*Error: illegal operands vd must be multiple of nf `vl2re256.v v31,\(a0\)'
  2223. +.*Error: illegal operands vd must be multiple of nf `vl2re512.v v31,\(a0\)'
  2224. +.*Error: illegal operands vd must be multiple of nf `vl2re1024.v v31,\(a0\)'
  2225. +.*Error: illegal operands vd must be multiple of nf `vl4r.v v30,\(a0\)'
  2226. +.*Error: illegal operands vd must be multiple of nf `vl4re8.v v30,\(a0\)'
  2227. +.*Error: illegal operands vd must be multiple of nf `vl4re16.v v30,\(a0\)'
  2228. +.*Error: illegal operands vd must be multiple of nf `vl4re32.v v30,\(a0\)'
  2229. +.*Error: illegal operands vd must be multiple of nf `vl4re64.v v30,\(a0\)'
  2230. +.*Error: illegal operands vd must be multiple of nf `vl4re128.v v30,\(a0\)'
  2231. +.*Error: illegal operands vd must be multiple of nf `vl4re256.v v30,\(a0\)'
  2232. +.*Error: illegal operands vd must be multiple of nf `vl4re512.v v30,\(a0\)'
  2233. +.*Error: illegal operands vd must be multiple of nf `vl4re1024.v v30,\(a0\)'
  2234. +.*Error: illegal operands vd must be multiple of nf `vl8r.v v26,\(a0\)'
  2235. +.*Error: illegal operands vd must be multiple of nf `vl8re8.v v26,\(a0\)'
  2236. +.*Error: illegal operands vd must be multiple of nf `vl8re16.v v26,\(a0\)'
  2237. +.*Error: illegal operands vd must be multiple of nf `vl8re32.v v26,\(a0\)'
  2238. +.*Error: illegal operands vd must be multiple of nf `vl8re64.v v26,\(a0\)'
  2239. +.*Error: illegal operands vd must be multiple of nf `vl8re128.v v26,\(a0\)'
  2240. +.*Error: illegal operands vd must be multiple of nf `vl8re256.v v26,\(a0\)'
  2241. +.*Error: illegal operands vd must be multiple of nf `vl8re512.v v26,\(a0\)'
  2242. +.*Error: illegal operands vd must be multiple of nf `vl8re1024.v v26,\(a0\)'
  2243. +.*Error: illegal operands vd must be multiple of nf `vs2r.v v31,\(a0\)'
  2244. +.*Error: illegal operands vd must be multiple of nf `vs4r.v v30,\(a0\)'
  2245. +.*Error: illegal operands vd must be multiple of nf `vs8r.v v26,\(a0\)'
  2246. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-mask.l b/gas/testsuite/gas/riscv/vector-insns-fail-mask.l
  2247. index 3b23becc16..7ff5a3c99e 100644
  2248. --- a/gas/testsuite/gas/riscv/vector-insns-fail-mask.l
  2249. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-mask.l
  2250. @@ -1,10 +1,10 @@
  2251. .*: Assembler messages:
  2252. -.*Error: illegal operands `vmsbf.m v4,v4'
  2253. -.*Error: illegal operands `vmsbf.m v0,v4,v0.t'
  2254. -.*Error: illegal operands `vmsif.m v4,v4'
  2255. -.*Error: illegal operands `vmsif.m v0,v4,v0.t'
  2256. -.*Error: illegal operands `vmsof.m v4,v4'
  2257. -.*Error: illegal operands `vmsof.m v0,v4,v0.t'
  2258. -.*Error: illegal operands `viota.m v4,v4'
  2259. -.*Error: illegal operands `viota.m v0,v4,v0.t'
  2260. -.*Error: illegal operands `vid.v v0,v0.t'
  2261. +.*Error: illegal operands vd cannot overlap vs2 `vmsbf.m v4,v4'
  2262. +.*Error: illegal operands vd cannot overlap vm `vmsbf.m v0,v4,v0.t'
  2263. +.*Error: illegal operands vd cannot overlap vs2 `vmsif.m v4,v4'
  2264. +.*Error: illegal operands vd cannot overlap vm `vmsif.m v0,v4,v0.t'
  2265. +.*Error: illegal operands vd cannot overlap vs2 `vmsof.m v4,v4'
  2266. +.*Error: illegal operands vd cannot overlap vm `vmsof.m v0,v4,v0.t'
  2267. +.*Error: illegal operands vd cannot overlap vs2 `viota.m v4,v4'
  2268. +.*Error: illegal operands vd cannot overlap vm `viota.m v0,v4,v0.t'
  2269. +.*Error: illegal operands vd cannot overlap vm `vid.v v0,v0.t'
  2270. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-permutation.l b/gas/testsuite/gas/riscv/vector-insns-fail-permutation.l
  2271. index c208f5710f..1ea27f274e 100644
  2272. --- a/gas/testsuite/gas/riscv/vector-insns-fail-permutation.l
  2273. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-permutation.l
  2274. @@ -1,31 +1,31 @@
  2275. .*: Assembler messages:
  2276. -.*Error: illegal operands `vslideup.vx v4,v4,a1'
  2277. -.*Error: illegal operands `vslideup.vx v0,v4,a1,v0.t'
  2278. -.*Error: illegal operands `vslideup.vi v4,v4,31'
  2279. -.*Error: illegal operands `vslideup.vi v0,v4,31,v0.t'
  2280. -.*Error: illegal operands `vslidedown.vx v0,v4,a1,v0.t'
  2281. -.*Error: illegal operands `vslidedown.vi v0,v4,31,v0.t'
  2282. -.*Error: illegal operands `vslide1up.vx v4,v4,a1'
  2283. -.*Error: illegal operands `vslide1up.vx v0,v4,a1,v0.t'
  2284. -.*Error: illegal operands `vfslide1up.vf v4,v4,fa1'
  2285. -.*Error: illegal operands `vfslide1up.vf v0,v4,fa1,v0.t'
  2286. -.*Error: illegal operands `vslide1down.vx v0,v4,a1,v0.t'
  2287. -.*Error: illegal operands `vfslide1down.vf v0,v4,fa1,v0.t'
  2288. -.*Error: illegal operands `vrgather.vv v4,v4,v8'
  2289. -.*Error: illegal operands `vrgather.vv v8,v4,v8'
  2290. -.*Error: illegal operands `vrgather.vv v0,v4,v8,v0.t'
  2291. -.*Error: illegal operands `vrgather.vx v4,v4,a1'
  2292. -.*Error: illegal operands `vrgather.vx v0,v4,a1,v0.t'
  2293. -.*Error: illegal operands `vrgather.vi v4,v4,31'
  2294. -.*Error: illegal operands `vrgather.vi v0,v4,31,v0.t'
  2295. -.*Error: illegal operands `vrgatherei16.vv v4,v4,v8'
  2296. -.*Error: illegal operands `vrgatherei16.vv v8,v4,v8'
  2297. -.*Error: illegal operands `vrgatherei16.vv v0,v4,v8,v0.t'
  2298. -.*Error: illegal operands `vcompress.vm v4,v4,v8'
  2299. -.*Error: illegal operands `vcompress.vm v8,v4,v8'
  2300. -.*Error: illegal operands `vmv2r.v v30,v31'
  2301. -.*Error: illegal operands `vmv2r.v v31,v30'
  2302. -.*Error: illegal operands `vmv4r.v v28,v30'
  2303. -.*Error: illegal operands `vmv4r.v v30,v28'
  2304. -.*Error: illegal operands `vmv8r.v v24,v26'
  2305. -.*Error: illegal operands `vmv8r.v v26,v24'
  2306. +.*Error: illegal operands vd cannot overlap vs2 `vslideup.vx v4,v4,a1'
  2307. +.*Error: illegal operands vd cannot overlap vm `vslideup.vx v0,v4,a1,v0.t'
  2308. +.*Error: illegal operands vd cannot overlap vs2 `vslideup.vi v4,v4,31'
  2309. +.*Error: illegal operands vd cannot overlap vm `vslideup.vi v0,v4,31,v0.t'
  2310. +.*Error: illegal operands vd cannot overlap vm `vslidedown.vx v0,v4,a1,v0.t'
  2311. +.*Error: illegal operands vd cannot overlap vm `vslidedown.vi v0,v4,31,v0.t'
  2312. +.*Error: illegal operands vd cannot overlap vs2 `vslide1up.vx v4,v4,a1'
  2313. +.*Error: illegal operands vd cannot overlap vm `vslide1up.vx v0,v4,a1,v0.t'
  2314. +.*Error: illegal operands vd cannot overlap vs2 `vfslide1up.vf v4,v4,fa1'
  2315. +.*Error: illegal operands vd cannot overlap vm `vfslide1up.vf v0,v4,fa1,v0.t'
  2316. +.*Error: illegal operands vd cannot overlap vm `vslide1down.vx v0,v4,a1,v0.t'
  2317. +.*Error: illegal operands vd cannot overlap vm `vfslide1down.vf v0,v4,fa1,v0.t'
  2318. +.*Error: illegal operands vd cannot overlap vs2 `vrgather.vv v4,v4,v8'
  2319. +.*Error: illegal operands vd cannot overlap vs1 `vrgather.vv v8,v4,v8'
  2320. +.*Error: illegal operands vd cannot overlap vm `vrgather.vv v0,v4,v8,v0.t'
  2321. +.*Error: illegal operands vd cannot overlap vs2 `vrgather.vx v4,v4,a1'
  2322. +.*Error: illegal operands vd cannot overlap vm `vrgather.vx v0,v4,a1,v0.t'
  2323. +.*Error: illegal operands vd cannot overlap vs2 `vrgather.vi v4,v4,31'
  2324. +.*Error: illegal operands vd cannot overlap vm `vrgather.vi v0,v4,31,v0.t'
  2325. +.*Error: illegal operands vd cannot overlap vs2 `vrgatherei16.vv v4,v4,v8'
  2326. +.*Error: illegal operands vd cannot overlap vs1 `vrgatherei16.vv v8,v4,v8'
  2327. +.*Error: illegal operands vd cannot overlap vm `vrgatherei16.vv v0,v4,v8,v0.t'
  2328. +.*Error: illegal operands vd cannot overlap vs2 `vcompress.vm v4,v4,v8'
  2329. +.*Error: illegal operands vd cannot overlap vs1 `vcompress.vm v8,v4,v8'
  2330. +.*Error: illegal operands vs2 must be multiple of nf `vmv2r.v v30,v31'
  2331. +.*Error: illegal operands vd must be multiple of nf `vmv2r.v v31,v30'
  2332. +.*Error: illegal operands vs2 must be multiple of nf `vmv4r.v v28,v30'
  2333. +.*Error: illegal operands vd must be multiple of nf `vmv4r.v v30,v28'
  2334. +.*Error: illegal operands vs2 must be multiple of nf `vmv8r.v v24,v26'
  2335. +.*Error: illegal operands vd must be multiple of nf `vmv8r.v v26,v24'
  2336. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-zvamo.l b/gas/testsuite/gas/riscv/vector-insns-fail-zvamo.l
  2337. index 6207fb2fee..ae414f7b75 100644
  2338. --- a/gas/testsuite/gas/riscv/vector-insns-fail-zvamo.l
  2339. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-zvamo.l
  2340. @@ -1,109 +1,109 @@
  2341. .*: Assembler messages:
  2342. .*Error: illegal operands `vamoaddei8.v v4,\(a1\),v4,v0'
  2343. -.*Error: illegal operands `vamoaddei8.v v0,\(a1\),v4,v0,v0.t'
  2344. -.*Error: illegal operands `vamoaddei8.v x0,\(a1\),v4,v0,v0.t'
  2345. +.*Error: illegal operands vd cannot overlap vm `vamoaddei8.v v0,\(a1\),v4,v0,v0.t'
  2346. +.*Error: illegal operands vd cannot overlap vm `vamoaddei8.v x0,\(a1\),v4,v0,v0.t'
  2347. .*Error: illegal operands `vamoswapei8.v v4,\(a1\),v4,v0'
  2348. -.*Error: illegal operands `vamoswapei8.v v0,\(a1\),v4,v0,v0.t'
  2349. -.*Error: illegal operands `vamoswapei8.v x0,\(a1\),v4,v0,v0.t'
  2350. +.*Error: illegal operands vd cannot overlap vm `vamoswapei8.v v0,\(a1\),v4,v0,v0.t'
  2351. +.*Error: illegal operands vd cannot overlap vm `vamoswapei8.v x0,\(a1\),v4,v0,v0.t'
  2352. .*Error: illegal operands `vamoxorei8.v v4,\(a1\),v4,v0'
  2353. -.*Error: illegal operands `vamoxorei8.v v0,\(a1\),v4,v0,v0.t'
  2354. -.*Error: illegal operands `vamoxorei8.v x0,\(a1\),v4,v0,v0.t'
  2355. +.*Error: illegal operands vd cannot overlap vm `vamoxorei8.v v0,\(a1\),v4,v0,v0.t'
  2356. +.*Error: illegal operands vd cannot overlap vm `vamoxorei8.v x0,\(a1\),v4,v0,v0.t'
  2357. .*Error: illegal operands `vamoandei8.v v4,\(a1\),v4,v0'
  2358. -.*Error: illegal operands `vamoandei8.v v0,\(a1\),v4,v0,v0.t'
  2359. -.*Error: illegal operands `vamoandei8.v x0,\(a1\),v4,v0,v0.t'
  2360. +.*Error: illegal operands vd cannot overlap vm `vamoandei8.v v0,\(a1\),v4,v0,v0.t'
  2361. +.*Error: illegal operands vd cannot overlap vm `vamoandei8.v x0,\(a1\),v4,v0,v0.t'
  2362. .*Error: illegal operands `vamoorei8.v v4,\(a1\),v4,v0'
  2363. -.*Error: illegal operands `vamoorei8.v v0,\(a1\),v4,v0,v0.t'
  2364. -.*Error: illegal operands `vamoorei8.v x0,\(a1\),v4,v0,v0.t'
  2365. +.*Error: illegal operands vd cannot overlap vm `vamoorei8.v v0,\(a1\),v4,v0,v0.t'
  2366. +.*Error: illegal operands vd cannot overlap vm `vamoorei8.v x0,\(a1\),v4,v0,v0.t'
  2367. .*Error: illegal operands `vamominei8.v v4,\(a1\),v4,v0'
  2368. -.*Error: illegal operands `vamominei8.v v0,\(a1\),v4,v0,v0.t'
  2369. -.*Error: illegal operands `vamominei8.v x0,\(a1\),v4,v0,v0.t'
  2370. +.*Error: illegal operands vd cannot overlap vm `vamominei8.v v0,\(a1\),v4,v0,v0.t'
  2371. +.*Error: illegal operands vd cannot overlap vm `vamominei8.v x0,\(a1\),v4,v0,v0.t'
  2372. .*Error: illegal operands `vamomaxei8.v v4,\(a1\),v4,v0'
  2373. -.*Error: illegal operands `vamomaxei8.v v0,\(a1\),v4,v0,v0.t'
  2374. -.*Error: illegal operands `vamomaxei8.v x0,\(a1\),v4,v0,v0.t'
  2375. +.*Error: illegal operands vd cannot overlap vm `vamomaxei8.v v0,\(a1\),v4,v0,v0.t'
  2376. +.*Error: illegal operands vd cannot overlap vm `vamomaxei8.v x0,\(a1\),v4,v0,v0.t'
  2377. .*Error: illegal operands `vamominuei8.v v4,\(a1\),v4,v0'
  2378. -.*Error: illegal operands `vamominuei8.v v0,\(a1\),v4,v0,v0.t'
  2379. -.*Error: illegal operands `vamominuei8.v x0,\(a1\),v4,v0,v0.t'
  2380. +.*Error: illegal operands vd cannot overlap vm `vamominuei8.v v0,\(a1\),v4,v0,v0.t'
  2381. +.*Error: illegal operands vd cannot overlap vm `vamominuei8.v x0,\(a1\),v4,v0,v0.t'
  2382. .*Error: illegal operands `vamomaxuei8.v v4,\(a1\),v4,v0'
  2383. -.*Error: illegal operands `vamomaxuei8.v v0,\(a1\),v4,v0,v0.t'
  2384. -.*Error: illegal operands `vamomaxuei8.v x0,\(a1\),v4,v0,v0.t'
  2385. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei8.v v0,\(a1\),v4,v0,v0.t'
  2386. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei8.v x0,\(a1\),v4,v0,v0.t'
  2387. .*Error: illegal operands `vamoaddei16.v v4,\(a1\),v4,v0'
  2388. -.*Error: illegal operands `vamoaddei16.v v0,\(a1\),v4,v0,v0.t'
  2389. -.*Error: illegal operands `vamoaddei16.v x0,\(a1\),v4,v0,v0.t'
  2390. -.*Error: illegal operands `vamoswapei16.v v0,\(a1\),v4,v0,v0.t'
  2391. +.*Error: illegal operands vd cannot overlap vm `vamoaddei16.v v0,\(a1\),v4,v0,v0.t'
  2392. +.*Error: illegal operands vd cannot overlap vm `vamoaddei16.v x0,\(a1\),v4,v0,v0.t'
  2393. +.*Error: illegal operands vd cannot overlap vm `vamoswapei16.v v0,\(a1\),v4,v0,v0.t'
  2394. .*Error: illegal operands `vamoswapei16.v v4,\(a1\),v4,v0'
  2395. -.*Error: illegal operands `vamoswapei16.v x0,\(a1\),v4,v0,v0.t'
  2396. -.*Error: illegal operands `vamoxorei16.v v0,\(a1\),v4,v0,v0.t'
  2397. +.*Error: illegal operands vd cannot overlap vm `vamoswapei16.v x0,\(a1\),v4,v0,v0.t'
  2398. +.*Error: illegal operands vd cannot overlap vm `vamoxorei16.v v0,\(a1\),v4,v0,v0.t'
  2399. .*Error: illegal operands `vamoxorei16.v v4,\(a1\),v4,v0'
  2400. -.*Error: illegal operands `vamoxorei16.v x0,\(a1\),v4,v0,v0.t'
  2401. -.*Error: illegal operands `vamoandei16.v v0,\(a1\),v4,v0,v0.t'
  2402. +.*Error: illegal operands vd cannot overlap vm `vamoxorei16.v x0,\(a1\),v4,v0,v0.t'
  2403. +.*Error: illegal operands vd cannot overlap vm `vamoandei16.v v0,\(a1\),v4,v0,v0.t'
  2404. .*Error: illegal operands `vamoandei16.v v4,\(a1\),v4,v0'
  2405. -.*Error: illegal operands `vamoandei16.v x0,\(a1\),v4,v0,v0.t'
  2406. -.*Error: illegal operands `vamoorei16.v v0,\(a1\),v4,v0,v0.t'
  2407. +.*Error: illegal operands vd cannot overlap vm `vamoandei16.v x0,\(a1\),v4,v0,v0.t'
  2408. +.*Error: illegal operands vd cannot overlap vm `vamoorei16.v v0,\(a1\),v4,v0,v0.t'
  2409. .*Error: illegal operands `vamoorei16.v v4,\(a1\),v4,v0'
  2410. -.*Error: illegal operands `vamoorei16.v x0,\(a1\),v4,v0,v0.t'
  2411. -.*Error: illegal operands `vamominei16.v v0,\(a1\),v4,v0,v0.t'
  2412. +.*Error: illegal operands vd cannot overlap vm `vamoorei16.v x0,\(a1\),v4,v0,v0.t'
  2413. +.*Error: illegal operands vd cannot overlap vm `vamominei16.v v0,\(a1\),v4,v0,v0.t'
  2414. .*Error: illegal operands `vamominei16.v v4,\(a1\),v4,v0'
  2415. -.*Error: illegal operands `vamominei16.v x0,\(a1\),v4,v0,v0.t'
  2416. -.*Error: illegal operands `vamomaxei16.v v0,\(a1\),v4,v0,v0.t'
  2417. +.*Error: illegal operands vd cannot overlap vm `vamominei16.v x0,\(a1\),v4,v0,v0.t'
  2418. +.*Error: illegal operands vd cannot overlap vm `vamomaxei16.v v0,\(a1\),v4,v0,v0.t'
  2419. .*Error: illegal operands `vamomaxei16.v v4,\(a1\),v4,v0'
  2420. -.*Error: illegal operands `vamomaxei16.v x0,\(a1\),v4,v0,v0.t'
  2421. -.*Error: illegal operands `vamominuei16.v v0,\(a1\),v4,v0,v0.t'
  2422. +.*Error: illegal operands vd cannot overlap vm `vamomaxei16.v x0,\(a1\),v4,v0,v0.t'
  2423. +.*Error: illegal operands vd cannot overlap vm `vamominuei16.v v0,\(a1\),v4,v0,v0.t'
  2424. .*Error: illegal operands `vamominuei16.v v4,\(a1\),v4,v0'
  2425. -.*Error: illegal operands `vamominuei16.v x0,\(a1\),v4,v0,v0.t'
  2426. -.*Error: illegal operands `vamomaxuei16.v v0,\(a1\),v4,v0,v0.t'
  2427. +.*Error: illegal operands vd cannot overlap vm `vamominuei16.v x0,\(a1\),v4,v0,v0.t'
  2428. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei16.v v0,\(a1\),v4,v0,v0.t'
  2429. .*Error: illegal operands `vamomaxuei16.v v4,\(a1\),v4,v0'
  2430. -.*Error: illegal operands `vamomaxuei16.v x0,\(a1\),v4,v0,v0.t'
  2431. -.*Error: illegal operands `vamoaddei32.v v0,\(a1\),v4,v0,v0.t'
  2432. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei16.v x0,\(a1\),v4,v0,v0.t'
  2433. +.*Error: illegal operands vd cannot overlap vm `vamoaddei32.v v0,\(a1\),v4,v0,v0.t'
  2434. .*Error: illegal operands `vamoaddei32.v v4,\(a1\),v4,v0'
  2435. -.*Error: illegal operands `vamoaddei32.v x0,\(a1\),v4,v0,v0.t'
  2436. +.*Error: illegal operands vd cannot overlap vm `vamoaddei32.v x0,\(a1\),v4,v0,v0.t'
  2437. .*Error: illegal operands `vamoswapei32.v v4,\(a1\),v4,v0'
  2438. -.*Error: illegal operands `vamoswapei32.v v0,\(a1\),v4,v0,v0.t'
  2439. -.*Error: illegal operands `vamoswapei32.v x0,\(a1\),v4,v0,v0.t'
  2440. +.*Error: illegal operands vd cannot overlap vm `vamoswapei32.v v0,\(a1\),v4,v0,v0.t'
  2441. +.*Error: illegal operands vd cannot overlap vm `vamoswapei32.v x0,\(a1\),v4,v0,v0.t'
  2442. .*Error: illegal operands `vamoxorei32.v v4,\(a1\),v4,v0'
  2443. -.*Error: illegal operands `vamoxorei32.v v0,\(a1\),v4,v0,v0.t'
  2444. -.*Error: illegal operands `vamoxorei32.v x0,\(a1\),v4,v0,v0.t'
  2445. +.*Error: illegal operands vd cannot overlap vm `vamoxorei32.v v0,\(a1\),v4,v0,v0.t'
  2446. +.*Error: illegal operands vd cannot overlap vm `vamoxorei32.v x0,\(a1\),v4,v0,v0.t'
  2447. .*Error: illegal operands `vamoandei32.v v4,\(a1\),v4,v0'
  2448. -.*Error: illegal operands `vamoandei32.v v0,\(a1\),v4,v0,v0.t'
  2449. -.*Error: illegal operands `vamoandei32.v x0,\(a1\),v4,v0,v0.t'
  2450. +.*Error: illegal operands vd cannot overlap vm `vamoandei32.v v0,\(a1\),v4,v0,v0.t'
  2451. +.*Error: illegal operands vd cannot overlap vm `vamoandei32.v x0,\(a1\),v4,v0,v0.t'
  2452. .*Error: illegal operands `vamoorei32.v v4,\(a1\),v4,v0'
  2453. -.*Error: illegal operands `vamoorei32.v v0,\(a1\),v4,v0,v0.t'
  2454. -.*Error: illegal operands `vamoorei32.v x0,\(a1\),v4,v0,v0.t'
  2455. +.*Error: illegal operands vd cannot overlap vm `vamoorei32.v v0,\(a1\),v4,v0,v0.t'
  2456. +.*Error: illegal operands vd cannot overlap vm `vamoorei32.v x0,\(a1\),v4,v0,v0.t'
  2457. .*Error: illegal operands `vamominei32.v v4,\(a1\),v4,v0'
  2458. -.*Error: illegal operands `vamominei32.v v0,\(a1\),v4,v0,v0.t'
  2459. -.*Error: illegal operands `vamominei32.v x0,\(a1\),v4,v0,v0.t'
  2460. +.*Error: illegal operands vd cannot overlap vm `vamominei32.v v0,\(a1\),v4,v0,v0.t'
  2461. +.*Error: illegal operands vd cannot overlap vm `vamominei32.v x0,\(a1\),v4,v0,v0.t'
  2462. .*Error: illegal operands `vamomaxei32.v v4,\(a1\),v4,v0'
  2463. -.*Error: illegal operands `vamomaxei32.v v0,\(a1\),v4,v0,v0.t'
  2464. -.*Error: illegal operands `vamomaxei32.v x0,\(a1\),v4,v0,v0.t'
  2465. +.*Error: illegal operands vd cannot overlap vm `vamomaxei32.v v0,\(a1\),v4,v0,v0.t'
  2466. +.*Error: illegal operands vd cannot overlap vm `vamomaxei32.v x0,\(a1\),v4,v0,v0.t'
  2467. .*Error: illegal operands `vamominuei32.v v4,\(a1\),v4,v0'
  2468. -.*Error: illegal operands `vamominuei32.v v0,\(a1\),v4,v0,v0.t'
  2469. -.*Error: illegal operands `vamominuei32.v x0,\(a1\),v4,v0,v0.t'
  2470. +.*Error: illegal operands vd cannot overlap vm `vamominuei32.v v0,\(a1\),v4,v0,v0.t'
  2471. +.*Error: illegal operands vd cannot overlap vm `vamominuei32.v x0,\(a1\),v4,v0,v0.t'
  2472. .*Error: illegal operands `vamomaxuei32.v v4,\(a1\),v4,v0'
  2473. -.*Error: illegal operands `vamomaxuei32.v v0,\(a1\),v4,v0,v0.t'
  2474. -.*Error: illegal operands `vamomaxuei32.v x0,\(a1\),v4,v0,v0.t'
  2475. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei32.v v0,\(a1\),v4,v0,v0.t'
  2476. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei32.v x0,\(a1\),v4,v0,v0.t'
  2477. .*Error: illegal operands `vamoaddei64.v v4,\(a1\),v4,v0'
  2478. -.*Error: illegal operands `vamoaddei64.v v0,\(a1\),v4,v0,v0.t'
  2479. -.*Error: illegal operands `vamoaddei64.v x0,\(a1\),v4,v0,v0.t'
  2480. +.*Error: illegal operands vd cannot overlap vm `vamoaddei64.v v0,\(a1\),v4,v0,v0.t'
  2481. +.*Error: illegal operands vd cannot overlap vm `vamoaddei64.v x0,\(a1\),v4,v0,v0.t'
  2482. .*Error: illegal operands `vamoswapei64.v v4,\(a1\),v4,v0'
  2483. -.*Error: illegal operands `vamoswapei64.v v0,\(a1\),v4,v0,v0.t'
  2484. -.*Error: illegal operands `vamoswapei64.v x0,\(a1\),v4,v0,v0.t'
  2485. +.*Error: illegal operands vd cannot overlap vm `vamoswapei64.v v0,\(a1\),v4,v0,v0.t'
  2486. +.*Error: illegal operands vd cannot overlap vm `vamoswapei64.v x0,\(a1\),v4,v0,v0.t'
  2487. .*Error: illegal operands `vamoxorei64.v v4,\(a1\),v4,v0'
  2488. -.*Error: illegal operands `vamoxorei64.v v0,\(a1\),v4,v0,v0.t'
  2489. -.*Error: illegal operands `vamoxorei64.v x0,\(a1\),v4,v0,v0.t'
  2490. +.*Error: illegal operands vd cannot overlap vm `vamoxorei64.v v0,\(a1\),v4,v0,v0.t'
  2491. +.*Error: illegal operands vd cannot overlap vm `vamoxorei64.v x0,\(a1\),v4,v0,v0.t'
  2492. .*Error: illegal operands `vamoandei64.v v4,\(a1\),v4,v0'
  2493. -.*Error: illegal operands `vamoandei64.v v0,\(a1\),v4,v0,v0.t'
  2494. -.*Error: illegal operands `vamoandei64.v x0,\(a1\),v4,v0,v0.t'
  2495. +.*Error: illegal operands vd cannot overlap vm `vamoandei64.v v0,\(a1\),v4,v0,v0.t'
  2496. +.*Error: illegal operands vd cannot overlap vm `vamoandei64.v x0,\(a1\),v4,v0,v0.t'
  2497. .*Error: illegal operands `vamoorei64.v v4,\(a1\),v4,v0'
  2498. -.*Error: illegal operands `vamoorei64.v v0,\(a1\),v4,v0,v0.t'
  2499. -.*Error: illegal operands `vamoorei64.v x0,\(a1\),v4,v0,v0.t'
  2500. +.*Error: illegal operands vd cannot overlap vm `vamoorei64.v v0,\(a1\),v4,v0,v0.t'
  2501. +.*Error: illegal operands vd cannot overlap vm `vamoorei64.v x0,\(a1\),v4,v0,v0.t'
  2502. .*Error: illegal operands `vamominei64.v v4,\(a1\),v4,v0'
  2503. -.*Error: illegal operands `vamominei64.v v0,\(a1\),v4,v0,v0.t'
  2504. -.*Error: illegal operands `vamominei64.v x0,\(a1\),v4,v0,v0.t'
  2505. +.*Error: illegal operands vd cannot overlap vm `vamominei64.v v0,\(a1\),v4,v0,v0.t'
  2506. +.*Error: illegal operands vd cannot overlap vm `vamominei64.v x0,\(a1\),v4,v0,v0.t'
  2507. .*Error: illegal operands `vamomaxei64.v v4,\(a1\),v4,v0'
  2508. -.*Error: illegal operands `vamomaxei64.v v0,\(a1\),v4,v0,v0.t'
  2509. -.*Error: illegal operands `vamomaxei64.v x0,\(a1\),v4,v0,v0.t'
  2510. +.*Error: illegal operands vd cannot overlap vm `vamomaxei64.v v0,\(a1\),v4,v0,v0.t'
  2511. +.*Error: illegal operands vd cannot overlap vm `vamomaxei64.v x0,\(a1\),v4,v0,v0.t'
  2512. .*Error: illegal operands `vamominuei64.v v4,\(a1\),v4,v0'
  2513. -.*Error: illegal operands `vamominuei64.v v0,\(a1\),v4,v0,v0.t'
  2514. -.*Error: illegal operands `vamominuei64.v x0,\(a1\),v4,v0,v0.t'
  2515. +.*Error: illegal operands vd cannot overlap vm `vamominuei64.v v0,\(a1\),v4,v0,v0.t'
  2516. +.*Error: illegal operands vd cannot overlap vm `vamominuei64.v x0,\(a1\),v4,v0,v0.t'
  2517. .*Error: illegal operands `vamomaxuei64.v v4,\(a1\),v4,v0'
  2518. -.*Error: illegal operands `vamomaxuei64.v v0,\(a1\),v4,v0,v0.t'
  2519. -.*Error: illegal operands `vamomaxuei64.v x0,\(a1\),v4,v0,v0.t'
  2520. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei64.v v0,\(a1\),v4,v0,v0.t'
  2521. +.*Error: illegal operands vd cannot overlap vm `vamomaxuei64.v x0,\(a1\),v4,v0,v0.t'
  2522. diff --git a/gas/testsuite/gas/riscv/vector-insns-fail-zvqmac.l b/gas/testsuite/gas/riscv/vector-insns-fail-zvqmac.l
  2523. index e5c157fd89..10b2be32ca 100644
  2524. --- a/gas/testsuite/gas/riscv/vector-insns-fail-zvqmac.l
  2525. +++ b/gas/testsuite/gas/riscv/vector-insns-fail-zvqmac.l
  2526. @@ -1,35 +1,35 @@
  2527. .*: Assembler messages:
  2528. -.*Error: illegal operands `vqmaccu.vv v2,v4,v8'
  2529. -.*Error: illegal operands `vqmaccu.vv v4,v4,v8'
  2530. -.*Error: illegal operands `vqmaccu.vv v4,v7,v8'
  2531. -.*Error: illegal operands `vqmaccu.vv v8,v4,v8'
  2532. -.*Error: illegal operands `vqmaccu.vv v8,v4,v11'
  2533. -.*Error: illegal operands `vqmaccu.vv v0,v4,v8,v0.t'
  2534. -.*Error: illegal operands `vqmaccu.vx v2,a1,v4'
  2535. -.*Error: illegal operands `vqmaccu.vx v4,a1,v4'
  2536. -.*Error: illegal operands `vqmaccu.vx v4,a1,v7'
  2537. -.*Error: illegal operands `vqmaccu.vx v0,a1,v4,v0.t'
  2538. -.*Error: illegal operands `vqmacc.vv v2,v4,v8'
  2539. -.*Error: illegal operands `vqmacc.vv v4,v4,v8'
  2540. -.*Error: illegal operands `vqmacc.vv v4,v7,v8'
  2541. -.*Error: illegal operands `vqmacc.vv v8,v4,v8'
  2542. -.*Error: illegal operands `vqmacc.vv v8,v4,v11'
  2543. -.*Error: illegal operands `vqmacc.vv v0,v4,v8,v0.t'
  2544. -.*Error: illegal operands `vqmacc.vx v2,a1,v4'
  2545. -.*Error: illegal operands `vqmacc.vx v4,a1,v4'
  2546. -.*Error: illegal operands `vqmacc.vx v4,a1,v7'
  2547. -.*Error: illegal operands `vqmacc.vx v0,a1,v4,v0.t'
  2548. -.*Error: illegal operands `vqmaccsu.vv v2,v4,v8'
  2549. -.*Error: illegal operands `vqmaccsu.vv v4,v4,v8'
  2550. -.*Error: illegal operands `vqmaccsu.vv v4,v7,v8'
  2551. -.*Error: illegal operands `vqmaccsu.vv v8,v4,v8'
  2552. -.*Error: illegal operands `vqmaccsu.vv v8,v4,v11'
  2553. -.*Error: illegal operands `vqmaccsu.vv v0,v4,v8,v0.t'
  2554. -.*Error: illegal operands `vqmaccsu.vx v2,a1,v4'
  2555. -.*Error: illegal operands `vqmaccsu.vx v4,a1,v4'
  2556. -.*Error: illegal operands `vqmaccsu.vx v4,a1,v7'
  2557. -.*Error: illegal operands `vqmaccsu.vx v0,a1,v4,v0.t'
  2558. -.*Error: illegal operands `vqmaccus.vx v2,a1,v4'
  2559. -.*Error: illegal operands `vqmaccus.vx v4,a1,v4'
  2560. -.*Error: illegal operands `vqmaccus.vx v4,a1,v7'
  2561. -.*Error: illegal operands `vqmaccus.vx v0,a1,v4,v0.t'
  2562. +.*Error: illegal operands vd must be multiple of 4 `vqmaccu.vv v2,v4,v8'
  2563. +.*Error: illegal operands vd cannot overlap vs1 `vqmaccu.vv v4,v4,v8'
  2564. +.*Error: illegal operands vd cannot overlap vs1 `vqmaccu.vv v4,v7,v8'
  2565. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccu.vv v8,v4,v8'
  2566. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccu.vv v8,v4,v11'
  2567. +.*Error: illegal operands vd cannot overlap vm `vqmaccu.vv v0,v4,v8,v0.t'
  2568. +.*Error: illegal operands vd must be multiple of 4 `vqmaccu.vx v2,a1,v4'
  2569. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccu.vx v4,a1,v4'
  2570. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccu.vx v4,a1,v7'
  2571. +.*Error: illegal operands vd cannot overlap vm `vqmaccu.vx v0,a1,v4,v0.t'
  2572. +.*Error: illegal operands vd must be multiple of 4 `vqmacc.vv v2,v4,v8'
  2573. +.*Error: illegal operands vd cannot overlap vs1 `vqmacc.vv v4,v4,v8'
  2574. +.*Error: illegal operands vd cannot overlap vs1 `vqmacc.vv v4,v7,v8'
  2575. +.*Error: illegal operands vd cannot overlap vs2 `vqmacc.vv v8,v4,v8'
  2576. +.*Error: illegal operands vd cannot overlap vs2 `vqmacc.vv v8,v4,v11'
  2577. +.*Error: illegal operands vd cannot overlap vm `vqmacc.vv v0,v4,v8,v0.t'
  2578. +.*Error: illegal operands vd must be multiple of 4 `vqmacc.vx v2,a1,v4'
  2579. +.*Error: illegal operands vd cannot overlap vs2 `vqmacc.vx v4,a1,v4'
  2580. +.*Error: illegal operands vd cannot overlap vs2 `vqmacc.vx v4,a1,v7'
  2581. +.*Error: illegal operands vd cannot overlap vm `vqmacc.vx v0,a1,v4,v0.t'
  2582. +.*Error: illegal operands vd must be multiple of 4 `vqmaccsu.vv v2,v4,v8'
  2583. +.*Error: illegal operands vd cannot overlap vs1 `vqmaccsu.vv v4,v4,v8'
  2584. +.*Error: illegal operands vd cannot overlap vs1 `vqmaccsu.vv v4,v7,v8'
  2585. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccsu.vv v8,v4,v8'
  2586. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccsu.vv v8,v4,v11'
  2587. +.*Error: illegal operands vd cannot overlap vm `vqmaccsu.vv v0,v4,v8,v0.t'
  2588. +.*Error: illegal operands vd must be multiple of 4 `vqmaccsu.vx v2,a1,v4'
  2589. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccsu.vx v4,a1,v4'
  2590. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccsu.vx v4,a1,v7'
  2591. +.*Error: illegal operands vd cannot overlap vm `vqmaccsu.vx v0,a1,v4,v0.t'
  2592. +.*Error: illegal operands vd must be multiple of 4 `vqmaccus.vx v2,a1,v4'
  2593. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccus.vx v4,a1,v4'
  2594. +.*Error: illegal operands vd cannot overlap vs2 `vqmaccus.vx v4,a1,v7'
  2595. +.*Error: illegal operands vd cannot overlap vm `vqmaccus.vx v0,a1,v4,v0.t'
  2596. diff --git a/include/opcode/riscv.h b/include/opcode/riscv.h
  2597. index b1d3c068db..5fd18beb88 100644
  2598. --- a/include/opcode/riscv.h
  2599. +++ b/include/opcode/riscv.h
  2600. @@ -417,7 +417,7 @@ struct riscv_opcode
  2601. checking is disable, then most of the function should check only the
  2602. basic encoding for the instruction. */
  2603. int (*match_func) (const struct riscv_opcode *op, insn_t word,
  2604. - int constraints);
  2605. + int constraints, const char **error);
  2606. /* For a macro, this is INSN_MACRO. Otherwise, it is a collection
  2607. of bits describing the instruction, notably any relevant hazard
  2608. information. */
  2609. diff --git a/opcodes/riscv-dis.c b/opcodes/riscv-dis.c
  2610. index 875b69a1da..2b64cf1d08 100644
  2611. --- a/opcodes/riscv-dis.c
  2612. +++ b/opcodes/riscv-dis.c
  2613. @@ -572,7 +572,7 @@ riscv_disassemble_insn (bfd_vma memaddr, insn_t word, disassemble_info *info)
  2614. for (; op->name; op++)
  2615. {
  2616. /* Does the opcode match? */
  2617. - if (! (op->match_func) (op, word, 0))
  2618. + if (! (op->match_func) (op, word, 0, NULL))
  2619. continue;
  2620. /* Is this a pseudo-instruction and may we print it as such? */
  2621. if (no_aliases && (op->pinfo & INSN_ALIAS))
  2622. diff --git a/opcodes/riscv-opc.c b/opcodes/riscv-opc.c
  2623. index 2d78218e2b..7499abb7a6 100644
  2624. --- a/opcodes/riscv-opc.c
  2625. +++ b/opcodes/riscv-opc.c
  2626. @@ -100,7 +100,8 @@ const char * const riscv_vecm_names_numeric[NVECM] =
  2627. static int
  2628. match_opcode (const struct riscv_opcode *op,
  2629. insn_t insn,
  2630. - int constraints ATTRIBUTE_UNUSED)
  2631. + int constraints ATTRIBUTE_UNUSED,
  2632. + const char **error ATTRIBUTE_UNUSED)
  2633. {
  2634. return ((insn ^ op->match) & op->mask) == 0;
  2635. }
  2636. @@ -108,7 +109,8 @@ match_opcode (const struct riscv_opcode *op,
  2637. static int
  2638. match_never (const struct riscv_opcode *op ATTRIBUTE_UNUSED,
  2639. insn_t insn ATTRIBUTE_UNUSED,
  2640. - int constraints ATTRIBUTE_UNUSED)
  2641. + int constraints ATTRIBUTE_UNUSED,
  2642. + const char **error ATTRIBUTE_UNUSED)
  2643. {
  2644. return 0;
  2645. }
  2646. @@ -116,50 +118,55 @@ match_never (const struct riscv_opcode *op ATTRIBUTE_UNUSED,
  2647. static int
  2648. match_rs1_eq_rs2 (const struct riscv_opcode *op,
  2649. insn_t insn,
  2650. - int constraints ATTRIBUTE_UNUSED)
  2651. + int constraints ATTRIBUTE_UNUSED,
  2652. + const char **error ATTRIBUTE_UNUSED)
  2653. {
  2654. int rs1 = (insn & MASK_RS1) >> OP_SH_RS1;
  2655. int rs2 = (insn & MASK_RS2) >> OP_SH_RS2;
  2656. - return match_opcode (op, insn, 0) && rs1 == rs2;
  2657. + return match_opcode (op, insn, 0, NULL) && rs1 == rs2;
  2658. }
  2659. static int
  2660. match_vs1_eq_vs2 (const struct riscv_opcode *op,
  2661. insn_t insn,
  2662. - int constraints ATTRIBUTE_UNUSED)
  2663. + int constraints ATTRIBUTE_UNUSED,
  2664. + const char **error ATTRIBUTE_UNUSED)
  2665. {
  2666. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  2667. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2668. - return match_opcode (op, insn, 0) && vs1 == vs2;
  2669. + return match_opcode (op, insn, 0, NULL) && vs1 == vs2;
  2670. }
  2671. static int
  2672. match_vd_eq_vs1_eq_vs2 (const struct riscv_opcode *op,
  2673. insn_t insn,
  2674. - int constraints ATTRIBUTE_UNUSED)
  2675. + int constraints ATTRIBUTE_UNUSED,
  2676. + const char **error ATTRIBUTE_UNUSED)
  2677. {
  2678. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2679. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  2680. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2681. - return match_opcode (op, insn, 0) && vd == vs1 && vs1 == vs2;
  2682. + return match_opcode (op, insn, 0, NULL) && vd == vs1 && vs1 == vs2;
  2683. }
  2684. static int
  2685. match_rd_nonzero (const struct riscv_opcode *op,
  2686. insn_t insn,
  2687. - int constraints ATTRIBUTE_UNUSED)
  2688. + int constraints ATTRIBUTE_UNUSED,
  2689. + const char **error ATTRIBUTE_UNUSED)
  2690. {
  2691. - return match_opcode (op, insn, 0) && ((insn & MASK_RD) != 0);
  2692. + return match_opcode (op, insn, 0, NULL) && ((insn & MASK_RD) != 0);
  2693. }
  2694. static int
  2695. match_c_add (const struct riscv_opcode *op,
  2696. insn_t insn,
  2697. - int constraints ATTRIBUTE_UNUSED)
  2698. + int constraints ATTRIBUTE_UNUSED,
  2699. + const char **error ATTRIBUTE_UNUSED)
  2700. {
  2701. - return match_rd_nonzero (op, insn, 0) && ((insn & MASK_CRS2) != 0);
  2702. + return match_rd_nonzero (op, insn, 0, NULL) && ((insn & MASK_CRS2) != 0);
  2703. }
  2704. /* We don't allow mv zero,X to become a c.mv hint, so we need a separate
  2705. @@ -168,26 +175,29 @@ match_c_add (const struct riscv_opcode *op,
  2706. static int
  2707. match_c_add_with_hint (const struct riscv_opcode *op,
  2708. insn_t insn,
  2709. - int constraints ATTRIBUTE_UNUSED)
  2710. + int constraints ATTRIBUTE_UNUSED,
  2711. + const char **error ATTRIBUTE_UNUSED)
  2712. {
  2713. - return match_opcode (op, insn, 0) && ((insn & MASK_CRS2) != 0);
  2714. + return match_opcode (op, insn, 0, NULL) && ((insn & MASK_CRS2) != 0);
  2715. }
  2716. static int
  2717. match_c_nop (const struct riscv_opcode *op,
  2718. insn_t insn,
  2719. - int constraints ATTRIBUTE_UNUSED)
  2720. + int constraints ATTRIBUTE_UNUSED,
  2721. + const char **error ATTRIBUTE_UNUSED)
  2722. {
  2723. - return (match_opcode (op, insn, 0)
  2724. + return (match_opcode (op, insn, 0, NULL)
  2725. && (((insn & MASK_RD) >> OP_SH_RD) == 0));
  2726. }
  2727. static int
  2728. match_c_addi16sp (const struct riscv_opcode *op,
  2729. insn_t insn,
  2730. - int constraints ATTRIBUTE_UNUSED)
  2731. + int constraints ATTRIBUTE_UNUSED,
  2732. + const char **error ATTRIBUTE_UNUSED)
  2733. {
  2734. - return (match_opcode (op, insn, 0)
  2735. + return (match_opcode (op, insn, 0, NULL)
  2736. && (((insn & MASK_RD) >> OP_SH_RD) == 2)
  2737. && EXTRACT_RVC_ADDI16SP_IMM (insn) != 0);
  2738. }
  2739. @@ -195,9 +205,10 @@ match_c_addi16sp (const struct riscv_opcode *op,
  2740. static int
  2741. match_c_lui (const struct riscv_opcode *op,
  2742. insn_t insn,
  2743. - int constraints ATTRIBUTE_UNUSED)
  2744. + int constraints ATTRIBUTE_UNUSED,
  2745. + const char **error ATTRIBUTE_UNUSED)
  2746. {
  2747. - return (match_rd_nonzero (op, insn, 0)
  2748. + return (match_rd_nonzero (op, insn, 0, NULL)
  2749. && (((insn & MASK_RD) >> OP_SH_RD) != 2)
  2750. && EXTRACT_RVC_LUI_IMM (insn) != 0);
  2751. }
  2752. @@ -208,9 +219,10 @@ match_c_lui (const struct riscv_opcode *op,
  2753. static int
  2754. match_c_lui_with_hint (const struct riscv_opcode *op,
  2755. insn_t insn,
  2756. - int constraints ATTRIBUTE_UNUSED)
  2757. + int constraints ATTRIBUTE_UNUSED,
  2758. + const char **error ATTRIBUTE_UNUSED)
  2759. {
  2760. - return (match_opcode (op, insn, 0)
  2761. + return (match_opcode (op, insn, 0, NULL)
  2762. && (((insn & MASK_RD) >> OP_SH_RD) != 2)
  2763. && EXTRACT_RVC_LUI_IMM (insn) != 0);
  2764. }
  2765. @@ -218,9 +230,11 @@ match_c_lui_with_hint (const struct riscv_opcode *op,
  2766. static int
  2767. match_c_addi4spn (const struct riscv_opcode *op,
  2768. insn_t insn,
  2769. - int constraints ATTRIBUTE_UNUSED)
  2770. + int constraints ATTRIBUTE_UNUSED,
  2771. + const char **error ATTRIBUTE_UNUSED)
  2772. {
  2773. - return match_opcode (op, insn, 0) && EXTRACT_RVC_ADDI4SPN_IMM (insn) != 0;
  2774. + return (match_opcode (op, insn, 0, NULL)
  2775. + && EXTRACT_RVC_ADDI4SPN_IMM (insn) != 0);
  2776. }
  2777. /* This requires a non-zero shift. A zero rd is a hint, so is allowed. */
  2778. @@ -228,9 +242,10 @@ match_c_addi4spn (const struct riscv_opcode *op,
  2779. static int
  2780. match_c_slli (const struct riscv_opcode *op,
  2781. insn_t insn,
  2782. - int constraints ATTRIBUTE_UNUSED)
  2783. + int constraints ATTRIBUTE_UNUSED,
  2784. + const char **error ATTRIBUTE_UNUSED)
  2785. {
  2786. - return match_opcode (op, insn, 0) && EXTRACT_RVC_IMM (insn) != 0;
  2787. + return match_opcode (op, insn, 0, NULL) && EXTRACT_RVC_IMM (insn) != 0;
  2788. }
  2789. /* This requires a non-zero rd, and a non-zero shift. */
  2790. @@ -238,9 +253,11 @@ match_c_slli (const struct riscv_opcode *op,
  2791. static int
  2792. match_slli_as_c_slli (const struct riscv_opcode *op,
  2793. insn_t insn,
  2794. - int constraints ATTRIBUTE_UNUSED)
  2795. + int constraints ATTRIBUTE_UNUSED,
  2796. + const char **error ATTRIBUTE_UNUSED)
  2797. {
  2798. - return match_rd_nonzero (op, insn, 0) && EXTRACT_RVC_IMM (insn) != 0;
  2799. + return (match_rd_nonzero (op, insn, 0, NULL)
  2800. + && EXTRACT_RVC_IMM (insn) != 0);
  2801. }
  2802. /* This requires a zero shift. A zero rd is a hint, so is allowed. */
  2803. @@ -248,9 +265,10 @@ match_slli_as_c_slli (const struct riscv_opcode *op,
  2804. static int
  2805. match_c_slli64 (const struct riscv_opcode *op,
  2806. insn_t insn,
  2807. - int constraints ATTRIBUTE_UNUSED)
  2808. + int constraints ATTRIBUTE_UNUSED,
  2809. + const char **error ATTRIBUTE_UNUSED)
  2810. {
  2811. - return match_opcode (op, insn, 0) && EXTRACT_RVC_IMM (insn) == 0;
  2812. + return match_opcode (op, insn, 0, NULL) && EXTRACT_RVC_IMM (insn) == 0;
  2813. }
  2814. /* This is used for both srli and srai. This requires a non-zero shift.
  2815. @@ -259,9 +277,10 @@ match_c_slli64 (const struct riscv_opcode *op,
  2816. static int
  2817. match_srxi_as_c_srxi (const struct riscv_opcode *op,
  2818. insn_t insn,
  2819. - int constraints ATTRIBUTE_UNUSED)
  2820. + int constraints ATTRIBUTE_UNUSED,
  2821. + const char **error ATTRIBUTE_UNUSED)
  2822. {
  2823. - return match_opcode (op, insn, 0) && EXTRACT_RVC_IMM (insn) != 0;
  2824. + return match_opcode (op, insn, 0, NULL) && EXTRACT_RVC_IMM (insn) != 0;
  2825. }
  2826. /* These are used to check the vector constraints. */
  2827. @@ -269,186 +288,247 @@ match_srxi_as_c_srxi (const struct riscv_opcode *op,
  2828. static int
  2829. match_widen_vd_neq_vs1_neq_vs2_neq_vm (const struct riscv_opcode *op,
  2830. insn_t insn,
  2831. - int constraints)
  2832. + int constraints,
  2833. + const char **error)
  2834. {
  2835. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2836. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  2837. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2838. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  2839. - if (constraints
  2840. - && ((vd % 2) != 0
  2841. - || (vs1 >= vd && vs1 <= (vd + 1))
  2842. - || (vs2 >= vd && vs2 <= (vd + 1))
  2843. - || (!vm && vm >= vd && vm <= (vd + 1))))
  2844. - return 0;
  2845. -
  2846. - return match_opcode (op, insn, 0);
  2847. + if (!constraints || error == NULL)
  2848. + return match_opcode (op, insn, 0, NULL);
  2849. +
  2850. + if ((vd % 2) != 0)
  2851. + *error = "illegal operands vd must be multiple of 2";
  2852. + else if (vs1 >= vd && vs1 <= (vd + 1))
  2853. + *error = "illegal operands vd cannot overlap vs1";
  2854. + else if (vs2 >= vd && vs2 <= (vd + 1))
  2855. + *error = "illegal operands vd cannot overlap vs2";
  2856. + else if (!vm && vm >= vd && vm <= (vd + 1))
  2857. + *error = "illegal operands vd cannot overlap vm";
  2858. + else
  2859. + return match_opcode (op, insn, 0, NULL);
  2860. + return 0;
  2861. }
  2862. static int
  2863. match_widen_vd_neq_vs1_neq_vm (const struct riscv_opcode *op,
  2864. insn_t insn,
  2865. - int constraints)
  2866. + int constraints,
  2867. + const char **error)
  2868. {
  2869. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2870. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  2871. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2872. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  2873. - if (constraints
  2874. - && ((vd % 2) != 0
  2875. - || (vs2 % 2) != 0
  2876. - || (vs1 >= vd && vs1 <= (vd + 1))
  2877. - || (!vm && vm >= vd && vm <= (vd + 1))))
  2878. - return 0;
  2879. -
  2880. - return match_opcode (op, insn, 0);
  2881. + if (!constraints || error == NULL)
  2882. + return match_opcode (op, insn, 0, NULL);
  2883. +
  2884. + if ((vd % 2) != 0)
  2885. + *error = "illegal operands vd must be multiple of 2";
  2886. + else if ((vs2 % 2) != 0)
  2887. + *error = "illegal operands vs2 must be multiple of 2";
  2888. + else if (vs1 >= vd && vs1 <= (vd + 1))
  2889. + *error = "illegal operands vd cannot overlap vs1";
  2890. + else if (!vm && vm >= vd && vm <= (vd + 1))
  2891. + *error = "illegal operands vd cannot overlap vm";
  2892. + else
  2893. + return match_opcode (op, insn, 0, NULL);
  2894. + return 0;
  2895. }
  2896. static int
  2897. match_widen_vd_neq_vs2_neq_vm (const struct riscv_opcode *op,
  2898. insn_t insn,
  2899. - int constraints)
  2900. + int constraints,
  2901. + const char **error)
  2902. {
  2903. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2904. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2905. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  2906. - if (constraints
  2907. - && ((vd % 2) != 0
  2908. - || (vs2 >= vd && vs2 <= (vd + 1))
  2909. - || (!vm && vm >= vd && vm <= (vd + 1))))
  2910. - return 0;
  2911. -
  2912. - return match_opcode (op, insn, 0);
  2913. + if (!constraints || error == NULL)
  2914. + return match_opcode (op, insn, 0, NULL);
  2915. +
  2916. + if ((vd % 2) != 0)
  2917. + *error = "illegal operands vd must be multiple of 2";
  2918. + else if (vs2 >= vd && vs2 <= (vd + 1))
  2919. + *error = "illegal operands vd cannot overlap vs2";
  2920. + else if (!vm && vm >= vd && vm <= (vd + 1))
  2921. + *error = "illegal operands vd cannot overlap vm";
  2922. + else
  2923. + return match_opcode (op, insn, 0, NULL);
  2924. + return 0;
  2925. }
  2926. static int
  2927. match_widen_vd_neq_vm (const struct riscv_opcode *op,
  2928. insn_t insn,
  2929. - int constraints)
  2930. + int constraints,
  2931. + const char **error)
  2932. {
  2933. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2934. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2935. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  2936. - if (constraints
  2937. - && ((vd % 2) != 0
  2938. - || (vs2 % 2) != 0
  2939. - || (!vm && vm >= vd && vm <= (vd + 1))))
  2940. - return 0;
  2941. -
  2942. - return match_opcode (op, insn, 0);
  2943. + if (!constraints || error == NULL)
  2944. + return match_opcode (op, insn, 0, NULL);
  2945. +
  2946. + if ((vd % 2) != 0)
  2947. + *error = "illegal operands vd must be multiple of 2";
  2948. + else if ((vs2 % 2) != 0)
  2949. + *error = "illegal operands vs2 must be multiple of 2";
  2950. + else if (!vm && vm >= vd && vm <= (vd + 1))
  2951. + *error = "illegal operands vd cannot overlap vm";
  2952. + else
  2953. + return match_opcode (op, insn, 0, NULL);
  2954. + return 0;
  2955. }
  2956. static int
  2957. match_quad_vd_neq_vs1_neq_vs2_neq_vm (const struct riscv_opcode *op,
  2958. insn_t insn,
  2959. - int constraints)
  2960. + int constraints,
  2961. + const char **error)
  2962. {
  2963. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2964. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  2965. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2966. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  2967. - if (constraints
  2968. - && ((vd % 4) != 0
  2969. - || (vs1 >= vd && vs1 <= (vd + 3))
  2970. - || (vs2 >= vd && vs2 <= (vd + 3))
  2971. - || (!vm && vm >= vd && vm <= (vd + 3))))
  2972. - return 0;
  2973. -
  2974. - return match_opcode (op, insn, 0);
  2975. + if (!constraints || error == NULL)
  2976. + return match_opcode (op, insn, 0, NULL);
  2977. +
  2978. + if ((vd % 4) != 0)
  2979. + *error = "illegal operands vd must be multiple of 4";
  2980. + else if (vs1 >= vd && vs1 <= (vd + 3))
  2981. + *error = "illegal operands vd cannot overlap vs1";
  2982. + else if (vs2 >= vd && vs2 <= (vd + 3))
  2983. + *error = "illegal operands vd cannot overlap vs2";
  2984. + else if (!vm && vm >= vd && vm <= (vd + 3))
  2985. + *error = "illegal operands vd cannot overlap vm";
  2986. + else
  2987. + return match_opcode (op, insn, 0, NULL);
  2988. + return 0;
  2989. }
  2990. static int
  2991. match_quad_vd_neq_vs2_neq_vm (const struct riscv_opcode *op,
  2992. insn_t insn,
  2993. - int constraints)
  2994. + int constraints,
  2995. + const char **error)
  2996. {
  2997. int vd = (insn & MASK_VD) >> OP_SH_VD;
  2998. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  2999. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  3000. - if (constraints
  3001. - && ((vd % 4) != 0
  3002. - || (vs2 >= vd && vs2 <= (vd + 3))
  3003. - || (!vm && vm >= vd && vm <= (vd + 3))))
  3004. - return 0;
  3005. -
  3006. - return match_opcode (op, insn, 0);
  3007. + if (!constraints || error == NULL)
  3008. + return match_opcode (op, insn, 0, NULL);
  3009. +
  3010. + if ((vd % 4) != 0)
  3011. + *error = "illegal operands vd must be multiple of 4";
  3012. + else if (vs2 >= vd && vs2 <= (vd + 3))
  3013. + *error = "illegal operands vd cannot overlap vs2";
  3014. + else if (!vm && vm >= vd && vm <= (vd + 3))
  3015. + *error = "illegal operands vd cannot overlap vm";
  3016. + else
  3017. + return match_opcode (op, insn, 0, NULL);
  3018. + return 0;
  3019. }
  3020. static int
  3021. match_narrow_vd_neq_vs2_neq_vm (const struct riscv_opcode *op,
  3022. insn_t insn,
  3023. - int constraints)
  3024. + int constraints,
  3025. + const char **error)
  3026. {
  3027. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3028. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  3029. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  3030. - if (constraints
  3031. - && ((vs2 % 2) != 0
  3032. - || (vd >= vs2 && vd <= (vs2 + 1))
  3033. - || (!vm && vd >= vm && vd <= (vm + 1))))
  3034. - return 0;
  3035. -
  3036. - return match_opcode (op, insn, 0);
  3037. + if (!constraints || error == NULL)
  3038. + return match_opcode (op, insn, 0, NULL);
  3039. +
  3040. + if ((vs2 % 2) != 0)
  3041. + *error = "illegal operands vd must be multiple of 2";
  3042. + else if (vd >= vs2 && vd <= (vs2 + 1))
  3043. + *error = "illegal operands vd cannot overlap vs2";
  3044. + else if (!vm && vd >= vm && vd <= (vm + 1))
  3045. + *error = "illegal operands vd cannot overlap vm";
  3046. + else
  3047. + return match_opcode (op, insn, 0, NULL);
  3048. + return 0;
  3049. }
  3050. static int
  3051. match_vd_neq_vs1_neq_vs2 (const struct riscv_opcode *op,
  3052. insn_t insn,
  3053. - int constraints)
  3054. + int constraints,
  3055. + const char **error)
  3056. {
  3057. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3058. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  3059. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  3060. - if (constraints
  3061. - && (vs1 == vd
  3062. - || vs2 == vd))
  3063. - return 0;
  3064. + if (!constraints || error == NULL)
  3065. + return match_opcode (op, insn, 0, NULL);
  3066. - return match_opcode (op, insn, 0);
  3067. + if (vs1 == vd)
  3068. + *error = "illegal operands vd cannot overlap vs1";
  3069. + else if (vs2 == vd)
  3070. + *error = "illegal operands vd cannot overlap vs2";
  3071. + else
  3072. + return match_opcode (op, insn, 0, NULL);
  3073. + return 0;
  3074. }
  3075. static int
  3076. match_vd_neq_vs1_neq_vs2_neq_vm (const struct riscv_opcode *op,
  3077. insn_t insn,
  3078. - int constraints)
  3079. + int constraints,
  3080. + const char **error)
  3081. {
  3082. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3083. int vs1 = (insn & MASK_VS1) >> OP_SH_VS1;
  3084. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  3085. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  3086. - if (constraints
  3087. - && (vs1 == vd
  3088. - || vs2 == vd
  3089. - || (!vm && vm == vd)))
  3090. - return 0;
  3091. -
  3092. - return match_opcode (op, insn, 0);
  3093. + if (!constraints || error == NULL)
  3094. + return match_opcode (op, insn, 0, NULL);
  3095. +
  3096. + if (vs1 == vd)
  3097. + *error = "illegal operands vd cannot overlap vs1";
  3098. + else if (vs2 == vd)
  3099. + *error = "illegal operands vd cannot overlap vs2";
  3100. + else if (!vm && vm == vd)
  3101. + *error = "illegal operands vd cannot overlap vm";
  3102. + else
  3103. + return match_opcode (op, insn, 0, NULL);
  3104. + return 0;
  3105. }
  3106. static int
  3107. match_vd_neq_vs2_neq_vm (const struct riscv_opcode *op,
  3108. insn_t insn,
  3109. - int constraints)
  3110. + int constraints,
  3111. + const char **error)
  3112. {
  3113. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3114. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  3115. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  3116. - if (constraints
  3117. - && (vs2 == vd
  3118. - || (!vm && vm == vd)))
  3119. - return 0;
  3120. + if (!constraints || error == NULL)
  3121. + return match_opcode (op, insn, 0, NULL);
  3122. - return match_opcode (op, insn, 0);
  3123. + if (vs2 == vd)
  3124. + *error = "illegal operands vd cannot overlap vs2";
  3125. + else if (!vm && vm == vd)
  3126. + *error = "illegal operands vd cannot overlap vm";
  3127. + else
  3128. + return match_opcode (op, insn, 0, NULL);
  3129. + return 0;
  3130. }
  3131. /* v[m]adc and v[m]sbc use the vm encoding to encode the
  3132. @@ -459,47 +539,61 @@ match_vd_neq_vs2_neq_vm (const struct riscv_opcode *op,
  3133. static int
  3134. match_vd_neq_vm (const struct riscv_opcode *op,
  3135. insn_t insn,
  3136. - int constraints)
  3137. + int constraints,
  3138. + const char **error)
  3139. {
  3140. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3141. int vm = (insn & MASK_VMASK) >> OP_SH_VMASK;
  3142. - if (constraints && !vm && vm == vd)
  3143. - return 0;
  3144. + if (!constraints || error == NULL)
  3145. + return match_opcode (op, insn, 0, NULL);
  3146. - return match_opcode (op, insn, 0);
  3147. + if (!vm && vm == vd)
  3148. + *error = "illegal operands vd cannot overlap vm";
  3149. + else
  3150. + return match_opcode (op, insn, 0, NULL);
  3151. + return 0;
  3152. }
  3153. static int
  3154. match_vls_nf_rv (const struct riscv_opcode *op,
  3155. insn_t insn,
  3156. - int constraints)
  3157. + int constraints,
  3158. + const char **error)
  3159. {
  3160. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3161. int nf = ((insn & (0x7 << 29) ) >> 29) + 1;
  3162. - if (constraints
  3163. - && ((vd % nf) != 0))
  3164. - return 0;
  3165. + if (!constraints || error == NULL)
  3166. + return match_opcode (op, insn, 0, NULL);
  3167. - return match_opcode (op, insn, 0);
  3168. + if ((vd % nf) != 0)
  3169. + *error = "illegal operands vd must be multiple of nf";
  3170. + else
  3171. + return match_opcode (op, insn, 0, NULL);
  3172. + return 0;
  3173. }
  3174. static int
  3175. match_vmv_nf_rv (const struct riscv_opcode *op,
  3176. insn_t insn,
  3177. - int constraints)
  3178. + int constraints,
  3179. + const char **error)
  3180. {
  3181. int vd = (insn & MASK_VD) >> OP_SH_VD;
  3182. int vs2 = (insn & MASK_VS2) >> OP_SH_VS2;
  3183. int nf = ((insn & (0x7 << 15) ) >> 15) + 1;
  3184. - if (constraints
  3185. - && ((vd % nf) != 0
  3186. - || (vs2 % nf) != 0))
  3187. - return 0;
  3188. + if (!constraints || error == NULL)
  3189. + return match_opcode (op, insn, 0, NULL);
  3190. - return match_opcode (op, insn, 0);
  3191. + if ((vd % nf) != 0)
  3192. + *error = "illegal operands vd must be multiple of nf";
  3193. + else if ((vs2 % nf) != 0)
  3194. + *error = "illegal operands vs2 must be multiple of nf";
  3195. + else
  3196. + return match_opcode (op, insn, 0, NULL);
  3197. + return 0;
  3198. }
  3199. const struct riscv_opcode riscv_opcodes[] =
  3200. --
  3201. 2.33.0