189 lines · plain
1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR2 3//------------------------------------------------------------------------------4// Armv8.4-A LDAPR and STLR instructions with immediate offsets5//------------------------------------------------------------------------------6 7STLURB SP, [X1, #1]8ldapurb SP, [x12, #1]9STLURB W1, [XZR, #1]10 11STLURB W1, [X10, #-257]12stlurb w2, [x11, #256]13STLURB W3, [SP, #-257]14 15ldapurb w4, [x12, #-257]16LDAPURB W5, [X13, #256]17LDAPURB W6, [SP, #256]18 19LDAPURSB W7, [X14, #-257]20ldapursb w8, [x15, #256]21ldapursb w9, [sp, #-257]22 23LDAPURSB X0, [X16, #-257]24LDAPURSB X1, [X17, #256]25ldapursb x2, [sp, #256]26 27stlurh w10, [x18, #-257]28STLURH W11, [X19, #256]29STLURH W12, [SP, #-257]30 31LDAPURH W13, [X20, #-257]32ldapurh w14, [x21, #256]33LDAPURH W15, [SP, #256]34 35LDAPURSH W16, [X22, #-257]36LDAPURSH W17, [X23, #256]37ldapursh w18, [sp, #-257]38 39ldapursh x3, [x24, #-257]40LDAPURSH X4, [X25, #256]41LDAPURSH X5, [SP, #256]42 43STLUR W19, [X26, #-257]44stlur w20, [x27, #256]45STLUR W21, [SP, #-257]46 47LDAPUR W22, [X28, #-257]48LDAPUR W23, [X29, #256]49ldapur w24, [sp, #256]50 51ldapursw x6, [x30, #-257]52LDAPURSW X7, [X0, #256]53LDAPURSW X8, [SP, #-257]54 55STLUR X9, [X1, #-257]56stlur x10, [x2, #256]57STLUR X11, [SP, #256]58 59LDAPUR X12, [X3, #-257]60LDAPUR X13, [X4, #256]61ldapur x14, [sp, #-257]62 63//CHECK-ERROR: error: invalid operand for instruction64//CHECK-ERROR-NEXT: STLURB SP, [X1, #1]65//CHECK-ERROR-NEXT: ^66//CHECK-ERROR-NEXT: error: invalid operand for instruction67//CHECK-ERROR-NEXT: ldapurb SP, [x12, #1]68//CHECK-ERROR-NEXT: ^69//CHECK-ERROR-NEXT: error: invalid operand for instruction70//CHECK-ERROR-NEXT: STLURB W1, [XZR, #1]71//CHECK-ERROR-NEXT: ^72//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].73//CHECK-ERROR-NEXT: STLURB W1, [X10, #-257]74//CHECK-ERROR-NEXT: ^75//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].76//CHECK-ERROR-NEXT: stlurb w2, [x11, #256]77//CHECK-ERROR-NEXT: ^78//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].79//CHECK-ERROR-NEXT: STLURB W3, [SP, #-257]80//CHECK-ERROR-NEXT: ^81//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].82//CHECK-ERROR-NEXT: ldapurb w4, [x12, #-257]83//CHECK-ERROR-NEXT: ^84//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].85//CHECK-ERROR-NEXT: LDAPURB W5, [X13, #256]86//CHECK-ERROR-NEXT: ^87//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].88//CHECK-ERROR-NEXT: LDAPURB W6, [SP, #256]89//CHECK-ERROR-NEXT: ^90//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].91//CHECK-ERROR-NEXT: LDAPURSB W7, [X14, #-257]92//CHECK-ERROR-NEXT: ^93//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].94//CHECK-ERROR-NEXT: ldapursb w8, [x15, #256]95//CHECK-ERROR-NEXT: ^96//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].97//CHECK-ERROR-NEXT: ldapursb w9, [sp, #-257]98//CHECK-ERROR-NEXT: ^99//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].100//CHECK-ERROR-NEXT: LDAPURSB X0, [X16, #-257]101//CHECK-ERROR-NEXT: ^102//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].103//CHECK-ERROR-NEXT: LDAPURSB X1, [X17, #256]104//CHECK-ERROR-NEXT: ^105//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].106//CHECK-ERROR-NEXT: ldapursb x2, [sp, #256]107//CHECK-ERROR-NEXT: ^108//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].109//CHECK-ERROR-NEXT: stlurh w10, [x18, #-257]110//CHECK-ERROR-NEXT: ^111//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].112//CHECK-ERROR-NEXT: STLURH W11, [X19, #256]113//CHECK-ERROR-NEXT: ^114//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].115//CHECK-ERROR-NEXT: STLURH W12, [SP, #-257]116//CHECK-ERROR-NEXT: ^117//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].118//CHECK-ERROR-NEXT: LDAPURH W13, [X20, #-257]119//CHECK-ERROR-NEXT: ^120//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].121//CHECK-ERROR-NEXT: ldapurh w14, [x21, #256]122//CHECK-ERROR-NEXT: ^123//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].124//CHECK-ERROR-NEXT: LDAPURH W15, [SP, #256]125//CHECK-ERROR-NEXT: ^126//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].127//CHECK-ERROR-NEXT: LDAPURSH W16, [X22, #-257]128//CHECK-ERROR-NEXT: ^129//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].130//CHECK-ERROR-NEXT: LDAPURSH W17, [X23, #256]131//CHECK-ERROR-NEXT: ^132//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].133//CHECK-ERROR-NEXT: ldapursh w18, [sp, #-257]134//CHECK-ERROR-NEXT: ^135//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].136//CHECK-ERROR-NEXT: ldapursh x3, [x24, #-257]137//CHECK-ERROR-NEXT: ^138//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].139//CHECK-ERROR-NEXT: LDAPURSH X4, [X25, #256]140//CHECK-ERROR-NEXT: ^141//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].142//CHECK-ERROR-NEXT: LDAPURSH X5, [SP, #256]143//CHECK-ERROR-NEXT: ^144//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].145//CHECK-ERROR-NEXT: STLUR W19, [X26, #-257]146//CHECK-ERROR-NEXT: ^147//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].148//CHECK-ERROR-NEXT: stlur w20, [x27, #256]149//CHECK-ERROR-NEXT: ^150//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].151//CHECK-ERROR-NEXT: STLUR W21, [SP, #-257]152//CHECK-ERROR-NEXT: ^153//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].154//CHECK-ERROR-NEXT: LDAPUR W22, [X28, #-257]155//CHECK-ERROR-NEXT: ^156//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].157//CHECK-ERROR-NEXT: LDAPUR W23, [X29, #256]158//CHECK-ERROR-NEXT: ^159//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].160//CHECK-ERROR-NEXT: ldapur w24, [sp, #256]161//CHECK-ERROR-NEXT: ^162//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].163//CHECK-ERROR-NEXT: ldapursw x6, [x30, #-257]164//CHECK-ERROR-NEXT: ^165//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].166//CHECK-ERROR-NEXT: LDAPURSW X7, [X0, #256]167//CHECK-ERROR-NEXT: ^168//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].169//CHECK-ERROR-NEXT: LDAPURSW X8, [SP, #-257]170//CHECK-ERROR-NEXT: ^171//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].172//CHECK-ERROR-NEXT: STLUR X9, [X1, #-257]173//CHECK-ERROR-NEXT: ^174//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].175//CHECK-ERROR-NEXT: stlur x10, [x2, #256]176//CHECK-ERROR-NEXT: ^177//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].178//CHECK-ERROR-NEXT: STLUR X11, [SP, #256]179//CHECK-ERROR-NEXT: ^180//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].181//CHECK-ERROR-NEXT: LDAPUR X12, [X3, #-257]182//CHECK-ERROR-NEXT: ^183//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].184//CHECK-ERROR-NEXT: LDAPUR X13, [X4, #256]185//CHECK-ERROR-NEXT: ^186//CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255].187//CHECK-ERROR-NEXT: ldapur x14, [sp, #-257]188//CHECK-ERROR-NEXT: ^189