brintos

brintos / llvm-project-archived public Read only

0
0
Text · 290.7 KiB · 2610f4a Raw
7154 lines · plain
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=+neon,+fprcvt < %s 2> %t2// RUN: FileCheck --check-prefix=CHECK-ERROR < %t %s3 4//------------------------------------------------------------------------------5// Vector Integer Add/sub6//------------------------------------------------------------------------------7 8        // Mismatched vector types9        add v0.16b, v1.8b, v2.8b10        sub v0.2d, v1.2d, v2.2s11 12// CHECK-ERROR: error: invalid operand for instruction13// CHECK-ERROR:         add v0.16b, v1.8b, v2.8b14// CHECK-ERROR:                        ^15// CHECK-ERROR: error: invalid operand for instruction16// CHECK-ERROR:         sub v0.2d, v1.2d, v2.2s17// CHECK-ERROR:                              ^18 19//------------------------------------------------------------------------------20// Vector Floating-Point Add/sub21//------------------------------------------------------------------------------22 23        // Mismatched and invalid vector types24        fadd v0.2d, v1.2s, v2.2s25        fsub v0.4s, v1.2s, v2.4s26        fsub v0.8b, v1.8b, v2.8b27 28// CHECK-ERROR: error: invalid operand for instruction29// CHECK-ERROR:         fadd v0.2d, v1.2s, v2.2s30// CHECK-ERROR:                        ^31// CHECK-ERROR: error: invalid operand for instruction32// CHECK-ERROR:         fsub v0.4s, v1.2s, v2.4s33// CHECK-ERROR:                        ^34// CHECK-ERROR: error: invalid operand for instruction35// CHECK-ERROR:         fsub v0.8b, v1.8b, v2.8b36// CHECK-ERROR:                  ^37 38//----------------------------------------------------------------------39// Vector Integer Mul40//----------------------------------------------------------------------41 42        // Mismatched and invalid vector types43        mul v0.16b, v1.8b, v2.8b44        mul v0.2d, v1.2d, v2.2d45 46// CHECK-ERROR: error: invalid operand for instruction47// CHECK-ERROR:         mul v0.16b, v1.8b, v2.8b48// CHECK-ERROR:                        ^49// CHECK-ERROR: error: invalid operand for instruction50// CHECK-ERROR:         mul v0.2d, v1.2d, v2.2d51// CHECK-ERROR:                ^52 53//----------------------------------------------------------------------54// Vector Floating-Point Mul/Div55//----------------------------------------------------------------------56        // Mismatched vector types57        fmul v0.16b, v1.8b, v2.8b58        fdiv v0.2s, v1.2d, v2.2d59 60// CHECK-ERROR: error: invalid operand for instruction61// CHECK-ERROR:         fmul v0.16b, v1.8b, v2.8b62// CHECK-ERROR:                         ^63// CHECK-ERROR: error: invalid operand for instruction64// CHECK-ERROR:         fdiv v0.2s, v1.2d, v2.2d65// CHECK-ERROR:                        ^66 67//----------------------------------------------------------------------68// Vector And Orr Eor Bsl Bit Bif, Orn, Bic,69//----------------------------------------------------------------------70        // Mismatched and invalid vector types71        and v0.8b, v1.16b, v2.8b72        orr v0.4h, v1.4h, v2.4h73        eor v0.2s, v1.2s, v2.2s74        bsl v0.8b, v1.16b, v2.8b75        bsl v0.2s, v1.2s, v2.2s76        bit v0.2d, v1.2d, v2.2d77        bif v0.4h, v1.4h, v2.4h78        orn v0.8b, v1.16b, v2.16b79        bic v0.2d, v1.2d, v2.2d80 81// CHECK-ERROR: error: invalid operand for instruction82// CHECK-ERROR:         and v0.8b, v1.16b, v2.8b83// CHECK-ERROR:                       ^84// CHECK-ERROR: error: immediate must be an integer in range [0, 255]85// CHECK-ERROR:         orr v0.4h, v1.4h, v2.4h86// CHECK-ERROR:                ^87// CHECK-ERROR: error: invalid operand for instruction88// CHECK-ERROR:         eor v0.2s, v1.2s, v2.2s89// CHECK-ERROR:                ^90// CHECK-ERROR: error: invalid operand for instruction91// CHECK-ERROR:         bsl v0.8b, v1.16b, v2.8b92// CHECK-ERROR:                       ^93// CHECK-ERROR: error: invalid operand for instruction94// CHECK-ERROR:         bsl v0.2s, v1.2s, v2.2s95// CHECK-ERROR:                ^96// CHECK-ERROR: error: invalid operand for instruction97// CHECK-ERROR:         bit v0.2d, v1.2d, v2.2d98// CHECK-ERROR:                ^99// CHECK-ERROR: error: invalid operand for instruction100// CHECK-ERROR:         bif v0.4h, v1.4h, v2.4h101// CHECK-ERROR:                ^102// CHECK-ERROR: error: invalid operand for instruction103// CHECK-ERROR:         orn v0.8b, v1.16b, v2.16b104// CHECK-ERROR:                        ^105// CHECK-ERROR: error: invalid operand for instruction106// CHECK-ERROR:         bic v0.2d, v1.2d, v2.2d107// CHECK-ERROR:                ^108 109//----------------------------------------------------------------------110// Vector Integer Multiply-accumulate and Multiply-subtract111//----------------------------------------------------------------------112 113        // Mismatched and invalid vector types114        mla v0.16b, v1.8b, v2.8b115        mls v0.2d, v1.2d, v2.2d116 117// CHECK-ERROR: error: invalid operand for instruction118// CHECK-ERROR:         mla v0.16b, v1.8b, v2.8b119// CHECK-ERROR:                        ^120// CHECK-ERROR: error: invalid operand for instruction121// CHECK-ERROR:         mls v0.2d, v1.2d, v2.2d122// CHECK-ERROR:                ^123 124//----------------------------------------------------------------------125// Vector Floating-Point Multiply-accumulate and Multiply-subtract126//----------------------------------------------------------------------127        // Mismatched vector types128        fmla v0.2s, v1.2d, v2.2d129        fmls v0.16b, v1.8b, v2.8b130 131// CHECK-ERROR: error: invalid operand for instruction132// CHECK-ERROR:         fmla v0.2s, v1.2d, v2.2d133// CHECK-ERROR:                        ^134// CHECK-ERROR: error: invalid operand for instruction135// CHECK-ERROR:         fmls v0.16b, v1.8b, v2.8b136// CHECK-ERROR:                         ^137 138 139//----------------------------------------------------------------------140// Vector Move Immediate Shifted141// Vector Move Inverted Immediate Shifted142// Vector Bitwise Bit Clear (AND NOT) - immediate143// Vector Bitwise OR - immedidate144//----------------------------------------------------------------------145      // out of range immediate (0 to 0xff)146      movi v0.2s, #-1147      mvni v1.4s, #256148      // out of range shift (0, 8, 16, 24 and 0, 8)149      bic v15.4h, #1, lsl #7150      orr v31.2s, #1, lsl #25151      movi v5.4h, #10, lsl #16152      // invalid vector type (2s, 4s, 4h, 8h)153      movi v5.8b, #1, lsl #8154 155// CHECK-ERROR: error: immediate must be an integer in range [0, 255]156// CHECK-ERROR:          movi v0.2s, #-1157// CHECK-ERROR:                      ^158// CHECK-ERROR: error: immediate must be an integer in range [0, 255]159// CHECK-ERROR:         mvni v1.4s, #256160// CHECK-ERROR:                     ^161// CHECK-ERROR: error: invalid operand for instruction162// CHECK-ERROR:         bic v15.4h, #1, lsl #7163// CHECK-ERROR:                         ^164// CHECK-ERROR: error: invalid operand for instruction165// CHECK-ERROR:         orr v31.2s, #1, lsl #25166// CHECK-ERROR:                         ^167// CHECK-ERROR: error: invalid operand for instruction168// CHECK-ERROR:         movi v5.4h, #10, lsl #16169// CHECK-ERROR:                          ^170// CHECK-ERROR: error: invalid operand for instruction171// CHECK-ERROR:         movi v5.8b, #1, lsl #8172// CHECK-ERROR:                         ^173//----------------------------------------------------------------------174// Vector Move Immediate Masked175// Vector Move Inverted Immediate Masked176//----------------------------------------------------------------------177      // out of range immediate (0 to 0xff)178      movi v0.2s, #-1, msl #8179      mvni v7.4s, #256, msl #16180      // out of range shift (8, 16)181      movi v3.2s, #1, msl #0182      mvni v17.4s, #255, msl #32183      // invalid vector type (2s, 4s)184      movi v5.4h, #31, msl #8185 186// CHECK-ERROR: error: immediate must be an integer in range [0, 255]187// CHECK-ERROR:         movi v0.2s, #-1, msl #8188// CHECK-ERROR:                     ^189// CHECK-ERROR: error: immediate must be an integer in range [0, 255]190// CHECK-ERROR:         mvni v7.4s, #256, msl #16191// CHECK-ERROR:                     ^192// CHECK-ERROR: error: invalid operand for instruction193// CHECK-ERROR:         movi v3.2s, #1, msl #0194// CHECK-ERROR:                         ^195// CHECK-ERROR: error: invalid operand for instruction196// CHECK-ERROR:         mvni v17.4s, #255, msl #32197// CHECK-ERROR:                            ^198// CHECK-ERROR: error: invalid operand for instruction199// CHECK-ERROR:         movi v5.4h, #31, msl #8200// CHECK-ERROR:                          ^201 202//----------------------------------------------------------------------203// Vector Immediate - per byte204//----------------------------------------------------------------------205        // out of range immediate (0 to 0xff)206        movi v0.8b, #-1207        movi v1.16b, #256208 209// CHECK-ERROR: error: immediate must be an integer in range [0, 255]210// CHECK-ERROR:         movi v0.8b, #-1211// CHECK-ERROR:                     ^212// CHECK-ERROR: error: immediate must be an integer in range [0, 255]213// CHECK-ERROR:         movi v1.16b, #256214// CHECK-ERROR:                      ^215 216//----------------------------------------------------------------------217// Scalar Floating-point Reciprocal Estimate218//----------------------------------------------------------------------219 220    frecpe s19, h14221    frecpe d13, s13222 223// CHECK-ERROR: error: invalid operand for instruction224// CHECK-ERROR:        frecpe s19, h14225// CHECK-ERROR:                    ^226// CHECK-ERROR: error: invalid operand for instruction227// CHECK-ERROR:        frecpe d13, s13228// CHECK-ERROR:                    ^229 230//----------------------------------------------------------------------231// Scalar Floating-point Reciprocal Exponent232//----------------------------------------------------------------------233 234    frecpx s18, h10235    frecpx d16, s19236 237// CHECK-ERROR: error: invalid operand for instruction238// CHECK-ERROR:        frecpx s18, h10239// CHECK-ERROR:                    ^240// CHECK-ERROR: error: invalid operand for instruction241// CHECK-ERROR:        frecpx d16, s19242// CHECK-ERROR:                    ^243 244//----------------------------------------------------------------------245// Scalar Floating-point Reciprocal Square Root Estimate246//----------------------------------------------------------------------247 248    frsqrte s22, h13249    frsqrte d21, s12250 251// CHECK-ERROR: error: invalid operand for instruction252// CHECK-ERROR:        frsqrte s22, h13253// CHECK-ERROR:                     ^254// CHECK-ERROR: error: invalid operand for instruction255// CHECK-ERROR:        frsqrte d21, s12256// CHECK-ERROR:                     ^257 258//----------------------------------------------------------------------259// Vector Move Immediate - bytemask, per doubleword260//---------------------------------------------------------------------261        // invalid bytemask (0x00 or 0xff)262        movi v0.2d, #0x10ff00ff00ff00ff263 264// CHECK:ERROR: error: invalid operand for instruction265// CHECK:ERROR:         movi v0.2d, #0x10ff00ff00ff00ff266// CHECK:ERROR:                     ^267 268//----------------------------------------------------------------------269// Vector Move Immediate - bytemask, one doubleword270//----------------------------------------------------------------------271        // invalid bytemask (0x00 or 0xff)272        movi v0.2d, #0xffff00ff001f00ff273 274// CHECK:ERROR: error: invalid operand for instruction275// CHECK:ERROR:         movi v0.2d, #0xffff00ff001f00ff276// CHECK:ERROR:                     ^277//----------------------------------------------------------------------278// Vector Floating Point Move Immediate279//----------------------------------------------------------------------280        // invalid vector type (2s, 4s, 2d)281         fmov v0.4h, #1.0282         // invalid immediate (negative hexadecimal encoding)283         fmov v0.4s, #-0x0284 285// CHECK:ERROR: error: invalid operand for instruction286// CHECK:ERROR:         fmov v0.4h, #1.0287// CHECK:ERROR:              ^288// CHECK-ERROR: error: encoded floating point value out of range289// CHECK-ERROR:         fmov v0.4s, #-0x0290// CHECK-ERROR:                     ^291 292//----------------------------------------------------------------------293// Vector Move -  register294//----------------------------------------------------------------------295      // invalid vector type (8b, 16b)296      mov v0.2s, v31.8b297// CHECK:ERROR: error: invalid operand for instruction298// CHECK:ERROR:         mov v0.2s, v31.8b299// CHECK:ERROR:                ^300 301//----------------------------------------------------------------------302// Vector Absolute Difference and Accumulate (Signed, Unsigned)303//----------------------------------------------------------------------304 305        // Mismatched and invalid vector types (2d)306        saba v0.16b, v1.8b, v2.8b307        uaba v0.2d, v1.2d, v2.2d308 309// CHECK-ERROR: error: invalid operand for instruction310// CHECK-ERROR:         saba v0.16b, v1.8b, v2.8b311// CHECK-ERROR:                        ^312// CHECK-ERROR: error: invalid operand for instruction313// CHECK-ERROR:         uaba v0.2d, v1.2d, v2.2d314// CHECK-ERROR:                ^315 316//----------------------------------------------------------------------317// Vector Absolute Difference and Accumulate (Signed, Unsigned)318// Vector Absolute Difference (Signed, Unsigned)319 320        // Mismatched and invalid vector types (2d)321        uaba v0.16b, v1.8b, v2.8b322        saba v0.2d, v1.2d, v2.2d323        uabd v0.4s, v1.2s, v2.2s324        sabd v0.4h, v1.8h, v8.8h325 326// CHECK-ERROR: error: invalid operand for instruction327// CHECK-ERROR:         uaba v0.16b, v1.8b, v2.8b328// CHECK-ERROR:                        ^329// CHECK-ERROR: error: invalid operand for instruction330// CHECK-ERROR:         saba v0.2d, v1.2d, v2.2d331// CHECK-ERROR:                ^332// CHECK-ERROR: error: invalid operand for instruction333// CHECK-ERROR:         uabd v0.4s, v1.2s, v2.2s334// CHECK-ERROR:                        ^335// CHECK-ERROR: error: invalid operand for instruction336// CHECK-ERROR:         sabd v0.4h, v1.8h, v8.8h337// CHECK-ERROR:                        ^338 339//----------------------------------------------------------------------340// Vector Absolute Difference (Floating Point)341//----------------------------------------------------------------------342        // Mismatched and invalid vector types343        fabd v0.2s, v1.4s, v2.2d344        fabd v0.4h, v1.4h, v2.4h345 346// CHECK-ERROR: error: invalid operand for instruction347// CHECK-ERROR:         fabd v0.2s, v1.4s, v2.2d348// CHECK-ERROR:                        ^349// CHECK-ERROR: error: instruction requires: fullfp16350// CHECK-ERROR:         fabd v0.4h, v1.4h, v2.4h351// CHECK-ERROR:                 ^352//----------------------------------------------------------------------353// Vector Multiply (Polynomial)354//----------------------------------------------------------------------355 356        // Mismatched and invalid vector types357         pmul v0.8b, v1.8b, v2.16b358         pmul v0.2s, v1.2s, v2.2s359 360// CHECK-ERROR: error: invalid operand for instruction361// CHECK-ERROR:         pmul v0.8b, v1.8b, v2.16b362// CHECK-ERROR:                               ^363// CHECK-ERROR: error: invalid operand for instruction364// CHECK-ERROR:         pmul v0.2s, v1.2s, v2.2s365// CHECK-ERROR:                 ^366 367//----------------------------------------------------------------------368// Scalar Integer Add and Sub369//----------------------------------------------------------------------370 371      // Mismatched registers372         add d0, s1, d2373         sub s1, d1, d2374 375// CHECK-ERROR: error: invalid operand for instruction376// CHECK-ERROR:         add d0, s1, d2377// CHECK-ERROR:                 ^378// CHECK-ERROR: error: invalid operand for instruction379// CHECK-ERROR:         sub s1, d1, d2380// CHECK-ERROR:             ^381 382//----------------------------------------------------------------------383// Vector Reciprocal Step (Floating Point)384//----------------------------------------------------------------------385 386        // Mismatched and invalid vector types387         frecps v0.4s, v1.2d, v2.4s388         frecps v0.8h, v1.8h, v2.8h389 390// CHECK-ERROR: error: invalid operand for instruction391// CHECK-ERROR:        frecps v0.4s, v1.2d, v2.4s392// CHECK-ERROR:                         ^393// CHECK-ERROR: error: instruction requires: fullfp16394// CHECK-ERROR:        frecps v0.8h, v1.8h, v2.8h395// CHECK-ERROR:                  ^396 397//----------------------------------------------------------------------398// Vector Reciprocal Square Root Step (Floating Point)399//----------------------------------------------------------------------400 401        // Mismatched and invalid vector types402         frsqrts v0.2d, v1.2d, v2.2s403         frsqrts v0.4h, v1.4h, v2.4h404 405// CHECK-ERROR: error: invalid operand for instruction406// CHECK-ERROR:        frsqrts v0.2d, v1.2d, v2.2s407// CHECK-ERROR:                                 ^408// CHECK-ERROR: error: instruction requires: fullfp16409// CHECK-ERROR:        frsqrts v0.4h, v1.4h, v2.4h410// CHECK-ERROR:                   ^411 412 413//----------------------------------------------------------------------414// Vector Absolute Compare Mask Less Than Or Equal (Floating Point)415//----------------------------------------------------------------------416 417        // Mismatched and invalid vector types418        facge v0.2d, v1.2s, v2.2d419        facge v0.4h, v1.4h, v2.4h420        facle v0.8h, v1.4h, v2.4h421 422// CHECK-ERROR: error: invalid operand for instruction423// CHECK-ERROR:        facge v0.2d, v1.2s, v2.2d424// CHECK-ERROR:                        ^425// CHECK-ERROR: error: instruction requires: fullfp16426// CHECK-ERROR:        facge v0.4h, v1.4h, v2.4h427// CHECK-ERROR:                 ^428// CHECK-ERROR: error: invalid operand for instruction429// CHECK-ERROR:        facle v0.8h, v1.4h, v2.4h430// CHECK-ERROR:                 ^431//----------------------------------------------------------------------432// Vector Absolute Compare Mask Less Than (Floating Point)433//----------------------------------------------------------------------434 435        // Mismatched and invalid vector types436        facgt v0.2d, v1.2d, v2.4s437        facgt v0.8h, v1.8h, v2.8h438        faclt v0.8b, v1.8b, v2.8b439 440// CHECK-ERROR: error: invalid operand for instruction441// CHECK-ERROR:        facgt v0.2d, v1.2d, v2.4s442// CHECK-ERROR:                               ^443// CHECK-ERROR: error: instruction requires: fullfp16444// CHECK-ERROR:        facgt v0.8h, v1.8h, v2.8h445// CHECK-ERROR:                 ^446// CHECK-ERROR: error: invalid operand for instruction447// CHECK-ERROR:        faclt v0.8b, v1.8b, v2.8b448// CHECK-ERROR:                 ^449 450 451//----------------------------------------------------------------------452// Vector Compare Mask Equal (Integer)453//----------------------------------------------------------------------454 455         // Mismatched vector types456         cmeq c0.2d, v1.2d, v2.2s457 458// CHECK-ERROR: error: invalid operand for instruction459// CHECK-ERROR:        cmeq c0.2d, v1.2d, v2.2s460// CHECK-ERROR:                              ^461 462//----------------------------------------------------------------------463// Vector Compare Mask Higher or Same (Unsigned Integer)464// Vector Compare Mask Less or Same (Unsigned Integer)465// CMLS is alias for CMHS with operands reversed.466//----------------------------------------------------------------------467 468         // Mismatched vector types469         cmhs c0.4h, v1.8b, v2.8b470         cmls c0.16b, v1.16b, v2.2d471 472// CHECK-ERROR: error: invalid operand for instruction473// CHECK-ERROR:        cmhs c0.4h, v1.8b, v2.8b474// CHECK-ERROR:                       ^475// CHECK-ERROR: error: invalid operand for instruction476// CHECK-ERROR:        cmls c0.16b, v1.16b, v2.2d477// CHECK-ERROR:                                ^478 479//----------------------------------------------------------------------480// Vector Compare Mask Greater Than or Equal (Integer)481// Vector Compare Mask Less Than or Equal (Integer)482// CMLE is alias for CMGE with operands reversed.483//----------------------------------------------------------------------484 485         // Mismatched vector types486         cmge c0.8h, v1.8b, v2.8b487         cmle c0.4h, v1.2s, v2.2s488 489// CHECK-ERROR: error: invalid operand for instruction490// CHECK-ERROR:        cmge c0.8h, v1.8b, v2.8b491// CHECK-ERROR:                       ^492// CHECK-ERROR: error: invalid operand for instruction493// CHECK-ERROR:         cmle c0.4h, v1.2s, v2.2s494// CHECK-ERROR:                        ^495 496//----------------------------------------------------------------------497// Vector Compare Mask Higher (Unsigned Integer)498// Vector Compare Mask Lower (Unsigned Integer)499// CMLO is alias for CMHI with operands reversed.500//----------------------------------------------------------------------501 502         // Mismatched vector types503         cmhi c0.4s, v1.4s, v2.16b504         cmlo c0.8b, v1.8b, v2.2s505 506// CHECK-ERROR: error: invalid operand for instruction507// CHECK-ERROR:        cmhi c0.4s, v1.4s, v2.16b508// CHECK-ERROR:                              ^509// CHECK-ERROR: error: invalid operand for instruction510// CHECK-ERROR:         cmlo c0.8b, v1.8b, v2.2s511// CHECK-ERROR:                               ^512 513//----------------------------------------------------------------------514// Vector Compare Mask Greater Than (Integer)515// Vector Compare Mask Less Than (Integer)516// CMLT is alias for CMGT with operands reversed.517//----------------------------------------------------------------------518 519         // Mismatched vector types520         cmgt c0.8b, v1.4s, v2.16b521         cmlt c0.8h, v1.16b, v2.4s522 523// CHECK-ERROR: error: invalid operand for instruction524// CHECK-ERROR:         cmgt c0.8b, v1.4s, v2.16b525// CHECK-ERROR:                        ^526// CHECK-ERROR: error: invalid operand for instruction527// CHECK-ERROR:         cmlt c0.8h, v1.16b, v2.4s528// CHECK-ERROR:                        ^529 530//----------------------------------------------------------------------531// Vector Compare Mask Bitwise Test (Integer)532//----------------------------------------------------------------------533 534         // Mismatched vector types535         cmtst c0.16b, v1.16b, v2.4s536 537// CHECK-ERROR: error: invalid operand for instruction538// CHECK-ERROR:         cmtst c0.16b, v1.16b, v2.4s539// CHECK-ERROR:                                  ^540 541//----------------------------------------------------------------------542// Vector Compare Mask Equal (Floating Point)543//----------------------------------------------------------------------544 545        // Mismatched and invalid vector types546        fcmeq v0.2d, v1.2s, v2.2d547        fcmeq v0.16b, v1.16b, v2.16b548        fcmeq v0.8b, v1.4h, v2.4h549 550// CHECK-ERROR: error: invalid operand for instruction551// CHECK-ERROR:        fcmeq v0.2d, v1.2s, v2.2d552// CHECK-ERROR:                        ^553// CHECK-ERROR: error: invalid operand for instruction554// CHECK-ERROR:        fcmeq v0.16b, v1.16b, v2.16b555// CHECK-ERROR:                 ^556// CHECK-ERROR: error: invalid operand for instruction557// CHECK-ERROR:        fcmeq v0.8b, v1.4h, v2.4h558// CHECK-ERROR:                 ^559 560//----------------------------------------------------------------------561// Vector Compare Mask Greater Than Or Equal (Floating Point)562// Vector Compare Mask Less Than Or Equal (Floating Point)563// FCMLE is alias for FCMGE with operands reversed.564//----------------------------------------------------------------------565 566        // Mismatched and invalid vector types567         fcmge v31.4s, v29.2s, v28.4s568         fcmge v3.8b, v8.2s, v12.2s569         fcmle v17.8h, v15.2d, v13.2d570 571// CHECK-ERROR: error: invalid operand for instruction572// CHECK-ERROR:        fcmge v31.4s, v29.2s, v28.4s573// CHECK-ERROR:                          ^574// CHECK-ERROR: error: invalid operand for instruction575// CHECK-ERROR:        fcmge v3.8b, v8.2s, v12.2s576// CHECK-ERROR:                 ^577// CHECK-ERROR: error: invalid operand for instruction578// CHECK-ERROR:        fcmle v17.8h, v15.2d, v13.2d579// CHECK-ERROR:                 ^580 581//----------------------------------------------------------------------582// Vector Compare Mask Greater Than (Floating Point)583// Vector Compare Mask Less Than (Floating Point)584// FCMLT is alias for FCMGT with operands reversed.585//----------------------------------------------------------------------586 587        // Mismatched and invalid vector types588         fcmgt v0.2d, v31.2s, v16.2s589         fcmgt v4.4s, v7.4s, v15.4h590         fcmlt v29.2d, v5.2d, v2.16b591 592// CHECK-ERROR: error: invalid operand for instruction593// CHECK-ERROR:        fcmgt v0.2d, v31.2s, v16.2s594// CHECK-ERROR:                         ^595 596// CHECK-ERROR: error: invalid operand for instruction597// CHECK-ERROR:        fcmgt v4.4s, v7.4s, v15.4h598// CHECK-ERROR:                                ^599// CHECK-ERROR: error: invalid operand for instruction600// CHECK-ERROR:        fcmlt v29.2d, v5.2d, v2.16b601// CHECK-ERROR:                                ^602 603//----------------------------------------------------------------------604// Vector Compare Mask Equal to Zero (Integer)605//----------------------------------------------------------------------606        // Mismatched vector types and invalid imm607         // Mismatched vector types608         cmeq c0.2d, v1.2s, #0609         cmeq c0.2d, v1.2d, #1610 611// CHECK-ERROR: error: invalid operand for instruction612// CHECK-ERROR:        cmeq c0.2d, v1.2s, #0613// CHECK-ERROR:                       ^614// CHECK-ERROR: error: invalid operand for instruction615// CHECK-ERROR:        cmeq c0.2d, v1.2d, #1616// CHECK-ERROR:                            ^617 618//----------------------------------------------------------------------619// Vector Compare Mask Greater Than or Equal to Zero (Signed Integer)620//----------------------------------------------------------------------621        // Mismatched vector types and invalid imm622         cmge c0.8h, v1.8b, #0623         cmge c0.4s, v1.4s, #-1624 625// CHECK-ERROR: error: invalid operand for instruction626// CHECK-ERROR:        cmge c0.8h, v1.8b, #0627// CHECK-ERROR:                       ^628// CHECK-ERROR: error: invalid operand for instruction629// CHECK-ERROR:         cmge c0.4s, v1.4s, #-1630// CHECK-ERROR:                             ^631 632//----------------------------------------------------------------------633// Vector Compare Mask Greater Than Zero (Signed Integer)634//----------------------------------------------------------------------635        // Mismatched vector types and invalid imm636         cmgt c0.8b, v1.4s, #0637         cmgt c0.8b, v1.8b, #-255638 639// CHECK-ERROR: error: invalid operand for instruction640// CHECK-ERROR:         cmgt c0.8b, v1.4s, #0641// CHECK-ERROR:                        ^642// CHECK-ERROR: error: invalid operand for instruction643// CHECK-ERROR:         cmgt c0.8b, v1.8b, #-255644// CHECK-ERROR:                             ^645 646//----------------------------------------------------------------------647// Vector Compare Mask Less Than or Equal To Zero (Signed Integer)648//----------------------------------------------------------------------649        // Mismatched vector types and invalid imm650         cmle c0.4h, v1.2s, #0651         cmle c0.16b, v1.16b, #16652 653// CHECK-ERROR: error: invalid operand for instruction654// CHECK-ERROR:        cmle c0.4h, v1.2s, #0655// CHECK-ERROR:                       ^656// CHECK-ERROR: error: invalid operand for instruction657// CHECK-ERROR:         cmle c0.16b, v1.16b, #16658// CHECK-ERROR:                               ^659//----------------------------------------------------------------------660// Vector Compare Mask Less Than Zero (Signed Integer)661//----------------------------------------------------------------------662        // Mismatched vector types and invalid imm663         cmlt c0.8h, v1.16b, #0664         cmlt c0.8h, v1.8h, #-15665 666// CHECK-ERROR: error: invalid operand for instruction667// CHECK-ERROR:         cmlt c0.8h, v1.16b, #0668// CHECK-ERROR:                        ^669// CHECK-ERROR: error: invalid operand for instruction670// CHECK-ERROR:         cmlt c0.8h, v1.8h, #-15671// CHECK-ERROR:                             ^672 673//----------------------------------------------------------------------674// Vector Compare Mask Equal to Zero (Floating Point)675//----------------------------------------------------------------------676 677        // Mismatched and invalid vector types, invalid imm678        fcmeq v0.2d, v1.2s, #0.0679        fcmeq v0.16b, v1.16b, #0.0680        fcmeq v0.8b, v1.4h, #1.0681        fcmeq v0.8b, v1.4h, #1682 683// CHECK-ERROR: error: invalid operand for instruction684// CHECK-ERROR:        fcmeq v0.2d, v1.2s, #0.0685// CHECK-ERROR:                        ^686// CHECK-ERROR: error: invalid operand for instruction687// CHECK-ERROR:        fcmeq v0.16b, v1.16b, #0.0688// CHECK-ERROR:                 ^689 690 691// CHECK-ERROR: error: expected floating-point constant #0.0692// CHECK-ERROR:        fcmeq v0.8b, v1.4h, #1.0693// CHECK-ERROR:                             ^694// CHECK-ERROR: error: invalid operand for instruction695// CHECK-ERROR:        fcmeq v0.8b, v1.4h, #1696// CHECK-ERROR:                             ^697 698//----------------------------------------------------------------------699// Vector Compare Mask Greater Than or Equal to Zero (Floating Point)700//----------------------------------------------------------------------701 702        // Mismatched and invalid vector types, invalid imm703         fcmge v31.4s, v29.2s, #0.0704         fcmge v3.8b, v8.2s, #0.0705         fcmle v17.8h, v15.2d, #-1.0706         fcmle v17.8h, v15.2d, #2707 708// CHECK-ERROR: error: invalid operand for instruction709// CHECK-ERROR:        fcmge v31.4s, v29.2s, #0.0710// CHECK-ERROR:                          ^711// CHECK-ERROR: error: invalid operand for instruction712// CHECK-ERROR:        fcmge v3.8b, v8.2s, #0.0713// CHECK-ERROR:                 ^714 715 716// CHECK-ERROR: error: expected floating-point constant #0.0717// CHECK-ERROR:        fcmle v17.8h, v15.2d, #-1.0718// CHECK-ERROR:                               ^719// CHECK-ERROR: error: invalid operand for instruction720// CHECK-ERROR:        fcmle v17.8h, v15.2d, #2721// CHECK-ERROR:                               ^722 723//----------------------------------------------------------------------724// Vector Compare Mask Greater Than Zero (Floating Point)725//----------------------------------------------------------------------726        // Mismatched and invalid vector types, invalid imm727         fcmgt v0.2d, v31.2s, #0.0728         fcmgt v4.4s, v7.4h, #0.0729         fcmlt v29.2d, v5.2d, #255.0730         fcmlt v29.2d, v5.2d, #255731 732// CHECK-ERROR: error: invalid operand for instruction733// CHECK-ERROR:        fcmgt v0.2d, v31.2s, #0.0734// CHECK-ERROR:                         ^735// CHECK-ERROR: error: invalid operand for instruction736// CHECK-ERROR:        fcmgt v4.4s, v7.4h, #0.0737// CHECK-ERROR:                        ^738 739 740// CHECK-ERROR: error: expected floating-point constant #0.0741// CHECK-ERROR:        fcmlt v29.2d, v5.2d, #255.0742// CHECK-ERROR:                              ^743// CHECK-ERROR: error: invalid operand for instruction744// CHECK-ERROR:        fcmlt v29.2d, v5.2d, #255745// CHECK-ERROR:                              ^746 747//----------------------------------------------------------------------748// Vector Compare Mask Less Than or Equal To Zero (Floating Point)749//----------------------------------------------------------------------750        // Mismatched and invalid vector types, invalid imm751         fcmge v31.4s, v29.2s, #0.0752         fcmge v3.8b, v8.2s, #0.0753         fcmle v17.2d, v15.2d, #15.0754         fcmle v17.2d, v15.2d, #15755 756// CHECK-ERROR: error: invalid operand for instruction757// CHECK-ERROR:        fcmge v31.4s, v29.2s, #0.0758// CHECK-ERROR:                          ^759// CHECK-ERROR: error: invalid operand for instruction760// CHECK-ERROR:        fcmge v3.8b, v8.2s, #0.0761// CHECK-ERROR:                 ^762 763 764// CHECK-ERROR: error: expected floating-point constant #0.0765// CHECK-ERROR:        fcmle v17.2d, v15.2d, #15.0766// CHECK-ERROR:                               ^767// CHECK-ERROR: error: invalid operand for instruction768// CHECK-ERROR:        fcmle v17.2d, v15.2d, #15769// CHECK-ERROR:                              ^770 771//----------------------------------------------------------------------772// Vector Compare Mask Less Than Zero (Floating Point)773//----------------------------------------------------------------------774        // Mismatched and invalid vector types, invalid imm775         fcmgt v0.2d, v31.2s, #0.0776         fcmgt v4.4s, v7.4h, #0.0777         fcmlt v29.2d, v5.2d, #16.0778         fcmlt v29.2d, v5.2d, #2779 780// CHECK-ERROR: error: invalid operand for instruction781// CHECK-ERROR:        fcmgt v0.2d, v31.2s, #0.0782// CHECK-ERROR:                         ^783// CHECK-ERROR: error: invalid operand for instruction784// CHECK-ERROR:        fcmgt v4.4s, v7.4h, #0.0785// CHECK-ERROR:                        ^786 787 788// CHECK-ERROR: error: expected floating-point constant #0.0789// CHECK-ERROR:        fcmlt v29.2d, v5.2d, #16.0790// CHECK-ERROR:                              ^791// CHECK-ERROR: error: invalid operand for instruction792// CHECK-ERROR:        fcmlt v29.2d, v5.2d, #2793// CHECK-ERROR:                              ^794 795//-----------------------------------------------------------------------796// Vector Integer Halving Add (Signed)797// Vector Integer Halving Add (Unsigned)798// Vector Integer Halving Sub (Signed)799// Vector Integer Halving Sub (Unsigned)800//----------------------------------------------------------------------801        // Mismatched and invalid vector types (2d)802        shadd v0.2d, v1.2d, v2.2d803        uhadd v4.2s, v5.2s, v5.4h804        shsub v11.4h, v12.8h, v13.4h805        uhsub v31.16b, v29.8b, v28.8b806 807// CHECK-ERROR: error: invalid operand for instruction808// CHECK-ERROR:        shadd v0.2d, v1.2d, v2.2d809// CHECK-ERROR:                 ^810// CHECK-ERROR: error: invalid operand for instruction811// CHECK-ERROR:        uhadd v4.2s, v5.2s, v5.4h812// CHECK-ERROR:                               ^813// CHECK-ERROR: error: invalid operand for instruction814// CHECK-ERROR:        shsub v11.4h, v12.8h, v13.4h815// CHECK-ERROR:                          ^816// CHECK-ERROR: error: invalid operand for instruction817// CHECK-ERROR:        uhsub v31.16b, v29.8b, v28.8b818// CHECK-ERROR:                          ^819 820//----------------------------------------------------------------------821// Vector Integer Rouding Halving Add (Signed)822// Vector Integer Rouding Halving Add (Unsigned)823//----------------------------------------------------------------------824 825        // Mismatched and invalid vector types (2d)826        srhadd v0.2s, v1.2s, v2.2d827        urhadd v0.16b, v1.16b, v2.8h828 829// CHECK-ERROR: error: invalid operand for instruction830// CHECK-ERROR:        srhadd v0.2s, v1.2s, v2.2d831// CHECK-ERROR:                                ^832// CHECK-ERROR: error: invalid operand for instruction833// CHECK-ERROR:        urhadd v0.16b, v1.16b, v2.8h834// CHECK-ERROR:                                  ^835 836//----------------------------------------------------------------------837// Vector Integer Saturating Add (Signed)838// Vector Integer Saturating Add (Unsigned)839// Vector Integer Saturating Sub (Signed)840// Vector Integer Saturating Sub (Unsigned)841//----------------------------------------------------------------------842 843        // Mismatched vector types844        sqadd v0.2s, v1.2s, v2.2d845        uqadd v31.8h, v1.4h, v2.4h846        sqsub v10.8h, v1.16b, v2.16b847        uqsub v31.8b, v1.8b, v2.4s848 849// CHECK-ERROR: error: invalid operand for instruction850// CHECK-ERROR:        sqadd v0.2s, v1.2s, v2.2d851// CHECK-ERROR:                               ^852// CHECK-ERROR: error: invalid operand for instruction853// CHECK-ERROR:        uqadd v31.8h, v1.4h, v2.4h854// CHECK-ERROR:                         ^855// CHECK-ERROR: error: invalid operand for instruction856// CHECK-ERROR:        sqsub v10.8h, v1.16b, v2.16b857// CHECK-ERROR:                         ^858// CHECK-ERROR: error: invalid operand for instruction859// CHECK-ERROR:        uqsub v31.8b, v1.8b, v2.4s860// CHECK-ERROR:                                ^861 862//----------------------------------------------------------------------863// Scalar Integer Saturating Add (Signed)864// Scalar Integer Saturating Add (Unsigned)865// Scalar Integer Saturating Sub (Signed)866// Scalar Integer Saturating Sub (Unsigned)867//----------------------------------------------------------------------868 869      // Mismatched registers870         sqadd d0, s31, d2871         uqadd s0, s1, d2872         sqsub b0, b2, s18873         uqsub h1, h2, d2874 875// CHECK-ERROR: error: invalid operand for instruction876// CHECK-ERROR:        sqadd d0, s31, d2877// CHECK-ERROR:                  ^878// CHECK-ERROR: error: invalid operand for instruction879// CHECK-ERROR:        uqadd s0, s1, d2880// CHECK-ERROR:                      ^881// CHECK-ERROR: error: invalid operand for instruction882// CHECK-ERROR:        sqsub b0, b2, s18883// CHECK-ERROR:                      ^884// CHECK-ERROR: error: invalid operand for instruction885// CHECK-ERROR:        uqsub h1, h2, d2886// CHECK-ERROR:                      ^887 888//----------------------------------------------------------------------889// Scalar Integer Saturating Doubling Multiply Half High (Signed)890//----------------------------------------------------------------------891 892    sqdmulh h10, s11, h12893    sqdmulh s20, h21, s2894 895// CHECK-ERROR: error: invalid operand for instruction896// CHECK-ERROR:        sqdmulh h10, s11, h12897// CHECK-ERROR:                     ^898// CHECK-ERROR: error: invalid operand for instruction899// CHECK-ERROR:        sqdmulh s20, h21, s2900// CHECK-ERROR:                     ^901 902//------------------------------------------------------------------------903// Scalar Integer Saturating Rounding Doubling Multiply Half High (Signed)904//------------------------------------------------------------------------905 906    sqrdmulh h10, s11, h12907    sqrdmulh s20, h21, s2908 909// CHECK-ERROR: error: invalid operand for instruction910// CHECK-ERROR:        sqrdmulh h10, s11, h12911// CHECK-ERROR:                      ^912// CHECK-ERROR: error: invalid operand for instruction913// CHECK-ERROR:        sqrdmulh s20, h21, s2914// CHECK-ERROR:                      ^915 916//----------------------------------------------------------------------917// Vector Shift Left (Signed and Unsigned Integer)918//----------------------------------------------------------------------919        // Mismatched vector types920        sshl v0.4s, v15.2s, v16.2s921        ushl v1.16b, v25.16b, v6.8h922 923// CHECK-ERROR: error: invalid operand for instruction924// CHECK-ERROR:        sshl v0.4s, v15.2s, v16.2s925// CHECK-ERROR:                        ^926// CHECK-ERROR: error: invalid operand for instruction927// CHECK-ERROR:        ushl v1.16b, v25.16b, v6.8h928// CHECK-ERROR:                                 ^929 930//----------------------------------------------------------------------931// Vector Saturating Shift Left (Signed and Unsigned Integer)932//----------------------------------------------------------------------933        // Mismatched vector types934        sqshl v0.2s, v15.4s, v16.2d935        uqshl v1.8b, v25.4h, v6.8h936 937// CHECK-ERROR: error: invalid operand for instruction938// CHECK-ERROR:        sqshl v0.2s, v15.4s, v16.2d 939// CHECK-ERROR:                         ^940// CHECK-ERROR: error: invalid operand for instruction941// CHECK-ERROR:        uqshl v1.8b, v25.4h, v6.8h942// CHECK-ERROR:                         ^943 944//----------------------------------------------------------------------945// Vector Rouding Shift Left (Signed and Unsigned Integer)946//----------------------------------------------------------------------947        // Mismatched vector types948        srshl v0.8h, v15.8h, v16.16b949        urshl v1.2d, v25.2d, v6.4s950 951// CHECK-ERROR: error: invalid operand for instruction952// CHECK-ERROR:        srshl v0.8h, v15.8h, v16.16b953// CHECK-ERROR:                                 ^954// CHECK-ERROR: error: invalid operand for instruction955// CHECK-ERROR:        urshl v1.2d, v25.2d, v6.4s956// CHECK-ERROR:                                ^957 958//----------------------------------------------------------------------959// Vector Saturating Rouding Shift Left (Signed and Unsigned Integer)960//----------------------------------------------------------------------961        // Mismatched vector types962        sqrshl v0.2s, v15.8h, v16.16b963        uqrshl v1.4h, v25.4h,  v6.2d964 965// CHECK-ERROR: error: invalid operand for instruction966// CHECK-ERROR:        sqrshl v0.2s, v15.8h, v16.16b967// CHECK-ERROR:                          ^968// CHECK-ERROR: error: invalid operand for instruction969// CHECK-ERROR:        uqrshl v1.4h, v25.4h,  v6.2d970// CHECK-ERROR:                                  ^971 972//----------------------------------------------------------------------973// Scalar Integer Shift Left (Signed, Unsigned)974//----------------------------------------------------------------------975        // Mismatched and invalid vector types976        sshl d0, d1, s2977        ushl b2, b0, b1978 979// CHECK-ERROR: error: invalid operand for instruction980// CHECK-ERROR:        sshl d0, d1, s2981// CHECK-ERROR:                     ^982// CHECK-ERROR: error: invalid operand for instruction983// CHECK-ERROR:        ushl b2, b0, b1984// CHECK-ERROR:             ^985 986//----------------------------------------------------------------------987// Scalar Integer Saturating Shift Left (Signed, Unsigned)988//----------------------------------------------------------------------989 990        // Mismatched vector types991        sqshl b0, s1, b0992        uqshl h0, b1, h0993        sqshl s0, h1, s0994        uqshl d0, b1, d0995 996// CHECK-ERROR: error: invalid operand for instruction997// CHECK-ERROR:        sqshl b0, s1, b0998// CHECK-ERROR:                  ^999// CHECK-ERROR: error: invalid operand for instruction1000// CHECK-ERROR:        uqshl h0, b1, h01001// CHECK-ERROR:                  ^1002// CHECK-ERROR: error: invalid operand for instruction1003// CHECK-ERROR:        sqshl s0, h1, s01004// CHECK-ERROR:                  ^1005// CHECK-ERROR: error: invalid operand for instruction1006// CHECK-ERROR:        uqshl d0, b1, d01007// CHECK-ERROR:                  ^1008 1009//----------------------------------------------------------------------1010// Scalar Integer Rouding Shift Left (Signed, Unsigned)1011//----------------------------------------------------------------------1012        // Mismatched and invalid vector types1013        srshl h0, h1, h21014        urshl s0, s1, s21015 1016// CHECK-ERROR: error: invalid operand for instruction1017// CHECK-ERROR:        srshl h0, h1, h21018// CHECK-ERROR:              ^1019// CHECK-ERROR: error: invalid operand for instruction1020// CHECK-ERROR:        urshl s0, s1, s21021// CHECK-ERROR:              ^1022 1023 1024//----------------------------------------------------------------------1025// Scalar Integer Saturating Rounding Shift Left (Signed, Unsigned)1026//----------------------------------------------------------------------1027 1028        // Mismatched vector types1029        sqrshl b0, b1, s01030        uqrshl h0, h1, b01031        sqrshl s0, s1, h01032        uqrshl d0, d1, b01033 1034// CHECK-ERROR: error: invalid operand for instruction1035// CHECK-ERROR:        sqrshl b0, b1, s01036// CHECK-ERROR:                       ^1037// CHECK-ERROR: error: invalid operand for instruction1038// CHECK-ERROR:        uqrshl h0, h1, b01039// CHECK-ERROR:                       ^1040// CHECK-ERROR: error: invalid operand for instruction1041// CHECK-ERROR:        sqrshl s0, s1, h01042// CHECK-ERROR:                       ^1043// CHECK-ERROR: error: invalid operand for instruction1044// CHECK-ERROR:        uqrshl d0, d1, b01045// CHECK-ERROR:                       ^1046 1047 1048//----------------------------------------------------------------------1049// Vector Maximum (Signed, Unsigned)1050//----------------------------------------------------------------------1051        // Mismatched and invalid vector types1052        smax v0.2d, v1.2d, v2.2d1053        umax v0.4h, v1.4h, v2.2s1054 1055// CHECK-ERROR: error: invalid operand for instruction1056// CHECK-ERROR:        smax v0.2d, v1.2d, v2.2d1057// CHECK-ERROR:                ^1058// CHECK-ERROR: error: invalid operand for instruction1059// CHECK-ERROR:        umax v0.4h, v1.4h, v2.2s1060// CHECK-ERROR:                              ^1061 1062//----------------------------------------------------------------------1063// Vector Minimum (Signed, Unsigned)1064//----------------------------------------------------------------------1065        // Mismatched and invalid vector types1066        smin v0.2d, v1.2d, v2.2d1067        umin v0.2s, v1.2s, v2.8b1068 1069// CHECK-ERROR: error: invalid operand for instruction1070// CHECK-ERROR:        smin v0.2d, v1.2d, v2.2d1071// CHECK-ERROR:                ^1072// CHECK-ERROR: error: invalid operand for instruction1073// CHECK-ERROR:        umin v0.2s, v1.2s, v2.8b1074// CHECK-ERROR:                             ^1075 1076 1077//----------------------------------------------------------------------1078// Vector Maximum (Floating Point)1079//----------------------------------------------------------------------1080        // Mismatched and invalid vector types1081        fmax v0.2s, v1.2s, v2.4s1082        fmax v0.8b, v1.8b, v2.8b1083 1084// CHECK-ERROR: error: invalid operand for instruction1085// CHECK-ERROR:        fmax v0.2s, v1.2s, v2.4s1086// CHECK-ERROR:                              ^1087// CHECK-ERROR: error: invalid operand for instruction1088// CHECK-ERROR:        fmax v0.8b, v1.8b, v2.8b1089// CHECK-ERROR:                ^1090//----------------------------------------------------------------------1091// Vector Minimum (Floating Point)1092//----------------------------------------------------------------------1093        // Mismatched and invalid vector types1094        fmin v0.4s, v1.4s, v2.2d1095        fmin v0.8h, v1.8h, v2.8h1096 1097// CHECK-ERROR: error: invalid operand for instruction1098// CHECK-ERROR:        fmin v0.4s, v1.4s, v2.2d1099// CHECK-ERROR:                              ^1100// CHECK-ERROR: error: instruction requires: fullfp161101// CHECK-ERROR:        fmin v0.8h, v1.8h, v2.8h1102// CHECK-ERROR:                ^1103 1104//----------------------------------------------------------------------1105// Vector maxNum (Floating Point)1106//----------------------------------------------------------------------1107        // Mismatched and invalid vector types1108        fmaxnm v0.2s, v1.2s, v2.2d1109        fmaxnm v0.4h, v1.8h, v2.4h1110 1111// CHECK-ERROR: error: invalid operand for instruction1112// CHECK-ERROR:        fmaxnm v0.2s, v1.2s, v2.2d1113// CHECK-ERROR:                                ^1114// CHECK-ERROR: error: invalid operand for instruction1115// CHECK-ERROR:        fmaxnm v0.4h, v1.8h, v2.4h1116// CHECK-ERROR:                  ^1117 1118//----------------------------------------------------------------------1119// Vector minNum (Floating Point)1120//----------------------------------------------------------------------1121        // Mismatched and invalid vector types1122        fminnm v0.4s, v1.2s, v2.4s1123        fminnm v0.16b, v0.16b, v0.16b1124 1125// CHECK-ERROR: error: invalid operand for instruction1126// CHECK-ERROR:        fminnm v0.4s, v1.2s, v2.4s1127// CHECK-ERROR:                         ^1128// CHECK-ERROR: error: invalid operand for instruction1129// CHECK-ERROR:        fminnm v0.16b, v0.16b, v0.16b1130// CHECK-ERROR:                  ^1131 1132 1133//----------------------------------------------------------------------1134// Vector Maximum Pairwise (Signed, Unsigned)1135//----------------------------------------------------------------------1136        // Mismatched and invalid vector types1137        smaxp v0.2d, v1.2d, v2.2d1138        umaxp v0.4h, v1.4h, v2.2s1139 1140// CHECK-ERROR: error: invalid operand for instruction1141// CHECK-ERROR:        smaxp v0.2d, v1.2d, v2.2d1142// CHECK-ERROR:                 ^1143// CHECK-ERROR: error: invalid operand for instruction1144// CHECK-ERROR:        umaxp v0.4h, v1.4h, v2.2s1145// CHECK-ERROR:                               ^1146 1147//----------------------------------------------------------------------1148// Vector Minimum Pairwise (Signed, Unsigned)1149//----------------------------------------------------------------------1150        // Mismatched and invalid vector types1151        sminp v0.2d, v1.2d, v2.2d1152        uminp v0.2s, v1.2s, v2.8b1153 1154// CHECK-ERROR: error: invalid operand for instruction1155// CHECK-ERROR:        sminp v0.2d, v1.2d, v2.2d1156// CHECK-ERROR:                 ^1157// CHECK-ERROR: error: invalid operand for instruction1158// CHECK-ERROR:        uminp v0.2s, v1.2s, v2.8b1159// CHECK-ERROR:                               ^1160 1161 1162//----------------------------------------------------------------------1163// Vector Maximum Pairwise (Floating Point)1164//----------------------------------------------------------------------1165        // Mismatched and invalid vector types1166        fmaxp v0.2s, v1.2s, v2.4s1167        fmaxp v0.8b, v1.8b, v2.8b1168 1169// CHECK-ERROR: error: invalid operand for instruction1170// CHECK-ERROR:        fmaxp v0.2s, v1.2s, v2.4s1171// CHECK-ERROR:                               ^1172// CHECK-ERROR: error: invalid operand for instruction1173// CHECK-ERROR:        fmaxp v0.8b, v1.8b, v2.8b1174// CHECK-ERROR:                 ^1175//----------------------------------------------------------------------1176// Vector Minimum Pairwise (Floating Point)1177//----------------------------------------------------------------------1178        // Mismatched and invalid vector types1179        fminp v0.4s, v1.4s, v2.2d1180        fminp v0.8h, v1.8h, v2.8h1181 1182// CHECK-ERROR: error: invalid operand for instruction1183// CHECK-ERROR:        fminp v0.4s, v1.4s, v2.2d1184// CHECK-ERROR:                               ^1185// CHECK-ERROR: error: instruction requires: fullfp161186// CHECK-ERROR:        fminp v0.8h, v1.8h, v2.8h1187// CHECK-ERROR:                 ^1188 1189//----------------------------------------------------------------------1190// Vector maxNum Pairwise (Floating Point)1191//----------------------------------------------------------------------1192        // Mismatched and invalid vector types1193        fmaxnmp v0.2s, v1.2s, v2.2d1194        fmaxnmp v0.4h, v1.8h, v2.4h1195 1196// CHECK-ERROR: error: invalid operand for instruction1197// CHECK-ERROR:        fmaxnmp v0.2s, v1.2s, v2.2d1198// CHECK-ERROR:                                 ^1199// CHECK-ERROR: error: invalid operand for instruction1200// CHECK-ERROR:        fmaxnmp v0.4h, v1.8h, v2.4h1201// CHECK-ERROR:                   ^1202 1203//----------------------------------------------------------------------1204// Vector minNum Pairwise (Floating Point)1205//----------------------------------------------------------------------1206        // Mismatched and invalid vector types1207        fminnmp v0.4s, v1.2s, v2.4s1208        fminnmp v0.16b, v0.16b, v0.16b1209 1210// CHECK-ERROR: error: invalid operand for instruction1211// CHECK-ERROR:        fminnmp v0.4s, v1.2s, v2.4s1212// CHECK-ERROR:                          ^1213// CHECK-ERROR: error: invalid operand for instruction1214// CHECK-ERROR:        fminnmp v0.16b, v0.16b, v0.16b1215// CHECK-ERROR:                   ^1216 1217 1218//----------------------------------------------------------------------1219// Vector Add Pairwise (Integer)1220//----------------------------------------------------------------------1221 1222        // Mismatched vector types1223        addp v0.16b, v1.8b, v2.8b1224 1225// CHECK-ERROR: error: invalid operand for instruction1226// CHECK-ERROR:         addp v0.16b, v1.8b, v2.8b1227// CHECK-ERROR:                         ^1228 1229//----------------------------------------------------------------------1230// Vector Add Pairwise (Floating Point)1231//----------------------------------------------------------------------1232        // Mismatched and invalid vector types1233        faddp v0.16b, v1.8b, v2.8b1234        faddp v0.2d, v1.2d, v2.8h1235 1236// CHECK-ERROR: error: invalid operand for instruction1237// CHECK-ERROR:         faddp v0.16b, v1.8b, v2.8b1238// CHECK-ERROR:                  ^1239// CHECK-ERROR: error: invalid operand for instruction1240// CHECK-ERROR:         faddp v0.2d, v1.2d, v2.8h1241// CHECK-ERROR:                                ^1242 1243 1244//----------------------------------------------------------------------1245// Vector Saturating Doubling Multiply High1246//----------------------------------------------------------------------1247         // Mismatched and invalid vector types1248         sqdmulh v2.4h, v25.8h, v3.4h1249         sqdmulh v12.2d, v5.2d, v13.2d1250         sqdmulh v3.8b, v1.8b, v30.8b1251 1252// CHECK-ERROR: error: invalid operand for instruction1253// CHECK-ERROR:         sqdmulh v2.4h, v25.8h, v3.4h1254// CHECK-ERROR:                            ^1255// CHECK-ERROR: error: invalid operand for instruction1256// CHECK-ERROR:         sqdmulh v12.2d, v5.2d, v13.2d1257// CHECK-ERROR:                     ^1258// CHECK-ERROR: error: invalid operand for instruction1259// CHECK-ERROR:         sqdmulh v3.8b, v1.8b, v30.8b1260// CHECK-ERROR:                    ^1261 1262//----------------------------------------------------------------------1263// Vector Saturating Rouding Doubling Multiply High1264//----------------------------------------------------------------------1265         // Mismatched and invalid vector types1266         sqrdmulh v2.2s, v25.4s, v3.4s1267         sqrdmulh v12.16b, v5.16b, v13.16b1268         sqrdmulh v3.4h, v1.4h, v30.2d1269 1270 1271// CHECK-ERROR: error: invalid operand for instruction1272// CHECK-ERROR:         sqrdmulh v2.2s, v25.4s, v3.4s1273// CHECK-ERROR:                             ^1274// CHECK-ERROR: error: invalid operand for instruction1275// CHECK-ERROR:         sqrdmulh v12.16b, v5.16b, v13.16b1276// CHECK-ERROR:                       ^1277// CHECK-ERROR: error: invalid operand for instruction1278// CHECK-ERROR:         sqrdmulh v3.4h, v1.4h, v30.2d1279// CHECK-ERROR:                                    ^1280 1281//----------------------------------------------------------------------1282// Vector Multiply Extended1283//----------------------------------------------------------------------1284         // Mismatched and invalid vector types1285      fmulx v21.2s, v5.2s, v13.2d1286      fmulx v1.4h, v25.4h, v3.4h1287 1288// CHECK-ERROR: error: invalid operand for instruction1289// CHECK-ERROR:         fmulx v21.2s, v5.2s, v13.2d1290// CHECK-ERROR:                                  ^1291// CHECK-ERROR: error: instruction requires: fullfp161292// CHECK-ERROR:         fmulx v1.4h, v25.4h, v3.4h1293// CHECK-ERROR:                  ^1294 1295//------------------------------------------------------------------------------1296// Vector Shift Left by Immediate1297//------------------------------------------------------------------------------1298         // Mismatched vector types and out of range1299         shl v0.4s, v15,2s, #31300         shl v0.2d, v17.4s, #31301         shl v0.8b, v31.8b, #-11302         shl v0.8b, v31.8b, #81303         shl v0.4s, v21.4s, #321304         shl v0.2d, v1.2d, #641305 1306 1307// CHECK-ERROR: error: unexpected token in argument list1308// CHECK-ERROR:         shl v0.4s, v15,2s, #31309// CHECK-ERROR:                         ^1310 1311// CHECK-ERROR: error: invalid operand for instruction1312// CHECK-ERROR:         shl v0.2d, v17.4s, #31313// CHECK-ERROR:                        ^1314// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1315// CHECK-ERROR:         shl v0.8b, v31.8b, #-11316// CHECK-ERROR:                            ^1317// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1318// CHECK-ERROR:         shl v0.8b, v31.8b, #81319// CHECK-ERROR:                            ^1320// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1321// CHECK-ERROR:         shl v0.4s, v21.4s, #321322// CHECK-ERROR:                            ^1323// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]1324// CHECK-ERROR:         shl v0.2d, v1.2d, #641325// CHECK-ERROR:                           ^1326 1327//----------------------------------------------------------------------1328// Vector Shift Left Long by Immediate1329//----------------------------------------------------------------------1330        // Mismatched vector types1331        sshll v0.4s, v15.2s, #31332        ushll v1.16b, v25.16b, #61333        sshll2 v0.2d, v3.8s, #151334        ushll2 v1.4s, v25.4s, #71335 1336        // Out of range 1337        sshll v0.8h, v1.8b, #-11338        sshll v0.8h, v1.8b, #91339        ushll v0.4s, v1.4h, #171340        ushll v0.2d, v1.2s, #331341        sshll2 v0.8h, v1.16b, #91342        sshll2 v0.4s, v1.8h, #171343        ushll2 v0.2d, v1.4s, #331344 1345// CHECK-ERROR: error: invalid operand for instruction1346// CHECK-ERROR:        sshll v0.4s, v15.2s, #31347// CHECK-ERROR:                         ^1348// CHECK-ERROR: error: invalid operand for instruction1349// CHECK-ERROR:        ushll v1.16b, v25.16b, #61350// CHECK-ERROR:                 ^1351// CHECK-ERROR: error: invalid vector kind qualifier1352// CHECK-ERROR:        sshll2 v0.2d, v3.8s, #151353// CHECK-ERROR:                      ^1354// CHECK-ERROR: error: invalid operand for instruction1355// CHECK-ERROR:        ushll2 v1.4s, v25.4s, #71356// CHECK-ERROR:                          ^1357// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1358// CHECK-ERROR:        sshll v0.8h, v1.8b, #-11359// CHECK-ERROR:                            ^1360// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1361// CHECK-ERROR:        sshll v0.8h, v1.8b, #91362// CHECK-ERROR:                            ^1363// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1364// CHECK-ERROR:        ushll v0.4s, v1.4h, #171365// CHECK-ERROR:                            ^1366// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1367// CHECK-ERROR:        ushll v0.2d, v1.2s, #331368// CHECK-ERROR:                            ^1369// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1370// CHECK-ERROR:        sshll2 v0.8h, v1.16b, #91371// CHECK-ERROR:                              ^1372// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1373// CHECK-ERROR:        sshll2 v0.4s, v1.8h, #171374// CHECK-ERROR:                             ^1375// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1376// CHECK-ERROR:        ushll2 v0.2d, v1.4s, #331377// CHECK-ERROR:                             ^1378 1379 1380//------------------------------------------------------------------------------1381// Vector shift right by immediate1382//------------------------------------------------------------------------------1383         sshr v0.8b, v1.8h, #31384         sshr v0.4h, v1.4s, #31385         sshr v0.2s, v1.2d, #31386         sshr v0.16b, v1.16b, #91387         sshr v0.8h, v1.8h, #171388         sshr v0.4s, v1.4s, #331389         sshr v0.2d, v1.2d, #651390 1391// CHECK-ERROR: error: invalid operand for instruction1392// CHECK-ERROR:         sshr v0.8b, v1.8h, #31393// CHECK-ERROR:                        ^1394// CHECK-ERROR: error: invalid operand for instruction1395// CHECK-ERROR:         sshr v0.4h, v1.4s, #31396// CHECK-ERROR:                        ^1397// CHECK-ERROR: error: invalid operand for instruction1398// CHECK-ERROR:         sshr v0.2s, v1.2d, #31399// CHECK-ERROR:                        ^1400// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1401// CHECK-ERROR:         sshr v0.16b, v1.16b, #91402// CHECK-ERROR:                              ^1403// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1404// CHECK-ERROR:         sshr v0.8h, v1.8h, #171405// CHECK-ERROR:                            ^1406// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1407// CHECK-ERROR:         sshr v0.4s, v1.4s, #331408// CHECK-ERROR:                            ^1409// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1410// CHECK-ERROR:         sshr v0.2d, v1.2d, #651411// CHECK-ERROR:                            ^1412 1413//------------------------------------------------------------------------------1414// Vector  shift right by immediate1415//------------------------------------------------------------------------------1416         ushr v0.8b, v1.8h, #31417         ushr v0.4h, v1.4s, #31418         ushr v0.2s, v1.2d, #31419         ushr v0.16b, v1.16b, #91420         ushr v0.8h, v1.8h, #171421         ushr v0.4s, v1.4s, #331422         ushr v0.2d, v1.2d, #651423 1424// CHECK-ERROR: error: invalid operand for instruction1425// CHECK-ERROR:         ushr v0.8b, v1.8h, #31426// CHECK-ERROR:                        ^1427// CHECK-ERROR: error: invalid operand for instruction1428// CHECK-ERROR:         ushr v0.4h, v1.4s, #31429// CHECK-ERROR:                        ^1430// CHECK-ERROR: error: invalid operand for instruction1431// CHECK-ERROR:         ushr v0.2s, v1.2d, #31432// CHECK-ERROR:                        ^1433// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1434// CHECK-ERROR:         ushr v0.16b, v1.16b, #91435// CHECK-ERROR:                              ^1436// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1437// CHECK-ERROR:         ushr v0.8h, v1.8h, #171438// CHECK-ERROR:                            ^1439// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1440// CHECK-ERROR:         ushr v0.4s, v1.4s, #331441// CHECK-ERROR:                            ^1442// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1443// CHECK-ERROR:         ushr v0.2d, v1.2d, #651444// CHECK-ERROR:                            ^1445 1446//------------------------------------------------------------------------------1447// Vector shift right and accumulate by immediate1448//------------------------------------------------------------------------------1449         ssra v0.8b, v1.8h, #31450         ssra v0.4h, v1.4s, #31451         ssra v0.2s, v1.2d, #31452         ssra v0.16b, v1.16b, #91453         ssra v0.8h, v1.8h, #171454         ssra v0.4s, v1.4s, #331455         ssra v0.2d, v1.2d, #651456 1457// CHECK-ERROR: error: invalid operand for instruction1458// CHECK-ERROR:         ssra v0.8b, v1.8h, #31459// CHECK-ERROR:                        ^1460// CHECK-ERROR: error: invalid operand for instruction1461// CHECK-ERROR:         ssra v0.4h, v1.4s, #31462// CHECK-ERROR:                        ^1463// CHECK-ERROR: error: invalid operand for instruction1464// CHECK-ERROR:         ssra v0.2s, v1.2d, #31465// CHECK-ERROR:                        ^1466// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1467// CHECK-ERROR:         ssra v0.16b, v1.16b, #91468// CHECK-ERROR:                              ^1469// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1470// CHECK-ERROR:         ssra v0.8h, v1.8h, #171471// CHECK-ERROR:                            ^1472// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1473// CHECK-ERROR:         ssra v0.4s, v1.4s, #331474// CHECK-ERROR:                            ^1475// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1476// CHECK-ERROR:         ssra v0.2d, v1.2d, #651477// CHECK-ERROR:                            ^1478 1479//------------------------------------------------------------------------------1480// Vector  shift right and accumulate by immediate1481//------------------------------------------------------------------------------1482         usra v0.8b, v1.8h, #31483         usra v0.4h, v1.4s, #31484         usra v0.2s, v1.2d, #31485         usra v0.16b, v1.16b, #91486         usra v0.8h, v1.8h, #171487         usra v0.4s, v1.4s, #331488         usra v0.2d, v1.2d, #651489 1490// CHECK-ERROR: error: invalid operand for instruction1491// CHECK-ERROR:         usra v0.8b, v1.8h, #31492// CHECK-ERROR:                        ^1493// CHECK-ERROR: error: invalid operand for instruction1494// CHECK-ERROR:         usra v0.4h, v1.4s, #31495// CHECK-ERROR:                        ^1496// CHECK-ERROR: error: invalid operand for instruction1497// CHECK-ERROR:         usra v0.2s, v1.2d, #31498// CHECK-ERROR:                        ^1499// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1500// CHECK-ERROR:         usra v0.16b, v1.16b, #91501// CHECK-ERROR:                              ^1502// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1503// CHECK-ERROR:         usra v0.8h, v1.8h, #171504// CHECK-ERROR:                            ^1505// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1506// CHECK-ERROR:         usra v0.4s, v1.4s, #331507// CHECK-ERROR:                            ^1508// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1509// CHECK-ERROR:         usra v0.2d, v1.2d, #651510// CHECK-ERROR:                            ^1511 1512//------------------------------------------------------------------------------1513// Vector rounding shift right by immediate1514//------------------------------------------------------------------------------1515         srshr v0.8b, v1.8h, #31516         srshr v0.4h, v1.4s, #31517         srshr v0.2s, v1.2d, #31518         srshr v0.16b, v1.16b, #91519         srshr v0.8h, v1.8h, #171520         srshr v0.4s, v1.4s, #331521         srshr v0.2d, v1.2d, #651522 1523// CHECK-ERROR: error: invalid operand for instruction1524// CHECK-ERROR:         srshr v0.8b, v1.8h, #31525// CHECK-ERROR:                         ^1526// CHECK-ERROR: error: invalid operand for instruction1527// CHECK-ERROR:         srshr v0.4h, v1.4s, #31528// CHECK-ERROR:                         ^1529// CHECK-ERROR: error: invalid operand for instruction1530// CHECK-ERROR:         srshr v0.2s, v1.2d, #31531// CHECK-ERROR:                         ^1532// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1533// CHECK-ERROR:         srshr v0.16b, v1.16b, #91534// CHECK-ERROR:                               ^1535// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1536// CHECK-ERROR:         srshr v0.8h, v1.8h, #171537// CHECK-ERROR:                             ^1538// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1539// CHECK-ERROR:         srshr v0.4s, v1.4s, #331540// CHECK-ERROR:                             ^1541// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1542// CHECK-ERROR:         srshr v0.2d, v1.2d, #651543// CHECK-ERROR:                             ^1544 1545//------------------------------------------------------------------------------1546// Vecotr rounding shift right by immediate1547//------------------------------------------------------------------------------1548         urshr v0.8b, v1.8h, #31549         urshr v0.4h, v1.4s, #31550         urshr v0.2s, v1.2d, #31551         urshr v0.16b, v1.16b, #91552         urshr v0.8h, v1.8h, #171553         urshr v0.4s, v1.4s, #331554         urshr v0.2d, v1.2d, #651555 1556// CHECK-ERROR: error: invalid operand for instruction1557// CHECK-ERROR:         urshr v0.8b, v1.8h, #31558// CHECK-ERROR:                         ^1559// CHECK-ERROR: error: invalid operand for instruction1560// CHECK-ERROR:         urshr v0.4h, v1.4s, #31561// CHECK-ERROR:                         ^1562// CHECK-ERROR: error: invalid operand for instruction1563// CHECK-ERROR:         urshr v0.2s, v1.2d, #31564// CHECK-ERROR:                         ^1565// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1566// CHECK-ERROR:         urshr v0.16b, v1.16b, #91567// CHECK-ERROR:                               ^1568// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1569// CHECK-ERROR:         urshr v0.8h, v1.8h, #171570// CHECK-ERROR:                             ^1571// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1572// CHECK-ERROR:         urshr v0.4s, v1.4s, #331573// CHECK-ERROR:                             ^1574// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1575// CHECK-ERROR:         urshr v0.2d, v1.2d, #651576// CHECK-ERROR:                             ^1577 1578//------------------------------------------------------------------------------1579// Vector rounding shift right and accumulate by immediate1580//------------------------------------------------------------------------------1581         srsra v0.8b, v1.8h, #31582         srsra v0.4h, v1.4s, #31583         srsra v0.2s, v1.2d, #31584         srsra v0.16b, v1.16b, #91585         srsra v0.8h, v1.8h, #171586         srsra v0.4s, v1.4s, #331587         srsra v0.2d, v1.2d, #651588 1589// CHECK-ERROR: error: invalid operand for instruction1590// CHECK-ERROR:         srsra v0.8b, v1.8h, #31591// CHECK-ERROR:                         ^1592// CHECK-ERROR: error: invalid operand for instruction1593// CHECK-ERROR:         srsra v0.4h, v1.4s, #31594// CHECK-ERROR:                         ^1595// CHECK-ERROR: error: invalid operand for instruction1596// CHECK-ERROR:         srsra v0.2s, v1.2d, #31597// CHECK-ERROR:                         ^1598// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1599// CHECK-ERROR:         srsra v0.16b, v1.16b, #91600// CHECK-ERROR:                               ^1601// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1602// CHECK-ERROR:         srsra v0.8h, v1.8h, #171603// CHECK-ERROR:                             ^1604// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1605// CHECK-ERROR:         srsra v0.4s, v1.4s, #331606// CHECK-ERROR:                             ^1607// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1608// CHECK-ERROR:         srsra v0.2d, v1.2d, #651609// CHECK-ERROR:                             ^1610 1611//------------------------------------------------------------------------------1612// Vector rounding shift right and accumulate by immediate1613//------------------------------------------------------------------------------1614         ursra v0.8b, v1.8h, #31615         ursra v0.4h, v1.4s, #31616         ursra v0.2s, v1.2d, #31617         ursra v0.16b, v1.16b, #91618         ursra v0.8h, v1.8h, #171619         ursra v0.4s, v1.4s, #331620         ursra v0.2d, v1.2d, #651621 1622// CHECK-ERROR: error: invalid operand for instruction1623// CHECK-ERROR:         ursra v0.8b, v1.8h, #31624// CHECK-ERROR:                         ^1625// CHECK-ERROR: error: invalid operand for instruction1626// CHECK-ERROR:         ursra v0.4h, v1.4s, #31627// CHECK-ERROR:                         ^1628// CHECK-ERROR: error: invalid operand for instruction1629// CHECK-ERROR:         ursra v0.2s, v1.2d, #31630// CHECK-ERROR:                         ^1631// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1632// CHECK-ERROR:         ursra v0.16b, v1.16b, #91633// CHECK-ERROR:                               ^1634// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1635// CHECK-ERROR:         ursra v0.8h, v1.8h, #171636// CHECK-ERROR:                             ^1637// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1638// CHECK-ERROR:         ursra v0.4s, v1.4s, #331639// CHECK-ERROR:                             ^1640// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1641// CHECK-ERROR:         ursra v0.2d, v1.2d, #651642// CHECK-ERROR:                             ^1643 1644//------------------------------------------------------------------------------1645// Vector shift right and insert by immediate1646//------------------------------------------------------------------------------1647         sri v0.8b, v1.8h, #31648         sri v0.4h, v1.4s, #31649         sri v0.2s, v1.2d, #31650         sri v0.16b, v1.16b, #91651         sri v0.8h, v1.8h, #171652         sri v0.4s, v1.4s, #331653         sri v0.2d, v1.2d, #651654 1655// CHECK-ERROR: error: invalid operand for instruction1656// CHECK-ERROR:         sri v0.8b, v1.8h, #31657// CHECK-ERROR:                       ^1658// CHECK-ERROR: error: invalid operand for instruction1659// CHECK-ERROR:         sri v0.4h, v1.4s, #31660// CHECK-ERROR:                       ^1661// CHECK-ERROR: error: invalid operand for instruction1662// CHECK-ERROR:         sri v0.2s, v1.2d, #31663// CHECK-ERROR:                       ^1664// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1665// CHECK-ERROR:         sri v0.16b, v1.16b, #91666// CHECK-ERROR:                             ^1667// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1668// CHECK-ERROR:         sri v0.8h, v1.8h, #171669// CHECK-ERROR:                           ^1670// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1671// CHECK-ERROR:         sri v0.4s, v1.4s, #331672// CHECK-ERROR:                           ^1673// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]1674// CHECK-ERROR:         sri v0.2d, v1.2d, #651675// CHECK-ERROR:                           ^1676 1677//------------------------------------------------------------------------------1678// Vector shift left and insert by immediate1679//------------------------------------------------------------------------------1680         sli v0.8b, v1.8h, #31681         sli v0.4h, v1.4s, #31682         sli v0.2s, v1.2d, #31683         sli v0.16b, v1.16b, #81684         sli v0.8h, v1.8h, #161685         sli v0.4s, v1.4s, #321686         sli v0.2d, v1.2d, #641687 1688// CHECK-ERROR: error: invalid operand for instruction1689// CHECK-ERROR:         sli v0.8b, v1.8h, #31690// CHECK-ERROR:                       ^1691// CHECK-ERROR: error: invalid operand for instruction1692// CHECK-ERROR:         sli v0.4h, v1.4s, #31693// CHECK-ERROR:                       ^1694// CHECK-ERROR: error: invalid operand for instruction1695// CHECK-ERROR:         sli v0.2s, v1.2d, #31696// CHECK-ERROR:                       ^1697// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1698// CHECK-ERROR:         sli v0.16b, v1.16b, #81699// CHECK-ERROR:                             ^1700// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1701// CHECK-ERROR:         sli v0.8h, v1.8h, #161702// CHECK-ERROR:                           ^1703// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1704// CHECK-ERROR:         sli v0.4s, v1.4s, #321705// CHECK-ERROR:                           ^1706// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]1707// CHECK-ERROR:         sli v0.2d, v1.2d, #641708// CHECK-ERROR:                           ^1709 1710//------------------------------------------------------------------------------1711// Vector saturating shift left unsigned by immediate1712//------------------------------------------------------------------------------1713         sqshlu v0.8b, v1.8h, #31714         sqshlu v0.4h, v1.4s, #31715         sqshlu v0.2s, v1.2d, #31716         sqshlu v0.16b, v1.16b, #81717         sqshlu v0.8h, v1.8h, #161718         sqshlu v0.4s, v1.4s, #321719         sqshlu v0.2d, v1.2d, #641720 1721// CHECK-ERROR: error: invalid operand for instruction1722// CHECK-ERROR:         sqshlu v0.8b, v1.8h, #31723// CHECK-ERROR:                          ^1724// CHECK-ERROR: error: invalid operand for instruction1725// CHECK-ERROR:         sqshlu v0.4h, v1.4s, #31726// CHECK-ERROR:                          ^1727// CHECK-ERROR: error: invalid operand for instruction1728// CHECK-ERROR:         sqshlu v0.2s, v1.2d, #31729// CHECK-ERROR:                          ^1730// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1731// CHECK-ERROR:         sqshlu v0.16b, v1.16b, #81732// CHECK-ERROR:                                ^1733// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1734// CHECK-ERROR:         sqshlu v0.8h, v1.8h, #161735// CHECK-ERROR:                              ^1736// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1737// CHECK-ERROR:         sqshlu v0.4s, v1.4s, #321738// CHECK-ERROR:                              ^1739// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]1740// CHECK-ERROR:         sqshlu v0.2d, v1.2d, #641741// CHECK-ERROR:                              ^1742 1743//------------------------------------------------------------------------------1744// Vector saturating shift left by immediate1745//------------------------------------------------------------------------------1746         sqshl v0.8b, v1.8h, #31747         sqshl v0.4h, v1.4s, #31748         sqshl v0.2s, v1.2d, #31749         sqshl v0.16b, v1.16b, #81750         sqshl v0.8h, v1.8h, #161751         sqshl v0.4s, v1.4s, #321752         sqshl v0.2d, v1.2d, #641753 1754// CHECK-ERROR: error: invalid operand for instruction1755// CHECK-ERROR:         sqshl v0.8b, v1.8h, #31756// CHECK-ERROR:                         ^1757// CHECK-ERROR: error: invalid operand for instruction1758// CHECK-ERROR:         sqshl v0.4h, v1.4s, #31759// CHECK-ERROR:                         ^1760// CHECK-ERROR: error: invalid operand for instruction1761// CHECK-ERROR:         sqshl v0.2s, v1.2d, #31762// CHECK-ERROR:                         ^1763// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1764// CHECK-ERROR:         sqshl v0.16b, v1.16b, #81765// CHECK-ERROR:                               ^1766// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1767// CHECK-ERROR:         sqshl v0.8h, v1.8h, #161768// CHECK-ERROR:                             ^1769// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1770// CHECK-ERROR:         sqshl v0.4s, v1.4s, #321771// CHECK-ERROR:                             ^1772// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]1773// CHECK-ERROR:         sqshl v0.2d, v1.2d, #641774// CHECK-ERROR:                             ^1775 1776//------------------------------------------------------------------------------1777// Vector saturating shift left by immediate1778//------------------------------------------------------------------------------1779         uqshl v0.8b, v1.8h, #31780         uqshl v0.4h, v1.4s, #31781         uqshl v0.2s, v1.2d, #31782         uqshl v0.16b, v1.16b, #81783         uqshl v0.8h, v1.8h, #161784         uqshl v0.4s, v1.4s, #321785         uqshl v0.2d, v1.2d, #641786 1787// CHECK-ERROR: error: invalid operand for instruction1788// CHECK-ERROR:         uqshl v0.8b, v1.8h, #31789// CHECK-ERROR:                         ^1790// CHECK-ERROR: error: invalid operand for instruction1791// CHECK-ERROR:         uqshl v0.4h, v1.4s, #31792// CHECK-ERROR:                         ^1793// CHECK-ERROR: error: invalid operand for instruction1794// CHECK-ERROR:         uqshl v0.2s, v1.2d, #31795// CHECK-ERROR:                         ^1796// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]1797// CHECK-ERROR:         uqshl v0.16b, v1.16b, #81798// CHECK-ERROR:                               ^1799// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]1800// CHECK-ERROR:         uqshl v0.8h, v1.8h, #161801// CHECK-ERROR:                             ^1802// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]1803// CHECK-ERROR:         uqshl v0.4s, v1.4s, #321804// CHECK-ERROR:                             ^1805// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]1806// CHECK-ERROR:         uqshl v0.2d, v1.2d, #641807// CHECK-ERROR:                             ^1808 1809//------------------------------------------------------------------------------1810// Vector shift right narrow by immediate1811//------------------------------------------------------------------------------1812         shrn v0.8b, v1.8b, #31813         shrn v0.4h, v1.4h, #31814         shrn v0.2s, v1.2s, #31815         shrn2 v0.16b, v1.8h, #171816         shrn2 v0.8h, v1.4s, #331817         shrn2 v0.4s, v1.2d, #651818 1819// CHECK-ERROR: error: invalid operand for instruction1820// CHECK-ERROR:         shrn v0.8b, v1.8b, #31821// CHECK-ERROR:                        ^1822// CHECK-ERROR: error: invalid operand for instruction1823// CHECK-ERROR:         shrn v0.4h, v1.4h, #31824// CHECK-ERROR:                        ^1825// CHECK-ERROR: error: invalid operand for instruction1826// CHECK-ERROR:         shrn v0.2s, v1.2s, #31827// CHECK-ERROR:                        ^1828// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1829// CHECK-ERROR:         shrn2 v0.16b, v1.8h, #171830// CHECK-ERROR:                              ^1831// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1832// CHECK-ERROR:         shrn2 v0.8h, v1.4s, #331833// CHECK-ERROR:                             ^1834// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1835// CHECK-ERROR:         shrn2 v0.4s, v1.2d, #651836// CHECK-ERROR:                             ^1837 1838//------------------------------------------------------------------------------1839// Vector saturating shift right unsigned narrow by immediate1840//------------------------------------------------------------------------------1841         sqshrun v0.8b, v1.8b, #31842         sqshrun v0.4h, v1.4h, #31843         sqshrun v0.2s, v1.2s, #31844         sqshrun2 v0.16b, v1.8h, #171845         sqshrun2 v0.8h, v1.4s, #331846         sqshrun2 v0.4s, v1.2d, #651847 1848// CHECK-ERROR: error: invalid operand for instruction1849// CHECK-ERROR:         sqshrun v0.8b, v1.8b, #31850// CHECK-ERROR:                           ^1851// CHECK-ERROR: error: invalid operand for instruction1852// CHECK-ERROR:         sqshrun v0.4h, v1.4h, #31853// CHECK-ERROR:                           ^1854// CHECK-ERROR: error: invalid operand for instruction1855// CHECK-ERROR:         sqshrun v0.2s, v1.2s, #31856// CHECK-ERROR:                           ^1857// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1858// CHECK-ERROR:         sqshrun2 v0.16b, v1.8h, #171859// CHECK-ERROR:                                 ^1860// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1861// CHECK-ERROR:         sqshrun2 v0.8h, v1.4s, #331862// CHECK-ERROR:                                ^1863// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1864// CHECK-ERROR:         sqshrun2 v0.4s, v1.2d, #651865// CHECK-ERROR:                                ^1866 1867//------------------------------------------------------------------------------1868// Vector rounding shift right narrow by immediate1869//------------------------------------------------------------------------------1870         rshrn v0.8b, v1.8b, #31871         rshrn v0.4h, v1.4h, #31872         rshrn v0.2s, v1.2s, #31873         rshrn2 v0.16b, v1.8h, #171874         rshrn2 v0.8h, v1.4s, #331875         rshrn2 v0.4s, v1.2d, #651876 1877// CHECK-ERROR: error: invalid operand for instruction1878// CHECK-ERROR:         rshrn v0.8b, v1.8b, #31879// CHECK-ERROR:                         ^1880// CHECK-ERROR: error: invalid operand for instruction1881// CHECK-ERROR:         rshrn v0.4h, v1.4h, #31882// CHECK-ERROR:                         ^1883// CHECK-ERROR: error: invalid operand for instruction1884// CHECK-ERROR:         rshrn v0.2s, v1.2s, #31885// CHECK-ERROR:                         ^1886// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1887// CHECK-ERROR:         rshrn2 v0.16b, v1.8h, #171888// CHECK-ERROR:                               ^1889// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1890// CHECK-ERROR:         rshrn2 v0.8h, v1.4s, #331891// CHECK-ERROR:                              ^1892// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1893// CHECK-ERROR:         rshrn2 v0.4s, v1.2d, #651894// CHECK-ERROR:                              ^1895 1896//------------------------------------------------------------------------------1897// Vector saturating shift right rounded unsigned narrow by immediate1898//------------------------------------------------------------------------------1899         sqrshrun v0.8b, v1.8b, #31900         sqrshrun v0.4h, v1.4h, #31901         sqrshrun v0.2s, v1.2s, #31902         sqrshrun2 v0.16b, v1.8h, #171903         sqrshrun2 v0.8h, v1.4s, #331904         sqrshrun2 v0.4s, v1.2d, #651905 1906// CHECK-ERROR: error: invalid operand for instruction1907// CHECK-ERROR:         sqrshrun v0.8b, v1.8b, #31908// CHECK-ERROR:                            ^1909// CHECK-ERROR: error: invalid operand for instruction1910// CHECK-ERROR:         sqrshrun v0.4h, v1.4h, #31911// CHECK-ERROR:                            ^1912// CHECK-ERROR: error: invalid operand for instruction1913// CHECK-ERROR:         sqrshrun v0.2s, v1.2s, #31914// CHECK-ERROR:                            ^1915// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1916// CHECK-ERROR:         sqrshrun2 v0.16b, v1.8h, #171917// CHECK-ERROR:                                  ^1918// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1919// CHECK-ERROR:         sqrshrun2 v0.8h, v1.4s, #331920// CHECK-ERROR:                                 ^1921// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1922// CHECK-ERROR:         sqrshrun2 v0.4s, v1.2d, #651923// CHECK-ERROR:                                 ^1924 1925//------------------------------------------------------------------------------1926// Vector saturating shift right narrow by immediate1927//------------------------------------------------------------------------------1928         sqshrn v0.8b, v1.8b, #31929         sqshrn v0.4h, v1.4h, #31930         sqshrn v0.2s, v1.2s, #31931         sqshrn2 v0.16b, v1.8h, #171932         sqshrn2 v0.8h, v1.4s, #331933         sqshrn2 v0.4s, v1.2d, #651934 1935// CHECK-ERROR: error: invalid operand for instruction1936// CHECK-ERROR:         sqshrn v0.8b, v1.8b, #31937// CHECK-ERROR:                          ^1938// CHECK-ERROR: error: invalid operand for instruction1939// CHECK-ERROR:         sqshrn v0.4h, v1.4h, #31940// CHECK-ERROR:                          ^1941// CHECK-ERROR: error: invalid operand for instruction1942// CHECK-ERROR:         sqshrn v0.2s, v1.2s, #31943// CHECK-ERROR:                          ^1944// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1945// CHECK-ERROR:         sqshrn2 v0.16b, v1.8h, #171946// CHECK-ERROR:                                ^1947// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1948// CHECK-ERROR:         sqshrn2 v0.8h, v1.4s, #331949// CHECK-ERROR:                               ^1950// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1951// CHECK-ERROR:         sqshrn2 v0.4s, v1.2d, #651952// CHECK-ERROR:                               ^1953 1954//------------------------------------------------------------------------------1955// Vector saturating shift right narrow by immediate1956//------------------------------------------------------------------------------1957         uqshrn v0.8b, v1.8b, #31958         uqshrn v0.4h, v1.4h, #31959         uqshrn v0.2s, v1.2s, #31960         uqshrn2 v0.16b, v1.8h, #171961         uqshrn2 v0.8h, v1.4s, #331962         uqshrn2 v0.4s, v1.2d, #651963 1964// CHECK-ERROR: error: invalid operand for instruction1965// CHECK-ERROR:         uqshrn v0.8b, v1.8b, #31966// CHECK-ERROR:                          ^1967// CHECK-ERROR: error: invalid operand for instruction1968// CHECK-ERROR:         uqshrn v0.4h, v1.4h, #31969// CHECK-ERROR:                          ^1970// CHECK-ERROR: error: invalid operand for instruction1971// CHECK-ERROR:         uqshrn v0.2s, v1.2s, #31972// CHECK-ERROR:                          ^1973// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]1974// CHECK-ERROR:         uqshrn2 v0.16b, v1.8h, #171975// CHECK-ERROR:                                ^1976// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]1977// CHECK-ERROR:         uqshrn2 v0.8h, v1.4s, #331978// CHECK-ERROR:                               ^1979// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]1980// CHECK-ERROR:         uqshrn2 v0.4s, v1.2d, #651981// CHECK-ERROR:                               ^1982 1983//------------------------------------------------------------------------------1984// Vector saturating shift right rounded narrow by immediate1985//------------------------------------------------------------------------------1986         sqrshrn v0.8b, v1.8b, #31987         sqrshrn v0.4h, v1.4h, #31988         sqrshrn v0.2s, v1.2s, #31989         sqrshrn2 v0.16b, v1.8h, #171990         sqrshrn2 v0.8h, v1.4s, #331991         sqrshrn2 v0.4s, v1.2d, #651992 1993// CHECK-ERROR: error: invalid operand for instruction1994// CHECK-ERROR:         sqrshrn v0.8b, v1.8b, #31995// CHECK-ERROR:                           ^1996// CHECK-ERROR: error: invalid operand for instruction1997// CHECK-ERROR:         sqrshrn v0.4h, v1.4h, #31998// CHECK-ERROR:                           ^1999// CHECK-ERROR: error: invalid operand for instruction2000// CHECK-ERROR:         sqrshrn v0.2s, v1.2s, #32001// CHECK-ERROR:                           ^2002// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]2003// CHECK-ERROR:         sqrshrn2 v0.16b, v1.8h, #172004// CHECK-ERROR:                                 ^2005// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]2006// CHECK-ERROR:         sqrshrn2 v0.8h, v1.4s, #332007// CHECK-ERROR:                                ^2008// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2009// CHECK-ERROR:         sqrshrn2 v0.4s, v1.2d, #652010// CHECK-ERROR:                                ^2011 2012//------------------------------------------------------------------------------2013// Vector saturating shift right rounded narrow by immediate2014//------------------------------------------------------------------------------2015         uqrshrn v0.8b, v1.8b, #32016         uqrshrn v0.4h, v1.4h, #32017         uqrshrn v0.2s, v1.2s, #32018         uqrshrn2 v0.16b, v1.8h, #172019         uqrshrn2 v0.8h, v1.4s, #332020         uqrshrn2 v0.4s, v1.2d, #652021 2022// CHECK-ERROR: error: invalid operand for instruction2023// CHECK-ERROR:         uqrshrn v0.8b, v1.8b, #32024// CHECK-ERROR:                           ^2025// CHECK-ERROR: error: invalid operand for instruction2026// CHECK-ERROR:         uqrshrn v0.4h, v1.4h, #32027// CHECK-ERROR:                           ^2028// CHECK-ERROR: error: invalid operand for instruction2029// CHECK-ERROR:         uqrshrn v0.2s, v1.2s, #32030// CHECK-ERROR:                           ^2031// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]2032// CHECK-ERROR:         uqrshrn2 v0.16b, v1.8h, #172033// CHECK-ERROR:                                 ^2034// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]2035// CHECK-ERROR:         uqrshrn2 v0.8h, v1.4s, #332036// CHECK-ERROR:                                ^2037// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2038// CHECK-ERROR:         uqrshrn2 v0.4s, v1.2d, #652039// CHECK-ERROR:                                ^2040 2041//------------------------------------------------------------------------------2042// Fixed-point convert to floating-point2043//------------------------------------------------------------------------------2044         scvtf v0.2s, v1.2d, #32045         scvtf v0.4s, v1.4h, #32046         scvtf v0.2d, v1.2s, #32047         ucvtf v0.2s, v1.2s, #332048         ucvtf v0.4s, v1.4s, #332049         ucvtf v0.2d, v1.2d, #652050 2051// CHECK-ERROR: error: invalid operand for instruction2052// CHECK-ERROR:         scvtf v0.2s, v1.2d, #32053// CHECK-ERROR:                         ^2054// CHECK-ERROR: error: invalid operand for instruction2055// CHECK-ERROR:         scvtf v0.4s, v1.4h, #32056// CHECK-ERROR:                         ^2057// CHECK-ERROR: error: invalid operand for instruction2058// CHECK-ERROR:         scvtf v0.2d, v1.2s, #32059// CHECK-ERROR:                         ^2060// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2061// CHECK-ERROR:         ucvtf v0.2s, v1.2s, #332062// CHECK-ERROR:                             ^2063// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2064// CHECK-ERROR:         ucvtf v0.4s, v1.4s, #332065// CHECK-ERROR:                             ^2066// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]2067// CHECK-ERROR:         ucvtf v0.2d, v1.2d, #652068// CHECK-ERROR:                             ^2069 2070//------------------------------------------------------------------------------2071// Floating-point convert to fixed-point2072//------------------------------------------------------------------------------2073         fcvtzs v0.2s, v1.2d, #32074         fcvtzs v0.4s, v1.4h, #32075         fcvtzs v0.2d, v1.2s, #32076         fcvtzu v0.2s, v1.2s, #332077         fcvtzu v0.4s, v1.4s, #332078         fcvtzu v0.2d, v1.2d, #652079 2080// CHECK-ERROR: error: invalid operand for instruction2081// CHECK-ERROR:         fcvtzs v0.2s, v1.2d, #32082// CHECK-ERROR:                          ^2083// CHECK-ERROR: error: invalid operand for instruction2084// CHECK-ERROR:         fcvtzs v0.4s, v1.4h, #32085// CHECK-ERROR:                          ^2086// CHECK-ERROR: error: invalid operand for instruction2087// CHECK-ERROR:         fcvtzs v0.2d, v1.2s, #32088// CHECK-ERROR:                          ^2089// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2090// CHECK-ERROR:         fcvtzu v0.2s, v1.2s, #332091// CHECK-ERROR:                              ^2092// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]2093// CHECK-ERROR:         fcvtzu v0.4s, v1.4s, #332094// CHECK-ERROR:                              ^2095// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]2096// CHECK-ERROR:         fcvtzu v0.2d, v1.2d, #652097// CHECK-ERROR:                              ^2098 2099//----------------------------------------------------------------------2100// Vector operation on 3 operands with different types2101//----------------------------------------------------------------------2102 2103        // Mismatched and invalid vector types2104        saddl v0.8h, v1.8h, v2.8b2105        saddl v0.4s, v1.4s, v2.4h2106        saddl v0.2d, v1.2d, v2.2s2107 2108// CHECK-ERROR: error: invalid operand for instruction2109// CHECK-ERROR:        saddl v0.8h, v1.8h, v2.8b2110// CHECK-ERROR:                        ^2111// CHECK-ERROR: error: invalid operand for instruction2112// CHECK-ERROR:        saddl v0.4s, v1.4s, v2.4h2113// CHECK-ERROR:                        ^2114// CHECK-ERROR: error: invalid operand for instruction2115// CHECK-ERROR:        saddl v0.2d, v1.2d, v2.2s2116// CHECK-ERROR:                        ^2117 2118        saddl2 v0.4s, v1.8s, v2.8h2119        saddl2 v0.8h, v1.16h, v2.16b2120        saddl2 v0.2d, v1.4d, v2.4s2121 2122// CHECK-ERROR: error: invalid vector kind qualifier2123// CHECK-ERROR:        saddl2 v0.4s, v1.8s, v2.8h2124// CHECK-ERROR:                      ^2125// CHECK-ERROR: error: invalid vector kind qualifier2126// CHECK-ERROR:        saddl2 v0.8h, v1.16h, v2.16b2127// CHECK-ERROR:                      ^2128// CHECK-ERROR: error: invalid vector kind qualifier2129// CHECK-ERROR:        saddl2 v0.2d, v1.4d, v2.4s2130// CHECK-ERROR:                      ^2131 2132        uaddl v0.8h, v1.8h, v2.8b2133        uaddl v0.4s, v1.4s, v2.4h2134        uaddl v0.2d, v1.2d, v2.2s2135 2136// CHECK-ERROR: error: invalid operand for instruction2137// CHECK-ERROR:        uaddl v0.8h, v1.8h, v2.8b2138// CHECK-ERROR:                        ^2139// CHECK-ERROR: error: invalid operand for instruction2140// CHECK-ERROR:        uaddl v0.4s, v1.4s, v2.4h2141// CHECK-ERROR:                        ^2142// CHECK-ERROR: error: invalid operand for instruction2143// CHECK-ERROR:        uaddl v0.2d, v1.2d, v2.2s2144// CHECK-ERROR:                        ^2145 2146        uaddl2 v0.8h, v1.16h, v2.16b2147        uaddl2 v0.4s, v1.8s, v2.8h2148        uaddl2 v0.2d, v1.4d, v2.4s2149 2150// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2151// CHECK-ERROR-NEXT:        uaddl2 v0.8h, v1.16h, v2.16b2152// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2153// CHECK-ERROR-NEXT:        uaddl2 v0.4s, v1.8s, v2.8h2154// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2155// CHECK-ERROR-NEXT:        uaddl2 v0.2d, v1.4d, v2.4s2156 2157        ssubl v0.8h, v1.8h, v2.8b2158        ssubl v0.4s, v1.4s, v2.4h2159        ssubl v0.2d, v1.2d, v2.2s2160 2161// CHECK-ERROR: [[@LINE-4]]:22: error: invalid operand for instruction2162// CHECK-ERROR-NEXT:        ssubl v0.8h, v1.8h, v2.8b2163// CHECK-ERROR: error: invalid operand for instruction2164// CHECK-ERROR:        ssubl v0.4s, v1.4s, v2.4h2165// CHECK-ERROR:                        ^2166// CHECK-ERROR: error: invalid operand for instruction2167// CHECK-ERROR:        ssubl v0.2d, v1.2d, v2.2s2168// CHECK-ERROR:                        ^2169 2170        ssubl2 v0.8h, v1.16h, v2.16b2171        ssubl2 v0.4s, v1.8s, v2.8h2172        ssubl2 v0.2d, v1.4d, v2.4s2173 2174// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2175// CHECK-ERROR:        ssubl2 v0.8h, v1.16h, v2.16b2176// CHECK-ERROR:                      ^2177// CHECK-ERROR: error: invalid vector kind qualifier2178// CHECK-ERROR:        ssubl2 v0.4s, v1.8s, v2.8h2179// CHECK-ERROR:                      ^2180// CHECK-ERROR: error: invalid vector kind qualifier2181// CHECK-ERROR:        ssubl2 v0.2d, v1.4d, v2.4s2182// CHECK-ERROR:                      ^2183 2184        usubl v0.8h, v1.8h, v2.8b2185        usubl v0.4s, v1.4s, v2.4h2186        usubl v0.2d, v1.2d, v2.2s2187 2188// CHECK-ERROR: error: invalid operand for instruction2189// CHECK-ERROR:        usubl v0.8h, v1.8h, v2.8b2190// CHECK-ERROR:                        ^2191// CHECK-ERROR: error: invalid operand for instruction2192// CHECK-ERROR:        usubl v0.4s, v1.4s, v2.4h2193// CHECK-ERROR:                        ^2194// CHECK-ERROR: error: invalid operand for instruction2195// CHECK-ERROR:        usubl v0.2d, v1.2d, v2.2s2196// CHECK-ERROR:                        ^2197 2198        usubl2 v0.8h, v1.16h, v2.16b2199        usubl2 v0.4s, v1.8s, v2.8h2200        usubl2 v0.2d, v1.4d, v2.4s2201 2202// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2203// CHECK-ERROR:        usubl2 v0.8h, v1.16h, v2.16b2204// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2205// CHECK-ERROR:        usubl2 v0.4s, v1.8s, v2.8h2206// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2207// CHECK-ERROR:        usubl2 v0.2d, v1.4d, v2.4s2208 2209        sabal v0.8h, v1.8h, v2.8b2210        sabal v0.4s, v1.4s, v2.4h2211        sabal v0.2d, v1.2d, v2.2s2212 2213// CHECK-ERROR: error: invalid operand for instruction2214// CHECK-ERROR:        sabal v0.8h, v1.8h, v2.8b2215// CHECK-ERROR:                        ^2216// CHECK-ERROR: error: invalid operand for instruction2217// CHECK-ERROR:        sabal v0.4s, v1.4s, v2.4h2218// CHECK-ERROR:                        ^2219// CHECK-ERROR: error: invalid operand for instruction2220// CHECK-ERROR:        sabal v0.2d, v1.2d, v2.2s2221// CHECK-ERROR:                        ^2222 2223        sabal2 v0.8h, v1.16h, v2.16b2224        sabal2 v0.4s, v1.8s, v2.8h2225        sabal2 v0.2d, v1.4d, v2.4s2226 2227// CHECK-ERROR: error: invalid vector kind qualifier2228// CHECK-ERROR:        sabal2 v0.8h, v1.16h, v2.16b2229// CHECK-ERROR:                      ^2230// CHECK-ERROR: error: invalid vector kind qualifier2231// CHECK-ERROR:        sabal2 v0.4s, v1.8s, v2.8h2232// CHECK-ERROR:                      ^2233// CHECK-ERROR: error: invalid vector kind qualifier2234// CHECK-ERROR:        sabal2 v0.2d, v1.4d, v2.4s2235// CHECK-ERROR:                      ^2236 2237        uabal v0.8h, v1.8h, v2.8b2238        uabal v0.4s, v1.4s, v2.4h2239        uabal v0.2d, v1.2d, v2.2s2240 2241// CHECK-ERROR: error: invalid operand for instruction2242// CHECK-ERROR:        uabal v0.8h, v1.8h, v2.8b2243// CHECK-ERROR:                        ^2244// CHECK-ERROR: error: invalid operand for instruction2245// CHECK-ERROR:        uabal v0.4s, v1.4s, v2.4h2246// CHECK-ERROR:                        ^2247// CHECK-ERROR: error: invalid operand for instruction2248// CHECK-ERROR:        uabal v0.2d, v1.2d, v2.2s2249// CHECK-ERROR:                        ^2250 2251        uabal2 v0.8h, v1.16h, v2.16b2252        uabal2 v0.4s, v1.8s, v2.8h2253        uabal2 v0.2d, v1.4d, v2.4s2254 2255// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2256// CHECK-ERROR:        uabal2 v0.8h, v1.16h, v2.16b2257// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2258// CHECK-ERROR:        uabal2 v0.4s, v1.8s, v2.8h2259// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2260// CHECK-ERROR:        uabal2 v0.2d, v1.4d, v2.4s2261 2262        sabdl v0.8h, v1.8h, v2.8b2263        sabdl v0.4s, v1.4s, v2.4h2264        sabdl v0.2d, v1.2d, v2.2s2265 2266// CHECK-ERROR: error: invalid operand for instruction2267// CHECK-ERROR:        sabdl v0.8h, v1.8h, v2.8b2268// CHECK-ERROR:                        ^2269// CHECK-ERROR: error: invalid operand for instruction2270// CHECK-ERROR:        sabdl v0.4s, v1.4s, v2.4h2271// CHECK-ERROR:                        ^2272// CHECK-ERROR: error: invalid operand for instruction2273// CHECK-ERROR:        sabdl v0.2d, v1.2d, v2.2s2274// CHECK-ERROR:                        ^2275 2276        sabdl2 v0.8h, v1.16h, v2.16b2277        sabdl2 v0.4s, v1.8s, v2.8h2278        sabdl2 v0.2d, v1.4d, v2.4s2279 2280// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2281// CHECK-ERROR:        sabdl2 v0.8h, v1.16h, v2.16b2282// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2283// CHECK-ERROR:        sabdl2 v0.4s, v1.8s, v2.8h2284// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2285// CHECK-ERROR:        sabdl2 v0.2d, v1.4d, v2.4s2286 2287        uabdl v0.8h, v1.8h, v2.8b2288        uabdl v0.4s, v1.4s, v2.4h2289        uabdl v0.2d, v1.2d, v2.2s2290 2291// CHECK-ERROR: error: invalid operand for instruction2292// CHECK-ERROR:        uabdl v0.8h, v1.8h, v2.8b2293// CHECK-ERROR:                        ^2294// CHECK-ERROR: error: invalid operand for instruction2295// CHECK-ERROR:        uabdl v0.4s, v1.4s, v2.4h2296// CHECK-ERROR:                        ^2297// CHECK-ERROR: error: invalid operand for instruction2298// CHECK-ERROR:        uabdl v0.2d, v1.2d, v2.2s2299// CHECK-ERROR:                        ^2300 2301        uabdl2 v0.8h, v1.16h, v2.16b2302        uabdl2 v0.4s, v1.8s, v2.8h2303        uabdl2 v0.2d, v1.4d, v2.4s2304 2305// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2306// CHECK-ERROR:        uabdl2 v0.8h, v1.16h, v2.16b2307// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2308// CHECK-ERROR:        uabdl2 v0.4s, v1.8s, v2.8h2309// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2310// CHECK-ERROR:        uabdl2 v0.2d, v1.4d, v2.4s2311 2312        smlal v0.8h, v1.8h, v2.8b2313        smlal v0.4s, v1.4s, v2.4h2314        smlal v0.2d, v1.2d, v2.2s2315 2316// CHECK-ERROR: error: invalid operand for instruction2317// CHECK-ERROR:        smlal v0.8h, v1.8h, v2.8b2318// CHECK-ERROR:                        ^2319// CHECK-ERROR: error: invalid operand for instruction2320// CHECK-ERROR:        smlal v0.4s, v1.4s, v2.4h2321// CHECK-ERROR:                        ^2322// CHECK-ERROR: error: invalid operand for instruction2323// CHECK-ERROR:        smlal v0.2d, v1.2d, v2.2s2324// CHECK-ERROR:                        ^2325 2326        smlal2 v0.8h, v1.16h, v2.16b2327        smlal2 v0.4s, v1.8s, v2.8h2328        smlal2 v0.2d, v1.4d, v2.4s2329 2330// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2331// CHECK-ERROR:        smlal2 v0.8h, v1.16h, v2.16b2332// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2333// CHECK-ERROR:        smlal2 v0.4s, v1.8s, v2.8h2334// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2335// CHECK-ERROR:        smlal2 v0.2d, v1.4d, v2.4s2336 2337        umlal v0.8h, v1.8h, v2.8b2338        umlal v0.4s, v1.4s, v2.4h2339        umlal v0.2d, v1.2d, v2.2s2340 2341// CHECK-ERROR: [[@LINE-4]]:22: error: invalid operand for instruction2342// CHECK-ERROR:        umlal v0.8h, v1.8h, v2.8b2343// CHECK-ERROR: [[@LINE-5]]:22: error: invalid operand for instruction2344// CHECK-ERROR:        umlal v0.4s, v1.4s, v2.4h2345// CHECK-ERROR: [[@LINE-6]]:22: error: invalid operand for instruction2346// CHECK-ERROR:        umlal v0.2d, v1.2d, v2.2s2347 2348        umlal2 v0.8h, v1.16h, v2.16b2349        umlal2 v0.4s, v1.8s, v2.8h2350        umlal2 v0.2d, v1.4d, v2.4s2351 2352// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2353// CHECK-ERROR:        umlal2 v0.8h, v1.16h, v2.16b2354// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2355// CHECK-ERROR:        umlal2 v0.4s, v1.8s, v2.8h2356// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2357// CHECK-ERROR:        umlal2 v0.2d, v1.4d, v2.4s2358 2359        smlsl v0.8h, v1.8h, v2.8b2360        smlsl v0.4s, v1.4s, v2.4h2361        smlsl v0.2d, v1.2d, v2.2s2362 2363// CHECK-ERROR: [[@LINE-4]]:22: error: invalid operand for instruction2364// CHECK-ERROR:        smlsl v0.8h, v1.8h, v2.8b2365// CHECK-ERROR: [[@LINE-5]]:22: error: invalid operand for instruction2366// CHECK-ERROR:        smlsl v0.4s, v1.4s, v2.4h2367// CHECK-ERROR: [[@LINE-6]]:22: error: invalid operand for instruction2368// CHECK-ERROR:        smlsl v0.2d, v1.2d, v2.2s2369 2370        smlsl2 v0.8h, v1.16h, v2.16b2371        smlsl2 v0.4s, v1.8s, v2.8h2372        smlsl2 v0.2d, v1.4d, v2.4s2373 2374// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2375// CHECK-ERROR:        smlsl2 v0.8h, v1.16h, v2.16b2376// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2377// CHECK-ERROR:        smlsl2 v0.4s, v1.8s, v2.8h2378// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2379// CHECK-ERROR:        smlsl2 v0.2d, v1.4d, v2.4s2380 2381        umlsl v0.8h, v1.8h, v2.8b2382        umlsl v0.4s, v1.4s, v2.4h2383        umlsl v0.2d, v1.2d, v2.2s2384 2385// CHECK-ERROR: error: invalid operand for instruction2386// CHECK-ERROR:        umlsl v0.8h, v1.8h, v2.8b2387// CHECK-ERROR:                        ^2388// CHECK-ERROR: error: invalid operand for instruction2389// CHECK-ERROR:        umlsl v0.4s, v1.4s, v2.4h2390// CHECK-ERROR:                        ^2391// CHECK-ERROR: error: invalid operand for instruction2392// CHECK-ERROR:        umlsl v0.2d, v1.2d, v2.2s2393// CHECK-ERROR:                        ^2394 2395        umlsl2 v0.8h, v1.16h, v2.16b2396        umlsl2 v0.4s, v1.8s, v2.8h2397        umlsl2 v0.2d, v1.4d, v2.4s2398 2399// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2400// CHECK-ERROR:        umlsl2 v0.8h, v1.16h, v2.16b2401// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2402// CHECK-ERROR:        umlsl2 v0.4s, v1.8s, v2.8h2403// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2404// CHECK-ERROR:        umlsl2 v0.2d, v1.4d, v2.4s2405 2406        smull v0.8h, v1.8h, v2.8b2407        smull v0.4s, v1.4s, v2.4h2408        smull v0.2d, v1.2d, v2.2s2409 2410// CHECK-ERROR: error: invalid operand for instruction2411// CHECK-ERROR:        smull v0.8h, v1.8h, v2.8b2412// CHECK-ERROR:                        ^2413// CHECK-ERROR: error: invalid operand for instruction2414// CHECK-ERROR:        smull v0.4s, v1.4s, v2.4h2415// CHECK-ERROR:                        ^2416// CHECK-ERROR: error: invalid operand for instruction2417// CHECK-ERROR:        smull v0.2d, v1.2d, v2.2s2418// CHECK-ERROR:                        ^2419 2420        smull2 v0.8h, v1.16h, v2.16b2421        smull2 v0.4s, v1.8s, v2.8h2422        smull2 v0.2d, v1.4d, v2.4s2423 2424// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2425// CHECK-ERROR:        smull2 v0.8h, v1.16h, v2.16b2426// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2427// CHECK-ERROR:        smull2 v0.4s, v1.8s, v2.8h2428// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2429// CHECK-ERROR:        smull2 v0.2d, v1.4d, v2.4s2430 2431        umull v0.8h, v1.8h, v2.8b2432        umull v0.4s, v1.4s, v2.4h2433        umull v0.2d, v1.2d, v2.2s2434 2435// CHECK-ERROR: error: invalid operand for instruction2436// CHECK-ERROR:        umull v0.8h, v1.8h, v2.8b2437// CHECK-ERROR:                        ^2438// CHECK-ERROR: error: invalid operand for instruction2439// CHECK-ERROR:        umull v0.4s, v1.4s, v2.4h2440// CHECK-ERROR:                        ^2441// CHECK-ERROR: error: invalid operand for instruction2442// CHECK-ERROR:        umull v0.2d, v1.2d, v2.2s2443// CHECK-ERROR:                        ^2444 2445        umull2 v0.8h, v1.16h, v2.16b2446        umull2 v0.4s, v1.8s, v2.8h2447        umull2 v0.2d, v1.4d, v2.4s2448 2449// CHECK-ERROR: [[@LINE-4]]:23: error: invalid vector kind qualifier2450// CHECK-ERROR:        umull2 v0.8h, v1.16h, v2.16b2451// CHECK-ERROR: [[@LINE-5]]:23: error: invalid vector kind qualifier2452// CHECK-ERROR:        umull2 v0.4s, v1.8s, v2.8h2453// CHECK-ERROR: [[@LINE-6]]:23: error: invalid vector kind qualifier2454// CHECK-ERROR:        umull2 v0.2d, v1.4d, v2.4s2455 2456//------------------------------------------------------------------------------2457// Long - Variant 22458//------------------------------------------------------------------------------2459 2460        sqdmlal v0.4s, v1.4s, v2.4h2461        sqdmlal v0.2d, v1.2d, v2.2s2462 2463// CHECK-ERROR: error: invalid operand for instruction2464// CHECK-ERROR:        sqdmlal v0.4s, v1.4s, v2.4h2465// CHECK-ERROR:                          ^2466// CHECK-ERROR: error: invalid operand for instruction2467// CHECK-ERROR:        sqdmlal v0.2d, v1.2d, v2.2s2468// CHECK-ERROR:                          ^2469 2470        sqdmlal2 v0.4s, v1.8s, v2.8h2471        sqdmlal2 v0.2d, v1.4d, v2.4s2472 2473// CHECK-ERROR: [[@LINE-3]]:25: error: invalid vector kind qualifier2474// CHECK-ERROR:        sqdmlal2 v0.4s, v1.8s, v2.8h2475// CHECK-ERROR: [[@LINE-4]]:25: error: invalid vector kind qualifier2476// CHECK-ERROR:        sqdmlal2 v0.2d, v1.4d, v2.4s2477 2478        // Mismatched vector types2479        sqdmlal v0.8h, v1.8b, v2.8b2480        sqdmlal2 v0.8h, v1.16b, v2.16b2481 2482// CHECK-ERROR: error: invalid operand for instruction2483// CHECK-ERROR:        sqdmlal v0.8h, v1.8b, v2.8b2484// CHECK-ERROR:                   ^2485// CHECK-ERROR: error: invalid operand for instruction2486// CHECK-ERROR:        sqdmlal2 v0.8h, v1.16b, v2.16b2487// CHECK-ERROR:                    ^2488 2489        sqdmlsl v0.4s, v1.4s, v2.4h2490        sqdmlsl v0.2d, v1.2d, v2.2s2491 2492// CHECK-ERROR: error: invalid operand for instruction2493// CHECK-ERROR:        sqdmlsl v0.4s, v1.4s, v2.4h2494// CHECK-ERROR:                          ^2495// CHECK-ERROR: error: invalid operand for instruction2496// CHECK-ERROR:        sqdmlsl v0.2d, v1.2d, v2.2s2497// CHECK-ERROR:                          ^2498 2499        sqdmlsl2 v0.4s, v1.8s, v2.8h2500        sqdmlsl2 v0.2d, v1.4d, v2.4s2501 2502// CHECK-ERROR: [[@LINE-3]]:25: error: invalid vector kind qualifier2503// CHECK-ERROR:        sqdmlsl2 v0.4s, v1.8s, v2.8h2504// CHECK-ERROR: [[@LINE-4]]:25: error: invalid vector kind qualifier2505// CHECK-ERROR:        sqdmlsl2 v0.2d, v1.4d, v2.4s2506 2507        // Mismatched vector types2508        sqdmlsl v0.8h, v1.8b, v2.8b2509        sqdmlsl2 v0.8h, v1.16b, v2.16b2510 2511// CHECK-ERROR: error: invalid operand for instruction2512// CHECK-ERROR:        sqdmlsl v0.8h, v1.8b, v2.8b2513// CHECK-ERROR:                   ^2514// CHECK-ERROR: error: invalid operand for instruction2515// CHECK-ERROR:        sqdmlsl2 v0.8h, v1.16b, v2.16b2516// CHECK-ERROR:                    ^2517 2518 2519        sqdmull v0.4s, v1.4s, v2.4h2520        sqdmull v0.2d, v1.2d, v2.2s2521 2522// CHECK-ERROR: error: invalid operand for instruction2523// CHECK-ERROR:        sqdmull v0.4s, v1.4s, v2.4h2524// CHECK-ERROR:                          ^2525// CHECK-ERROR: error: invalid operand for instruction2526// CHECK-ERROR:        sqdmull v0.2d, v1.2d, v2.2s2527// CHECK-ERROR:                          ^2528 2529        sqdmull2 v0.4s, v1.8s, v2.8h2530        sqdmull2 v0.2d, v1.4d, v2.4s2531 2532// CHECK-ERROR: [[@LINE-3]]:25: error: invalid vector kind qualifier2533// CHECK-ERROR:        sqdmull2 v0.4s, v1.8s, v2.8h2534// CHECK-ERROR: [[@LINE-4]]:25: error: invalid vector kind qualifier2535// CHECK-ERROR:        sqdmull2 v0.2d, v1.4d, v2.4s2536 2537        // Mismatched vector types2538        sqdmull v0.8h, v1.8b, v2.8b2539        sqdmull2 v0.8h, v1.16b, v2.16b2540 2541// CHECK-ERROR: error: invalid operand for instruction2542// CHECK-ERROR:        sqdmull v0.8h, v1.8b, v2.8b2543// CHECK-ERROR:                   ^2544// CHECK-ERROR: error: invalid operand for instruction2545// CHECK-ERROR:        sqdmull2 v0.8h, v1.16b, v2.16b2546// CHECK-ERROR:                    ^2547 2548 2549//------------------------------------------------------------------------------2550// Long - Variant 32551//------------------------------------------------------------------------------2552 2553        pmull v0.8h, v1.8h, v2.8b2554 2555// CHECK-ERROR: error: invalid operand for instruction2556// CHECK-ERROR:        pmull v0.8h, v1.8h, v2.8b2557// CHECK-ERROR:                        ^2558 2559        pmull v0.1q, v1.2d, v2.2d2560        2561// CHECK-ERROR: error: invalid operand for instruction2562// CHECK-ERROR:        pmull v0.1q, v1.2d, v2.2d2563// CHECK-ERROR:                     ^2564 2565        // Mismatched vector types2566        pmull v0.4s, v1.4h, v2.4h2567        pmull v0.2d, v1.2s, v2.2s2568 2569// CHECK-ERROR: error: invalid operand for instruction2570// CHECK-ERROR:        pmull v0.4s, v1.4h, v2.4h2571// CHECK-ERROR:                 ^2572// CHECK-ERROR: error: invalid operand for instruction2573// CHECK-ERROR:        pmull v0.2d, v1.2s, v2.2s2574// CHECK-ERROR:                 ^2575 2576 2577        pmull2 v0.8h, v1.16h, v2.16b2578// CHECK-ERROR: [[@LINE-1]]:23: error: invalid vector kind qualifier2579// CHECK-ERROR:        pmull2 v0.8h, v1.16h, v2.16b2580 2581        pmull2 v0.q, v1.2d, v2.2d2582// CHECK-ERROR: [[@LINE-1]]:16: error: invalid vector kind qualifier2583// CHECK-ERROR:        pmull2 v0.q, v1.2d, v2.2d2584 2585        // Mismatched vector types2586        pmull2 v0.4s, v1.8h v2.8h2587        pmull2 v0.2d, v1.4s, v2.4s2588 2589 2590// CHECK-ERROR: error: unexpected token in argument list2591// CHECK-ERROR:        pmull2 v0.4s, v1.8h v2.8h2592// CHECK-ERROR:                            ^2593 2594// CHECK-ERROR: error: invalid operand for instruction2595// CHECK-ERROR:        pmull2 v0.2d, v1.4s, v2.4s2596// CHECK-ERROR:                  ^2597 2598//------------------------------------------------------------------------------2599// Widen2600//------------------------------------------------------------------------------2601 2602        saddw v0.8h, v1.8h, v2.8h2603        saddw v0.4s, v1.4s, v2.4s2604        saddw v0.2d, v1.2d, v2.2d2605 2606// CHECK-ERROR: error: invalid operand for instruction2607// CHECK-ERROR:        saddw v0.8h, v1.8h, v2.8h2608// CHECK-ERROR:                               ^2609// CHECK-ERROR: error: invalid operand for instruction2610// CHECK-ERROR:        saddw v0.4s, v1.4s, v2.4s2611// CHECK-ERROR:                               ^2612// CHECK-ERROR: error: invalid operand for instruction2613// CHECK-ERROR:        saddw v0.2d, v1.2d, v2.2d2614// CHECK-ERROR:                               ^2615 2616        saddw2 v0.8h, v1.8h, v2.16h2617        saddw2 v0.4s, v1.4s, v2.8s2618        saddw2 v0.2d, v1.2d, v2.4d2619 2620// CHECK-ERROR: [[@LINE-4]]:30: error: invalid vector kind qualifier2621// CHECK-ERROR:        saddw2 v0.8h, v1.8h, v2.16h2622// CHECK-ERROR: [[@LINE-5]]:30: error: invalid vector kind qualifier2623// CHECK-ERROR:        saddw2 v0.4s, v1.4s, v2.8s2624// CHECK-ERROR: [[@LINE-6]]:30: error: invalid vector kind qualifier2625// CHECK-ERROR:        saddw2 v0.2d, v1.2d, v2.4d2626 2627        uaddw v0.8h, v1.8h, v2.8h2628        uaddw v0.4s, v1.4s, v2.4s2629        uaddw v0.2d, v1.2d, v2.2d2630 2631// CHECK-ERROR: error: invalid operand for instruction2632// CHECK-ERROR:        uaddw v0.8h, v1.8h, v2.8h2633// CHECK-ERROR:                               ^2634// CHECK-ERROR: error: invalid operand for instruction2635// CHECK-ERROR:        uaddw v0.4s, v1.4s, v2.4s2636// CHECK-ERROR:                               ^2637// CHECK-ERROR: error: invalid operand for instruction2638// CHECK-ERROR:        uaddw v0.2d, v1.2d, v2.2d2639// CHECK-ERROR:                               ^2640 2641        uaddw2 v0.8h, v1.8h, v2.16h2642        uaddw2 v0.4s, v1.4s, v2.8s2643        uaddw2 v0.2d, v1.2d, v2.4d2644 2645// CHECK-ERROR: [[@LINE-4]]:30: error: invalid vector kind qualifier2646// CHECK-ERROR:        uaddw2 v0.8h, v1.8h, v2.16h2647// CHECK-ERROR: [[@LINE-5]]:30: error: invalid vector kind qualifier2648// CHECK-ERROR:        uaddw2 v0.4s, v1.4s, v2.8s2649// CHECK-ERROR: [[@LINE-6]]:30: error: invalid vector kind qualifier2650// CHECK-ERROR:        uaddw2 v0.2d, v1.2d, v2.4d2651 2652        ssubw v0.8h, v1.8h, v2.8h2653        ssubw v0.4s, v1.4s, v2.4s2654        ssubw v0.2d, v1.2d, v2.2d2655 2656// CHECK-ERROR: error: invalid operand for instruction2657// CHECK-ERROR:        ssubw v0.8h, v1.8h, v2.8h2658// CHECK-ERROR:                               ^2659// CHECK-ERROR: error: invalid operand for instruction2660// CHECK-ERROR:        ssubw v0.4s, v1.4s, v2.4s2661// CHECK-ERROR:                               ^2662// CHECK-ERROR: error: invalid operand for instruction2663// CHECK-ERROR:        ssubw v0.2d, v1.2d, v2.2d2664// CHECK-ERROR:                               ^2665 2666        ssubw2 v0.8h, v1.8h, v2.16h2667        ssubw2 v0.4s, v1.4s, v2.8s2668        ssubw2 v0.2d, v1.2d, v2.4d2669 2670// CHECK-ERROR: [[@LINE-4]]:30: error: invalid vector kind qualifier2671// CHECK-ERROR:        ssubw2 v0.8h, v1.8h, v2.16h2672// CHECK-ERROR: [[@LINE-5]]:30: error: invalid vector kind qualifier2673// CHECK-ERROR:        ssubw2 v0.4s, v1.4s, v2.8s2674// CHECK-ERROR: [[@LINE-6]]:30: error: invalid vector kind qualifier2675// CHECK-ERROR:        ssubw2 v0.2d, v1.2d, v2.4d2676 2677        usubw v0.8h, v1.8h, v2.8h2678        usubw v0.4s, v1.4s, v2.4s2679        usubw v0.2d, v1.2d, v2.2d2680 2681// CHECK-ERROR: error: invalid operand for instruction2682// CHECK-ERROR:        usubw v0.8h, v1.8h, v2.8h2683// CHECK-ERROR:                               ^2684// CHECK-ERROR: error: invalid operand for instruction2685// CHECK-ERROR:        usubw v0.4s, v1.4s, v2.4s2686// CHECK-ERROR:                               ^2687// CHECK-ERROR: error: invalid operand for instruction2688// CHECK-ERROR:        usubw v0.2d, v1.2d, v2.2d2689// CHECK-ERROR:                               ^2690 2691        usubw2 v0.8h, v1.8h, v2.16h2692        usubw2 v0.4s, v1.4s, v2.8s2693        usubw2 v0.2d, v1.2d, v2.4d2694 2695// CHECK-ERROR: [[@LINE-4]]:30: error: invalid vector kind qualifier2696// CHECK-ERROR:        usubw2 v0.8h, v1.8h, v2.16h2697// CHECK-ERROR: [[@LINE-5]]:30: error: invalid vector kind qualifier2698// CHECK-ERROR:        usubw2 v0.4s, v1.4s, v2.8s2699// CHECK-ERROR: [[@LINE-6]]:30: error: invalid vector kind qualifier2700// CHECK-ERROR:        usubw2 v0.2d, v1.2d, v2.4d2701 2702//------------------------------------------------------------------------------2703// Narrow2704//------------------------------------------------------------------------------2705 2706        addhn v0.8b, v1.8h, v2.8d2707        addhn v0.4h, v1.4s, v2.4h2708        addhn v0.2s, v1.2d, v2.2s2709 2710// CHECK-ERROR: [[@LINE-4]]:29: error: invalid vector kind qualifier2711// CHECK-ERROR:        addhn v0.8b, v1.8h, v2.8d2712// CHECK-ERROR: [[@LINE-5]]:29: error: invalid operand for instruction2713// CHECK-ERROR:        addhn v0.4h, v1.4s, v2.4h2714// CHECK-ERROR: [[@LINE-6]]:29: error: invalid operand for instruction2715// CHECK-ERROR:        addhn v0.2s, v1.2d, v2.2s2716 2717        addhn2 v0.16b, v1.8h, v2.8b2718        addhn2 v0.8h, v1.4s, v2.4h2719        addhn2 v0.4s, v1.2d, v2.2s2720 2721// CHECK-ERROR: error: invalid operand for instruction2722// CHECK-ERROR:        addhn2 v0.16b, v1.8h, v2.8b2723// CHECK-ERROR:                                 ^2724// CHECK-ERROR: error: invalid operand for instruction2725// CHECK-ERROR:        addhn2 v0.8h, v1.4s, v2.4h2726// CHECK-ERROR:                                ^2727// CHECK-ERROR: error: invalid operand for instruction2728// CHECK-ERROR:        addhn2 v0.4s, v1.2d, v2.2s2729// CHECK-ERROR:                                ^2730 2731        raddhn v0.8b, v1.8h, v2.8b2732        raddhn v0.4h, v1.4s, v2.4h2733        raddhn v0.2s, v1.2d, v2.2s2734 2735// CHECK-ERROR: error: invalid operand for instruction2736// CHECK-ERROR:        raddhn v0.8b, v1.8h, v2.8b2737// CHECK-ERROR:                                ^2738// CHECK-ERROR: error: invalid operand for instruction2739// CHECK-ERROR:        raddhn v0.4h, v1.4s, v2.4h2740// CHECK-ERROR:                                ^2741// CHECK-ERROR: error: invalid operand for instruction2742// CHECK-ERROR:        raddhn v0.2s, v1.2d, v2.2s2743// CHECK-ERROR:                                ^2744 2745        raddhn2 v0.16b, v1.8h, v2.8b2746        raddhn2 v0.8h, v1.4s, v2.4h2747        raddhn2 v0.4s, v1.2d, v2.2s2748 2749// CHECK-ERROR: error: invalid operand for instruction2750// CHECK-ERROR:        raddhn2 v0.16b, v1.8h, v2.8b2751// CHECK-ERROR:                                  ^2752// CHECK-ERROR: error: invalid operand for instruction2753// CHECK-ERROR:        raddhn2 v0.8h, v1.4s, v2.4h2754// CHECK-ERROR:                                 ^2755// CHECK-ERROR: error: invalid operand for instruction2756// CHECK-ERROR:        raddhn2 v0.4s, v1.2d, v2.2s2757// CHECK-ERROR:                                 ^2758 2759        rsubhn v0.8b, v1.8h, v2.8b2760        rsubhn v0.4h, v1.4s, v2.4h2761        rsubhn v0.2s, v1.2d, v2.2s2762 2763// CHECK-ERROR: error: invalid operand for instruction2764// CHECK-ERROR:        rsubhn v0.8b, v1.8h, v2.8b2765// CHECK-ERROR:                                ^2766// CHECK-ERROR: error: invalid operand for instruction2767// CHECK-ERROR:        rsubhn v0.4h, v1.4s, v2.4h2768// CHECK-ERROR:                                ^2769// CHECK-ERROR: error: invalid operand for instruction2770// CHECK-ERROR:        rsubhn v0.2s, v1.2d, v2.2s2771// CHECK-ERROR:                                ^2772 2773        rsubhn2 v0.16b, v1.8h, v2.8b2774        rsubhn2 v0.8h, v1.4s, v2.4h2775        rsubhn2 v0.4s, v1.2d, v2.2s2776 2777// CHECK-ERROR: error: invalid operand for instruction2778// CHECK-ERROR:        rsubhn2 v0.16b, v1.8h, v2.8b2779// CHECK-ERROR:                                  ^2780// CHECK-ERROR: error: invalid operand for instruction2781// CHECK-ERROR:        rsubhn2 v0.8h, v1.4s, v2.4h2782// CHECK-ERROR:                                 ^2783// CHECK-ERROR: error: invalid operand for instruction2784// CHECK-ERROR:        rsubhn2 v0.4s, v1.2d, v2.2s2785// CHECK-ERROR:                                 ^2786 2787//----------------------------------------------------------------------2788// Scalar Reduce Add Pairwise (Integer)2789//----------------------------------------------------------------------2790         // invalid vector types2791      addp s0, d1.2d2792      addp d0, d1.2s2793 2794// CHECK-ERROR: error: invalid operand for instruction2795// CHECK-ERROR:          addp s0, d1.2d2796// CHECK-ERROR:               ^2797// CHECK-ERROR: error: invalid operand for instruction2798// CHECK-ERROR:          addp d0, d1.2s2799// CHECK-ERROR:                      ^2800 2801//----------------------------------------------------------------------2802// Scalar Reduce Add Pairwise (Floating Point)2803//----------------------------------------------------------------------2804         // invalid vector types2805      faddp s0, d1.2d2806      faddp d0, d1.2s2807 2808// CHECK-ERROR: error: invalid operand for instruction2809// CHECK-ERROR:          faddp s0, d1.2d2810// CHECK-ERROR:                    ^2811// CHECK-ERROR: error: invalid operand for instruction2812// CHECK-ERROR:          faddp d0, d1.2s2813// CHECK-ERROR:                    ^2814 2815//----------------------------------------------------------------------2816// Scalar Reduce Maximum Pairwise (Floating Point)2817//----------------------------------------------------------------------2818         // mismatched and invalid vector types2819      fmaxp s0, v1.2d2820      fmaxp d31, v2.2s2821      fmaxp h3, v2.2s2822 2823// CHECK-ERROR: error: invalid operand for instruction2824// CHECK-ERROR:          fmaxp s0, v1.2d2825// CHECK-ERROR:                       ^2826// CHECK-ERROR: error: invalid operand for instruction2827// CHECK-ERROR:          fmaxp d31, v2.2s2828// CHECK-ERROR:                        ^2829// CHECK-ERROR: error: invalid operand for instruction2830// CHECK-ERROR:          fmaxp h3, v2.2s2831// CHECK-ERROR:                ^2832 2833 2834//----------------------------------------------------------------------2835// Scalar Reduce Minimum Pairwise (Floating Point)2836//----------------------------------------------------------------------2837         // mismatched and invalid vector types2838      fminp s0, v1.4h2839      fminp d31, v2.8h2840      fminp b3, v2.2s2841 2842// CHECK-ERROR: error: invalid operand for instruction2843// CHECK-ERROR:          fminp s0, v1.4h2844// CHECK-ERROR:                       ^2845// CHECK-ERROR: error: invalid operand for instruction2846// CHECK-ERROR:          fminp d31, v2.8h2847// CHECK-ERROR:                        ^2848// CHECK-ERROR: error: invalid operand for instruction2849// CHECK-ERROR:          fminp b3, v2.2s2850// CHECK-ERROR:                ^2851 2852 2853//----------------------------------------------------------------------2854// Scalar Reduce maxNum Pairwise (Floating Point)2855//----------------------------------------------------------------------2856         // mismatched and invalid vector types2857      fmaxnmp s0, v1.8b2858      fmaxnmp d31, v2.16b2859      fmaxnmp v1.2s, v2.2s2860 2861// CHECK-ERROR: error: invalid operand for instruction2862// CHECK-ERROR:          fmaxnmp s0, v1.8b2863// CHECK-ERROR:                         ^2864// CHECK-ERROR: error: invalid operand for instruction2865// CHECK-ERROR:          fmaxnmp d31, v2.16b2866// CHECK-ERROR:                          ^2867// CHECK-ERROR: error: too few operands for instruction2868// CHECK-ERROR:          fmaxnmp v1.2s, v2.2s2869// CHECK-ERROR:          ^2870 2871//----------------------------------------------------------------------2872// Scalar Reduce minNum Pairwise (Floating Point)2873//----------------------------------------------------------------------2874         // mismatched and invalid vector types2875      fminnmp s0, v1.2d2876      fminnmp d31, v2.4s2877      fminnmp v1.4s, v2.2d2878 2879// CHECK-ERROR: error: invalid operand for instruction2880// CHECK-ERROR:          fminnmp s0, v1.2d2881// CHECK-ERROR:                         ^2882// CHECK-ERROR: error: invalid operand for instruction2883// CHECK-ERROR:          fminnmp d31, v2.4s2884// CHECK-ERROR:                          ^2885// CHECK-ERROR: error: invalid operand for instruction2886// CHECK-ERROR:          fminnmp v1.4s, v2.2d2887// CHECK-ERROR:          ^2888 2889      mla v0.2d, v1.2d, v16.d[1]2890      mla v0.2s, v1.2s, v2.s[4]2891      mla v0.4s, v1.4s, v2.s[4]2892      mla v0.2h, v1.2h, v2.h[1]2893      mla v0.4h, v1.4h, v2.h[8]2894      mla v0.8h, v1.8h, v2.h[8]2895      mla v0.4h, v1.4h, v16.h[2]2896      mla v0.8h, v1.8h, v16.h[2]2897 2898// CHECK-ERROR: error: invalid operand for instruction2899// CHECK-ERROR:        mla v0.2d, v1.2d, v16.d[1]2900// CHECK-ERROR:               ^2901// CHECK-ERROR: vector lane must be an integer in range2902// CHECK-ERROR:        mla v0.2s, v1.2s, v2.s[4]2903// CHECK-ERROR:                               ^2904// CHECK-ERROR: vector lane must be an integer in range2905// CHECK-ERROR:        mla v0.4s, v1.4s, v2.s[4]2906// CHECK-ERROR:                               ^2907// CHECK-ERROR: error: invalid operand for instruction2908// CHECK-ERROR:        mla v0.2h, v1.2h, v2.h[1]2909// CHECK-ERROR:            ^2910// CHECK-ERROR: vector lane must be an integer in range2911// CHECK-ERROR:        mla v0.4h, v1.4h, v2.h[8]2912// CHECK-ERROR:                               ^2913// CHECK-ERROR: vector lane must be an integer in range2914// CHECK-ERROR:        mla v0.8h, v1.8h, v2.h[8]2915// CHECK-ERROR:                               ^2916// CHECK-ERROR: error: invalid operand for instruction2917// CHECK-ERROR:        mla v0.4h, v1.4h, v16.h[2]2918// CHECK-ERROR:                          ^2919// CHECK-ERROR: error: invalid operand for instruction2920// CHECK-ERROR:        mla v0.8h, v1.8h, v16.h[2]2921// CHECK-ERROR:                              ^2922 2923      mls v0.2d, v1.2d, v16.d[1]2924      mls v0.2s, v1.2s, v2.s[4]2925      mls v0.4s, v1.4s, v2.s[4]2926      mls v0.2h, v1.2h, v2.h[1]2927      mls v0.4h, v1.4h, v2.h[8]2928      mls v0.8h, v1.8h, v2.h[8]2929      mls v0.4h, v1.4h, v16.h[2]2930      mls v0.8h, v1.8h, v16.h[2]2931 2932// CHECK-ERROR: error: invalid operand for instruction2933// CHECK-ERROR:        mls v0.2d, v1.2d, v16.d[1]2934// CHECK-ERROR:               ^2935// CHECK-ERROR: vector lane must be an integer in range2936// CHECK-ERROR:        mls v0.2s, v1.2s, v2.s[4]2937// CHECK-ERROR:                               ^2938// CHECK-ERROR: vector lane must be an integer in range2939// CHECK-ERROR:        mls v0.4s, v1.4s, v2.s[4]2940// CHECK-ERROR:                               ^2941// CHECK-ERROR: error: invalid operand for instruction2942// CHECK-ERROR:        mls v0.2h, v1.2h, v2.h[1]2943// CHECK-ERROR:            ^2944// CHECK-ERROR: vector lane must be an integer in range2945// CHECK-ERROR:        mls v0.4h, v1.4h, v2.h[8]2946// CHECK-ERROR:                               ^2947// CHECK-ERROR: vector lane must be an integer in range2948// CHECK-ERROR:        mls v0.8h, v1.8h, v2.h[8]2949// CHECK-ERROR:                               ^2950// CHECK-ERROR: error: invalid operand for instruction2951// CHECK-ERROR:        mls v0.4h, v1.4h, v16.h[2]2952// CHECK-ERROR:                          ^2953// CHECK-ERROR: error: invalid operand for instruction2954// CHECK-ERROR:        mls v0.8h, v1.8h, v16.h[2]2955// CHECK-ERROR:                              ^2956 2957      fmla v0.4h, v1.4h, v2.h[2]2958      fmla v0.8h, v1.8h, v2.h[2]2959      fmla v0.2s, v1.2s, v2.s[4]2960      fmla v0.2s, v1.2s, v22.s[4]2961      fmla v3.4s, v8.4s, v2.s[4]2962      fmla v3.4s, v8.4s, v22.s[4]2963      fmla v0.2d, v1.2d, v2.d[2]2964      fmla v0.2d, v1.2d, v22.d[2]2965 2966// CHECK-ERROR: error: instruction requires: fullfp162967// CHECK-ERROR:        fmla v0.4h, v1.4h, v2.h[2]2968// CHECK-ERROR:                ^2969// CHECK-ERROR: error: instruction requires: fullfp162970// CHECK-ERROR:        fmla v0.8h, v1.8h, v2.h[2]2971// CHECK-ERROR:                ^2972// CHECK-ERROR: vector lane must be an integer in range2973// CHECK-ERROR:        fmla v0.2s, v1.2s, v2.s[4]2974// CHECK-ERROR:                                ^2975// CHECK-ERROR: vector lane must be an integer in range2976// CHECK-ERROR:        fmla v0.2s, v1.2s, v22.s[4]2977// CHECK-ERROR:                                 ^2978// CHECK-ERROR: vector lane must be an integer in range2979// CHECK-ERROR:        fmla v3.4s, v8.4s, v2.s[4]2980// CHECK-ERROR:                                ^2981// CHECK-ERROR: vector lane must be an integer in range2982// CHECK-ERROR:        fmla v3.4s, v8.4s, v22.s[4]2983// CHECK-ERROR:                                 ^2984// CHECK-ERROR: vector lane must be an integer in range2985// CHECK-ERROR:        fmla v0.2d, v1.2d, v2.d[2]2986// CHECK-ERROR:                                ^2987// CHECK-ERROR: vector lane must be an integer in range2988// CHECK-ERROR:        fmla v0.2d, v1.2d, v22.d[2]2989// CHECK-ERROR:                                 ^2990 2991      fmls v0.4h, v1.4h, v2.h[2]2992      fmls v0.8h, v1.8h, v2.h[2]2993      fmls v0.2s, v1.2s, v2.s[4]2994      fmls v0.2s, v1.2s, v22.s[4]2995      fmls v3.4s, v8.4s, v2.s[4]2996      fmls v3.4s, v8.4s, v22.s[4]2997      fmls v0.2d, v1.2d, v2.d[2]2998      fmls v0.2d, v1.2d, v22.d[2]2999 3000// CHECK-ERROR: error: instruction requires: fullfp163001// CHECK-ERROR:        fmls v0.4h, v1.4h, v2.h[2]3002// CHECK-ERROR:                ^3003// CHECK-ERROR: error: instruction requires: fullfp163004// CHECK-ERROR:        fmls v0.8h, v1.8h, v2.h[2]3005// CHECK-ERROR:                ^3006// CHECK-ERROR: vector lane must be an integer in range3007// CHECK-ERROR:        fmls v0.2s, v1.2s, v2.s[4]3008// CHECK-ERROR:                                ^3009// CHECK-ERROR: vector lane must be an integer in range3010// CHECK-ERROR:        fmls v0.2s, v1.2s, v22.s[4]3011// CHECK-ERROR:                                 ^3012// CHECK-ERROR: vector lane must be an integer in range3013// CHECK-ERROR:        fmls v3.4s, v8.4s, v2.s[4]3014// CHECK-ERROR:                                ^3015// CHECK-ERROR: vector lane must be an integer in range3016// CHECK-ERROR:        fmls v3.4s, v8.4s, v22.s[4]3017// CHECK-ERROR:                                 ^3018// CHECK-ERROR: vector lane must be an integer in range3019// CHECK-ERROR:        fmls v0.2d, v1.2d, v2.d[2]3020// CHECK-ERROR:                                ^3021// CHECK-ERROR: vector lane must be an integer in range3022// CHECK-ERROR:        fmls v0.2d, v1.2d, v22.d[2]3023// CHECK-ERROR:                                 ^3024 3025      smlal v0.4h, v1.4h, v2.h[2]3026      smlal v0.4s, v1.4h, v2.h[8]3027      smlal v0.4s, v1.4h, v16.h[2]3028      smlal v0.2s, v1.2s, v2.s[1]3029      smlal v0.2d, v1.2s, v2.s[4]3030      smlal v0.2d, v1.2s, v22.s[4]3031      smlal2 v0.4h, v1.8h, v1.h[2]3032      smlal2 v0.4s, v1.8h, v1.h[8]3033      smlal2 v0.4s, v1.8h, v16.h[2]3034      smlal2 v0.2s, v1.4s, v1.s[2]3035      smlal2 v0.2d, v1.4s, v1.s[4]3036      smlal2 v0.2d, v1.4s, v22.s[4]3037 3038// CHECK-ERROR: error: invalid operand for instruction3039// CHECK-ERROR:        smlal v0.4h, v1.4h, v2.h[2]3040// CHECK-ERROR:              ^3041// CHECK-ERROR: vector lane must be an integer in range3042// CHECK-ERROR:        smlal v0.4s, v1.4h, v2.h[8]3043// CHECK-ERROR:                                 ^3044// CHECK-ERROR: error: invalid operand for instruction3045// CHECK-ERROR:        smlal v0.4s, v1.4h, v16.h[2]3046// CHECK-ERROR:                            ^3047// CHECK-ERROR: error: invalid operand for instruction3048// CHECK-ERROR:        smlal v0.2s, v1.2s, v2.s[1]3049// CHECK-ERROR:                                 ^3050// CHECK-ERROR: vector lane must be an integer in range3051// CHECK-ERROR:        smlal v0.2d, v1.2s, v2.s[4]3052// CHECK-ERROR:                                 ^3053// CHECK-ERROR: vector lane must be an integer in range3054// CHECK-ERROR:        smlal v0.2d, v1.2s, v22.s[4]3055// CHECK-ERROR:                                  ^3056// CHECK-ERROR: error: invalid operand for instruction3057// CHECK-ERROR:        smlal2 v0.4h, v1.8h, v1.h[2]3058// CHECK-ERROR:               ^3059// CHECK-ERROR: vector lane must be an integer in range3060// CHECK-ERROR:        smlal2 v0.4s, v1.8h, v1.h[8]3061// CHECK-ERROR:                                  ^3062// CHECK-ERROR: error: invalid operand for instruction3063// CHECK-ERROR:        smlal2 v0.4s, v1.8h, v16.h[2]3064// CHECK-ERROR:                                 ^3065// CHECK-ERROR: error: invalid operand for instruction3066// CHECK-ERROR:        smlal2 v0.2s, v1.4s, v1.s[2]3067// CHECK-ERROR:               ^3068// CHECK-ERROR: vector lane must be an integer in range3069// CHECK-ERROR:        smlal2 v0.2d, v1.4s, v1.s[4]3070// CHECK-ERROR:                                  ^3071// CHECK-ERROR: vector lane must be an integer in range3072// CHECK-ERROR:        smlal2 v0.2d, v1.4s, v22.s[4]3073// CHECK-ERROR:                                   ^3074 3075      smlsl v0.4h, v1.4h, v2.h[2]3076      smlsl v0.4s, v1.4h, v2.h[8]3077      smlsl v0.4s, v1.4h, v16.h[2]3078      smlsl v0.2s, v1.2s, v2.s[1]3079      smlsl v0.2d, v1.2s, v2.s[4]3080      smlsl v0.2d, v1.2s, v22.s[4]3081      smlsl2 v0.4h, v1.8h, v1.h[2]3082      smlsl2 v0.4s, v1.8h, v1.h[8]3083      smlsl2 v0.4s, v1.8h, v16.h[2]3084      smlsl2 v0.2s, v1.4s, v1.s[2]3085      smlsl2 v0.2d, v1.4s, v1.s[4]3086      smlsl2 v0.2d, v1.4s, v22.s[4]3087 3088// CHECK-ERROR: error: invalid operand for instruction3089// CHECK-ERROR:        smlsl v0.4h, v1.4h, v2.h[2]3090// CHECK-ERROR:              ^3091// CHECK-ERROR: vector lane must be an integer in range3092// CHECK-ERROR:        smlsl v0.4s, v1.4h, v2.h[8]3093// CHECK-ERROR:                                 ^3094// CHECK-ERROR: error: invalid operand for instruction3095// CHECK-ERROR:        smlsl v0.4s, v1.4h, v16.h[2]3096// CHECK-ERROR:                            ^3097// CHECK-ERROR: error: invalid operand for instruction3098// CHECK-ERROR:        smlsl v0.2s, v1.2s, v2.s[1]3099// CHECK-ERROR:                                 ^3100// CHECK-ERROR: vector lane must be an integer in range3101// CHECK-ERROR:        smlsl v0.2d, v1.2s, v2.s[4]3102// CHECK-ERROR:                                 ^3103// CHECK-ERROR: vector lane must be an integer in range3104// CHECK-ERROR:        smlsl v0.2d, v1.2s, v22.s[4]3105// CHECK-ERROR:                                  ^3106// CHECK-ERROR: error: invalid operand for instruction3107// CHECK-ERROR:        smlsl2 v0.4h, v1.8h, v1.h[2]3108// CHECK-ERROR:               ^3109// CHECK-ERROR: vector lane must be an integer in range3110// CHECK-ERROR:        smlsl2 v0.4s, v1.8h, v1.h[8]3111// CHECK-ERROR:                                  ^3112// CHECK-ERROR: error: invalid operand for instruction3113// CHECK-ERROR:        smlsl2 v0.4s, v1.8h, v16.h[2]3114// CHECK-ERROR:                                 ^3115// CHECK-ERROR: error: invalid operand for instruction3116// CHECK-ERROR:        smlsl2 v0.2s, v1.4s, v1.s[2]3117// CHECK-ERROR:               ^3118// CHECK-ERROR: vector lane must be an integer in range3119// CHECK-ERROR:        smlsl2 v0.2d, v1.4s, v1.s[4]3120// CHECK-ERROR:                                  ^3121// CHECK-ERROR: vector lane must be an integer in range3122// CHECK-ERROR:        smlsl2 v0.2d, v1.4s, v22.s[4]3123// CHECK-ERROR:                                   ^3124 3125      umlal v0.4h, v1.4h, v2.h[2]3126      umlal v0.4s, v1.4h, v2.h[8]3127      umlal v0.4s, v1.4h, v16.h[2]3128      umlal v0.2s, v1.2s, v2.s[1]3129      umlal v0.2d, v1.2s, v2.s[4]3130      umlal v0.2d, v1.2s, v22.s[4]3131      umlal2 v0.4h, v1.8h, v1.h[2]3132      umlal2 v0.4s, v1.8h, v1.h[8]3133      umlal2 v0.4s, v1.8h, v16.h[2]3134      umlal2 v0.2s, v1.4s, v1.s[2]3135      umlal2 v0.2d, v1.4s, v1.s[4]3136      umlal2 v0.2d, v1.4s, v22.s[4]3137 3138// CHECK-ERROR: error: invalid operand for instruction3139// CHECK-ERROR:        umlal v0.4h, v1.4h, v2.h[2]3140// CHECK-ERROR:              ^3141// CHECK-ERROR: vector lane must be an integer in range3142// CHECK-ERROR:        umlal v0.4s, v1.4h, v2.h[8]3143// CHECK-ERROR:                                 ^3144// CHECK-ERROR: error: invalid operand for instruction3145// CHECK-ERROR:        umlal v0.4s, v1.4h, v16.h[2]3146// CHECK-ERROR:                            ^3147// CHECK-ERROR: error: invalid operand for instruction3148// CHECK-ERROR:        umlal v0.2s, v1.2s, v2.s[1]3149// CHECK-ERROR:                                 ^3150// CHECK-ERROR: vector lane must be an integer in range3151// CHECK-ERROR:        umlal v0.2d, v1.2s, v2.s[4]3152// CHECK-ERROR:                                 ^3153// CHECK-ERROR: vector lane must be an integer in range3154// CHECK-ERROR:        umlal v0.2d, v1.2s, v22.s[4]3155// CHECK-ERROR:                                  ^3156// CHECK-ERROR: error: invalid operand for instruction3157// CHECK-ERROR:        umlal2 v0.4h, v1.8h, v1.h[2]3158// CHECK-ERROR:               ^3159// CHECK-ERROR: vector lane must be an integer in range3160// CHECK-ERROR:        umlal2 v0.4s, v1.8h, v1.h[8]3161// CHECK-ERROR:                                  ^3162// CHECK-ERROR: error: invalid operand for instruction3163// CHECK-ERROR:        umlal2 v0.4s, v1.8h, v16.h[2]3164// CHECK-ERROR:                                 ^3165// CHECK-ERROR: error: invalid operand for instruction3166// CHECK-ERROR:        umlal2 v0.2s, v1.4s, v1.s[2]3167// CHECK-ERROR:               ^3168// CHECK-ERROR: vector lane must be an integer in range3169// CHECK-ERROR:        umlal2 v0.2d, v1.4s, v1.s[4]3170// CHECK-ERROR:                                  ^3171// CHECK-ERROR: vector lane must be an integer in range3172// CHECK-ERROR:        umlal2 v0.2d, v1.4s, v22.s[4]3173// CHECK-ERROR:                                   ^3174 3175      umlsl v0.4h, v1.4h, v2.h[2]3176      umlsl v0.4s, v1.4h, v2.h[8]3177      umlsl v0.4s, v1.4h, v16.h[2]3178      umlsl v0.2s, v1.2s, v2.s[3]3179      umlsl v0.2d, v1.2s, v2.s[4]3180      umlsl v0.2d, v1.2s, v22.s[4]3181      umlsl2 v0.4h, v1.8h, v1.h[2]3182      umlsl2 v0.4s, v1.8h, v1.h[8]3183      umlsl2 v0.4s, v1.8h, v16.h[2]3184      umlsl2 v0.2s, v1.4s, v1.s[2]3185      umlsl2 v0.2d, v1.4s, v1.s[4]3186      umlsl2 v0.2d, v1.4s, v22.s[4]3187 3188// CHECK-ERROR: error: invalid operand for instruction3189// CHECK-ERROR:        umlsl v0.4h, v1.4h, v2.h[2]3190// CHECK-ERROR:              ^3191// CHECK-ERROR: vector lane must be an integer in range3192// CHECK-ERROR:        umlsl v0.4s, v1.4h, v2.h[8]3193// CHECK-ERROR:                                 ^3194// CHECK-ERROR: error: invalid operand for instruction3195// CHECK-ERROR:        umlsl v0.4s, v1.4h, v16.h[2]3196// CHECK-ERROR:                            ^3197// CHECK-ERROR: error: invalid operand for instruction3198// CHECK-ERROR:        umlsl v0.2s, v1.2s, v2.s[3]3199// CHECK-ERROR:                                 ^3200// CHECK-ERROR: vector lane must be an integer in range3201// CHECK-ERROR:        umlsl v0.2d, v1.2s, v2.s[4]3202// CHECK-ERROR:                                 ^3203// CHECK-ERROR: vector lane must be an integer in range3204// CHECK-ERROR:        umlsl v0.2d, v1.2s, v22.s[4]3205// CHECK-ERROR:                                  ^3206// CHECK-ERROR: error: invalid operand for instruction3207// CHECK-ERROR:        umlsl2 v0.4h, v1.8h, v1.h[2]3208// CHECK-ERROR:               ^3209// CHECK-ERROR: vector lane must be an integer in range3210// CHECK-ERROR:        umlsl2 v0.4s, v1.8h, v1.h[8]3211// CHECK-ERROR:                                  ^3212// CHECK-ERROR: error: invalid operand for instruction3213// CHECK-ERROR:        umlsl2 v0.4s, v1.8h, v16.h[2]3214// CHECK-ERROR:                                 ^3215// CHECK-ERROR: error: invalid operand for instruction3216// CHECK-ERROR:        umlsl2 v0.2s, v1.4s, v1.s[2]3217// CHECK-ERROR:               ^3218// CHECK-ERROR: vector lane must be an integer in range3219// CHECK-ERROR:        umlsl2 v0.2d, v1.4s, v1.s[4]3220// CHECK-ERROR:                                  ^3221// CHECK-ERROR: vector lane must be an integer in range3222// CHECK-ERROR:        umlsl2 v0.2d, v1.4s, v22.s[4]3223// CHECK-ERROR:                                   ^3224 3225      sqdmlal v0.4h, v1.4h, v2.h[2]3226      sqdmlal v0.4s, v1.4h, v2.h[8]3227      sqdmlal v0.4s, v1.4h, v16.h[2]3228      sqdmlal v0.2s, v1.2s, v2.s[3]3229      sqdmlal v0.2d, v1.2s, v2.s[4]3230      sqdmlal v0.2d, v1.2s, v22.s[4]3231      sqdmlal2 v0.4h, v1.8h, v1.h[2]3232      sqdmlal2 v0.4s, v1.8h, v1.h[8]3233      sqdmlal2 v0.4s, v1.8h, v16.h[2]3234      sqdmlal2 v0.2s, v1.4s, v1.s[2]3235      sqdmlal2 v0.2d, v1.4s, v1.s[4]3236      sqdmlal2 v0.2d, v1.4s, v22.s[4]3237 3238// CHECK-ERROR: error: invalid operand for instruction3239// CHECK-ERROR:        sqdmlal v0.4h, v1.4h, v2.h[2]3240// CHECK-ERROR:                ^3241// CHECK-ERROR: vector lane must be an integer in range3242// CHECK-ERROR:        sqdmlal v0.4s, v1.4h, v2.h[8]3243// CHECK-ERROR:                                   ^3244// CHECK-ERROR: error: invalid operand for instruction3245// CHECK-ERROR:        sqdmlal v0.4s, v1.4h, v16.h[2]3246// CHECK-ERROR:                              ^3247// CHECK-ERROR: error: invalid operand for instruction3248// CHECK-ERROR:        sqdmlal v0.2s, v1.2s, v2.s[3]3249// CHECK-ERROR:                                   ^3250// CHECK-ERROR: vector lane must be an integer in range3251// CHECK-ERROR:        sqdmlal v0.2d, v1.2s, v2.s[4]3252// CHECK-ERROR:                                   ^3253// CHECK-ERROR: vector lane must be an integer in range3254// CHECK-ERROR:        sqdmlal v0.2d, v1.2s, v22.s[4]3255// CHECK-ERROR:                                    ^3256// CHECK-ERROR: error: invalid operand for instruction3257// CHECK-ERROR:        sqdmlal2 v0.4h, v1.8h, v1.h[2]3258// CHECK-ERROR:                 ^3259// CHECK-ERROR: vector lane must be an integer in range3260// CHECK-ERROR:        sqdmlal2 v0.4s, v1.8h, v1.h[8]3261// CHECK-ERROR:                                    ^3262// CHECK-ERROR: error: invalid operand for instruction3263// CHECK-ERROR:        sqdmlal2 v0.4s, v1.8h, v16.h[2]3264// CHECK-ERROR:                                   ^3265// CHECK-ERROR: error: invalid operand for instruction3266// CHECK-ERROR:        sqdmlal2 v0.2s, v1.4s, v1.s[2]3267// CHECK-ERROR:                 ^3268// CHECK-ERROR: vector lane must be an integer in range3269// CHECK-ERROR:        sqdmlal2 v0.2d, v1.4s, v1.s[4]3270// CHECK-ERROR:                                    ^3271// CHECK-ERROR: vector lane must be an integer in range3272// CHECK-ERROR:        sqdmlal2 v0.2d, v1.4s, v22.s[4]3273// CHECK-ERROR:                                     ^3274 3275      sqdmlsl v0.4h, v1.4h, v2.h[2]3276      sqdmlsl v0.4s, v1.4h, v2.h[8]3277      sqdmlsl v0.4s, v1.4h, v16.h[2]3278      sqdmlsl v0.2s, v1.2s, v2.s[3]3279      sqdmlsl v0.2d, v1.2s, v2.s[4]3280      sqdmlsl v0.2d, v1.2s, v22.s[4]3281      sqdmlsl2 v0.4h, v1.8h, v1.h[2]3282      sqdmlsl2 v0.4s, v1.8h, v1.h[8]3283      sqdmlsl2 v0.4s, v1.8h, v16.h[2]3284      sqdmlsl2 v0.2s, v1.4s, v1.s[2]3285      sqdmlsl2 v0.2d, v1.4s, v1.s[4]3286      sqdmlsl2 v0.2d, v1.4s, v22.s[4]3287 3288// CHECK-ERROR: error: invalid operand for instruction3289// CHECK-ERROR:        sqdmlsl v0.4h, v1.4h, v2.h[2]3290// CHECK-ERROR:                ^3291// CHECK-ERROR: vector lane must be an integer in range3292// CHECK-ERROR:        sqdmlsl v0.4s, v1.4h, v2.h[8]3293// CHECK-ERROR:                                   ^3294// CHECK-ERROR: error: invalid operand for instruction3295// CHECK-ERROR:        sqdmlsl v0.4s, v1.4h, v16.h[2]3296// CHECK-ERROR:                              ^3297// CHECK-ERROR: error: invalid operand for instruction3298// CHECK-ERROR:        sqdmlsl v0.2s, v1.2s, v2.s[3]3299// CHECK-ERROR:                                   ^3300// CHECK-ERROR: vector lane must be an integer in range3301// CHECK-ERROR:        sqdmlsl v0.2d, v1.2s, v2.s[4]3302// CHECK-ERROR:                                   ^3303// CHECK-ERROR: vector lane must be an integer in range3304// CHECK-ERROR:        sqdmlsl v0.2d, v1.2s, v22.s[4]3305// CHECK-ERROR:                                    ^3306// CHECK-ERROR: error: invalid operand for instruction3307// CHECK-ERROR:        sqdmlsl2 v0.4h, v1.8h, v1.h[2]3308// CHECK-ERROR:                 ^3309// CHECK-ERROR: vector lane must be an integer in range3310// CHECK-ERROR:        sqdmlsl2 v0.4s, v1.8h, v1.h[8]3311// CHECK-ERROR:                                    ^3312// CHECK-ERROR: error: invalid operand for instruction3313// CHECK-ERROR:        sqdmlsl2 v0.4s, v1.8h, v16.h[2]3314// CHECK-ERROR:                                   ^3315// CHECK-ERROR: error: invalid operand for instruction3316// CHECK-ERROR:        sqdmlsl2 v0.2s, v1.4s, v1.s[2]3317// CHECK-ERROR:                 ^3318// CHECK-ERROR: vector lane must be an integer in range3319// CHECK-ERROR:        sqdmlsl2 v0.2d, v1.4s, v1.s[4]3320// CHECK-ERROR:                                    ^3321// CHECK-ERROR: vector lane must be an integer in range3322// CHECK-ERROR:        sqdmlsl2 v0.2d, v1.4s, v22.s[4]3323// CHECK-ERROR:                                     ^3324 3325      mul v0.4h, v1.4h, v2.h[8]3326      mul v0.4h, v1.4h, v16.h[8]3327      mul v0.8h, v1.8h, v2.h[8]3328      mul v0.8h, v1.8h, v16.h[8]3329      mul v0.2s, v1.2s, v2.s[4]3330      mul v0.2s, v1.2s, v22.s[4]3331      mul v0.4s, v1.4s, v2.s[4]3332      mul v0.4s, v1.4s, v22.s[4]3333      mul v0.2d, v1.2d, v2.d[1]3334 3335// CHECK-ERROR: vector lane must be an integer in range3336// CHECK-ERROR:        mul v0.4h, v1.4h, v2.h[8]3337// CHECK-ERROR:                               ^3338// CHECK-ERROR: error: invalid operand for instruction3339// CHECK-ERROR:        mul v0.4h, v1.4h, v16.h[8]3340// CHECK-ERROR:                                ^3341// CHECK-ERROR: vector lane must be an integer in range3342// CHECK-ERROR:        mul v0.8h, v1.8h, v2.h[8]3343// CHECK-ERROR:                               ^3344// CHECK-ERROR: invalid operand for instruction3345// CHECK-ERROR:        mul v0.8h, v1.8h, v16.h[8]3346// CHECK-ERROR:                                ^3347// CHECK-ERROR: vector lane must be an integer in range3348// CHECK-ERROR:        mul v0.2s, v1.2s, v2.s[4]3349// CHECK-ERROR:                               ^3350// CHECK-ERROR: vector lane must be an integer in range3351// CHECK-ERROR:        mul v0.2s, v1.2s, v22.s[4]3352// CHECK-ERROR:                                ^3353// CHECK-ERROR: vector lane must be an integer in range3354// CHECK-ERROR:        mul v0.4s, v1.4s, v2.s[4]3355// CHECK-ERROR:                               ^3356// CHECK-ERROR: vector lane must be an integer in range3357// CHECK-ERROR:        mul v0.4s, v1.4s, v22.s[4]3358// CHECK-ERROR:                                ^3359 3360      fmul v0.4h, v1.4h, v2.h[4]3361      fmul v0.2s, v1.2s, v2.s[4]3362      fmul v0.2s, v1.2s, v22.s[4]3363      fmul v0.4s, v1.4s, v2.s[4]3364      fmul v0.4s, v1.4s, v22.s[4]3365      fmul v0.2d, v1.2d, v2.d[2]3366      fmul v0.2d, v1.2d, v22.d[2]3367 3368// CHECK-ERROR: error: invalid operand for instruction3369// CHECK-ERROR:        mul v0.2d, v1.2d, v2.d[1]3370// CHECK-ERROR:               ^3371// CHECK-ERROR: error: instruction requires: fullfp163372// CHECK-ERROR:        fmul v0.4h, v1.4h, v2.h[4]3373// CHECK-ERROR:                ^3374// CHECK-ERROR: vector lane must be an integer in range3375// CHECK-ERROR:        fmul v0.2s, v1.2s, v2.s[4]3376// CHECK-ERROR:                                ^3377// CHECK-ERROR: vector lane must be an integer in range3378// CHECK-ERROR:        fmul v0.2s, v1.2s, v22.s[4]3379// CHECK-ERROR:                                 ^3380// CHECK-ERROR: vector lane must be an integer in range3381// CHECK-ERROR:        fmul v0.4s, v1.4s, v2.s[4]3382// CHECK-ERROR:                                ^3383// CHECK-ERROR: vector lane must be an integer in range3384// CHECK-ERROR:        fmul v0.4s, v1.4s, v22.s[4]3385// CHECK-ERROR:                                 ^3386// CHECK-ERROR: vector lane must be an integer in range3387// CHECK-ERROR:        fmul v0.2d, v1.2d, v2.d[2]3388// CHECK-ERROR:                                ^3389// CHECK-ERROR: vector lane must be an integer in range3390// CHECK-ERROR:        fmul v0.2d, v1.2d, v22.d[2]3391// CHECK-ERROR:                                 ^3392 3393      fmulx v0.4h, v1.4h, v2.h[4]3394      fmulx v0.2s, v1.2s, v2.s[4]3395      fmulx v0.2s, v1.2s, v22.s[4]3396      fmulx v0.4s, v1.4s, v2.s[4]3397      fmulx v0.4s, v1.4s, v22.s[4]3398      fmulx v0.2d, v1.2d, v2.d[2]3399      fmulx v0.2d, v1.2d, v22.d[2]3400 3401// CHECK-ERROR: error: instruction requires: fullfp163402// CHECK-ERROR:        fmulx v0.4h, v1.4h, v2.h[4]3403// CHECK-ERROR:                 ^3404// CHECK-ERROR: vector lane must be an integer in range3405// CHECK-ERROR:        fmulx v0.2s, v1.2s, v2.s[4]3406// CHECK-ERROR:                                 ^3407// CHECK-ERROR: vector lane must be an integer in range3408// CHECK-ERROR:        fmulx v0.2s, v1.2s, v22.s[4]3409// CHECK-ERROR:                                  ^3410// CHECK-ERROR: vector lane must be an integer in range3411// CHECK-ERROR:        fmulx v0.4s, v1.4s, v2.s[4]3412// CHECK-ERROR:                                 ^3413// CHECK-ERROR: vector lane must be an integer in range3414// CHECK-ERROR:        fmulx v0.4s, v1.4s, v22.s[4]3415// CHECK-ERROR:                                  ^3416// CHECK-ERROR: vector lane must be an integer in range3417// CHECK-ERROR:        fmulx v0.2d, v1.2d, v2.d[2]3418// CHECK-ERROR:                                 ^3419// CHECK-ERROR: vector lane must be an integer in range3420// CHECK-ERROR:        fmulx v0.2d, v1.2d, v22.d[2]3421// CHECK-ERROR:                                  ^3422 3423      smull v0.4h, v1.4h, v2.h[2]3424      smull v0.4s, v1.4h, v2.h[8]3425      smull v0.4s, v1.4h, v16.h[4]3426      smull v0.2s, v1.2s, v2.s[2]3427      smull v0.2d, v1.2s, v2.s[4]3428      smull v0.2d, v1.2s, v22.s[4]3429      smull2 v0.4h, v1.8h, v2.h[2]3430      smull2 v0.4s, v1.8h, v2.h[8]3431      smull2 v0.4s, v1.8h, v16.h[4]3432      smull2 v0.2s, v1.4s, v2.s[2]3433      smull2 v0.2d, v1.4s, v2.s[4]3434      smull2 v0.2d, v1.4s, v22.s[4]3435 3436// CHECK-ERROR: error: invalid operand for instruction3437// CHECK-ERROR:        smull v0.4h, v1.4h, v2.h[2]3438// CHECK-ERROR:              ^3439// CHECK-ERROR: vector lane must be an integer in range3440// CHECK-ERROR:        smull v0.4s, v1.4h, v2.h[8]3441// CHECK-ERROR:                                 ^3442// CHECK-ERROR: error: invalid operand for instruction3443// CHECK-ERROR:        smull v0.4s, v1.4h, v16.h[4]3444// CHECK-ERROR:                            ^3445// CHECK-ERROR: error: invalid operand for instruction3446// CHECK-ERROR:        smull v0.2s, v1.2s, v2.s[2]3447// CHECK-ERROR:              ^3448// CHECK-ERROR: vector lane must be an integer in range3449// CHECK-ERROR:        smull v0.2d, v1.2s, v2.s[4]3450// CHECK-ERROR:                                 ^3451// CHECK-ERROR: vector lane must be an integer in range3452// CHECK-ERROR:        smull v0.2d, v1.2s, v22.s[4]3453// CHECK-ERROR:                                  ^3454// CHECK-ERROR: error: invalid operand for instruction3455// CHECK-ERROR:        smull2 v0.4h, v1.8h, v2.h[2]3456// CHECK-ERROR:               ^3457// CHECK-ERROR: vector lane must be an integer in range3458// CHECK-ERROR:        smull2 v0.4s, v1.8h, v2.h[8]3459// CHECK-ERROR:                                  ^3460// CHECK-ERROR: error: invalid operand for instruction3461// CHECK-ERROR:        smull2 v0.4s, v1.8h, v16.h[4]3462// CHECK-ERROR:                                 ^3463// CHECK-ERROR: error: invalid operand for instruction3464// CHECK-ERROR:        smull2 v0.2s, v1.4s, v2.s[2]3465// CHECK-ERROR:               ^3466// CHECK-ERROR: vector lane must be an integer in range3467// CHECK-ERROR:        smull2 v0.2d, v1.4s, v2.s[4]3468// CHECK-ERROR:                                  ^3469// CHECK-ERROR: vector lane must be an integer in range3470// CHECK-ERROR:        smull2 v0.2d, v1.4s, v22.s[4]3471// CHECK-ERROR:                                   ^3472 3473      umull v0.4h, v1.4h, v2.h[2]3474      umull v0.4s, v1.4h, v2.h[8]3475      umull v0.4s, v1.4h, v16.h[4]3476      umull v0.2s, v1.2s, v2.s[2]3477      umull v0.2d, v1.2s, v2.s[4]3478      umull v0.2d, v1.2s, v22.s[4]3479      umull2 v0.4h, v1.8h, v2.h[2]3480      umull2 v0.4s, v1.8h, v2.h[8]3481      umull2 v0.4s, v1.8h, v16.h[4]3482      umull2 v0.2s, v1.4s, v2.s[2]3483      umull2 v0.2d, v1.4s, v2.s[4]3484      umull2 v0.2d, v1.4s, v22.s[4]3485 3486// CHECK-ERROR: error: invalid operand for instruction3487// CHECK-ERROR:        umull v0.4h, v1.4h, v2.h[2]3488// CHECK-ERROR:              ^3489// CHECK-ERROR: vector lane must be an integer in range3490// CHECK-ERROR:        umull v0.4s, v1.4h, v2.h[8]3491// CHECK-ERROR:                                 ^3492// CHECK-ERROR: error: invalid operand for instruction3493// CHECK-ERROR:        umull v0.4s, v1.4h, v16.h[4]3494// CHECK-ERROR:                            ^3495// CHECK-ERROR: error: invalid operand for instruction3496// CHECK-ERROR:        umull v0.2s, v1.2s, v2.s[2]3497// CHECK-ERROR:              ^3498// CHECK-ERROR: vector lane must be an integer in range3499// CHECK-ERROR:        umull v0.2d, v1.2s, v2.s[4]3500// CHECK-ERROR:                                 ^3501// CHECK-ERROR: vector lane must be an integer in range3502// CHECK-ERROR:        umull v0.2d, v1.2s, v22.s[4]3503// CHECK-ERROR:                                  ^3504// CHECK-ERROR: error: invalid operand for instruction3505// CHECK-ERROR:        umull2 v0.4h, v1.8h, v2.h[2]3506// CHECK-ERROR:               ^3507// CHECK-ERROR: vector lane must be an integer in range3508// CHECK-ERROR:        umull2 v0.4s, v1.8h, v2.h[8]3509// CHECK-ERROR:                                  ^3510// CHECK-ERROR: error: invalid operand for instruction3511// CHECK-ERROR:        umull2 v0.4s, v1.8h, v16.h[4]3512// CHECK-ERROR:                                 ^3513// CHECK-ERROR: error: invalid operand for instruction3514// CHECK-ERROR:        umull2 v0.2s, v1.4s, v2.s[2]3515// CHECK-ERROR:               ^3516// CHECK-ERROR: vector lane must be an integer in range3517// CHECK-ERROR:        umull2 v0.2d, v1.4s, v2.s[4]3518// CHECK-ERROR:                                  ^3519// CHECK-ERROR: vector lane must be an integer in range3520// CHECK-ERROR:        umull2 v0.2d, v1.4s, v22.s[4]3521// CHECK-ERROR:                                   ^3522 3523      sqdmull v0.4h, v1.4h, v2.h[2]3524      sqdmull v0.4s, v1.4h, v2.h[8]3525      sqdmull v0.4s, v1.4h, v16.h[4]3526      sqdmull v0.2s, v1.2s, v2.s[2]3527      sqdmull v0.2d, v1.2s, v2.s[4]3528      sqdmull v0.2d, v1.2s, v22.s[4]3529      sqdmull2 v0.4h, v1.8h, v2.h[2]3530      sqdmull2 v0.4s, v1.8h, v2.h[8]3531      sqdmull2 v0.4s, v1.8h, v16.h[4]3532      sqdmull2 v0.2s, v1.4s, v2.s[2]3533      sqdmull2 v0.2d, v1.4s, v2.s[4]3534      sqdmull2 v0.2d, v1.4s, v22.s[4]3535 3536// CHECK-ERROR: error: invalid operand for instruction3537// CHECK-ERROR:        sqdmull v0.4h, v1.4h, v2.h[2]3538// CHECK-ERROR:                ^3539// CHECK-ERROR: vector lane must be an integer in range3540// CHECK-ERROR:        sqdmull v0.4s, v1.4h, v2.h[8]3541// CHECK-ERROR:                                   ^3542// CHECK-ERROR: error: invalid operand for instruction3543// CHECK-ERROR:        sqdmull v0.4s, v1.4h, v16.h[4]3544// CHECK-ERROR:                              ^3545// CHECK-ERROR: error: invalid operand for instruction3546// CHECK-ERROR:        sqdmull v0.2s, v1.2s, v2.s[2]3547// CHECK-ERROR:                ^3548// CHECK-ERROR: vector lane must be an integer in range3549// CHECK-ERROR:        sqdmull v0.2d, v1.2s, v2.s[4]3550// CHECK-ERROR:                                   ^3551// CHECK-ERROR: vector lane must be an integer in range3552// CHECK-ERROR:        sqdmull v0.2d, v1.2s, v22.s[4]3553// CHECK-ERROR:                                    ^3554// CHECK-ERROR: error: invalid operand for instruction3555// CHECK-ERROR:        sqdmull2 v0.4h, v1.8h, v2.h[2]3556// CHECK-ERROR:                 ^3557// CHECK-ERROR: vector lane must be an integer in range3558// CHECK-ERROR:        sqdmull2 v0.4s, v1.8h, v2.h[8]3559// CHECK-ERROR:                                    ^3560// CHECK-ERROR: error: invalid operand for instruction3561// CHECK-ERROR:        sqdmull2 v0.4s, v1.8h, v16.h[4]3562// CHECK-ERROR:                                   ^3563// CHECK-ERROR: error: invalid operand for instruction3564// CHECK-ERROR:        sqdmull2 v0.2s, v1.4s, v2.s[2]3565// CHECK-ERROR:                 ^3566// CHECK-ERROR: vector lane must be an integer in range3567// CHECK-ERROR:        sqdmull2 v0.2d, v1.4s, v2.s[4]3568// CHECK-ERROR:                                    ^3569// CHECK-ERROR: vector lane must be an integer in range3570// CHECK-ERROR:        sqdmull2 v0.2d, v1.4s, v22.s[4]3571// CHECK-ERROR:                                     ^3572 3573      sqdmulh v0.4h, v1.4h, v2.h[8]3574      sqdmulh v0.4h, v1.4h, v16.h[2]3575      sqdmulh v0.8h, v1.8h, v2.h[8]3576      sqdmulh v0.8h, v1.8h, v16.h[2]3577      sqdmulh v0.2s, v1.2s, v2.s[4]3578      sqdmulh v0.2s, v1.2s, v22.s[4]3579      sqdmulh v0.4s, v1.4s, v2.s[4]3580      sqdmulh v0.4s, v1.4s, v22.s[4]3581      sqdmulh v0.2d, v1.2d, v22.d[1]3582 3583// CHECK-ERROR: vector lane must be an integer in range3584// CHECK-ERROR:        sqdmulh v0.4h, v1.4h, v2.h[8]3585// CHECK-ERROR:                                   ^3586// CHECK-ERROR: error: invalid operand for instruction3587// CHECK-ERROR:        sqdmulh v0.4h, v1.4h, v16.h[2]3588// CHECK-ERROR:                              ^3589// CHECK-ERROR: vector lane must be an integer in range3590// CHECK-ERROR:        sqdmulh v0.8h, v1.8h, v2.h[8]3591// CHECK-ERROR:                                   ^3592// CHECK-ERROR: error: invalid operand for instruction3593// CHECK-ERROR:        sqdmulh v0.8h, v1.8h, v16.h[2]3594// CHECK-ERROR:                                  ^3595// CHECK-ERROR: vector lane must be an integer in range3596// CHECK-ERROR:        sqdmulh v0.2s, v1.2s, v2.s[4]3597// CHECK-ERROR:                                   ^3598// CHECK-ERROR: vector lane must be an integer in range3599// CHECK-ERROR:        sqdmulh v0.2s, v1.2s, v22.s[4]3600// CHECK-ERROR:                                    ^3601// CHECK-ERROR: vector lane must be an integer in range3602// CHECK-ERROR:        sqdmulh v0.4s, v1.4s, v2.s[4]3603// CHECK-ERROR:                                   ^3604// CHECK-ERROR: vector lane must be an integer in range3605// CHECK-ERROR:        sqdmulh v0.4s, v1.4s, v22.s[4]3606// CHECK-ERROR:                                    ^3607// CHECK-ERROR: error: invalid operand for instruction3608// CHECK-ERROR:        sqdmulh v0.2d, v1.2d, v22.d[1]3609// CHECK-ERROR:                   ^3610 3611      sqrdmulh v0.4h, v1.4h, v2.h[8]3612      sqrdmulh v0.4h, v1.4h, v16.h[2]3613      sqrdmulh v0.8h, v1.8h, v2.h[8]3614      sqrdmulh v0.8h, v1.8h, v16.h[2]3615      sqrdmulh v0.2s, v1.2s, v2.s[4]3616      sqrdmulh v0.2s, v1.2s, v22.s[4]3617      sqrdmulh v0.4s, v1.4s, v2.s[4]3618      sqrdmulh v0.4s, v1.4s, v22.s[4]3619      sqrdmulh v0.2d, v1.2d, v22.d[1]3620 3621// CHECK-ERROR: vector lane must be an integer in range3622// CHECK-ERROR:        sqrdmulh v0.4h, v1.4h, v2.h[8]3623// CHECK-ERROR:                                    ^3624// CHECK-ERROR: error: invalid operand for instruction3625// CHECK-ERROR:        sqrdmulh v0.4h, v1.4h, v16.h[2]3626// CHECK-ERROR:                               ^3627// CHECK-ERROR: vector lane must be an integer in range3628// CHECK-ERROR:        sqrdmulh v0.8h, v1.8h, v2.h[8]3629// CHECK-ERROR:                                    ^3630// CHECK-ERROR: error: invalid operand for instruction3631// CHECK-ERROR:        sqrdmulh v0.8h, v1.8h, v16.h[2]3632// CHECK-ERROR:                                   ^3633// CHECK-ERROR: vector lane must be an integer in range3634// CHECK-ERROR:        sqrdmulh v0.2s, v1.2s, v2.s[4]3635// CHECK-ERROR:                                    ^3636// CHECK-ERROR: vector lane must be an integer in range3637// CHECK-ERROR:        sqrdmulh v0.2s, v1.2s, v22.s[4]3638// CHECK-ERROR:                                     ^3639// CHECK-ERROR: vector lane must be an integer in range3640// CHECK-ERROR:        sqrdmulh v0.4s, v1.4s, v2.s[4]3641// CHECK-ERROR:                                    ^3642// CHECK-ERROR: vector lane must be an integer in range3643// CHECK-ERROR:        sqrdmulh v0.4s, v1.4s, v22.s[4]3644// CHECK-ERROR:                                     ^3645// CHECK-ERROR: error: invalid operand for instruction3646// CHECK-ERROR:        sqrdmulh v0.2d, v1.2d, v22.d[1]3647// CHECK-ERROR:                    ^3648 3649//----------------------------------------------------------------------3650// Across vectors3651//----------------------------------------------------------------------3652 3653        saddlv b0, v1.8b3654        saddlv b0, v1.16b3655        saddlv h0, v1.4h3656        saddlv h0, v1.8h3657        saddlv s0, v1.2s3658        saddlv s0, v1.4s3659        saddlv d0, v1.2s3660 3661// CHECK-ERROR: error: invalid operand for instruction3662// CHECK-ERROR:        saddlv b0, v1.8b3663// CHECK-ERROR:               ^3664// CHECK-ERROR: error: invalid operand for instruction3665// CHECK-ERROR:        saddlv b0, v1.16b3666// CHECK-ERROR:               ^3667// CHECK-ERROR: error: invalid operand for instruction3668// CHECK-ERROR:        saddlv h0, v1.4h3669// CHECK-ERROR:                      ^3670// CHECK-ERROR: error: invalid operand for instruction3671// CHECK-ERROR:        saddlv h0, v1.8h3672// CHECK-ERROR:                      ^3673// CHECK-ERROR: error: invalid operand for instruction3674// CHECK-ERROR:        saddlv s0, v1.2s3675// CHECK-ERROR:                      ^3676// CHECK-ERROR: error: invalid operand for instruction3677// CHECK-ERROR:        saddlv s0, v1.4s3678// CHECK-ERROR:                      ^3679// CHECK-ERROR: error: invalid operand for instruction3680// CHECK-ERROR:        saddlv d0, v1.2s3681// CHECK-ERROR:                   ^3682 3683        uaddlv b0, v1.8b3684        uaddlv b0, v1.16b3685        uaddlv h0, v1.4h3686        uaddlv h0, v1.8h3687        uaddlv s0, v1.2s3688        uaddlv s0, v1.4s3689        uaddlv d0, v1.2s3690 3691// CHECK-ERROR: error: invalid operand for instruction3692// CHECK-ERROR:        uaddlv b0, v1.8b3693// CHECK-ERROR:               ^3694// CHECK-ERROR: error: invalid operand for instruction3695// CHECK-ERROR:        uaddlv b0, v1.16b3696// CHECK-ERROR:               ^3697// CHECK-ERROR: error: invalid operand for instruction3698// CHECK-ERROR:        uaddlv h0, v1.4h3699// CHECK-ERROR:                      ^3700// CHECK-ERROR: error: invalid operand for instruction3701// CHECK-ERROR:        uaddlv h0, v1.8h3702// CHECK-ERROR:                      ^3703// CHECK-ERROR: error: invalid operand for instruction3704// CHECK-ERROR:        uaddlv s0, v1.2s3705// CHECK-ERROR:                      ^3706// CHECK-ERROR: error: invalid operand for instruction3707// CHECK-ERROR:        uaddlv s0, v1.4s3708// CHECK-ERROR:                      ^3709// CHECK-ERROR: error: invalid operand for instruction3710// CHECK-ERROR:        uaddlv d0, v1.2s3711// CHECK-ERROR:                   ^3712 3713        smaxv s0, v1.2s3714        sminv s0, v1.2s3715        umaxv s0, v1.2s3716        uminv s0, v1.2s3717        addv s0, v1.2s3718 3719// CHECK-ERROR: error: invalid operand for instruction3720// CHECK-ERROR:        smaxv s0, v1.2s3721// CHECK-ERROR:                  ^3722// CHECK-ERROR: error: invalid operand for instruction3723// CHECK-ERROR:        sminv s0, v1.2s3724// CHECK-ERROR:                  ^3725// CHECK-ERROR: error: invalid operand for instruction3726// CHECK-ERROR:        umaxv s0, v1.2s3727// CHECK-ERROR:                  ^3728// CHECK-ERROR: error: invalid operand for instruction3729// CHECK-ERROR:        uminv s0, v1.2s3730// CHECK-ERROR:                  ^3731// CHECK-ERROR: error: invalid operand for instruction3732// CHECK-ERROR:        addv s0, v1.2s3733// CHECK-ERROR:                 ^3734 3735        smaxv d0, v1.2d3736        sminv d0, v1.2d3737        umaxv d0, v1.2d3738        uminv d0, v1.2d3739        addv d0, v1.2d3740 3741// CHECK-ERROR: error: invalid operand for instruction3742// CHECK-ERROR:        smaxv d0, v1.2d3743// CHECK-ERROR:              ^3744// CHECK-ERROR: error: invalid operand for instruction3745// CHECK-ERROR:        sminv d0, v1.2d3746// CHECK-ERROR:              ^3747// CHECK-ERROR: error: invalid operand for instruction3748// CHECK-ERROR:        umaxv d0, v1.2d3749// CHECK-ERROR:              ^3750// CHECK-ERROR: error: invalid operand for instruction3751// CHECK-ERROR:        uminv d0, v1.2d3752// CHECK-ERROR:              ^3753// CHECK-ERROR: error: invalid operand for instruction3754// CHECK-ERROR:        addv d0, v1.2d3755// CHECK-ERROR:             ^3756 3757        fmaxnmv b0, v1.16b3758        fminnmv b0, v1.16b3759        fmaxv b0, v1.16b3760        fminv b0, v1.16b3761 3762// CHECK-ERROR: error: invalid operand for instruction3763// CHECK-ERROR:        fmaxnmv b0, v1.16b3764// CHECK-ERROR:                ^3765// CHECK-ERROR: error: invalid operand for instruction3766// CHECK-ERROR:        fminnmv b0, v1.16b3767// CHECK-ERROR:                ^3768// CHECK-ERROR: error: invalid operand for instruction3769// CHECK-ERROR:        fmaxv b0, v1.16b3770// CHECK-ERROR:              ^3771// CHECK-ERROR: error: invalid operand for instruction3772// CHECK-ERROR:        fminv b0, v1.16b3773// CHECK-ERROR:              ^3774 3775        fmaxnmv h0, v1.8h3776        fminnmv h0, v1.8h3777        fmaxv h0, v1.8h3778        fminv h0, v1.8h3779 3780// CHECK-ERROR: error: instruction requires: fullfp163781// CHECK-ERROR:        fmaxnmv h0, v1.8h3782// CHECK-ERROR:                ^3783// CHECK-ERROR: error: instruction requires: fullfp163784// CHECK-ERROR:        fminnmv h0, v1.8h3785// CHECK-ERROR:                ^3786// CHECK-ERROR: error: instruction requires: fullfp163787// CHECK-ERROR:        fmaxv h0, v1.8h3788// CHECK-ERROR:              ^3789// CHECK-ERROR: error: instruction requires: fullfp163790// CHECK-ERROR:        fminv h0, v1.8h3791// CHECK-ERROR:              ^3792 3793        fmaxnmv d0, v1.2d3794        fminnmv d0, v1.2d3795        fmaxv d0, v1.2d3796        fminv d0, v1.2d3797 3798// CHECK-ERROR: error: invalid operand for instruction3799// CHECK-ERROR:        fmaxnmv d0, v1.2d3800// CHECK-ERROR:                ^3801// CHECK-ERROR: error: invalid operand for instruction3802// CHECK-ERROR:        fminnmv d0, v1.2d3803// CHECK-ERROR:                ^3804// CHECK-ERROR: error: invalid operand for instruction3805// CHECK-ERROR:        fmaxv d0, v1.2d3806// CHECK-ERROR:              ^3807// CHECK-ERROR: error: invalid operand for instruction3808// CHECK-ERROR:        fminv d0, v1.2d3809// CHECK-ERROR:              ^3810 3811//----------------------------------------------------------------------3812// Floating-point Multiply Extended3813//----------------------------------------------------------------------3814 3815    fmulx s20, h22, s153816    fmulx d23, d11, s13817 3818// CHECK-ERROR: error: invalid operand for instruction3819// CHECK-ERROR:          fmulx s20, h22, s153820// CHECK-ERROR:                     ^3821// CHECK-ERROR: error: invalid operand for instruction3822// CHECK-ERROR:          fmulx d23, d11, s13823// CHECK-ERROR:                          ^3824 3825//----------------------------------------------------------------------3826// Floating-point Reciprocal Step3827//----------------------------------------------------------------------3828 3829    frecps s21, s16, h133830    frecps d22, s30, d213831 3832// CHECK-ERROR: error: invalid operand for instruction3833// CHECK-ERROR:          frecps s21, s16, h133834// CHECK-ERROR:                           ^3835// CHECK-ERROR: error: invalid operand for instruction3836// CHECK-ERROR:          frecps d22, s30, d213837// CHECK-ERROR:                      ^3838 3839//----------------------------------------------------------------------3840// Floating-point Reciprocal Square Root Step3841//----------------------------------------------------------------------3842 3843    frsqrts s21, h5, s123844    frsqrts d8, s22, d183845 3846// CHECK-ERROR: error: invalid operand for instruction3847// CHECK-ERROR:          frsqrts s21, h5, s123848// CHECK-ERROR:                       ^3849// CHECK-ERROR: error: invalid operand for instruction3850// CHECK-ERROR:          frsqrts d8, s22, d183851// CHECK-ERROR:                      ^3852 3853//----------------------------------------------------------------------3854// Vector load/store multiple N-element structure (class SIMD lselem)3855//----------------------------------------------------------------------3856         ld1 {x3}, [x2]3857         ld1 {v4}, [x0]3858         ld1 {v32.16b}, [x0]3859         ld1 {v15.8h}, [x32]3860// CHECK-ERROR: error: vector register expected3861// CHECK-ERROR:        ld1 {x3}, [x2]3862// CHECK-ERROR:             ^3863// CHECK-ERROR: error: invalid operand for instruction3864// CHECK-ERROR:        ld1 {v4}, [x0]3865// CHECK-ERROR:             ^3866// CHECK-ERROR: error: vector register expected3867// CHECK-ERROR:        ld1 {v32.16b}, [x0]3868// CHECK-ERROR:             ^3869// CHECK-ERROR: error: invalid operand for instruction3870// CHECK-ERROR:        ld1 {v15.8h}, [x32]3871// CHECK-ERROR:                       ^3872 3873         ld1 {v0.16b, v2.16b}, [x0]3874         ld1 {v0.8h, v1.8h, v2.8h, v3.8h, v4.8h}, [x0]3875         ld1 v0.8b, v1.8b}, [x0]3876         ld1 {v0.8h-v4.8h}, [x0]3877         ld1 {v1.8h-v1.8h}, [x0]3878         ld1 {v15.8h-v17.4h}, [x15]3879         ld1 {v0.8b-v2.8b, [x0]3880// CHECK-ERROR: error: invalid operand for instruction3881// CHECK-ERROR:        ld1 {v0.16b, v2.16b}, [x0]3882// CHECK-ERROR:                     ^3883// CHECK-ERROR: error: invalid number of vectors3884// CHECK-ERROR:        ld1 {v0.8h, v1.8h, v2.8h, v3.8h, v4.8h}, [x0]3885// CHECK-ERROR:                                         ^3886// CHECK-ERROR: error: invalid operand for instruction3887// CHECK-ERROR:        ld1 v0.8b, v1.8b}, [x0]3888// CHECK-ERROR:            ^3889// CHECK-ERROR: error: invalid number of vectors3890// CHECK-ERROR:        ld1 {v0.8h-v4.8h}, [x0]3891// CHECK-ERROR:                   ^3892// CHECK-ERROR: error: invalid number of vectors3893// CHECK-ERROR:        ld1 {v1.8h-v1.8h}, [x0]3894// CHECK-ERROR:                   ^3895// CHECK-ERROR: error: mismatched register size suffix3896// CHECK-ERROR:        ld1 {v15.8h-v17.4h}, [x15]3897// CHECK-ERROR:                        ^3898// CHECK-ERROR: error: '}' expected3899// CHECK-ERROR:        ld1 {v0.8b-v2.8b, [x0]3900// CHECK-ERROR:                        ^3901 3902         ld2 {v15.8h, v16.4h}, [x15]3903         ld2 {v0.8b, v2.8b}, [x0]3904         ld2 {v15.4h, v16.4h, v17.4h}, [x32]3905         ld2 {v15.8h-v16.4h}, [x15]3906         ld2 {v0.2d-v2.2d}, [x0]3907// CHECK-ERROR: error: mismatched register size suffix3908// CHECK-ERROR:        ld2 {v15.8h, v16.4h}, [x15]3909// CHECK-ERROR:                     ^3910// CHECK-ERROR: error: invalid operand for instruction3911// CHECK-ERROR:        ld2 {v0.8b, v2.8b}, [x0]3912// CHECK-ERROR:                    ^3913// CHECK-ERROR:        ld2 {v15.4h, v16.4h, v17.4h}, [x32]3914// CHECK-ERROR:            ^3915// CHECK-ERROR: error: mismatched register size suffix3916// CHECK-ERROR:        ld2 {v15.8h-v16.4h}, [x15]3917// CHECK-ERROR:                        ^3918// CHECK-ERROR: error: invalid operand for instruction3919// CHECK-ERROR:        ld2 {v0.2d-v2.2d}, [x0]3920// CHECK-ERROR:            ^3921 3922         ld3 {v15.8h, v16.8h, v17.4h}, [x15]3923         ld3 {v0.8b, v1,8b, v2.8b, v3.8b}, [x0]3924         ld3 {v0.8b, v2.8b, v3.8b}, [x0]3925         ld3 {v15.8h-v17.4h}, [x15]3926         ld3 {v31.4s-v2.4s}, [sp]3927// CHECK-ERROR: error: mismatched register size suffix3928// CHECK-ERROR:        ld3 {v15.8h, v16.8h, v17.4h}, [x15]3929// CHECK-ERROR:                             ^3930// CHECK-ERROR: error: mismatched register size suffix3931// CHECK-ERROR:        ld3 {v0.8b, v1,8b, v2.8b, v3.8b}, [x0]3932// CHECK-ERROR:                    ^3933// CHECK-ERROR: error: registers must have the same sequential stride3934// CHECK-ERROR:        ld3 {v0.8b, v2.8b, v3.8b}, [x0]3935// CHECK-ERROR:                    ^3936// CHECK-ERROR: error: mismatched register size suffix3937// CHECK-ERROR:        ld3 {v15.8h-v17.4h}, [x15]3938// CHECK-ERROR:                        ^3939// CHECK-ERROR: error: invalid operand for instruction3940// CHECK-ERROR:        ld3 {v31.4s-v2.4s}, [sp]3941// CHECK-ERROR:            ^3942 3943         ld4 {v15.8h, v16.8h, v17.4h, v18.8h}, [x15]3944         ld4 {v0.8b, v2.8b, v3.8b, v4.8b}, [x0]3945         ld4 {v15.4h, v16.4h, v17.4h, v18.4h, v19.4h}, [x31]3946         ld4 {v15.8h-v18.4h}, [x15]3947         ld4 {v31.2s-v1.2s}, [x31]3948// CHECK-ERROR: error: mismatched register size suffix3949// CHECK-ERROR:        ld4 {v15.8h, v16.8h, v17.4h, v18.8h}, [x15]3950// CHECK-ERROR:                             ^3951// CHECK-ERROR: error: registers must have the same sequential stride3952// CHECK-ERROR:        ld4 {v0.8b, v2.8b, v3.8b, v4.8b}, [x0]3953// CHECK-ERROR:                    ^3954// CHECK-ERROR: error: invalid number of vectors3955// CHECK-ERROR:        ld4 {v15.4h, v16.4h, v17.4h, v18.4h, v19.4h}, [x31]3956// CHECK-ERROR:                                             ^3957// CHECK-ERROR: error: mismatched register size suffix3958// CHECK-ERROR:        ld4 {v15.8h-v18.4h}, [x15]3959// CHECK-ERROR:                        ^3960// CHECK-ERROR: error: invalid operand for instruction3961// CHECK-ERROR:        ld4 {v31.2s-v1.2s}, [x31]3962// CHECK-ERROR:            ^3963 3964         st1 {x3}, [x2]3965         st1 {v4}, [x0]3966         st1 {v32.16b}, [x0]3967         st1 {v15.8h}, [x32]3968// CHECK-ERROR: error: vector register expected3969// CHECK-ERROR:        st1 {x3}, [x2]3970// CHECK-ERROR:             ^3971// CHECK-ERROR: error: invalid operand for instruction3972// CHECK-ERROR:        st1 {v4}, [x0]3973// CHECK-ERROR:             ^3974// CHECK-ERROR: error: vector register expected3975// CHECK-ERROR:        st1 {v32.16b}, [x0]3976// CHECK-ERROR:             ^3977// CHECK-ERROR: error: invalid operand for instruction3978// CHECK-ERROR:        st1 {v15.8h}, [x32]3979// CHECK-ERROR:                       ^3980 3981         st1 {v0.16b, v2.16b}, [x0]3982         st1 {v0.8h, v1.8h, v2.8h, v3.8h, v4.8h}, [x0]3983         st1 v0.8b, v1.8b}, [x0]3984         st1 {v0.8h-v4.8h}, [x0]3985         st1 {v1.8h-v1.8h}, [x0]3986         st1 {v15.8h-v17.4h}, [x15]3987         st1 {v0.8b-v2.8b, [x0]3988// CHECK-ERROR: error: invalid operand for instruction3989// CHECK-ERROR:        st1 {v0.16b, v2.16b}, [x0]3990// CHECK-ERROR:                     ^3991// CHECK-ERROR: error: invalid number of vectors3992// CHECK-ERROR:        st1 {v0.8h, v1.8h, v2.8h, v3.8h, v4.8h}, [x0]3993// CHECK-ERROR:                                         ^3994// CHECK-ERROR: error: invalid operand for instruction3995// CHECK-ERROR:        st1 v0.8b, v1.8b}, [x0]3996// CHECK-ERROR:            ^3997// CHECK-ERROR: error: invalid number of vectors3998// CHECK-ERROR:        st1 {v0.8h-v4.8h}, [x0]3999// CHECK-ERROR:                   ^4000// CHECK-ERROR: error: invalid number of vectors4001// CHECK-ERROR:        st1 {v1.8h-v1.8h}, [x0]4002// CHECK-ERROR:                   ^4003// CHECK-ERROR: error: mismatched register size suffix4004// CHECK-ERROR:        st1 {v15.8h-v17.4h}, [x15]4005// CHECK-ERROR:                        ^4006// CHECK-ERROR: error: '}' expected4007// CHECK-ERROR:        st1 {v0.8b-v2.8b, [x0]4008// CHECK-ERROR:                        ^4009 4010         st2 {v15.8h, v16.4h}, [x15]4011         st2 {v0.8b, v2.8b}, [x0]4012         st2 {v15.4h, v16.4h, v17.4h}, [x30]4013         st2 {v15.8h-v16.4h}, [x15]4014         st2 {v0.2d-v2.2d}, [x0]4015// CHECK-ERROR: error: mismatched register size suffix4016// CHECK-ERROR:        st2 {v15.8h, v16.4h}, [x15]4017// CHECK-ERROR:                     ^4018// CHECK-ERROR: error: invalid operand for instruction4019// CHECK-ERROR:        st2 {v0.8b, v2.8b}, [x0]4020// CHECK-ERROR:                    ^4021// CHECK-ERROR: error: invalid operand for instruction4022// CHECK-ERROR:        st2 {v15.4h, v16.4h, v17.4h}, [x30]4023// CHECK-ERROR:            ^4024// CHECK-ERROR: error: mismatched register size suffix4025// CHECK-ERROR:        st2 {v15.8h-v16.4h}, [x15]4026// CHECK-ERROR:                        ^4027// CHECK-ERROR: error: invalid operand for instruction4028// CHECK-ERROR:        st2 {v0.2d-v2.2d}, [x0]4029// CHECK-ERROR:            ^4030 4031         st3 {v15.8h, v16.8h, v17.4h}, [x15]4032         st3 {v0.8b, v1,8b, v2.8b, v3.8b}, [x0]4033         st3 {v0.8b, v2.8b, v3.8b}, [x0]4034         st3 {v15.8h-v17.4h}, [x15]4035         st3 {v31.4s-v2.4s}, [sp]4036// CHECK-ERROR: error: mismatched register size suffix4037// CHECK-ERROR:        st3 {v15.8h, v16.8h, v17.4h}, [x15]4038// CHECK-ERROR:                             ^4039// CHECK-ERROR: error: mismatched register size suffix4040// CHECK-ERROR:        st3 {v0.8b, v1,8b, v2.8b, v3.8b}, [x0]4041// CHECK-ERROR:                    ^4042// CHECK-ERROR: error: registers must have the same sequential stride4043// CHECK-ERROR:        st3 {v0.8b, v2.8b, v3.8b}, [x0]4044// CHECK-ERROR:                    ^4045// CHECK-ERROR: error: mismatched register size suffix4046// CHECK-ERROR:        st3 {v15.8h-v17.4h}, [x15]4047// CHECK-ERROR:                        ^4048// CHECK-ERROR: error: invalid operand for instruction4049// CHECK-ERROR:        st3 {v31.4s-v2.4s}, [sp]4050// CHECK-ERROR:            ^4051 4052         st4 {v15.8h, v16.8h, v17.4h, v18.8h}, [x15]4053         st4 {v0.8b, v2.8b, v3.8b, v4.8b}, [x0]4054         st4 {v15.4h, v16.4h, v17.4h, v18.4h, v19.4h}, [x31]4055         st4 {v15.8h-v18.4h}, [x15]4056         st4 {v31.2s-v1.2s}, [x31]4057// CHECK-ERROR: error: mismatched register size suffix4058// CHECK-ERROR:        st4 {v15.8h, v16.8h, v17.4h, v18.8h}, [x15]4059// CHECK-ERROR:                             ^4060// CHECK-ERROR: error: registers must have the same sequential stride4061// CHECK-ERROR:        st4 {v0.8b, v2.8b, v3.8b, v4.8b}, [x0]4062// CHECK-ERROR:                    ^4063// CHECK-ERROR: error: invalid number of vectors4064// CHECK-ERROR:        st4 {v15.4h, v16.4h, v17.4h, v18.4h, v19.4h}, [x31]4065// CHECK-ERROR:                                             ^4066// CHECK-ERROR: error: mismatched register size suffix4067// CHECK-ERROR:        st4 {v15.8h-v18.4h}, [x15]4068// CHECK-ERROR:                        ^4069// CHECK-ERROR: error: invalid operand for instruction4070// CHECK-ERROR:        st4 {v31.2s-v1.2s}, [x31]4071// CHECK-ERROR:            ^4072 4073//----------------------------------------------------------------------4074// Vector post-index load/store multiple N-element structure4075// (class SIMD lselem-post)4076//----------------------------------------------------------------------4077         ld1 {v0.16b}, [x0], #84078         ld1 {v0.8h, v1.16h}, [x0], x14079         ld1 {v0.8b, v1.8b, v2.8b, v3.8b}, [x0], #244080// CHECK-ERROR: error: invalid operand for instruction4081// CHECK-ERROR:          ld1 {v0.16b}, [x0], #84082// CHECK-ERROR:                              ^4083// CHECK-ERROR: error: invalid vector kind qualifier4084// CHECK-ERROR:          ld1 {v0.8h, v1.16h}, [x0], x14085// CHECK-ERROR:                      ^4086// CHECK-ERROR:  error: invalid operand for instruction4087// CHECK-ERROR:          ld1 {v0.8b, v1.8b, v2.8b, v3.8b}, [x0], #244088// CHECK-ERROR:                                                  ^4089 4090         ld2 {v0.16b, v1.16b}, [x0], #164091         ld3 {v5.2s, v6.2s, v7.2s}, [x1], #484092         ld4 {v31.2d, v0.2d, v1.2d, v2.1d}, [x3], x14093// CHECK-ERROR:  error: invalid operand for instruction4094// CHECK-ERROR:          ld2 {v0.16b, v1.16b}, [x0], #164095// CHECK-ERROR:                                      ^4096// CHECK-ERROR:  error: invalid operand for instruction4097// CHECK-ERROR:          ld3 {v5.2s, v6.2s, v7.2s}, [x1], #484098// CHECK-ERROR:                                           ^4099// CHECK-ERROR: error: mismatched register size suffix4100// CHECK-ERROR:          ld4 {v31.2d, v0.2d, v1.2d, v2.1d}, [x3], x14101// CHECK-ERROR:                                     ^4102 4103         st1 {v0.16b}, [x0], #84104         st1 {v0.8h, v1.16h}, [x0], x14105         st1 {v0.8b, v1.8b, v2.8b, v3.8b}, [x0], #244106// CHECK-ERROR:  error: invalid operand for instruction4107// CHECK-ERROR:          st1 {v0.16b}, [x0], #84108// CHECK-ERROR:                              ^4109// CHECK-ERROR: error: invalid vector kind qualifier4110// CHECK-ERROR:          st1 {v0.8h, v1.16h}, [x0], x14111// CHECK-ERROR:                      ^4112// CHECK-ERROR:  error: invalid operand for instruction4113// CHECK-ERROR:          st1 {v0.8b, v1.8b, v2.8b, v3.8b}, [x0], #244114                                                 ^4115 4116         st2 {v0.16b, v1.16b}, [x0], #164117         st3 {v5.2s, v6.2s, v7.2s}, [x1], #484118         st4 {v31.2d, v0.2d, v1.2d, v2.1d}, [x3], x14119// CHECK-ERROR:  error: invalid operand for instruction4120// CHECK-ERROR:          st2 {v0.16b, v1.16b}, [x0], #164121// CHECK-ERROR:                                      ^4122// CHECK-ERROR:  error: invalid operand for instruction4123// CHECK-ERROR:          st3 {v5.2s, v6.2s, v7.2s}, [x1], #484124// CHECK-ERROR:                                           ^4125// CHECK-ERROR: error: mismatched register size suffix4126// CHECK-ERROR:          st4 {v31.2d, v0.2d, v1.2d, v2.1d}, [x3], x14127// CHECK-ERROR:                                     ^4128 4129//------------------------------------------------------------------------------4130// Load single N-element structure to all lanes of N consecutive4131// registers (N = 1,2,3,4)4132//------------------------------------------------------------------------------4133         ld1r {x1}, [x0]4134         ld2r {v31.4s, v0.2s}, [sp]4135         ld3r {v0.8b, v1.8b, v2.8b, v3.8b}, [x0]4136         ld4r {v31.2s, v0.2s, v1.2d, v2.2s}, [sp]4137// CHECK-ERROR: error: vector register expected4138// CHECK-ERROR: ld1r {x1}, [x0]4139// CHECK-ERROR:       ^4140// CHECK-ERROR: error: mismatched register size suffix4141// CHECK-ERROR: ld2r {v31.4s, v0.2s}, [sp]4142// CHECK-ERROR:               ^4143// CHECK-ERROR: error: invalid operand for instruction4144// CHECK-ERROR: ld3r {v0.8b, v1.8b, v2.8b, v3.8b}, [x0]4145// CHECK-ERROR:      ^4146// CHECK-ERROR: error: mismatched register size suffix4147// CHECK-ERROR: ld4r {v31.2s, v0.2s, v1.2d, v2.2s}, [sp]4148// CHECK-ERROR:                      ^4149 4150//------------------------------------------------------------------------------4151// Load/Store single N-element structure to/from one lane of N consecutive4152// registers (N = 1, 2,3,4)4153//------------------------------------------------------------------------------4154         ld1 {v0.b}[16], [x0]4155         ld2 {v15.h, v16.h}[8], [x15]4156         ld3 {v31.s, v0.s, v1.s}[-1], [sp]4157         ld4 {v0.d, v1.d, v2.d, v3.d}[2], [x0]4158// CHECK-ERROR: vector lane must be an integer in range4159// CHECK-ERROR: ld1 {v0.b}[16], [x0]4160// CHECK-ERROR:            ^4161// CHECK-ERROR: vector lane must be an integer in range4162// CHECK-ERROR: ld2 {v15.h, v16.h}[8], [x15]4163// CHECK-ERROR:                    ^4164// CHECK-ERROR: error: vector lane must be an integer in range4165// CHECK-ERROR: ld3 {v31.s, v0.s, v1.s}[-1], [sp]4166// CHECK-ERROR:                         ^4167// CHECK-ERROR: vector lane must be an integer in range4168// CHECK-ERROR: ld4 {v0.d, v1.d, v2.d, v3.d}[2], [x0]4169// CHECK-ERROR:                              ^4170 4171         st1 {v0.d}[16], [x0]4172         st2 {v31.s, v0.s}[3], [8]4173         st3 {v15.h, v16.h, v17.h}[-1], [x15]4174         st4 {v0.d, v1.d, v2.d, v3.d}[2], [x0]4175// CHECK-ERROR: vector lane must be an integer in range4176// CHECK-ERROR: st1 {v0.d}[16], [x0]4177// CHECK-ERROR:            ^4178// CHECK-ERROR: error: invalid operand for instruction4179// CHECK-ERROR: st2 {v31.s, v0.s}[3], [8]4180// CHECK-ERROR:                        ^4181// CHECK-ERROR: error: vector lane must be an integer in range4182// CHECK-ERROR: st3 {v15.h, v16.h, v17.h}[-1], [x15]4183// CHECK-ERROR:                           ^4184// CHECK-ERROR: vector lane must be an integer in range4185// CHECK-ERROR: st4 {v0.d, v1.d, v2.d, v3.d}[2], [x0]4186// CHECK-ERROR:                              ^4187 4188//------------------------------------------------------------------------------4189// Post-index of load single N-element structure to all lanes of N consecutive4190// registers (N = 1,2,3,4)4191//------------------------------------------------------------------------------4192         ld1r {v15.8h}, [x15], #54193         ld2r {v0.2d, v1.2d}, [x0], #74194         ld3r {v15.4h, v16.4h, v17.4h}, [x15], #14195         ld4r {v31.1d, v0.1d, v1.1d, v2.1d}, [sp], sp4196// CHECK-ERROR: error: invalid operand for instruction4197// CHECK-ERROR: ld1r {v15.8h}, [x15], #54198// CHECK-ERROR:                       ^4199// CHECK-ERROR: error: invalid operand for instruction4200// CHECK-ERROR: ld2r {v0.2d, v1.2d}, [x0], #74201// CHECK-ERROR:                            ^4202// CHECK-ERROR: error: invalid operand for instruction4203// CHECK-ERROR: ld3r {v15.4h, v16.4h, v17.4h}, [x15], #14204// CHECK-ERROR:                                       ^4205// CHECK-ERROR: error: invalid operand for instruction4206// CHECK-ERROR: ld4r {v31.1d, v0.1d, v1.1d, v2.1d}, [sp], sp4207// CHECK-ERROR:                                           ^4208 4209//------------------------------------------------------------------------------4210// Post-index of Load/Store single N-element structure to/from one lane of N4211// consecutive registers (N = 1, 2,3,4)4212//------------------------------------------------------------------------------4213         ld1 {v0.b}[0], [x0], #24214         ld2 {v15.h, v16.h}[0], [x15], #34215         ld3 {v31.s, v0.s, v1.d}[0], [sp], x94216         ld4 {v0.d, v1.d, v2.d, v3.d}[1], [x0], #244217// CHECK-ERROR: error: invalid operand for instruction4218// CHECK-ERROR: ld1 {v0.b}[0], [x0], #24219// CHECK-ERROR:                      ^4220// CHECK-ERROR: error: invalid operand for instruction4221// CHECK-ERROR: ld2 {v15.h, v16.h}[0], [x15], #34222// CHECK-ERROR:                               ^4223// CHECK-ERROR: error: mismatched register size suffix4224// CHECK-ERROR: ld3 {v31.s, v0.s, v1.d}[0], [sp], x94225// CHECK-ERROR:                      ^4226// CHECK-ERROR: error: invalid operand for instruction4227// CHECK-ERROR: ld4 {v0.d, v1.d, v2.d, v3.d}[1], [x0], #244228// CHECK-ERROR:                                        ^4229 4230         st1 {v0.d}[0], [x0], #74231         st2 {v31.s, v0.s}[0], [sp], #64232         st3 {v15.h, v16.h, v17.h}[0], [x15], #84233         st4 {v0.b, v1.b, v2.b, v3.b}[1], [x0], #14234// CHECK-ERROR: error: invalid operand for instruction4235// CHECK-ERROR: st1 {v0.d}[0], [x0], #74236// CHECK-ERROR:                      ^4237// CHECK-ERROR: error: invalid operand for instruction4238// CHECK-ERROR: st2 {v31.s, v0.s}[0], [sp], #64239// CHECK-ERROR:                             ^4240// CHECK-ERROR: error: invalid operand for instruction4241// CHECK-ERROR: st3 {v15.h, v16.h, v17.h}[0], [x15], #84242// CHECK-ERROR:                                      ^4243// CHECK-ERROR: error: invalid operand for instruction4244// CHECK-ERROR: st4 {v0.b, v1.b, v2.b, v3.b}[1], [x0], #14245// CHECK-ERROR:                                        ^4246 4247 4248         ins v2.b[16], w14249         ins v7.h[8], w144250         ins v20.s[5], w304251         ins v1.d[2], x74252         ins v2.b[3], b14253         ins v7.h[2], h144254         ins v20.s[1], s304255         ins v1.d[0], d74256 4257// CHECK-ERROR: vector lane must be an integer in range4258// CHECK-ERROR:         ins v2.b[16], w14259// CHECK-ERROR:                  ^4260// CHECK-ERROR: vector lane must be an integer in range4261// CHECK-ERROR:         ins v7.h[8], w144262// CHECK-ERROR:                  ^4263// CHECK-ERROR: vector lane must be an integer in range4264// CHECK-ERROR:         ins v20.s[5], w304265// CHECK-ERROR:                   ^4266// CHECK-ERROR: vector lane must be an integer in range4267// CHECK-ERROR:         ins v1.d[2], x74268// CHECK-ERROR:                  ^4269// CHECK-ERROR: error: invalid operand for instruction4270// CHECK-ERROR:         ins v2.b[3], b14271// CHECK-ERROR:                      ^4272// CHECK-ERROR: error: invalid operand for instruction4273// CHECK-ERROR:         ins v7.h[2], h144274// CHECK-ERROR:                      ^4275// CHECK-ERROR: error: invalid operand for instruction4276// CHECK-ERROR:         ins v20.s[1], s304277// CHECK-ERROR:                       ^4278// CHECK-ERROR: error: invalid operand for instruction4279// CHECK-ERROR:         ins v1.d[0], d74280// CHECK-ERROR:                      ^4281 4282         smov w1, v0.b[16]4283         smov w14, v6.h[8]4284         smov x1, v0.b[16]4285         smov x14, v6.h[8]4286         smov x20, v9.s[5]4287         smov w1, v0.d[0]4288         smov w14, v6.d[1]4289         smov x1, v0.d[0]4290         smov x14, v6.d[1]4291         smov x20, v9.d[0]4292 4293// CHECK-ERROR: vector lane must be an integer in range4294// CHECK-ERROR:         smov w1, v0.b[16]4295// CHECK-ERROR:                       ^4296// CHECK-ERROR: vector lane must be an integer in range4297// CHECK-ERROR:         smov w14, v6.h[8]4298// CHECK-ERROR:                        ^4299// CHECK-ERROR: vector lane must be an integer in range4300// CHECK-ERROR:         smov x1, v0.b[16]4301// CHECK-ERROR:                       ^4302// CHECK-ERROR: vector lane must be an integer in range4303// CHECK-ERROR:         smov x14, v6.h[8]4304// CHECK-ERROR:                        ^4305// CHECK-ERROR: vector lane must be an integer in range4306// CHECK-ERROR:         smov x20, v9.s[5]4307// CHECK-ERROR:                        ^4308// CHECK-ERROR: error: invalid operand for instruction4309// CHECK-ERROR:         smov w1, v0.d[0]4310// CHECK-ERROR:                     ^4311// CHECK-ERROR: error: invalid operand for instruction4312// CHECK-ERROR:         smov w14, v6.d[1]4313// CHECK-ERROR:                      ^4314// CHECK-ERROR: error: invalid operand for instruction4315// CHECK-ERROR:         smov x1, v0.d[0]4316// CHECK-ERROR:                     ^4317// CHECK-ERROR: error: invalid operand for instruction4318// CHECK-ERROR:         smov x14, v6.d[1]4319// CHECK-ERROR:                      ^4320// CHECK-ERROR: error: invalid operand for instruction4321// CHECK-ERROR:         smov x20, v9.d[0]4322// CHECK-ERROR:                      ^4323 4324         umov w1, v0.b[16]4325         umov w14, v6.h[8]4326         umov w20, v9.s[5]4327         umov x7, v18.d[3]4328         umov w1, v0.d[0]4329         umov s20, v9.s[2]4330         umov d7, v18.d[1]4331 4332// CHECK-ERROR: vector lane must be an integer in range4333// CHECK-ERROR:         umov w1, v0.b[16]4334// CHECK-ERROR:                       ^4335// CHECK-ERROR: vector lane must be an integer in range4336// CHECK-ERROR:         umov w14, v6.h[8]4337// CHECK-ERROR:                        ^4338// CHECK-ERROR: vector lane must be an integer in range4339// CHECK-ERROR:         umov w20, v9.s[5]4340// CHECK-ERROR:                        ^4341// CHECK-ERROR: vector lane must be an integer in range4342// CHECK-ERROR:         umov x7, v18.d[3]4343// CHECK-ERROR:                        ^4344// CHECK-ERROR: error: invalid operand for instruction4345// CHECK-ERROR:         umov w1, v0.d[0]4346// CHECK-ERROR:                     ^4347// CHECK-ERROR: error: invalid operand for instruction4348// CHECK-ERROR:         umov s20, v9.s[2]4349// CHECK-ERROR:              ^4350// CHECK-ERROR: error: invalid operand for instruction4351// CHECK-ERROR:         umov d7, v18.d[1]4352// CHECK-ERROR:              ^4353 4354         Ins v1.h[2], v3.b[6]4355         Ins v6.h[7], v7.s[2]4356         Ins v15.d[0], v22.s[2]4357         Ins v0.d[0], v4.b[1]4358 4359// CHECK-ERROR: error: invalid operand for instruction4360// CHECK-ERROR:         Ins v1.h[2], v3.b[6]4361// CHECK-ERROR:                         ^4362// CHECK-ERROR: error: invalid operand for instruction4363// CHECK-ERROR:         Ins v6.h[7], v7.s[2]4364// CHECK-ERROR:                         ^4365// CHECK-ERROR: error: invalid operand for instruction4366// CHECK-ERROR:         Ins v15.d[0], v22.s[2]4367// CHECK-ERROR:                           ^4368// CHECK-ERROR: error: invalid operand for instruction4369// CHECK-ERROR:         Ins v0.d[0], v4.b[1]4370// CHECK-ERROR:                         ^4371 4372         dup v1.8h, v2.b[2]4373         dup v11.4s, v7.h[7]4374         dup v17.2d, v20.s[0]4375         dup v1.16b, v2.h[2]4376         dup v11.8h, v7.s[3]4377         dup v17.4s, v20.d[0]4378         dup v5.2d, v1.b[1]4379 4380// CHECK-ERROR: error: invalid operand for instruction4381// CHECK-ERROR:         dup v1.8h, v2.b[2]4382// CHECK-ERROR:                       ^4383// CHECK-ERROR: error: invalid operand for instruction4384// CHECK-ERROR:         dup v11.4s, v7.h[7]4385// CHECK-ERROR:                        ^4386// CHECK-ERROR: error: invalid operand for instruction4387// CHECK-ERROR:         dup v17.2d, v20.s[0]4388// CHECK-ERROR:                         ^4389// CHECK-ERROR: error: invalid operand for instruction4390// CHECK-ERROR:         dup v1.16b, v2.h[2]4391// CHECK-ERROR:                        ^4392// CHECK-ERROR: invalid operand for instruction4393// CHECK-ERROR:         dup v11.8h, v7.s[3]4394// CHECK-ERROR:                        ^4395// CHECK-ERROR: invalid operand for instruction4396// CHECK-ERROR:         dup v17.4s, v20.d[0]4397// CHECK-ERROR:                         ^4398// CHECK-ERROR: invalid operand for instruction4399// CHECK-ERROR:         dup v5.2d, v1.b[1]4400// CHECK-ERROR:                       ^4401 4402         dup v1.8b, b14403         dup v11.4h, h144404         dup v17.2s, s304405         dup v1.16b, d24406         dup v11.8s, w164407         dup v17.4d, w284408         dup v5.2d, w04409 4410// CHECK-ERROR: error: invalid operand for instruction4411// CHECK-ERROR:         dup v1.8b, b14412// CHECK-ERROR:                    ^4413// CHECK-ERROR: error: invalid operand for instruction4414// CHECK-ERROR:         dup v11.4h, h144415// CHECK-ERROR:                     ^4416// CHECK-ERROR: error: invalid operand for instruction4417// CHECK-ERROR:         dup v17.2s, s304418// CHECK-ERROR:                     ^4419// CHECK-ERROR: error: invalid operand for instruction4420// CHECK-ERROR:         dup v1.16b, d24421// CHECK-ERROR:                     ^4422// CHECK-ERROR: error: invalid vector kind qualifier4423// CHECK-ERROR:         dup v11.8s, w164424// CHECK-ERROR:             ^4425// CHECK-ERROR: error: invalid vector kind qualifier4426// CHECK-ERROR:         dup v17.4d, w284427// CHECK-ERROR:             ^4428// CHECK-ERROR: error: invalid operand for instruction4429// CHECK-ERROR:         dup v5.2d, w04430// CHECK-ERROR:                    ^4431 4432//----------------------------------------------------------------------4433// Scalar Compare Bitwise Equal4434//----------------------------------------------------------------------4435 4436         cmeq b20, d21, d224437 4438// CHECK-ERROR: error: invalid operand for instruction4439// CHECK-ERROR:          cmeq b20, d21, d224440// CHECK-ERROR:               ^4441 4442//----------------------------------------------------------------------4443// Scalar Compare Bitwise Equal To Zero4444//----------------------------------------------------------------------4445 4446         cmeq d20, b21, #04447 4448// CHECK-ERROR: error: invalid operand for instruction4449// CHECK-ERROR:          cmeq d20, b21, #04450// CHECK-ERROR:                    ^4451 4452//----------------------------------------------------------------------4453// Scalar Compare Unsigned Higher Or Same4454//----------------------------------------------------------------------4455 4456         cmhs b20, d21, d224457 4458// CHECK-ERROR: error: invalid operand for instruction4459// CHECK-ERROR:          cmhs b20, d21, d224460// CHECK-ERROR:               ^4461 4462        4463//----------------------------------------------------------------------4464// Scalar Compare Signed Greather Than Or Equal4465//----------------------------------------------------------------------4466 4467         cmge b20, d21, d224468 4469// CHECK-ERROR: error: invalid operand for instruction4470// CHECK-ERROR:          cmge b20, d21, d224471// CHECK-ERROR:               ^4472 4473//----------------------------------------------------------------------4474// Scalar Compare Signed Greather Than Or Equal To Zero4475//----------------------------------------------------------------------4476 4477         cmge d20, b21, #04478 4479// CHECK-ERROR: error: invalid operand for instruction4480// CHECK-ERROR:          cmge d20, b21, #04481// CHECK-ERROR:                    ^4482 4483//----------------------------------------------------------------------4484// Scalar Compare Unsigned Higher4485//----------------------------------------------------------------------4486 4487         cmhi b20, d21, d224488 4489// CHECK-ERROR: error: invalid operand for instruction4490// CHECK-ERROR:          cmhi b20, d21, d224491// CHECK-ERROR:               ^4492 4493//----------------------------------------------------------------------4494// Scalar Compare Signed Greater Than4495//----------------------------------------------------------------------4496 4497         cmgt b20, d21, d224498 4499// CHECK-ERROR: error: invalid operand for instruction4500// CHECK-ERROR:          cmgt b20, d21, d224501// CHECK-ERROR:               ^4502 4503//----------------------------------------------------------------------4504// Scalar Compare Signed Greater Than Zero4505//----------------------------------------------------------------------4506 4507         cmgt d20, b21, #04508 4509// CHECK-ERROR: error: invalid operand for instruction4510// CHECK-ERROR:          cmgt d20, b21, #04511// CHECK-ERROR:                    ^4512 4513//----------------------------------------------------------------------4514// Scalar Compare Signed Less Than Or Equal To Zero4515//----------------------------------------------------------------------4516 4517         cmle d20, b21, #04518 4519// CHECK-ERROR: error: invalid operand for instruction4520// CHECK-ERROR:          cmle d20, b21, #04521// CHECK-ERROR:                    ^4522 4523//----------------------------------------------------------------------4524// Scalar Compare Less Than Zero4525//----------------------------------------------------------------------4526 4527         cmlt d20, b21, #04528 4529// CHECK-ERROR: error: invalid operand for instruction4530// CHECK-ERROR:          cmlt d20, b21, #04531// CHECK-ERROR:                    ^4532 4533//----------------------------------------------------------------------4534// Scalar Compare Bitwise Test Bits4535//----------------------------------------------------------------------4536 4537         cmtst b20, d21, d224538 4539// CHECK-ERROR: error: invalid operand for instruction4540// CHECK-ERROR:          cmtst b20, d21, d224541// CHECK-ERROR:                ^4542 4543//----------------------------------------------------------------------4544// Scalar Floating-point Compare Mask Equal4545//----------------------------------------------------------------------4546 4547         fcmeq s10, h11, s124548         fcmeq d20, s21, d224549 4550// CHECK-ERROR: error: invalid operand for instruction4551// CHECK-ERROR:          fcmeq s10, h11, s124552// CHECK-ERROR:                     ^4553// CHECK-ERROR: error: invalid operand for instruction4554// CHECK-ERROR:          fcmeq d20, s21, d224555// CHECK-ERROR:                     ^4556 4557//----------------------------------------------------------------------4558// Scalar Floating-point Compare Mask Equal To Zero4559//----------------------------------------------------------------------4560 4561         fcmeq h10, s11, #0.04562         fcmeq d20, s21, #0.04563 4564// CHECK-ERROR: error: invalid operand for instruction4565// CHECK-ERROR:          fcmeq h10, s11, #0.04566// CHECK-ERROR:                ^4567// CHECK-ERROR: error: invalid operand for instruction4568// CHECK-ERROR:          fcmeq d20, s21, #0.04569// CHECK-ERROR:                     ^4570 4571//----------------------------------------------------------------------4572// Scalar Floating-point Compare Mask Greater Than Or Equal4573//----------------------------------------------------------------------4574 4575         fcmge s10, h11, s124576         fcmge d20, s21, d224577 4578// CHECK-ERROR: error: invalid operand for instruction4579// CHECK-ERROR:          fcmge s10, h11, s124580// CHECK-ERROR:                     ^4581// CHECK-ERROR: error: invalid operand for instruction4582// CHECK-ERROR:          fcmge d20, s21, d224583// CHECK-ERROR:                     ^4584 4585//----------------------------------------------------------------------4586// Scalar Floating-point Compare Mask Greater Than Or Equal To Zero4587//----------------------------------------------------------------------4588 4589         fcmge h10, s11, #0.04590         fcmge d20, s21, #0.04591 4592// CHECK-ERROR: error: invalid operand for instruction4593// CHECK-ERROR:          fcmge h10, s11, #0.04594// CHECK-ERROR:                ^4595// CHECK-ERROR: error: invalid operand for instruction4596// CHECK-ERROR:          fcmge d20, s21, #0.04597// CHECK-ERROR:                     ^4598 4599//----------------------------------------------------------------------4600// Scalar Floating-point Compare Mask Greather Than4601//----------------------------------------------------------------------4602 4603         fcmgt s10, h11, s124604         fcmgt d20, s21, d224605 4606// CHECK-ERROR: error: invalid operand for instruction4607// CHECK-ERROR:          fcmgt s10, h11, s124608// CHECK-ERROR:                     ^4609// CHECK-ERROR: error: invalid operand for instruction4610// CHECK-ERROR:          fcmgt d20, s21, d224611// CHECK-ERROR:                     ^4612 4613//----------------------------------------------------------------------4614// Scalar Floating-point Compare Mask Greather Than Zero4615//----------------------------------------------------------------------4616 4617         fcmgt h10, s11, #0.04618         fcmgt d20, s21, #0.04619 4620// CHECK-ERROR: error: invalid operand for instruction4621// CHECK-ERROR:          fcmgt h10, s11, #0.04622// CHECK-ERROR:                ^4623// CHECK-ERROR: error: invalid operand for instruction4624// CHECK-ERROR:          fcmgt d20, s21, #0.04625// CHECK-ERROR:                     ^4626 4627//----------------------------------------------------------------------4628// Scalar Floating-point Compare Mask Less Than Or Equal To Zero4629//----------------------------------------------------------------------4630 4631         fcmle h10, s11, #0.04632         fcmle d20, s21, #0.04633 4634// CHECK-ERROR: error: invalid operand for instruction4635// CHECK-ERROR:          fcmle h10, s11, #0.04636// CHECK-ERROR:                ^4637// CHECK-ERROR: error: invalid operand for instruction4638// CHECK-ERROR:          fcmle d20, s21, #0.04639// CHECK-ERROR:                     ^4640 4641//----------------------------------------------------------------------4642// Scalar Floating-point Compare Mask Less Than4643//----------------------------------------------------------------------4644 4645         fcmlt h10, s11, #0.04646         fcmlt d20, s21, #0.04647 4648// CHECK-ERROR: error: invalid operand for instruction4649// CHECK-ERROR:          fcmlt h10, s11, #0.04650// CHECK-ERROR:                     ^4651// CHECK-ERROR: error: invalid operand for instruction4652// CHECK-ERROR:          fcmlt d20, s21, #0.04653// CHECK-ERROR:                     ^4654 4655//----------------------------------------------------------------------4656// Scalar Floating-point Absolute Compare Mask Greater Than Or Equal4657//----------------------------------------------------------------------4658 4659         facge s10, h11, s124660         facge d20, s21, d224661 4662// CHECK-ERROR: error: invalid operand for instruction4663// CHECK-ERROR:          facge s10, h11, s124664// CHECK-ERROR:                     ^4665// CHECK-ERROR: error: invalid operand for instruction4666// CHECK-ERROR:          facge d20, s21, d224667// CHECK-ERROR:                     ^4668 4669//----------------------------------------------------------------------4670// Scalar Floating-point Absolute Compare Mask Greater Than4671//----------------------------------------------------------------------4672 4673         facgt s10, h11, s124674         facgt d20, d21, s224675 4676// CHECK-ERROR: error: invalid operand for instruction4677// CHECK-ERROR:          facgt s10, h11, s124678// CHECK-ERROR:                     ^4679// CHECK-ERROR: error: invalid operand for instruction4680// CHECK-ERROR:          facgt d20, d21, s224681// CHECK-ERROR:                          ^4682        4683//----------------------------------------------------------------------4684// Scalar Signed Saturating Accumulated of Unsigned Value4685//----------------------------------------------------------------------4686 4687        suqadd b0, h14688        suqadd h0, s14689        suqadd s0, d14690        suqadd d0, b04691 4692// CHECK-ERROR: error: invalid operand for instruction4693// CHECK-ERROR:        suqadd b0, h14694// CHECK-ERROR:                   ^4695// CHECK-ERROR: error: invalid operand for instruction4696// CHECK-ERROR:        suqadd h0, s14697// CHECK-ERROR:                   ^4698// CHECK-ERROR: error: invalid operand for instruction4699// CHECK-ERROR:        suqadd s0, d14700// CHECK-ERROR:                   ^4701// CHECK-ERROR: error: invalid operand for instruction4702// CHECK-ERROR:        suqadd d0, b04703// CHECK-ERROR:                   ^4704 4705//----------------------------------------------------------------------4706// Scalar Unsigned Saturating Accumulated of Signed Value4707//----------------------------------------------------------------------4708 4709        usqadd b0, h14710        usqadd h0, s14711        usqadd s0, d14712        usqadd d0, b14713 4714// CHECK-ERROR: error: invalid operand for instruction4715// CHECK-ERROR:        usqadd b0, h14716// CHECK-ERROR:                   ^4717// CHECK-ERROR: error: invalid operand for instruction4718// CHECK-ERROR:        usqadd h0, s14719// CHECK-ERROR:                   ^4720// CHECK-ERROR: error: invalid operand for instruction4721// CHECK-ERROR:        usqadd s0, d14722// CHECK-ERROR:                   ^4723// CHECK-ERROR: error: invalid operand for instruction4724// CHECK-ERROR:        usqadd d0, b14725// CHECK-ERROR:                   ^4726 4727//----------------------------------------------------------------------4728// Scalar Absolute Value4729//----------------------------------------------------------------------4730 4731    abs d29, s244732 4733// CHECK-ERROR: error: invalid operand for instruction4734// CHECK-ERROR:        abs d29, s244735// CHECK-ERROR:                 ^4736 4737//----------------------------------------------------------------------4738// Scalar Negate4739//----------------------------------------------------------------------4740 4741    neg d29, s244742 4743// CHECK-ERROR: error: invalid operand for instruction4744// CHECK-ERROR:        neg d29, s244745// CHECK-ERROR:                 ^4746 4747//----------------------------------------------------------------------4748// Signed Saturating Doubling Multiply-Add Long4749//----------------------------------------------------------------------4750 4751    sqdmlal s17, h27, s124752    sqdmlal d19, s24, d124753 4754// CHECK-ERROR: error: invalid operand for instruction4755// CHECK-ERROR:        sqdmlal s17, h27, s124756// CHECK-ERROR:                          ^4757// CHECK-ERROR: error: invalid operand for instruction4758// CHECK-ERROR:        sqdmlal d19, s24, d124759// CHECK-ERROR:                          ^4760 4761//----------------------------------------------------------------------4762// Signed Saturating Doubling Multiply-Subtract Long4763//----------------------------------------------------------------------4764 4765    sqdmlsl s14, h12, s254766    sqdmlsl d12, s23, d134767 4768// CHECK-ERROR: error: invalid operand for instruction4769// CHECK-ERROR:        sqdmlsl s14, h12, s254770// CHECK-ERROR:                          ^4771// CHECK-ERROR: error: invalid operand for instruction4772// CHECK-ERROR:        sqdmlsl d12, s23, d134773// CHECK-ERROR:                          ^4774 4775//----------------------------------------------------------------------4776// Signed Saturating Doubling Multiply Long4777//----------------------------------------------------------------------4778 4779    sqdmull s12, h22, s124780    sqdmull d15, s22, d124781 4782// CHECK-ERROR: error: invalid operand for instruction4783// CHECK-ERROR:        sqdmull s12, h22, s124784// CHECK-ERROR:                          ^4785// CHECK-ERROR: error: invalid operand for instruction4786// CHECK-ERROR:        sqdmull d15, s22, d124787// CHECK-ERROR:                          ^4788 4789//----------------------------------------------------------------------4790// Scalar Signed Saturating Extract Unsigned Narrow4791//----------------------------------------------------------------------4792 4793    sqxtun b19, b144794    sqxtun h21, h154795    sqxtun s20, s124796 4797// CHECK-ERROR: error: invalid operand for instruction4798// CHECK-ERROR:        sqxtun b19, b144799// CHECK-ERROR:                    ^4800// CHECK-ERROR: error: invalid operand for instruction4801// CHECK-ERROR:        sqxtun h21, h154802// CHECK-ERROR:                    ^4803// CHECK-ERROR: error: invalid operand for instruction4804// CHECK-ERROR:        sqxtun s20, s124805// CHECK-ERROR:                    ^4806 4807//----------------------------------------------------------------------4808// Scalar Signed Saturating Extract Signed Narrow4809//----------------------------------------------------------------------4810 4811    sqxtn b18, b184812    sqxtn h20, h174813    sqxtn s19, s144814 4815// CHECK-ERROR: error: invalid operand for instruction4816// CHECK-ERROR:        sqxtn b18, b184817// CHECK-ERROR:                   ^4818// CHECK-ERROR: error: invalid operand for instruction4819// CHECK-ERROR:        sqxtn h20, h174820// CHECK-ERROR:                   ^4821// CHECK-ERROR: error: invalid operand for instruction4822// CHECK-ERROR:        sqxtn s19, s144823// CHECK-ERROR:                   ^4824 4825 4826//----------------------------------------------------------------------4827// Scalar Unsigned Saturating Extract Narrow4828//----------------------------------------------------------------------4829 4830    uqxtn b18, b184831    uqxtn h20, h174832    uqxtn s19, s144833 4834// CHECK-ERROR: error: invalid operand for instruction4835// CHECK-ERROR:        uqxtn b18, b184836// CHECK-ERROR:                   ^4837// CHECK-ERROR: error: invalid operand for instruction4838// CHECK-ERROR:        uqxtn h20, h174839// CHECK-ERROR:                   ^4840// CHECK-ERROR: error: invalid operand for instruction4841// CHECK-ERROR:        uqxtn s19, s144842// CHECK-ERROR:                   ^4843 4844//----------------------------------------------------------------------4845// Scalar Signed Shift Right (Immediate)4846//----------------------------------------------------------------------4847        sshr d15, d16, #994848 4849// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4850// CHECK-ERROR:        sshr d15, d16, #994851// CHECK-ERROR:                       ^4852 4853        sshr d15, s16, #314854 4855// CHECK-ERROR: error: invalid operand for instruction4856// CHECK-ERROR:        sshr d15, s16, #314857// CHECK-ERROR:                  ^4858 4859//----------------------------------------------------------------------4860// Scalar Unsigned Shift Right (Immediate)4861//----------------------------------------------------------------------4862 4863        ushr d10, d17, #994864 4865// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4866// CHECK-ERROR:        ushr d10, d17, #994867// CHECK-ERROR:                       ^4868 4869//----------------------------------------------------------------------4870// Scalar Signed Rounding Shift Right (Immediate)4871//----------------------------------------------------------------------4872 4873        srshr d19, d18, #994874 4875// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4876// CHECK-ERROR:        srshr d19, d18, #994877// CHECK-ERROR:                        ^4878 4879//----------------------------------------------------------------------4880// Scalar Unsigned Rounding Shift Right (Immediate)4881//----------------------------------------------------------------------4882 4883        urshr d20, d23, #994884 4885// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4886// CHECK-ERROR:        urshr d20, d23, #994887// CHECK-ERROR:                        ^4888 4889//----------------------------------------------------------------------4890// Scalar Signed Shift Right and Accumulate (Immediate)4891//----------------------------------------------------------------------4892 4893        ssra d18, d12, #994894 4895// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4896// CHECK-ERROR:        ssra d18, d12, #994897// CHECK-ERROR:                       ^4898 4899//----------------------------------------------------------------------4900// Scalar Unsigned Shift Right and Accumulate (Immediate)4901//----------------------------------------------------------------------4902 4903        usra d20, d13, #994904 4905// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4906// CHECK-ERROR:        usra d20, d13, #994907// CHECK-ERROR:                       ^4908 4909//----------------------------------------------------------------------4910// Scalar Signed Rounding Shift Right and Accumulate (Immediate)4911//----------------------------------------------------------------------4912 4913        srsra d15, d11, #994914 4915// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4916// CHECK-ERROR:        srsra d15, d11, #994917// CHECK-ERROR:                        ^4918 4919//----------------------------------------------------------------------4920// Scalar Unsigned Rounding Shift Right and Accumulate (Immediate)4921//----------------------------------------------------------------------4922 4923        ursra d18, d10, #994924 4925// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]4926// CHECK-ERROR:        ursra d18, d10, #994927// CHECK-ERROR:                        ^4928 4929//----------------------------------------------------------------------4930// Scalar Shift Left (Immediate)4931//----------------------------------------------------------------------4932 4933        shl d7, d10, #994934 4935// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]4936// CHECK-ERROR:        shl d7, d10, #994937// CHECK-ERROR:                     ^4938 4939        shl d7, s16, #314940        4941// CHECK-ERROR: error: invalid operand for instruction4942// CHECK-ERROR:        shl d7, s16, #314943// CHECK-ERROR:                ^4944 4945//----------------------------------------------------------------------4946// Signed Saturating Shift Left (Immediate)4947//----------------------------------------------------------------------4948 4949        sqshl b11, b19, #994950        sqshl h13, h18, #994951        sqshl s14, s17, #994952        sqshl d15, d16, #994953 4954// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]4955// CHECK-ERROR:        sqshl b11, b19, #994956// CHECK-ERROR:                        ^4957// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]4958// CHECK-ERROR:        sqshl h13, h18, #994959// CHECK-ERROR:                        ^4960// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]4961// CHECK-ERROR:        sqshl s14, s17, #994962// CHECK-ERROR:                        ^4963// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]4964// CHECK-ERROR:        sqshl d15, d16, #994965// CHECK-ERROR:                        ^4966 4967//----------------------------------------------------------------------4968// Unsigned Saturating Shift Left (Immediate)4969//----------------------------------------------------------------------4970 4971        uqshl b18, b15, #994972        uqshl h11, h18, #994973        uqshl s14, s19, #994974        uqshl d15, d12, #994975 4976// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]4977// CHECK-ERROR:        uqshl b18, b15, #994978// CHECK-ERROR:                        ^4979// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]4980// CHECK-ERROR:        uqshl h11, h18, #994981// CHECK-ERROR:                        ^4982// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]4983// CHECK-ERROR:        uqshl s14, s19, #994984// CHECK-ERROR:                        ^4985// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]4986// CHECK-ERROR:        uqshl d15, d12, #994987// CHECK-ERROR:                        ^4988 4989//----------------------------------------------------------------------4990// Signed Saturating Shift Left Unsigned (Immediate)4991//----------------------------------------------------------------------4992 4993        sqshlu b15, b18, #994994        sqshlu h19, h17, #994995        sqshlu s16, s14, #994996        sqshlu d11, d13, #994997 4998// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 7]4999// CHECK-ERROR:        sqshlu  b15, b18, #995000// CHECK-ERROR:                          ^5001// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 15]5002// CHECK-ERROR:        sqshlu  h19, h17, #995003// CHECK-ERROR:                          ^5004// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 31]5005// CHECK-ERROR:        sqshlu  s16, s14, #995006// CHECK-ERROR:                          ^5007// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]5008// CHECK-ERROR:        sqshlu  d11, d13, #995009// CHECK-ERROR:                          ^5010 5011//----------------------------------------------------------------------5012// Shift Right And Insert (Immediate)5013//----------------------------------------------------------------------5014 5015        sri d10, d12, #995016 5017// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]5018// CHECK-ERROR:        sri d10, d12, #995019// CHECK-ERROR:                      ^5020 5021//----------------------------------------------------------------------5022// Shift Left And Insert (Immediate)5023//----------------------------------------------------------------------5024 5025        sli d10, d14, #995026 5027// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [0, 63]5028// CHECK-ERROR:        sli d10, d14, #995029// CHECK-ERROR:                      ^5030 5031//----------------------------------------------------------------------5032// Signed Saturating Shift Right Narrow (Immediate)5033//----------------------------------------------------------------------5034 5035        sqshrn b10, h15, #995036        sqshrn h17, s10, #995037        sqshrn s18, d10, #995038 5039// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5040// CHECK-ERROR:        sqshrn  b10, h15, #995041// CHECK-ERROR:                          ^5042// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5043// CHECK-ERROR:        sqshrn  h17, s10, #995044// CHECK-ERROR:                          ^5045// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5046// CHECK-ERROR:        sqshrn  s18, d10, #995047// CHECK-ERROR:                          ^5048        5049//----------------------------------------------------------------------5050// Unsigned Saturating Shift Right Narrow (Immediate)5051//----------------------------------------------------------------------5052 5053        uqshrn b12, h10, #995054        uqshrn h10, s14, #995055        uqshrn s10, d12, #995056 5057// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5058// CHECK-ERROR:        uqshrn  b12, h10, #995059// CHECK-ERROR:                          ^5060// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5061// CHECK-ERROR:        uqshrn  h10, s14, #995062// CHECK-ERROR:                          ^5063// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5064// CHECK-ERROR:        uqshrn  s10, d12, #995065// CHECK-ERROR:                          ^5066        5067//----------------------------------------------------------------------5068// Signed Saturating Rounded Shift Right Narrow (Immediate)5069//----------------------------------------------------------------------5070 5071        sqrshrn b10, h13, #995072        sqrshrn h15, s10, #995073        sqrshrn s15, d12, #995074 5075// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5076// CHECK-ERROR:        sqrshrn b10, h13, #995077// CHECK-ERROR:                          ^5078// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5079// CHECK-ERROR:        sqrshrn h15, s10, #995080// CHECK-ERROR:                          ^5081// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5082// CHECK-ERROR:        sqrshrn s15, d12, #995083// CHECK-ERROR:                          ^5084        5085//----------------------------------------------------------------------5086// Unsigned Saturating Rounded Shift Right Narrow (Immediate)5087//----------------------------------------------------------------------5088 5089        uqrshrn b10, h12, #995090        uqrshrn h12, s10, #995091        uqrshrn s10, d10, #995092 5093// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5094// CHECK-ERROR:        uqrshrn b10, h12, #995095// CHECK-ERROR:                          ^5096// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5097// CHECK-ERROR:        uqrshrn h12, s10, #995098// CHECK-ERROR:                          ^5099// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5100// CHECK-ERROR:        uqrshrn s10, d10, #995101// CHECK-ERROR:                          ^5102 5103//----------------------------------------------------------------------5104// Signed Saturating Shift Right Unsigned Narrow (Immediate)5105//----------------------------------------------------------------------5106 5107        sqshrun b15, h10, #995108        sqshrun h20, s14, #995109        sqshrun s10, d15, #995110 5111// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5112// CHECK-ERROR:        sqshrun b15, h10, #995113// CHECK-ERROR:                          ^5114// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5115// CHECK-ERROR:        sqshrun h20, s14, #995116// CHECK-ERROR:                          ^5117// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5118// CHECK-ERROR:        sqshrun s10, d15, #995119// CHECK-ERROR:                          ^5120 5121//----------------------------------------------------------------------5122// Signed Saturating Rounded Shift Right Unsigned Narrow (Immediate)5123//----------------------------------------------------------------------5124 5125        sqrshrun b17, h10, #995126        sqrshrun h10, s13, #995127        sqrshrun s22, d16, #995128 5129// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 8]5130// CHECK-ERROR:        sqrshrun b17, h10, #995131// CHECK-ERROR:                           ^5132// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 16]5133// CHECK-ERROR:        sqrshrun h10, s13, #995134// CHECK-ERROR:                           ^5135// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5136// CHECK-ERROR:        sqrshrun s22, d16, #995137// CHECK-ERROR:                           ^5138 5139//----------------------------------------------------------------------5140// Scalar Signed Fixed-point Convert To Floating-Point (Immediate)5141//----------------------------------------------------------------------5142 5143    scvtf s22, s13, #05144    scvtf s22, s13, #335145    scvtf d21, d12, #655146    scvtf d21, s12, #315147        5148// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5149// CHECK-ERROR:        scvtf s22, s13, #05150// CHECK-ERROR:                        ^5151// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5152// CHECK-ERROR:        scvtf s22, s13, #335153// CHECK-ERROR:                        ^5154// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]5155// CHECK-ERROR:        scvtf d21, d12, #655156// CHECK-ERROR:                        ^5157// CHECK-ERROR: error: invalid operand for instruction5158// CHECK-ERROR:        scvtf d21, s12, #315159// CHECK-ERROR:                   ^5160 5161//----------------------------------------------------------------------5162// Scalar Unsigned Fixed-point Convert To Floating-Point (Immediate)5163//----------------------------------------------------------------------5164 5165    ucvtf s22, s13, #345166    ucvtf d21, d14, #655167    ucvtf d21, s14, #645168        5169// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]5170// CHECK-ERROR:        ucvtf s22, s13, #345171// CHECK-ERROR:                        ^5172// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]5173// CHECK-ERROR:        ucvtf d21, d14, #655174// CHECK-ERROR:                        ^5175// CHECK-ERROR: error: invalid operand for instruction5176// CHECK-ERROR:        ucvtf d21, s14, #645177// CHECK-ERROR:                   ^5178 5179//----------------------------------------------------------------------5180// Scalar Signed Integer Convert To Floating-Point5181//---------------------------------------------------------------------5182 5183    scvtf d0, h05184    scvtf s0, h05185// CHECK-ERROR: error: invalid operand for instruction5186// CHECK-ERROR:         scvtf d0, h05187// CHECK-ERROR:                   ^5188// CHECK-ERROR: error: invalid operand for instruction5189// CHECK-ERROR:         scvtf s0, h05190// CHECK-ERROR:                   ^5191 5192//----------------------------------------------------------------------5193// Scalar Unsigned Integer Convert To Floating-Point5194//---------------------------------------------------------------------5195 5196    ucvtf d0, h05197    ucvtf s0, h05198// CHECK-ERROR: error: invalid operand for instruction5199// CHECK-ERROR:         ucvtf d0, h05200// CHECK-ERROR:                   ^5201// CHECK-ERROR: error: invalid operand for instruction5202// CHECK-ERROR:         ucvtf s0, h05203// CHECK-ERROR:                   ^5204 5205//------------------------------------------------------------------------------5206// Element reverse5207//------------------------------------------------------------------------------5208         rev64 v6.2d, v8.2d5209         rev32 v30.2s, v31.2s5210         rev32 v30.4s, v31.4s5211         rev32 v30.2d, v31.2d5212         rev16 v21.4h, v1.4h5213         rev16 v21.8h, v1.8h5214         rev16 v21.2s, v1.2s5215         rev16 v21.4s, v1.4s5216         rev16 v21.2d, v1.2d5217 5218// CHECK-ERROR: error: invalid operand for instruction5219// CHECK-ERROR:         rev64 v6.2d, v8.2d5220// CHECK-ERROR:                  ^5221// CHECK-ERROR: error: invalid operand for instruction5222// CHECK-ERROR:         rev32 v30.2s, v31.2s5223// CHECK-ERROR:                   ^5224// CHECK-ERROR: error: invalid operand for instruction5225// CHECK-ERROR:         rev32 v30.4s, v31.4s5226// CHECK-ERROR:                   ^5227// CHECK-ERROR: error: invalid operand for instruction5228// CHECK-ERROR:         rev32 v30.2d, v31.2d5229// CHECK-ERROR:                   ^5230// CHECK-ERROR: error: invalid operand for instruction5231// CHECK-ERROR:         rev16 v21.4h, v1.4h5232// CHECK-ERROR:                   ^5233// CHECK-ERROR: error: invalid operand for instruction5234// CHECK-ERROR:         rev16 v21.8h, v1.8h5235// CHECK-ERROR:                   ^5236// CHECK-ERROR: error: invalid operand for instruction5237// CHECK-ERROR:         rev16 v21.2s, v1.2s5238// CHECK-ERROR:                   ^5239// CHECK-ERROR: error: invalid operand for instruction5240// CHECK-ERROR:         rev16 v21.4s, v1.4s5241// CHECK-ERROR:                   ^5242// CHECK-ERROR: error: invalid operand for instruction5243// CHECK-ERROR:         rev16 v21.2d, v1.2d5244// CHECK-ERROR:                   ^5245 5246//------------------------------------------------------------------------------5247// Signed integer pairwise add long5248//------------------------------------------------------------------------------5249 5250         saddlp v3.8h, v21.8h5251         saddlp v8.8b, v5.8b5252         saddlp v9.8h, v1.4s5253         saddlp v0.4s, v1.2d5254 5255// CHECK-ERROR: error: invalid operand for instruction5256// CHECK-ERROR:         saddlp v3.8h, v21.8h5257// CHECK-ERROR:                           ^5258// CHECK-ERROR: error: invalid operand for instruction5259// CHECK-ERROR:         saddlp v8.8b, v5.8b5260// CHECK-ERROR:                   ^5261// CHECK-ERROR: error: invalid operand for instruction5262// CHECK-ERROR:         saddlp v9.8h, v1.4s5263// CHECK-ERROR:                          ^5264// CHECK-ERROR: error: invalid operand for instruction5265// CHECK-ERROR:         saddlp v0.4s, v1.2d5266// CHECK-ERROR:                          ^5267 5268//------------------------------------------------------------------------------5269// Unsigned integer pairwise add long5270//------------------------------------------------------------------------------5271 5272         uaddlp v3.8h, v21.8h5273         uaddlp v8.8b, v5.8b5274         uaddlp v9.8h, v1.4s5275         uaddlp v0.4s, v1.2d5276 5277// CHECK-ERROR: error: invalid operand for instruction5278// CHECK-ERROR:         uaddlp v3.8h, v21.8h5279// CHECK-ERROR:                           ^5280// CHECK-ERROR: error: invalid operand for instruction5281// CHECK-ERROR:         uaddlp v8.8b, v5.8b5282// CHECK-ERROR:                   ^5283// CHECK-ERROR: error: invalid operand for instruction5284// CHECK-ERROR:         uaddlp v9.8h, v1.4s5285// CHECK-ERROR:                          ^5286// CHECK-ERROR: error: invalid operand for instruction5287// CHECK-ERROR:         uaddlp v0.4s, v1.2d5288// CHECK-ERROR:                          ^5289 5290//------------------------------------------------------------------------------5291// Signed integer pairwise add and accumulate long5292//------------------------------------------------------------------------------5293 5294         sadalp v3.16b, v21.16b5295         sadalp v8.4h, v5.4h5296         sadalp v9.4s, v1.4s5297         sadalp v0.4h, v1.2s5298         sadalp v12.2d, v4.8h5299 5300// CHECK-ERROR: error: invalid operand for instruction5301// CHECK-ERROR:         sadalp v3.16b, v21.16b5302// CHECK-ERROR:                   ^5303// CHECK-ERROR: error: invalid operand for instruction5304// CHECK-ERROR:         sadalp v8.4h, v5.4h5305// CHECK-ERROR:                          ^5306// CHECK-ERROR: error: invalid operand for instruction5307// CHECK-ERROR:         sadalp v9.4s, v1.4s5308// CHECK-ERROR:                          ^5309// CHECK-ERROR: error: invalid operand for instruction5310// CHECK-ERROR:         sadalp v0.4h, v1.2s5311// CHECK-ERROR:                          ^5312// CHECK-ERROR: error: invalid operand for instruction5313// CHECK-ERROR:         sadalp v12.2d, v4.8h5314// CHECK-ERROR:                           ^5315 5316//------------------------------------------------------------------------------5317// Unsigned integer pairwise add and accumulate long5318//------------------------------------------------------------------------------5319 5320         uadalp v3.16b, v21.16b5321         uadalp v8.4h, v5.4h5322         uadalp v9.4s, v1.4s5323         uadalp v0.4h, v1.2s5324         uadalp v12.2d, v4.8h5325 5326// CHECK-ERROR: error: invalid operand for instruction5327// CHECK-ERROR:         uadalp v3.16b, v21.16b5328// CHECK-ERROR:                   ^5329// CHECK-ERROR: error: invalid operand for instruction5330// CHECK-ERROR:         uadalp v8.4h, v5.4h5331// CHECK-ERROR:                          ^5332// CHECK-ERROR: error: invalid operand for instruction5333// CHECK-ERROR:         uadalp v9.4s, v1.4s5334// CHECK-ERROR:                          ^5335// CHECK-ERROR: error: invalid operand for instruction5336// CHECK-ERROR:         uadalp v0.4h, v1.2s5337// CHECK-ERROR:                          ^5338// CHECK-ERROR: error: invalid operand for instruction5339// CHECK-ERROR:         uadalp v12.2d, v4.8h5340// CHECK-ERROR:                           ^5341 5342//------------------------------------------------------------------------------5343// Signed integer saturating accumulate of unsigned value5344//------------------------------------------------------------------------------5345 5346         suqadd v0.16b, v31.8b5347         suqadd v1.8b, v9.8h5348         suqadd v13.4h, v21.4s5349         suqadd v4.2s, v0.2d5350 5351// CHECK-ERROR: error: invalid operand for instruction5352// CHECK-ERROR:         suqadd v0.16b, v31.8b5353// CHECK-ERROR:                        ^5354// CHECK-ERROR: error: invalid operand for instruction5355// CHECK-ERROR:         suqadd v1.8b, v9.8h5356// CHECK-ERROR:                       ^5357// CHECK-ERROR: error: invalid operand for instruction5358// CHECK-ERROR:         suqadd v13.4h, v21.4s5359// CHECK-ERROR:                        ^5360// CHECK-ERROR: error: invalid operand for instruction5361// CHECK-ERROR:         suqadd v4.2s, v0.2d5362// CHECK-ERROR:                       ^5363 5364//------------------------------------------------------------------------------5365// Unsigned integer saturating accumulate of signed value5366//------------------------------------------------------------------------------5367 5368         usqadd v0.16b, v31.8b5369         usqadd v2.8h, v4.4h5370         usqadd v13.4h, v21.4s5371         usqadd v4.2s, v0.2d5372 5373// CHECK-ERROR: error: invalid operand for instruction5374// CHECK-ERROR:         usqadd v0.16b, v31.8b5375// CHECK-ERROR:                        ^5376// CHECK-ERROR: error: invalid operand for instruction5377// CHECK-ERROR:         usqadd v2.8h, v4.4h5378// CHECK-ERROR:                       ^5379// CHECK-ERROR: error: invalid operand for instruction5380// CHECK-ERROR:         usqadd v13.4h, v21.4s5381// CHECK-ERROR:                        ^5382// CHECK-ERROR: error: invalid operand for instruction5383// CHECK-ERROR:         usqadd v4.2s, v0.2d5384// CHECK-ERROR:                       ^5385 5386//------------------------------------------------------------------------------5387// Integer saturating absolute5388//------------------------------------------------------------------------------5389 5390         sqabs v0.16b, v31.8b5391         sqabs v2.8h, v4.4h5392         sqabs v6.4s, v8.2s5393         sqabs v6.2d, v8.2s5394 5395// CHECK-ERROR: error: invalid operand for instruction5396// CHECK-ERROR:         sqabs v0.16b, v31.8b5397// CHECK-ERROR:                       ^5398// CHECK-ERROR: error: invalid operand for instruction5399// CHECK-ERROR:         sqabs v2.8h, v4.4h5400// CHECK-ERROR:                      ^5401// CHECK-ERROR: error: invalid operand for instruction5402// CHECK-ERROR:         sqabs v6.4s, v8.2s5403// CHECK-ERROR:                      ^5404// CHECK-ERROR: error: invalid operand for instruction5405// CHECK-ERROR:         sqabs v6.2d, v8.2s5406// CHECK-ERROR:                      ^5407 5408//------------------------------------------------------------------------------5409// Signed integer saturating negate5410//------------------------------------------------------------------------------5411 5412         sqneg v0.16b, v31.8b5413         sqneg v2.8h, v4.4h5414         sqneg v6.4s, v8.2s5415         sqneg v6.2d, v8.2s5416 5417// CHECK-ERROR: error: invalid operand for instruction5418// CHECK-ERROR:         sqneg v0.16b, v31.8b5419// CHECK-ERROR:                       ^5420// CHECK-ERROR: error: invalid operand for instruction5421// CHECK-ERROR:         sqneg v2.8h, v4.4h5422// CHECK-ERROR:                      ^5423// CHECK-ERROR: error: invalid operand for instruction5424// CHECK-ERROR:         sqneg v6.4s, v8.2s5425// CHECK-ERROR:                      ^5426// CHECK-ERROR: error: invalid operand for instruction5427// CHECK-ERROR:         sqneg v6.2d, v8.2s5428// CHECK-ERROR:                      ^5429 5430//------------------------------------------------------------------------------5431// Integer absolute5432//------------------------------------------------------------------------------5433 5434         abs v0.16b, v31.8b5435         abs v2.8h, v4.4h5436         abs v6.4s, v8.2s5437         abs v6.2d, v8.2s5438 5439// CHECK-ERROR: error: invalid operand for instruction5440// CHECK-ERROR:         abs v0.16b, v31.8b5441// CHECK-ERROR:                     ^5442// CHECK-ERROR: error: invalid operand for instruction5443// CHECK-ERROR:         abs v2.8h, v4.4h5444// CHECK-ERROR:                    ^5445// CHECK-ERROR: error: invalid operand for instruction5446// CHECK-ERROR:         abs v6.4s, v8.2s5447// CHECK-ERROR:                    ^5448// CHECK-ERROR: error: invalid operand for instruction5449// CHECK-ERROR:         abs v6.2d, v8.2s5450// CHECK-ERROR:                    ^5451 5452//------------------------------------------------------------------------------5453// Integer count leading sign bits5454//------------------------------------------------------------------------------5455 5456         cls v0.2d, v31.2d5457 5458// CHECK-ERROR: error: invalid operand for instruction5459// CHECK-ERROR:         cls v0.2d, v31.2d5460// CHECK-ERROR:                ^5461 5462//------------------------------------------------------------------------------5463// Integer count leading zeros5464//------------------------------------------------------------------------------5465 5466         clz v0.2d, v31.2d5467 5468// CHECK-ERROR: error: invalid operand for instruction5469// CHECK-ERROR:         clz v0.2d, v31.2d5470// CHECK-ERROR:                ^5471 5472//------------------------------------------------------------------------------5473// Population count5474//------------------------------------------------------------------------------5475 5476         cnt v2.8h, v4.8h5477         cnt v6.4s, v8.4s5478         cnt v6.2d, v8.2d5479         cnt v13.4h, v21.4h5480         cnt v4.2s, v0.2s5481 5482// CHECK-ERROR: error: invalid operand for instruction5483// CHECK-ERROR:         cnt v2.8h, v4.8h5484// CHECK-ERROR:                ^5485// CHECK-ERROR: error: invalid operand for instruction5486// CHECK-ERROR:         cnt v6.4s, v8.4s5487// CHECK-ERROR:                ^5488// CHECK-ERROR: error: invalid operand for instruction5489// CHECK-ERROR:         cnt v6.2d, v8.2d5490// CHECK-ERROR:                ^5491// CHECK-ERROR: error: invalid operand for instruction5492// CHECK-ERROR:         cnt v13.4h, v21.4h5493// CHECK-ERROR:                 ^5494// CHECK-ERROR: error: invalid operand for instruction5495// CHECK-ERROR:         cnt v4.2s, v0.2s5496// CHECK-ERROR:                ^5497 5498 5499//------------------------------------------------------------------------------5500// Bitwise NOT5501//------------------------------------------------------------------------------5502 5503         not v2.8h, v4.8h5504         not v6.4s, v8.4s5505         not v6.2d, v8.2d5506         not v13.4h, v21.4h5507         not v4.2s, v0.2s5508 5509// CHECK-ERROR: error: invalid operand for instruction5510// CHECK-ERROR:         not v2.8h, v4.8h5511// CHECK-ERROR:                ^5512// CHECK-ERROR: error: invalid operand for instruction5513// CHECK-ERROR:         not v6.4s, v8.4s5514// CHECK-ERROR:                ^5515// CHECK-ERROR: error: invalid operand for instruction5516// CHECK-ERROR:         not v6.2d, v8.2d5517// CHECK-ERROR:                ^5518// CHECK-ERROR: error: invalid operand for instruction5519// CHECK-ERROR:         not v13.4h, v21.4h5520// CHECK-ERROR:                 ^5521// CHECK-ERROR: error: invalid operand for instruction5522// CHECK-ERROR:         not v4.2s, v0.2s5523// CHECK-ERROR:                ^5524 5525//------------------------------------------------------------------------------5526// Bitwise reverse5527//------------------------------------------------------------------------------5528 5529         rbit v2.8h, v4.8h5530         rbit v6.4s, v8.4s5531         rbit v6.2d, v8.2d5532         rbit v13.4h, v21.4h5533         rbit v4.2s, v0.2s5534 5535// CHECK-ERROR: error: invalid operand for instruction5536// CHECK-ERROR:         rbit v2.8h, v4.8h5537// CHECK-ERROR:                 ^5538// CHECK-ERROR: error: invalid operand for instruction5539// CHECK-ERROR:         rbit v6.4s, v8.4s5540// CHECK-ERROR:                 ^5541// CHECK-ERROR: error: invalid operand for instruction5542// CHECK-ERROR:         rbit v6.2d, v8.2d5543// CHECK-ERROR:                 ^5544// CHECK-ERROR: error: invalid operand for instruction5545// CHECK-ERROR:         rbit v13.4h, v21.4h5546// CHECK-ERROR:                  ^5547// CHECK-ERROR: error: invalid operand for instruction5548// CHECK-ERROR:         rbit v4.2s, v0.2s5549// CHECK-ERROR:                 ^5550 5551//------------------------------------------------------------------------------5552// Floating-point absolute5553//------------------------------------------------------------------------------5554 5555         fabs v0.16b, v31.16b5556         fabs v2.8h, v4.8h5557         fabs v1.8b, v9.8b5558         fabs v13.4h, v21.4h5559 5560// CHECK-ERROR: error: invalid operand for instruction5561// CHECK-ERROR:         fabs v0.16b, v31.16b5562// CHECK-ERROR:                 ^5563// CHECK-ERROR: error: instruction requires: fullfp165564// CHECK-ERROR:         fabs v2.8h, v4.8h5565// CHECK-ERROR:                 ^5566// CHECK-ERROR: error: invalid operand for instruction5567// CHECK-ERROR:         fabs v1.8b, v9.8b5568// CHECK-ERROR:                 ^5569// CHECK-ERROR: error: instruction requires: fullfp165570// CHECK-ERROR:         fabs v13.4h, v21.4h5571// CHECK-ERROR:                  ^5572 5573//------------------------------------------------------------------------------5574// Floating-point negate5575//------------------------------------------------------------------------------5576 5577         fneg v0.16b, v31.16b5578         fneg v2.8h, v4.8h5579         fneg v1.8b, v9.8b5580         fneg v13.4h, v21.4h5581 5582// CHECK-ERROR: error: invalid operand for instruction5583// CHECK-ERROR:         fneg v0.16b, v31.16b5584// CHECK-ERROR:                 ^5585// CHECK-ERROR: error: instruction requires: fullfp165586// CHECK-ERROR:         fneg v2.8h, v4.8h5587// CHECK-ERROR:                 ^5588// CHECK-ERROR: error: invalid operand for instruction5589// CHECK-ERROR:         fneg v1.8b, v9.8b5590// CHECK-ERROR:                 ^5591// CHECK-ERROR: error: instruction requires: fullfp165592// CHECK-ERROR:         fneg v13.4h, v21.4h5593// CHECK-ERROR:                  ^5594 5595//------------------------------------------------------------------------------5596// Integer extract and narrow5597//------------------------------------------------------------------------------5598 5599         xtn v0.16b, v31.8h5600         xtn v2.8h, v4.4s5601         xtn v6.4s, v8.2d5602         xtn2 v1.8b, v9.8h5603         xtn2 v13.4h, v21.4s5604         xtn2 v4.2s, v0.2d5605 5606// CHECK-ERROR: error: invalid operand for instruction5607// CHECK-ERROR:         xtn v0.16b, v31.8h5608// CHECK-ERROR:             ^5609// CHECK-ERROR: error: invalid operand for instruction5610// CHECK-ERROR:         xtn v2.8h, v4.4s5611// CHECK-ERROR:             ^5612// CHECK-ERROR: error: invalid operand for instruction5613// CHECK-ERROR:         xtn v6.4s, v8.2d5614// CHECK-ERROR:             ^5615// CHECK-ERROR: error: invalid operand for instruction5616// CHECK-ERROR:         xtn2 v1.8b, v9.8h5617// CHECK-ERROR:              ^5618// CHECK-ERROR: error: invalid operand for instruction5619// CHECK-ERROR:         xtn2 v13.4h, v21.4s5620// CHECK-ERROR:              ^5621// CHECK-ERROR: error: invalid operand for instruction5622// CHECK-ERROR:         xtn2 v4.2s, v0.2d5623// CHECK-ERROR:              ^5624 5625//------------------------------------------------------------------------------5626// Signed integer saturating extract and unsigned narrow5627//------------------------------------------------------------------------------5628 5629         sqxtun v0.16b, v31.8h5630         sqxtun v2.8h, v4.4s5631         sqxtun v6.4s, v8.2d5632         sqxtun2 v1.8b, v9.8h5633         sqxtun2 v13.4h, v21.4s5634         sqxtun2 v4.2s, v0.2d5635 5636// CHECK-ERROR: error: invalid operand for instruction5637// CHECK-ERROR:         sqxtun v0.16b, v31.8h5638// CHECK-ERROR:                ^5639// CHECK-ERROR: error: invalid operand for instruction5640// CHECK-ERROR:         sqxtun v2.8h, v4.4s5641// CHECK-ERROR:                ^5642// CHECK-ERROR: error: invalid operand for instruction5643// CHECK-ERROR:         sqxtun v6.4s, v8.2d5644// CHECK-ERROR:                ^5645// CHECK-ERROR: error: invalid operand for instruction5646// CHECK-ERROR:         sqxtun2 v1.8b, v9.8h5647// CHECK-ERROR:                 ^5648// CHECK-ERROR: error: invalid operand for instruction5649// CHECK-ERROR:         sqxtun2 v13.4h, v21.4s5650// CHECK-ERROR:                 ^5651// CHECK-ERROR: error: invalid operand for instruction5652// CHECK-ERROR:         sqxtun2 v4.2s, v0.2d5653// CHECK-ERROR:                 ^5654 5655//------------------------------------------------------------------------------5656// Signed integer saturating extract and narrow5657//------------------------------------------------------------------------------5658 5659         sqxtn v0.16b, v31.8h5660         sqxtn v2.8h, v4.4s5661         sqxtn v6.4s, v8.2d5662         sqxtn2 v1.8b, v9.8h5663         sqxtn2 v13.4h, v21.4s5664         sqxtn2 v4.2s, v0.2d5665 5666// CHECK-ERROR: error: invalid operand for instruction5667// CHECK-ERROR:         sqxtn v0.16b, v31.8h5668// CHECK-ERROR:               ^5669// CHECK-ERROR: error: invalid operand for instruction5670// CHECK-ERROR:         sqxtn v2.8h, v4.4s5671// CHECK-ERROR:               ^5672// CHECK-ERROR: error: invalid operand for instruction5673// CHECK-ERROR:         sqxtn v6.4s, v8.2d5674// CHECK-ERROR:               ^5675// CHECK-ERROR: error: invalid operand for instruction5676// CHECK-ERROR:         sqxtn2 v1.8b, v9.8h5677// CHECK-ERROR:                ^5678// CHECK-ERROR: error: invalid operand for instruction5679// CHECK-ERROR:         sqxtn2 v13.4h, v21.4s5680// CHECK-ERROR:                ^5681// CHECK-ERROR: error: invalid operand for instruction5682// CHECK-ERROR:         sqxtn2 v4.2s, v0.2d5683// CHECK-ERROR:                ^5684 5685//------------------------------------------------------------------------------5686// Unsigned integer saturating extract and narrow5687//------------------------------------------------------------------------------5688 5689         uqxtn v0.16b, v31.8h5690         uqxtn v2.8h, v4.4s5691         uqxtn v6.4s, v8.2d5692         uqxtn2 v1.8b, v9.8h5693         uqxtn2 v13.4h, v21.4s5694         uqxtn2 v4.2s, v0.2d5695 5696// CHECK-ERROR: error: invalid operand for instruction5697// CHECK-ERROR:         uqxtn v0.16b, v31.8h5698// CHECK-ERROR:               ^5699// CHECK-ERROR: error: invalid operand for instruction5700// CHECK-ERROR:         uqxtn v2.8h, v4.4s5701// CHECK-ERROR:               ^5702// CHECK-ERROR: error: invalid operand for instruction5703// CHECK-ERROR:         uqxtn v6.4s, v8.2d5704// CHECK-ERROR:               ^5705// CHECK-ERROR: error: invalid operand for instruction5706// CHECK-ERROR:         uqxtn2 v1.8b, v9.8h5707// CHECK-ERROR:                ^5708// CHECK-ERROR: error: invalid operand for instruction5709// CHECK-ERROR:         uqxtn2 v13.4h, v21.4s5710// CHECK-ERROR:                ^5711// CHECK-ERROR: error: invalid operand for instruction5712// CHECK-ERROR:         uqxtn2 v4.2s, v0.2d5713// CHECK-ERROR:                ^5714 5715//------------------------------------------------------------------------------5716// Integer shift left long5717//------------------------------------------------------------------------------5718 5719         shll2 v2.8h, v4.16b, #75720         shll2 v6.4s, v8.8h, #155721         shll2 v6.2d, v8.4s, #315722         shll v2.8h, v4.16b, #85723         shll v6.4s, v8.8h, #165724         shll v6.2d, v8.4s, #325725         shll v2.8h, v4.8b, #85726         shll v6.4s, v8.4h, #165727         shll v6.2d, v8.2s, #325728         shll2 v2.8h, v4.8b, #55729         shll2 v6.4s, v8.4h, #145730         shll2 v6.2d, v8.2s, #15731 5732// CHECK-ERROR: error: invalid operand for instruction5733// CHECK-ERROR:         shll2 v2.8h, v4.16b, #75734// CHECK-ERROR:                              ^5735// CHECK-ERROR: error: invalid operand for instruction5736// CHECK-ERROR:         shll2 v6.4s, v8.8h, #155737// CHECK-ERROR:                             ^5738// CHECK-ERROR: error: invalid operand for instruction5739// CHECK-ERROR:         shll2 v6.2d, v8.4s, #315740// CHECK-ERROR:                             ^5741// CHECK-ERROR: error: invalid operand for instruction5742// CHECK-ERROR:         shll v2.8h, v4.16b, #85743// CHECK-ERROR:                     ^5744// CHECK-ERROR: error: invalid operand for instruction5745// CHECK-ERROR:         shll v6.4s, v8.8h, #165746// CHECK-ERROR:                     ^5747// CHECK-ERROR: error: invalid operand for instruction5748// CHECK-ERROR:         shll v6.2d, v8.4s, #325749// CHECK-ERROR:                     ^5750// CHECK-ERROR: error: invalid operand for instruction5751// CHECK-ERROR:         shll2 v2.8h, v4.8b, #55752// CHECK-ERROR:                      ^5753// CHECK-ERROR: error: invalid operand for instruction5754// CHECK-ERROR:         shll2 v6.4s, v8.4h, #145755// CHECK-ERROR:                      ^5756// CHECK-ERROR: error: invalid operand for instruction5757// CHECK-ERROR:         shll2 v6.2d, v8.2s, #15758// CHECK-ERROR:                      ^5759 5760//------------------------------------------------------------------------------5761// Floating-point convert downsize5762//------------------------------------------------------------------------------5763 5764         fcvtn v2.8h, v4.4s5765         fcvtn v6.4s, v8.2d5766         fcvtn2 v13.4h, v21.4s5767         fcvtn2 v4.2s, v0.2d5768 5769// CHECK-ERROR: error: invalid operand for instruction5770// CHECK-ERROR:         fcvtn v2.8h, v4.4s5771// CHECK-ERROR:               ^5772// CHECK-ERROR: error: invalid operand for instruction5773// CHECK-ERROR:         fcvtn v6.4s, v8.2d5774// CHECK-ERROR:               ^5775// CHECK-ERROR: error: invalid operand for instruction5776// CHECK-ERROR:         fcvtn2 v13.4h, v21.4s5777// CHECK-ERROR:                ^5778// CHECK-ERROR: error: invalid operand for instruction5779// CHECK-ERROR:         fcvtn2 v4.2s, v0.2d5780// CHECK-ERROR:                ^5781 5782//------------------------------------------------------------------------------5783// Floating-point convert downsize with inexact5784//------------------------------------------------------------------------------5785 5786         fcvtxn v6.4s, v8.2d5787         fcvtxn2 v4.2s, v0.2d5788 5789// CHECK-ERROR: error: invalid operand for instruction5790// CHECK-ERROR:         fcvtxn v6.4s, v8.2d5791// CHECK-ERROR:                ^5792// CHECK-ERROR: error: invalid operand for instruction5793// CHECK-ERROR:         fcvtxn2 v4.2s, v0.2d5794// CHECK-ERROR:                 ^5795 5796//------------------------------------------------------------------------------5797// Floating-point convert upsize5798//------------------------------------------------------------------------------5799 5800         fcvtl2 v9.4s, v1.4h5801         fcvtl2 v0.2d, v1.2s5802         fcvtl v12.4s, v4.8h5803         fcvtl v17.2d, v28.4s5804 5805// CHECK-ERROR: error: invalid operand for instruction5806// CHECK-ERROR:         fcvtl2 v9.4s, v1.4h5807// CHECK-ERROR:                       ^5808// CHECK-ERROR: error: invalid operand for instruction5809// CHECK-ERROR:         fcvtl2 v0.2d, v1.2s5810// CHECK-ERROR:                       ^5811// CHECK-ERROR: error: invalid operand for instruction5812// CHECK-ERROR:         fcvtl v12.4s, v4.8h5813// CHECK-ERROR:                       ^5814// CHECK-ERROR: error: invalid operand for instruction5815// CHECK-ERROR:         fcvtl v17.2d, v28.4s5816// CHECK-ERROR:                       ^5817 5818//------------------------------------------------------------------------------5819// Floating-point round to integral5820//------------------------------------------------------------------------------5821 5822         frintn v0.16b, v31.16b5823         frintn v2.8h, v4.8h5824         frintn v1.8b, v9.8b5825         frintn v13.4h, v21.4h5826 5827         frinta v0.16b, v31.16b5828         frinta v2.8h, v4.8h5829         frinta v1.8b, v9.8b5830         frinta v13.4h, v21.4h5831 5832         frintp v0.16b, v31.16b5833         frintp v2.8h, v4.8h5834         frintp v1.8b, v9.8b5835         frintp v13.4h, v21.4h5836 5837         frintm v0.16b, v31.16b5838         frintm v2.8h, v4.8h5839         frintm v1.8b, v9.8b5840         frintm v13.4h, v21.4h5841 5842         frintx v0.16b, v31.16b5843         frintx v2.8h, v4.8h5844         frintx v1.8b, v9.8b5845         frintx v13.4h, v21.4h5846 5847         frintz v0.16b, v31.16b5848         frintz v2.8h, v4.8h5849         frintz v1.8b, v9.8b5850         frintz v13.4h, v21.4h5851 5852         frinti v0.16b, v31.16b5853         frinti v2.8h, v4.8h5854         frinti v1.8b, v9.8b5855         frinti v13.4h, v21.4h5856 5857         fcvtns v0.16b, v31.16b5858         fcvtns v2.8h, v4.8h5859         fcvtns v1.8b, v9.8b5860         fcvtns v13.4h, v21.4h5861 5862         fcvtnu v0.16b, v31.16b5863         fcvtnu v2.8h, v4.8h5864         fcvtnu v1.8b, v9.8b5865         fcvtnu v13.4h, v21.4h5866 5867         fcvtps v0.16b, v31.16b5868         fcvtps v2.8h, v4.8h5869         fcvtps v1.8b, v9.8b5870         fcvtps v13.4h, v21.4h5871 5872         fcvtpu v0.16b, v31.16b5873         fcvtpu v2.8h, v4.8h5874         fcvtpu v1.8b, v9.8b5875         fcvtpu v13.4h, v21.4h5876 5877         fcvtms v0.16b, v31.16b5878         fcvtms v2.8h, v4.8h5879         fcvtms v1.8b, v9.8b5880         fcvtms v13.4h, v21.4h5881 5882         fcvtmu v0.16b, v31.16b5883         fcvtmu v2.8h, v4.8h5884         fcvtmu v1.8b, v9.8b5885         fcvtmu v13.4h, v21.4h5886 5887         fcvtzs v0.16b, v31.16b5888         fcvtzs v2.8h, v4.8h5889         fcvtzs v1.8b, v9.8b5890         fcvtzs v13.4h, v21.4h5891 5892         fcvtzu v0.16b, v31.16b5893         fcvtzu v2.8h, v4.8h5894         fcvtzu v1.8b, v9.8b5895         fcvtzu v13.4h, v21.4h5896 5897         fcvtas v0.16b, v31.16b5898         fcvtas v2.8h, v4.8h5899         fcvtas v1.8b, v9.8b5900         fcvtas v13.4h, v21.4h5901 5902         fcvtau v0.16b, v31.16b5903         fcvtau v2.8h, v4.8h5904         fcvtau v1.8b, v9.8b5905         fcvtau v13.4h, v21.4h5906 5907         urecpe v0.16b, v31.16b5908         urecpe v2.8h, v4.8h5909         urecpe v1.8b, v9.8b5910         urecpe v13.4h, v21.4h5911         urecpe v1.2d, v9.2d5912 5913         ursqrte v0.16b, v31.16b5914         ursqrte v2.8h, v4.8h5915         ursqrte v1.8b, v9.8b5916         ursqrte v13.4h, v21.4h5917         ursqrte v1.2d, v9.2d5918 5919         scvtf v0.16b, v31.16b5920         scvtf v2.8h, v4.8h5921         scvtf v1.8b, v9.8b5922         scvtf v13.4h, v21.4h5923 5924         ucvtf v0.16b, v31.16b5925         ucvtf v2.8h, v4.8h5926         ucvtf v1.8b, v9.8b5927         ucvtf v13.4h, v21.4h5928 5929         frecpe v0.16b, v31.16b5930         frecpe v2.8h, v4.8h5931         frecpe v1.8b, v9.8b5932         frecpe v13.4h, v21.4h5933 5934         frsqrte v0.16b, v31.16b5935         frsqrte v2.8h, v4.8h5936         frsqrte v1.8b, v9.8b5937         frsqrte v13.4h, v21.4h5938 5939         fsqrt v0.16b, v31.16b5940         fsqrt v2.8h, v4.8h5941         fsqrt v1.8b, v9.8b5942         fsqrt v13.4h, v21.4h5943 5944// CHECK-ERROR: error: invalid operand for instruction5945// CHECK-ERROR:         frintn v0.16b, v31.16b5946// CHECK-ERROR:                   ^5947// CHECK-ERROR: error: instruction requires: fullfp165948// CHECK-ERROR:         frintn v2.8h, v4.8h5949// CHECK-ERROR:                   ^5950// CHECK-ERROR: error: invalid operand for instruction5951// CHECK-ERROR:         frintn v1.8b, v9.8b5952// CHECK-ERROR:                   ^5953// CHECK-ERROR: error: instruction requires: fullfp165954// CHECK-ERROR:         frintn v13.4h, v21.4h5955// CHECK-ERROR:                    ^5956// CHECK-ERROR: error: invalid operand for instruction5957// CHECK-ERROR:         frinta v0.16b, v31.16b5958// CHECK-ERROR:                   ^5959// CHECK-ERROR: error: instruction requires: fullfp165960// CHECK-ERROR:         frinta v2.8h, v4.8h5961// CHECK-ERROR:                   ^5962// CHECK-ERROR: error: invalid operand for instruction5963// CHECK-ERROR:         frinta v1.8b, v9.8b5964// CHECK-ERROR:                   ^5965// CHECK-ERROR: error: instruction requires: fullfp165966// CHECK-ERROR:         frinta v13.4h, v21.4h5967// CHECK-ERROR:                    ^5968// CHECK-ERROR: error: invalid operand for instruction5969// CHECK-ERROR:         frintp v0.16b, v31.16b5970// CHECK-ERROR:                   ^5971// CHECK-ERROR: error: instruction requires: fullfp165972// CHECK-ERROR:         frintp v2.8h, v4.8h5973// CHECK-ERROR:                   ^5974// CHECK-ERROR: error: invalid operand for instruction5975// CHECK-ERROR:         frintp v1.8b, v9.8b5976// CHECK-ERROR:                   ^5977// CHECK-ERROR: error: instruction requires: fullfp165978// CHECK-ERROR:         frintp v13.4h, v21.4h5979// CHECK-ERROR:                    ^5980// CHECK-ERROR: error: invalid operand for instruction5981// CHECK-ERROR:         frintm v0.16b, v31.16b5982// CHECK-ERROR:                   ^5983// CHECK-ERROR: error: instruction requires: fullfp165984// CHECK-ERROR:         frintm v2.8h, v4.8h5985// CHECK-ERROR:                   ^5986// CHECK-ERROR: error: invalid operand for instruction5987// CHECK-ERROR:         frintm v1.8b, v9.8b5988// CHECK-ERROR:                   ^5989// CHECK-ERROR: error: instruction requires: fullfp165990// CHECK-ERROR:         frintm v13.4h, v21.4h5991// CHECK-ERROR:                    ^5992// CHECK-ERROR: error: invalid operand for instruction5993// CHECK-ERROR:         frintx v0.16b, v31.16b5994// CHECK-ERROR:                   ^5995// CHECK-ERROR: error: instruction requires: fullfp165996// CHECK-ERROR:         frintx v2.8h, v4.8h5997// CHECK-ERROR:                   ^5998// CHECK-ERROR: error: invalid operand for instruction5999// CHECK-ERROR:         frintx v1.8b, v9.8b6000// CHECK-ERROR:                   ^6001// CHECK-ERROR: error: instruction requires: fullfp166002// CHECK-ERROR:         frintx v13.4h, v21.4h6003// CHECK-ERROR:                    ^6004// CHECK-ERROR: error: invalid operand for instruction6005// CHECK-ERROR:         frintz v0.16b, v31.16b6006// CHECK-ERROR:                   ^6007// CHECK-ERROR: error: instruction requires: fullfp166008// CHECK-ERROR:         frintz v2.8h, v4.8h6009// CHECK-ERROR:                   ^6010// CHECK-ERROR: error: invalid operand for instruction6011// CHECK-ERROR:         frintz v1.8b, v9.8b6012// CHECK-ERROR:                   ^6013// CHECK-ERROR: error: instruction requires: fullfp166014// CHECK-ERROR:         frintz v13.4h, v21.4h6015// CHECK-ERROR:                    ^6016// CHECK-ERROR: error: invalid operand for instruction6017// CHECK-ERROR:         frinti v0.16b, v31.16b6018// CHECK-ERROR:                   ^6019// CHECK-ERROR: error: instruction requires: fullfp166020// CHECK-ERROR:         frinti v2.8h, v4.8h6021// CHECK-ERROR:                   ^6022// CHECK-ERROR: error: invalid operand for instruction6023// CHECK-ERROR:         frinti v1.8b, v9.8b6024// CHECK-ERROR:                   ^6025// CHECK-ERROR: error: instruction requires: fullfp166026// CHECK-ERROR:         frinti v13.4h, v21.4h6027// CHECK-ERROR:                    ^6028// CHECK-ERROR: error: invalid operand for instruction6029// CHECK-ERROR:         fcvtns v0.16b, v31.16b6030// CHECK-ERROR:                   ^6031// CHECK-ERROR: error: instruction requires: fullfp166032// CHECK-ERROR:         fcvtns v2.8h, v4.8h6033// CHECK-ERROR:                   ^6034// CHECK-ERROR: error: invalid operand for instruction6035// CHECK-ERROR:         fcvtns v1.8b, v9.8b6036// CHECK-ERROR:                   ^6037// CHECK-ERROR: error: instruction requires: fullfp166038// CHECK-ERROR:         fcvtns v13.4h, v21.4h6039// CHECK-ERROR:                    ^6040// CHECK-ERROR: error: invalid operand for instruction6041// CHECK-ERROR:         fcvtnu v0.16b, v31.16b6042// CHECK-ERROR:                   ^6043// CHECK-ERROR: error: instruction requires: fullfp166044// CHECK-ERROR:         fcvtnu v2.8h, v4.8h6045// CHECK-ERROR:                   ^6046// CHECK-ERROR: error: invalid operand for instruction6047// CHECK-ERROR:         fcvtnu v1.8b, v9.8b6048// CHECK-ERROR:                   ^6049// CHECK-ERROR: error: instruction requires: fullfp166050// CHECK-ERROR:         fcvtnu v13.4h, v21.4h6051// CHECK-ERROR:                    ^6052// CHECK-ERROR: error: invalid operand for instruction6053// CHECK-ERROR:         fcvtps v0.16b, v31.16b6054// CHECK-ERROR:                   ^6055// CHECK-ERROR: error: instruction requires: fullfp166056// CHECK-ERROR:         fcvtps v2.8h, v4.8h6057// CHECK-ERROR:                   ^6058// CHECK-ERROR: error: invalid operand for instruction6059// CHECK-ERROR:         fcvtps v1.8b, v9.8b6060// CHECK-ERROR:                   ^6061// CHECK-ERROR: error: instruction requires: fullfp166062// CHECK-ERROR:         fcvtps v13.4h, v21.4h6063// CHECK-ERROR:                    ^6064// CHECK-ERROR: error: invalid operand for instruction6065// CHECK-ERROR:         fcvtpu v0.16b, v31.16b6066// CHECK-ERROR:                   ^6067// CHECK-ERROR: error: instruction requires: fullfp166068// CHECK-ERROR:         fcvtpu v2.8h, v4.8h6069// CHECK-ERROR:                   ^6070// CHECK-ERROR: error: invalid operand for instruction6071// CHECK-ERROR:         fcvtpu v1.8b, v9.8b6072// CHECK-ERROR:                   ^6073// CHECK-ERROR: error: instruction requires: fullfp166074// CHECK-ERROR:         fcvtpu v13.4h, v21.4h6075// CHECK-ERROR:                    ^6076// CHECK-ERROR: error: invalid operand for instruction6077// CHECK-ERROR:         fcvtms v0.16b, v31.16b6078// CHECK-ERROR:                   ^6079// CHECK-ERROR: error: instruction requires: fullfp166080// CHECK-ERROR:         fcvtms v2.8h, v4.8h6081// CHECK-ERROR:                   ^6082// CHECK-ERROR: error: invalid operand for instruction6083// CHECK-ERROR:         fcvtms v1.8b, v9.8b6084// CHECK-ERROR:                   ^6085// CHECK-ERROR: error: instruction requires: fullfp166086// CHECK-ERROR:         fcvtms v13.4h, v21.4h6087// CHECK-ERROR:                    ^6088// CHECK-ERROR: error: invalid operand for instruction6089// CHECK-ERROR:         fcvtmu v0.16b, v31.16b6090// CHECK-ERROR:                   ^6091// CHECK-ERROR: error: instruction requires: fullfp166092// CHECK-ERROR:         fcvtmu v2.8h, v4.8h6093// CHECK-ERROR:                   ^6094// CHECK-ERROR: error: invalid operand for instruction6095// CHECK-ERROR:         fcvtmu v1.8b, v9.8b6096// CHECK-ERROR:                   ^6097// CHECK-ERROR: error: instruction requires: fullfp166098// CHECK-ERROR:         fcvtmu v13.4h, v21.4h6099// CHECK-ERROR:                    ^6100// CHECK-ERROR: error: invalid operand for instruction6101// CHECK-ERROR:         fcvtzs v0.16b, v31.16b6102// CHECK-ERROR:                   ^6103// CHECK-ERROR: error: instruction requires: fullfp166104// CHECK-ERROR:         fcvtzs v2.8h, v4.8h6105// CHECK-ERROR:                   ^6106// CHECK-ERROR: error: invalid operand for instruction6107// CHECK-ERROR:         fcvtzs v1.8b, v9.8b6108// CHECK-ERROR:                   ^6109// CHECK-ERROR: error: instruction requires: fullfp166110// CHECK-ERROR:         fcvtzs v13.4h, v21.4h6111// CHECK-ERROR:                    ^6112// CHECK-ERROR: error: invalid operand for instruction6113// CHECK-ERROR:         fcvtzu v0.16b, v31.16b6114// CHECK-ERROR:                   ^6115// CHECK-ERROR: error: instruction requires: fullfp166116// CHECK-ERROR:         fcvtzu v2.8h, v4.8h6117// CHECK-ERROR:                   ^6118// CHECK-ERROR: error: invalid operand for instruction6119// CHECK-ERROR:         fcvtzu v1.8b, v9.8b6120// CHECK-ERROR:                   ^6121// CHECK-ERROR: error: instruction requires: fullfp166122// CHECK-ERROR:         fcvtzu v13.4h, v21.4h6123// CHECK-ERROR:                    ^6124// CHECK-ERROR: error: invalid operand for instruction6125// CHECK-ERROR:         fcvtas v0.16b, v31.16b6126// CHECK-ERROR:                   ^6127// CHECK-ERROR: error: instruction requires: fullfp166128// CHECK-ERROR:         fcvtas v2.8h, v4.8h6129// CHECK-ERROR:                   ^6130// CHECK-ERROR: error: invalid operand for instruction6131// CHECK-ERROR:         fcvtas v1.8b, v9.8b6132// CHECK-ERROR:                   ^6133// CHECK-ERROR: error: instruction requires: fullfp166134// CHECK-ERROR:         fcvtas v13.4h, v21.4h6135// CHECK-ERROR:                    ^6136// CHECK-ERROR: error: invalid operand for instruction6137// CHECK-ERROR:         fcvtau v0.16b, v31.16b6138// CHECK-ERROR:                   ^6139// CHECK-ERROR: error: instruction requires: fullfp166140// CHECK-ERROR:         fcvtau v2.8h, v4.8h6141// CHECK-ERROR:                   ^6142// CHECK-ERROR: error: invalid operand for instruction6143// CHECK-ERROR:         fcvtau v1.8b, v9.8b6144// CHECK-ERROR:                   ^6145// CHECK-ERROR: error: instruction requires: fullfp166146// CHECK-ERROR:         fcvtau v13.4h, v21.4h6147// CHECK-ERROR:                    ^6148// CHECK-ERROR: error: invalid operand for instruction6149// CHECK-ERROR:         urecpe v0.16b, v31.16b6150// CHECK-ERROR:                   ^6151// CHECK-ERROR: error: invalid operand for instruction6152// CHECK-ERROR:         urecpe v2.8h, v4.8h6153// CHECK-ERROR:                   ^6154// CHECK-ERROR: error: invalid operand for instruction6155// CHECK-ERROR:         urecpe v1.8b, v9.8b6156// CHECK-ERROR:                   ^6157// CHECK-ERROR: error: invalid operand for instruction6158// CHECK-ERROR:         urecpe v13.4h, v21.4h6159// CHECK-ERROR:                    ^6160// CHECK-ERROR: error: invalid operand for instruction6161// CHECK-ERROR:         urecpe v1.2d, v9.2d6162// CHECK-ERROR:                   ^6163// CHECK-ERROR: error: invalid operand for instruction6164// CHECK-ERROR:         ursqrte v0.16b, v31.16b6165// CHECK-ERROR:                    ^6166// CHECK-ERROR: error: invalid operand for instruction6167// CHECK-ERROR:         ursqrte v2.8h, v4.8h6168// CHECK-ERROR:                    ^6169// CHECK-ERROR: error: invalid operand for instruction6170// CHECK-ERROR:         ursqrte v1.8b, v9.8b6171// CHECK-ERROR:                    ^6172// CHECK-ERROR: error: invalid operand for instruction6173// CHECK-ERROR:         ursqrte v13.4h, v21.4h6174// CHECK-ERROR:                     ^6175// CHECK-ERROR: error: invalid operand for instruction6176// CHECK-ERROR:         ursqrte v1.2d, v9.2d6177// CHECK-ERROR:                    ^6178// CHECK-ERROR: error: invalid operand for instruction6179// CHECK-ERROR:         scvtf v0.16b, v31.16b6180// CHECK-ERROR:                  ^6181// CHECK-ERROR: error: instruction requires: fullfp166182// CHECK-ERROR:         scvtf v2.8h, v4.8h6183// CHECK-ERROR:                  ^6184// CHECK-ERROR: error: invalid operand for instruction6185// CHECK-ERROR:         scvtf v1.8b, v9.8b6186// CHECK-ERROR:                  ^6187// CHECK-ERROR: error: instruction requires: fullfp166188// CHECK-ERROR:         scvtf v13.4h, v21.4h6189// CHECK-ERROR:                   ^6190// CHECK-ERROR: error: invalid operand for instruction6191// CHECK-ERROR:         ucvtf v0.16b, v31.16b6192// CHECK-ERROR:                  ^6193// CHECK-ERROR: error: instruction requires: fullfp166194// CHECK-ERROR:         ucvtf v2.8h, v4.8h6195// CHECK-ERROR:                  ^6196// CHECK-ERROR: error: invalid operand for instruction6197// CHECK-ERROR:         ucvtf v1.8b, v9.8b6198// CHECK-ERROR:                  ^6199// CHECK-ERROR: error: instruction requires: fullfp166200// CHECK-ERROR:         ucvtf v13.4h, v21.4h6201// CHECK-ERROR:                   ^6202// CHECK-ERROR: error: invalid operand for instruction6203// CHECK-ERROR:         frecpe v0.16b, v31.16b6204// CHECK-ERROR:                   ^6205// CHECK-ERROR: error: instruction requires: fullfp166206// CHECK-ERROR:         frecpe v2.8h, v4.8h6207// CHECK-ERROR:                   ^6208// CHECK-ERROR: error: invalid operand for instruction6209// CHECK-ERROR:         frecpe v1.8b, v9.8b6210// CHECK-ERROR:                   ^6211// CHECK-ERROR: error: instruction requires: fullfp166212// CHECK-ERROR:         frecpe v13.4h, v21.4h6213// CHECK-ERROR:                    ^6214// CHECK-ERROR: error: invalid operand for instruction6215// CHECK-ERROR:         frsqrte v0.16b, v31.16b6216// CHECK-ERROR:                    ^6217// CHECK-ERROR: error: instruction requires: fullfp166218// CHECK-ERROR:         frsqrte v2.8h, v4.8h6219// CHECK-ERROR:                    ^6220// CHECK-ERROR: error: invalid operand for instruction6221// CHECK-ERROR:         frsqrte v1.8b, v9.8b6222// CHECK-ERROR:                    ^6223// CHECK-ERROR: error: instruction requires: fullfp166224// CHECK-ERROR:         frsqrte v13.4h, v21.4h6225// CHECK-ERROR:                     ^6226// CHECK-ERROR: error: invalid operand for instruction6227// CHECK-ERROR:         fsqrt v0.16b, v31.16b6228// CHECK-ERROR:                  ^6229// CHECK-ERROR: error: instruction requires: fullfp166230// CHECK-ERROR:         fsqrt v2.8h, v4.8h6231// CHECK-ERROR:                  ^6232// CHECK-ERROR: error: invalid operand for instruction6233// CHECK-ERROR:         fsqrt v1.8b, v9.8b6234// CHECK-ERROR:                  ^6235// CHECK-ERROR: error: instruction requires: fullfp166236// CHECK-ERROR:         fsqrt v13.4h, v21.4h6237// CHECK-ERROR:                   ^6238 6239//----------------------------------------------------------------------6240// Scalar Floating-point Convert To Signed Fixed-point (Immediate)6241//----------------------------------------------------------------------6242 6243    fcvtzs s21, s12, #06244    fcvtzs d21, d12, #656245    fcvtzs s21, d12, #16246 6247// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]6248// CHECK-ERROR:        fcvtzs s21, s12, #06249// CHECK-ERROR:                         ^6250// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]6251// CHECK-ERROR:        fcvtzs d21, d12, #656252// CHECK-ERROR:                         ^6253// CHECK-ERROR: error: invalid operand for instruction6254// CHECK-ERROR:        fcvtzs s21, d12, #16255// CHECK-ERROR:                    ^6256 6257//----------------------------------------------------------------------6258// Scalar Floating-point Convert To Unsigned Fixed-point (Immediate)6259//----------------------------------------------------------------------6260 6261    fcvtzu s21, s12, #336262    fcvtzu d21, d12, #06263    fcvtzu s21, d12, #16264 6265// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 32]6266// CHECK-ERROR:        fcvtzu s21, s12, #336267// CHECK-ERROR:                         ^6268// CHECK-ERROR: error: {{expected|immediate must be an}} integer in range [1, 64]6269// CHECK-ERROR:        fcvtzu d21, d12, #06270// CHECK-ERROR:                         ^6271// CHECK-ERROR: error: invalid operand for instruction6272// CHECK-ERROR:        fcvtzu s21, d12, #16273// CHECK-ERROR:                    ^6274 6275//----------------------------------------------------------------------6276// Scalar Unsigned Saturating Extract Narrow6277//----------------------------------------------------------------------6278 6279        aese v0.8h, v1.8h6280        aese v0.4s, v1.4s6281        aese v0.2d, v1.2d6282        aesd v0.8h, v1.8h6283        aesmc v0.8h, v1.8h6284        aesimc v0.8h, v1.8h6285 6286// CHECK:  error: invalid operand for instruction6287// CHECK:         aese v0.8h, v1.8h6288// CHECK:                 ^6289// CHECK:  error: invalid operand for instruction6290// CHECK:         aese v0.4s, v1.4s6291// CHECK:                 ^6292// CHECK:  error: invalid operand for instruction6293// CHECK:         aese v0.2d, v1.2d6294// CHECK:                 ^6295// CHECK:  error: invalid operand for instruction6296// CHECK:         aesd v0.8h, v1.8h6297// CHECK:                 ^6298// CHECK:  error: invalid operand for instruction6299// CHECK:         aesmc v0.8h, v1.8h6300// CHECK:                  ^6301// CHECK:  error: invalid operand for instruction6302// CHECK:         aesimc v0.8h, v1.8h6303// CHECK:                   ^6304 6305        sha1h b0, b16306        sha1h h0, h16307        sha1h d0, d16308        sha1h q0, q16309        sha1su1 v0.16b, v1.16b6310        sha1su1 v0.8h, v1.8h6311        sha1su1 v0.2d, v1.2d6312        sha256su0 v0.16b, v1.16b6313 6314// CHECK:  error: invalid operand for instruction6315// CHECK:         sha1h b0, b16316// CHECK:               ^6317// CHECK:  error: invalid operand for instruction6318// CHECK:         sha1h h0, h16319// CHECK:               ^6320// CHECK:  error: invalid operand for instruction6321// CHECK:         sha1h d0, d16322// CHECK:               ^6323// CHECK:  error: invalid operand for instruction6324// CHECK:         sha1h q0, q16325// CHECK:               ^6326// CHECK:  error: invalid operand for instruction6327// CHECK:         sha1su1 v0.16b, v1.16b6328// CHECK:                    ^6329// CHECK:  error: invalid operand for instruction6330// CHECK:         sha1su1 v0.8h, v1.8h6331// CHECK:                    ^6332// CHECK:  error: invalid operand for instruction6333// CHECK:         sha1su1 v0.2d, v1.2d6334// CHECK:                    ^6335// CHECK:  error: invalid operand for instruction6336// CHECK:         sha256su0 v0.16b, v1.16b6337// CHECK:                      ^6338 6339        sha1c q0, q1, v2.4s6340        sha1p q0, q1, v2.4s6341        sha1m q0, q1, v2.4s6342        sha1su0 v0.16b, v1.16b, v2.16b6343        sha1su0 v0.8h, v1.8h, v2.8h6344        sha1su0 v0.2d, v1.2d, v2.2d6345        sha256h q0, q1, q26346        sha256h v0.4s, v1.4s, v2.4s6347        sha256h2 q0, q1, q26348        sha256su1 v0.16b, v1.16b, v2.16b6349 6350// CHECK:  error: invalid operand for instruction6351// CHECK:         sha1c q0, q1, v2.4s6352// CHECK:                   ^6353// CHECK:  error: invalid operand for instruction6354// CHECK:         sha1p q0, q1, v2.4s6355// CHECK:                   ^6356// CHECK:  error: invalid operand for instruction6357// CHECK:         sha1m q0, q1, v2.4s6358// CHECK:                   ^6359// CHECK:  error: invalid operand for instruction6360// CHECK:         sha1su0 v0.16b, v1.16b, v2.16b6361// CHECK:                    ^6362// CHECK:  error: invalid operand for instruction6363// CHECK:         sha1su0 v0.8h, v1.8h, v2.8h6364// CHECK:                    ^6365// CHECK:  error: invalid operand for instruction6366// CHECK:         sha1su0 v0.2d, v1.2d, v2.2d6367// CHECK:                    ^6368// CHECK:  error: too few operands for instruction6369// CHECK:         sha256h q0, q1, q26370// CHECK:         ^6371// CHECK:  error: invalid operand for instruction6372// CHECK:         sha256h v0.4s, v1.4s, v2.4s6373// CHECK:                    ^6374// CHECK:  error: too few operands for instruction6375// CHECK:         sha256h2 q0, q1, q26376// CHECK:         ^6377// CHECK:  error: invalid operand for instruction6378// CHECK:         sha256su1 v0.16b, v1.16b, v2.16b6379// CHECK:                      ^6380 6381//----------------------------------------------------------------------6382// Bitwise extract6383//----------------------------------------------------------------------6384 6385        ext v0.8b, v1.8b, v2.4h, #0x36386        ext v0.4h, v1.4h, v2.4h, #0x36387        ext v0.2s, v1.2s, v2.2s, #0x16388        ext v0.1d, v1.1d, v2.1d, #0x06389 6390// CHECK-ERROR: error: invalid operand for instruction6391// CHECK-ERROR:         ext v0.8b, v1.8b, v2.4h, #0x36392// CHECK-ERROR:                              ^6393// CHECK-ERROR: error: invalid operand for instruction6394// CHECK-ERROR:         ext v0.4h, v1.4h, v2.4h, #0x36395// CHECK-ERROR:                ^6396// CHECK-ERROR: error: invalid operand for instruction6397// CHECK-ERROR:         ext v0.2s, v1.2s, v2.2s, #0x16398// CHECK-ERROR:                ^6399// CHECK-ERROR: error: invalid operand for instruction6400// CHECK-ERROR:         ext v0.1d, v1.1d, v2.1d, #0x06401// CHECK-ERROR:                ^6402 6403        ext v0.16b, v1.16b, v2.8h, #0x36404        ext v0.8h, v1.8h, v2.8h, #0x36405        ext v0.4s, v1.4s, v2.4s, #0x16406        ext v0.2d, v1.2d, v2.2d, #0x06407 6408// CHECK-ERROR: error: invalid operand for instruction6409// CHECK-ERROR:         ext v0.16b, v1.16b, v2.8h, #0x36410// CHECK-ERROR:                                ^6411// CHECK-ERROR: error: invalid operand for instruction6412// CHECK-ERROR:         ext v0.8h, v1.8h, v2.8h, #0x36413// CHECK-ERROR:                ^6414// CHECK-ERROR: error: invalid operand for instruction6415// CHECK-ERROR:         ext v0.4s, v1.4s, v2.4s, #0x16416// CHECK-ERROR:                ^6417// CHECK-ERROR: error: invalid operand for instruction6418// CHECK-ERROR:         ext v0.2d, v1.2d, v2.2d, #0x06419// CHECK-ERROR:                ^6420 6421 6422//----------------------------------------------------------------------6423// Permutation with 3 vectors6424//----------------------------------------------------------------------6425 6426        uzp1 v0.16b, v1.8b, v2.8b6427// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6428        uzp1 v0.8b, v1.4b, v2.4b6429// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6430        uzp1 v0.8h, v1.4h, v2.4h6431// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6432        uzp1 v0.4h, v1.2h, v2.2h6433// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6434        uzp1 v0.4s, v1.2s, v2.2s6435// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6436        uzp1 v0.2s, v1.1s, v2.1s6437// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6438// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6439        uzp1 v0.2d, v1.1d, v2.1d6440// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6441        uzp1 v0.1d, v1.1d, v2.1d6442// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6443 6444 6445 6446        uzp2 v0.16b, v1.8b, v2.8b6447// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6448        uzp2 v0.8b, v1.4b, v2.4b6449// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6450        uzp2 v0.8h, v1.4h, v2.4h6451// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6452        uzp2 v0.4h, v1.2h, v2.2h6453// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6454        uzp2 v0.4s, v1.2s, v2.2s6455// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6456        uzp2 v0.2s, v1.1s, v2.1s6457// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6458// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6459        uzp2 v0.2d, v1.1d, v2.1d6460// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6461        uzp2 v0.1d, v1.1d, v2.1d6462// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6463 6464 6465 6466        zip1 v0.16b, v1.8b, v2.8b6467// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6468        zip1 v0.8b, v1.4b, v2.4b6469// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6470        zip1 v0.8h, v1.4h, v2.4h6471// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6472        zip1 v0.4h, v1.2h, v2.2h6473// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6474        zip1 v0.4s, v1.2s, v2.2s6475// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6476        zip1 v0.2s, v1.1s, v2.1s6477// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6478// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6479        zip1 v0.2d, v1.1d, v2.1d6480// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6481        zip1 v0.1d, v1.1d, v2.1d6482// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6483 6484 6485 6486        zip2 v0.16b, v1.8b, v2.8b6487// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6488        zip2 v0.8b, v1.4b, v2.4b6489// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6490        zip2 v0.8h, v1.4h, v2.4h6491// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6492        zip2 v0.4h, v1.2h, v2.2h6493// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6494        zip2 v0.4s, v1.2s, v2.2s6495// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6496        zip2 v0.2s, v1.1s, v2.1s6497// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6498// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6499        zip2 v0.2d, v1.1d, v2.1d6500// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6501        zip2 v0.1d, v1.1d, v2.1d6502// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6503 6504 6505 6506        trn1 v0.16b, v1.8b, v2.8b6507// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6508        trn1 v0.8b, v1.4b, v2.4b6509// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6510        trn1 v0.8h, v1.4h, v2.4h6511// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6512        trn1 v0.4h, v1.2h, v2.2h6513// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6514        trn1 v0.4s, v1.2s, v2.2s6515// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6516        trn1 v0.2s, v1.1s, v2.1s6517// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6518// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6519        trn1 v0.2d, v1.1d, v2.1d6520// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6521        trn1 v0.1d, v1.1d, v2.1d6522// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6523 6524 6525 6526        trn2 v0.16b, v1.8b, v2.8b6527// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6528        trn2 v0.8b, v1.4b, v2.4b6529// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6530        trn2 v0.8h, v1.4h, v2.4h6531// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6532        trn2 v0.4h, v1.2h, v2.2h6533// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6534        trn2 v0.4s, v1.2s, v2.2s6535// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6536        trn2 v0.2s, v1.1s, v2.1s6537// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6538// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6539        trn2 v0.2d, v1.1d, v2.1d6540// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6541        trn2 v0.1d, v1.1d, v2.1d6542// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6543 6544//----------------------------------------------------------------------6545// Permutation with 3 vectors6546//----------------------------------------------------------------------6547 6548        uzp1 v0.16b, v1.8b, v2.8b6549// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6550        uzp1 v0.8b, v1.4b, v2.4b6551// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6552        uzp1 v0.8h, v1.4h, v2.4h6553// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6554        uzp1 v0.4h, v1.2h, v2.2h6555// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6556        uzp1 v0.4s, v1.2s, v2.2s6557// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6558        uzp1 v0.2s, v1.1s, v2.1s6559// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6560// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6561        uzp1 v0.2d, v1.1d, v2.1d6562// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6563        uzp1 v0.1d, v1.1d, v2.1d6564// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6565 6566        uzp2 v0.16b, v1.8b, v2.8b6567// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6568        uzp2 v0.8b, v1.4b, v2.4b6569// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6570        uzp2 v0.8h, v1.4h, v2.4h6571// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6572        uzp2 v0.4h, v1.2h, v2.2h6573// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6574        uzp2 v0.4s, v1.2s, v2.2s6575// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6576        uzp2 v0.2s, v1.1s, v2.1s6577// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6578// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6579        uzp2 v0.2d, v1.1d, v2.1d6580// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6581        uzp2 v0.1d, v1.1d, v2.1d6582// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6583 6584        zip1 v0.16b, v1.8b, v2.8b6585// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6586        zip1 v0.8b, v1.4b, v2.4b6587// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6588        zip1 v0.8h, v1.4h, v2.4h6589// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6590        zip1 v0.4h, v1.2h, v2.2h6591// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6592        zip1 v0.4s, v1.2s, v2.2s6593// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6594        zip1 v0.2s, v1.1s, v2.1s6595// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6596// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6597        zip1 v0.2d, v1.1d, v2.1d6598// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6599        zip1 v0.1d, v1.1d, v2.1d6600// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6601 6602 6603 6604 6605 6606        zip2 v0.16b, v1.8b, v2.8b6607// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6608        zip2 v0.8b, v1.4b, v2.4b6609// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6610        zip2 v0.8h, v1.4h, v2.4h6611// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6612        zip2 v0.4h, v1.2h, v2.2h6613// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6614        zip2 v0.4s, v1.2s, v2.2s6615// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6616        zip2 v0.2s, v1.1s, v2.1s6617// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6618// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6619        zip2 v0.2d, v1.1d, v2.1d6620// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6621        zip2 v0.1d, v1.1d, v2.1d6622// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6623 6624 6625 6626 6627        trn1 v0.16b, v1.8b, v2.8b6628// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6629        trn1 v0.8b, v1.4b, v2.4b6630// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6631        trn1 v0.8h, v1.4h, v2.4h6632// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6633        trn1 v0.4h, v1.2h, v2.2h6634// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6635        trn1 v0.4s, v1.2s, v2.2s6636// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6637        trn1 v0.2s, v1.1s, v2.1s6638// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6639// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6640        trn1 v0.2d, v1.1d, v2.1d6641// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6642        trn1 v0.1d, v1.1d, v2.1d6643// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6644 6645 6646 6647        trn2 v0.16b, v1.8b, v2.8b6648// CHECK-ERROR: [[@LINE-1]]:22: error: invalid operand for instruction6649        trn2 v0.8b, v1.4b, v2.4b6650// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6651        trn2 v0.8h, v1.4h, v2.4h6652// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6653        trn2 v0.4h, v1.2h, v2.2h6654// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6655        trn2 v0.4s, v1.2s, v2.2s6656// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6657        trn2 v0.2s, v1.1s, v2.1s6658// CHECK-ERROR: [[@LINE-1]]:21: error: invalid vector kind qualifier6659// CHECK-ERROR: [[@LINE-2]]:28: error: invalid vector kind qualifier6660        trn2 v0.2d, v1.1d, v2.1d6661// CHECK-ERROR: [[@LINE-1]]:21: error: invalid operand for instruction6662        trn2 v0.1d, v1.1d, v2.1d6663// CHECK-ERROR: [[@LINE-1]]:14: error: invalid operand for instruction6664 6665 6666 6667//----------------------------------------------------------------------6668// Floating Point  multiply (scalar, by element)6669//----------------------------------------------------------------------6670      // mismatched and invalid vector types6671      fmul    s0, s1, v1.h[0]6672      fmul    h0, h1, v1.s[0]6673      // invalid lane6674      fmul    s2, s29, v10.s[4]6675 6676// CHECK-ERROR: error: invalid operand for instruction6677// CHECK-ERROR:          fmul    s0, s1, v1.h[0]6678// CHECK-ERROR:                             ^6679// CHECK-ERROR: error: invalid operand for instruction6680// CHECK-ERROR:          fmul    h0, h1, v1.s[0]6681// CHECK-ERROR:                  ^6682// CHECK-ERROR: vector lane must be an integer in range6683// CHECK-ERROR:          fmul    s2, s29, v10.s[4]6684// CHECK-ERROR:                                 ^6685 6686//----------------------------------------------------------------------6687// Floating Point  multiply extended (scalar, by element)6688//----------------------------------------------------------------------6689      // mismatched and invalid vector types6690      fmulx    d0, d1, v1.b[0]6691      fmulx    h0, h1, v1.d[0]6692      // invalid lane6693      fmulx    d2, d29, v10.d[3]6694 6695// CHECK-ERROR: error: invalid operand for instruction6696// CHECK-ERROR:          fmulx    d0, d1, v1.b[0]6697// CHECK-ERROR:                              ^6698// CHECK-ERROR: error: invalid operand for instruction6699// CHECK-ERROR:          fmulx    h0, h1, v1.d[0]6700// CHECK-ERROR:                   ^6701// CHECK-ERROR: vector lane must be an integer in range6702// CHECK-ERROR:          fmulx    d2, d29, v10.d[3]6703// CHECK-ERROR:                                  ^6704 6705//----------------------------------------------------------------------6706// Floating Point fused multiply-add (scalar, by element)6707//----------------------------------------------------------------------6708      // mismatched and invalid vector types6709      fmla    b0, b1, v1.b[0]6710      fmla    d30, s11, v1.d[1]6711      // invalid lane6712      fmla    s16, s22, v16.s[5]6713 6714// CHECK-ERROR: error: invalid operand for instruction6715// CHECK-ERROR:          fmla    b0, b1, v1.b[0]6716// CHECK-ERROR:                  ^6717// CHECK-ERROR: error: invalid operand for instruction6718// CHECK-ERROR:          fmla    d30, s11, v1.d[1]6719// CHECK-ERROR:                       ^6720// CHECK-ERROR: vector lane must be an integer in range6721// CHECK-ERROR:          fmla    s16, s22, v16.s[5]6722// CHECK-ERROR:                                  ^6723 6724//----------------------------------------------------------------------6725// Floating Point fused multiply-subtract (scalar, by element)6726//----------------------------------------------------------------------6727    // mismatched and invalid vector types6728    fmls    s29, h10, v28.s[1]6729    fmls    h7, h17, v26.s[2]6730    // invalid lane6731    fmls    d16, d22, v16.d[-1]6732 6733// CHECK-ERROR: error: invalid operand for instruction6734// CHECK-ERROR:          fmls    s29, h10, v28.s[1]6735// CHECK-ERROR:                       ^6736// CHECK-ERROR: error: invalid operand for instruction6737// CHECK-ERROR:          fmls    h7, h17, v26.s[2]6738// CHECK-ERROR:                  ^6739// CHECK-ERROR: error: vector lane must be an integer in range [0, 1]6740// CHECK-ERROR:          fmls    d16, d22, v16.d[-1]6741// CHECK-ERROR:                                  ^6742 6743//----------------------------------------------------------------------6744// Scalar Signed saturating doubling multiply-add long6745// (scalar, by element)6746//----------------------------------------------------------------------6747    // mismatched and invalid vector types6748    sqdmlal s0, h0, v0.s[0]6749    sqdmlal s8, s9, v14.s[1]6750    // invalid lane6751    sqdmlal d4, s5, v1.s[5]6752    // invalid vector index6753    sqdmlal s0, h0, v17.h[0]6754 6755// CHECK-ERROR: error: invalid operand for instruction6756// CHECK-ERROR:          sqdmlal s0, h0, v0.s[0]6757// CHECK-ERROR:                             ^6758// CHECK-ERROR: error: invalid operand for instruction6759// CHECK-ERROR:          sqdmlal s8, s9, v14.s[1]6760// CHECK-ERROR:                  ^6761// CHECK-ERROR: vector lane must be an integer in range6762// CHECK-ERROR:          sqdmlal d4, s5, v1.s[5]6763// CHECK-ERROR:                               ^6764// CHECK-ERROR: error: invalid operand for instruction6765// CHECK-ERROR:          sqdmlal s0, h0, v17.h[0]6766// CHECK-ERROR:                           ^6767 6768//----------------------------------------------------------------------6769// Scalar Signed saturating doubling multiply-subtract long6770// (scalar, by element)6771//----------------------------------------------------------------------6772    // mismatched and invalid vector types6773    sqdmlsl s1, h1, v1.d[0]6774    sqdmlsl d1, h1, v13.s[0]6775    // invalid lane6776    sqdmlsl d1, s1, v13.s[4]6777    // invalid vector index6778    sqdmlsl s1, h1, v20.h[7]6779 6780// CHECK-ERROR: error: invalid operand for instruction6781// CHECK-ERROR:          sqdmlsl s1, h1, v1.d[0]6782// CHECK-ERROR:                             ^6783// CHECK-ERROR: error: invalid operand for instruction6784// CHECK-ERROR:          sqdmlsl d1, h1, v13.s[0]6785// CHECK-ERROR:                      ^6786// CHECK-ERROR: vector lane must be an integer in range6787// CHECK-ERROR:          sqdmlsl d1, s1, v13.s[4]6788// CHECK-ERROR:                                ^6789// CHECK-ERROR: error: invalid operand for instruction6790// CHECK-ERROR:          sqdmlsl s1, h1, v20.h[7]6791// CHECK-ERROR:                           ^6792 6793//----------------------------------------------------------------------6794// Scalar Signed saturating doubling multiply long (scalar, by element)6795//----------------------------------------------------------------------6796    // mismatched and invalid vector types6797    // invalid lane6798    // invalid vector index6799    // mismatched and invalid vector types6800    sqdmull s1, h1, v1.s[1]6801    sqdmull s1, s1, v4.s[0]6802    // invalid lane6803    sqdmull s12, h17, v9.h[9]6804    // invalid vector index6805    sqdmull s1, h1, v16.h[5]6806 6807// CHECK-ERROR: error: invalid operand for instruction6808// CHECK-ERROR:          sqdmull s1, h1, v1.s[1]6809// CHECK-ERROR:                             ^6810// CHECK-ERROR: error: invalid operand for instruction6811// CHECK-ERROR:          sqdmull s1, s1, v4.s[0]6812// CHECK-ERROR:                  ^6813// CHECK-ERROR: vector lane must be an integer in range6814// CHECK-ERROR:          sqdmull s12, h17, v9.h[9]6815// CHECK-ERROR:                                 ^6816// CHECK-ERROR: error: invalid operand for instruction6817// CHECK-ERROR:          sqdmull s1, h1, v16.h[5]6818// CHECK-ERROR:                           ^6819 6820//----------------------------------------------------------------------6821// Scalar Signed saturating doubling multiply returning6822// high half (scalar, by element)6823//----------------------------------------------------------------------6824    // mismatched and invalid vector types6825    sqdmulh h0, s1, v0.h[0]6826    sqdmulh s25, s26, v27.h[3]6827    // invalid lane6828    sqdmulh s25, s26, v27.s[4]6829    // invalid vector index6830    sqdmulh s0, h1, v30.h[0]6831 6832// CHECK-ERROR: error: invalid operand for instruction6833// CHECK-ERROR:          sqdmulh h0, s1, v0.h[0]6834// CHECK-ERROR:                      ^6835// CHECK-ERROR: error: invalid operand for instruction6836// CHECK-ERROR:          sqdmulh s25, s26, v27.h[3]6837// CHECK-ERROR:                  ^6838// CHECK-ERROR: vector lane must be an integer in range6839// CHECK-ERROR:          sqdmulh s25, s26, v27.s[4]6840// CHECK-ERROR:                                  ^6841// CHECK-ERROR: error: invalid operand for instruction6842// CHECK-ERROR:          sqdmulh s0, h1, v30.h[0]6843// CHECK-ERROR:                      ^6844 6845//----------------------------------------------------------------------6846// Scalar Signed saturating rounding doubling multiply6847// returning high half (scalar, by element)6848//----------------------------------------------------------------------6849    // mismatched and invalid vector types6850    sqrdmulh h31, h30, v14.s[2]6851    sqrdmulh s5, h6, v7.s[2]6852    // invalid lane6853    sqrdmulh h31, h30, v14.h[9]6854    // invalid vector index6855    sqrdmulh h31, h30, v20.h[4]6856 6857// CHECK-ERROR: error: invalid operand for instruction6858// CHECK-ERROR:          sqrdmulh h31, h30, v14.s[2]6859// CHECK-ERROR:                                 ^6860// CHECK-ERROR: error: invalid operand for instruction6861// CHECK-ERROR:          sqrdmulh s5, h6, v7.s[2]6862// CHECK-ERROR:                       ^6863// CHECK-ERROR: vector lane must be an integer in range6864// CHECK-ERROR:          sqrdmulh h31, h30, v14.h[9]6865// CHECK-ERROR:                                 ^6866// CHECK-ERROR: error: invalid operand for instruction6867// CHECK-ERROR:          sqrdmulh h31, h30, v20.h[4]6868// CHECK-ERROR:                              ^6869 6870//----------------------------------------------------------------------6871// Scalar Duplicate element (scalar)6872//----------------------------------------------------------------------6873      // mismatched and invalid vector types6874      dup b0, v1.d[0]6875      dup h0, v31.b[8]6876      dup s0, v2.h[4]6877      dup d0, v17.s[3]6878      // invalid  lane6879      dup d0, v17.d[4]6880      dup s0, v1.s[7]6881      dup h0, v31.h[16]6882      dup b1, v3.b[16]6883// CHECK-ERROR: error: invalid operand for instruction6884// CHECK-ERROR:          dup b0, v1.d[0]6885// CHECK-ERROR:                     ^6886// CHECK-ERROR: error: invalid operand for instruction6887// CHECK-ERROR:          dup h0, v31.b[8]6888// CHECK-ERROR:                      ^6889// CHECK-ERROR: error: invalid operand for instruction6890// CHECK-ERROR:          dup s0, v2.h[4]6891// CHECK-ERROR:                     ^6892// CHECK-ERROR: error: invalid operand for instruction6893// CHECK-ERROR:          dup d0, v17.s[3]6894// CHECK-ERROR:                      ^6895// CHECK-ERROR: vector lane must be an integer in range6896// CHECK-ERROR:          dup d0, v17.d[4]6897// CHECK-ERROR:                        ^6898// CHECK-ERROR: vector lane must be an integer in range6899// CHECK-ERROR:          dup s0, v1.s[7]6900// CHECK-ERROR:                       ^6901// CHECK-ERROR: vector lane must be an integer in range6902// CHECK-ERROR:          dup h0, v31.h[16]6903// CHECK-ERROR:                        ^6904// CHECK-ERROR: vector lane must be an integer in range6905// CHECK-ERROR:          dup b1, v3.b[16]6906// CHECK-ERROR:                       ^6907 6908//----------------------------------------------------------------------6909// Table look up6910//----------------------------------------------------------------------6911 6912        tbl v0.8b, {v1.8b}, v2.8b6913        tbl v0.8b, {v1.8b, v2.8b}, v2.8b6914        tbl v0.8b, {v1.8b, v2.8b, v3.8b}, v2.8b6915        tbl v0.8b, {v1.8b, v2.8b, v3.8b, v4.8b}, v2.8b6916        tbl v0.8b, {v1.16b, v2.16b, v3.16b, v4.16b, v5.16b}, v2.8b6917        tbl v0.8b, {v2.16b, v4.16b, v6.16b, v8.16b}, v10.8b6918        tbl.8b v0, {v2, v4, v6, v8}, v106919        tbl.16b v0, {v2, v4, v6, v8}, v106920 6921// CHECK-ERROR: error: invalid operand for instruction6922// CHECK-ERROR:        tbl v0.8b, {v1.8b}, v2.8b6923// CHECK-ERROR:                   ^6924// CHECK-ERROR: error: invalid operand for instruction6925// CHECK-ERROR:        tbl v0.8b, {v1.8b, v2.8b}, v2.8b6926// CHECK-ERROR:                   ^6927// CHECK-ERROR: error: invalid operand for instruction6928// CHECK-ERROR:        tbl v0.8b, {v1.8b, v2.8b, v3.8b}, v2.8b6929// CHECK-ERROR:                   ^6930// CHECK-ERROR: error: invalid operand for instruction6931// CHECK-ERROR:        tbl v0.8b, {v1.8b, v2.8b, v3.8b, v4.8b}, v2.8b6932// CHECK-ERROR:                   ^6933// CHECK-ERROR: error: invalid number of vectors6934// CHECK-ERROR:        tbl v0.8b, {v1.16b, v2.16b, v3.16b, v4.16b, v5.16b}, v2.8b6935// CHECK-ERROR:                                                    ^6936// CHECK-ERROR: error: invalid operand for instruction6937// CHECK-ERROR:        tbl v0.8b, {v2.16b, v4.16b, v6.16b, v8.16b}, v10.8b6938// CHECK-ERROR:                   ^6939// CHECK-ERROR: error: invalid operand for instruction6940// CHECK-ERROR:        tbl.8b v0, {v2, v4, v6, v8}, v106941// CHECK-ERROR:                   ^6942// CHECK-ERROR: error: invalid operand for instruction6943// CHECK-ERROR:        tbl.16b v0, {v2, v4, v6, v8}, v106944// CHECK-ERROR:                    ^6945 6946        tbx v0.8b, {v1.8b}, v2.8b6947        tbx v0.8b, {v1.8b, v2.8b}, v2.8b6948        tbx v0.8b, {v1.8b, v2.8b, v3.8b}, v2.8b6949        tbx v0.8b, {v1.8b, v2.8b, v3.8b, v4.8b}, v2.8b6950        tbx v0.8b, {v1.16b, v2.16b, v3.16b, v4.16b, v5.16b}, v2.8b6951        tbx v0.8b, {v2.16b, v4.16b, v6.16b, v8.16b}, v10.8b6952        tbx.8b v0, {v2, v4, v6, v8}, v106953        tbx.16b v0, {v2, v4, v6, v8}, v106954 6955// CHECK-ERROR: error: invalid operand for instruction6956// CHECK-ERROR:        tbx v0.8b, {v1.8b}, v2.8b6957// CHECK-ERROR:                   ^6958// CHECK-ERROR: error: invalid operand for instruction6959// CHECK-ERROR:        tbx v0.8b, {v1.8b, v2.8b}, v2.8b6960// CHECK-ERROR:                   ^6961// CHECK-ERROR: error: invalid operand for instruction6962// CHECK-ERROR:        tbx v0.8b, {v1.8b, v2.8b, v3.8b}, v2.8b6963// CHECK-ERROR:                   ^6964// CHECK-ERROR: error: invalid operand for instruction6965// CHECK-ERROR:        tbx v0.8b, {v1.8b, v2.8b, v3.8b, v4.8b}, v2.8b6966// CHECK-ERROR:                   ^6967// CHECK-ERROR: error: invalid number of vectors6968// CHECK-ERROR:        tbx v0.8b, {v1.16b, v2.16b, v3.16b, v4.16b, v5.16b}, v2.8b6969// CHECK-ERROR:                                                    ^6970// CHECK-ERROR: error: invalid operand for instruction6971// CHECK-ERROR:        tbx v0.8b, {v2.16b, v4.16b, v6.16b, v8.16b}, v10.8b6972// CHECK-ERROR:                   ^6973// CHECK-ERROR: error: invalid operand for instruction6974// CHECK-ERROR:        tbx.8b v0, {v2, v4, v6, v8}, v106975// CHECK-ERROR:                   ^6976// CHECK-ERROR: error: invalid operand for instruction6977// CHECK-ERROR:        tbx.16b v0, {v2, v4, v6, v8}, v106978// CHECK-ERROR:                    ^6979 6980//----------------------------------------------------------------------6981// Scalar Floating-point Convert To Lower Precision Narrow, Rounding To6982// Odd6983//----------------------------------------------------------------------6984 6985    fcvtxn s0, s16986 6987// CHECK-ERROR: error: invalid operand for instruction6988// CHECK-ERROR:        fcvtxn s0, s16989// CHECK-ERROR:                   ^6990 6991//----------------------------------------------------------------------6992// Scalar Floating-point Convert To Signed Integer, Rounding To Nearest6993// With Ties To Away6994//----------------------------------------------------------------------6995 6996    fcvtas h0, d06997    fcvtas h0, s06998 6999// CHECK-ERROR: error: invalid operand for instruction7000// CHECK-ERROR:        fcvtas h0, d07001// CHECK-ERROR:                   ^7002// CHECK-ERROR: error: invalid operand for instruction7003// CHECK-ERROR:        fcvtas h0, s07004// CHECK-ERROR:                   ^7005 7006//----------------------------------------------------------------------7007// Scalar Floating-point Convert To Unsigned Integer, Rounding To7008// Nearest With Ties To Away7009//----------------------------------------------------------------------7010 7011    fcvtau h0, d07012    fcvtau h0, s07013 7014// CHECK-ERROR: error: invalid operand for instruction7015// CHECK-ERROR:        fcvtau h0, d07016// CHECK-ERROR:                   ^7017// CHECK-ERROR: error: invalid operand for instruction7018// CHECK-ERROR:        fcvtau h0, s07019// CHECK-ERROR:                   ^7020 7021//----------------------------------------------------------------------7022// Scalar Floating-point Convert To Signed Integer, Rounding Toward7023// Minus Infinity7024//----------------------------------------------------------------------7025 7026    fcvtms h0, d07027    fcvtms h0, s07028 7029// CHECK-ERROR: error: invalid operand for instruction7030// CHECK-ERROR:        fcvtms h0, d07031// CHECK-ERROR:                   ^7032// CHECK-ERROR: error: invalid operand for instruction7033// CHECK-ERROR:        fcvtms h0, s07034// CHECK-ERROR:                   ^7035 7036//----------------------------------------------------------------------7037// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward7038// Minus Infinity7039//----------------------------------------------------------------------7040 7041    fcvtmu h0, d07042    fcvtmu h0, s07043 7044// CHECK-ERROR: error: invalid operand for instruction7045// CHECK-ERROR:        fcvtmu h0, d07046// CHECK-ERROR:                   ^7047// CHECK-ERROR: error: invalid operand for instruction7048// CHECK-ERROR:        fcvtmu h0, s07049// CHECK-ERROR:                   ^7050 7051//----------------------------------------------------------------------7052// Scalar Floating-point Convert To Signed Integer, Rounding To Nearest7053// With Ties To Even7054//----------------------------------------------------------------------7055 7056    fcvtns h0, d07057    fcvtns h0, s07058 7059// CHECK-ERROR: error: invalid operand for instruction7060// CHECK-ERROR:        fcvtns h0, d07061// CHECK-ERROR:                   ^7062// CHECK-ERROR: error: invalid operand for instruction7063// CHECK-ERROR:        fcvtns h0, s07064// CHECK-ERROR:                   ^7065 7066//----------------------------------------------------------------------7067// Scalar Floating-point Convert To Unsigned Integer, Rounding To7068// Nearest With Ties To Even7069//----------------------------------------------------------------------7070 7071    fcvtnu h0, d07072    fcvtnu h0, s07073 7074// CHECK-ERROR: error: invalid operand for instruction7075// CHECK-ERROR:        fcvtnu h0, d07076// CHECK-ERROR:                   ^7077// CHECK-ERROR: error: invalid operand for instruction7078// CHECK-ERROR:        fcvtnu h0, s07079// CHECK-ERROR:                   ^7080 7081//----------------------------------------------------------------------7082// Scalar Floating-point Convert To Signed Integer, Rounding Toward7083// Positive Infinity7084//----------------------------------------------------------------------7085 7086    fcvtps h0, d07087    fcvtps h0, s07088 7089// CHECK-ERROR: error: invalid operand for instruction7090// CHECK-ERROR:        fcvtps h0, d07091// CHECK-ERROR:                   ^7092// CHECK-ERROR: error: invalid operand for instruction7093// CHECK-ERROR:        fcvtps h0, s07094// CHECK-ERROR:                   ^7095 7096//----------------------------------------------------------------------7097// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward7098// Positive Infinity7099//----------------------------------------------------------------------7100 7101    fcvtpu h0, d07102    fcvtpu h0, s07103 7104// CHECK-ERROR: error: invalid operand for instruction7105// CHECK-ERROR:        fcvtpu h0, d07106// CHECK-ERROR:                   ^7107// CHECK-ERROR: error: invalid operand for instruction7108// CHECK-ERROR:        fcvtpu h0, s07109// CHECK-ERROR:                   ^7110 7111//----------------------------------------------------------------------7112// Scalar Floating-point Convert To Signed Integer, Rounding Toward Zero7113//----------------------------------------------------------------------7114 7115    fcvtzs h0, d07116    fcvtzs h0, s07117 7118// CHECK-ERROR: error: invalid operand for instruction7119// CHECK-ERROR:        fcvtzs h0, d07120// CHECK-ERROR:                   ^7121// CHECK-ERROR: error: invalid operand for instruction7122// CHECK-ERROR:        fcvtzs h0, s07123// CHECK-ERROR:                   ^7124 7125//----------------------------------------------------------------------7126// Scalar Floating-point Convert To Unsigned Integer, Rounding Toward 7127// Zero7128//----------------------------------------------------------------------7129 7130    fcvtzu h0, d07131    fcvtzu h0, s07132 7133// CHECK-ERROR: error: invalid operand for instruction7134// CHECK-ERROR:        fcvtzu h0, d07135// CHECK-ERROR:                   ^7136// CHECK-ERROR: error: invalid operand for instruction7137// CHECK-ERROR:        fcvtzu h0, s07138// CHECK-ERROR:                   ^7139 7140//----------------------------------------------------------------------7141// Scalar Floating-point Absolute Difference7142//----------------------------------------------------------------------7143 7144 7145    fabd s29, d24, s207146    fabd d29, s24, d207147 7148// CHECK-ERROR: error: invalid operand for instruction7149// CHECK-ERROR:        fabd s29, d24, s207150// CHECK-ERROR:                  ^7151// CHECK-ERROR: error: invalid operand for instruction7152// CHECK-ERROR:        fabd d29, s24, d207153// CHECK-ERROR:                  ^7154