| // RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+v8.4a < %s 2>&1 | FileCheck %s --check-prefix=CHECK-ERROR | 
 |  | 
 | //------------------------------------------------------------------------------ | 
 | // Armv8.4-A LDAPR and STLR instructions with immediate offsets | 
 | //------------------------------------------------------------------------------ | 
 |  | 
 | STLURB   SP, [X1, #1] | 
 | ldapurb  SP, [x12, #1] | 
 | STLURB   W1, [XZR, #1] | 
 |  | 
 | STLURB   W1, [X10, #-257] | 
 | stlurb   w2, [x11, #256] | 
 | STLURB   W3, [SP, #-257] | 
 |  | 
 | ldapurb  w4, [x12, #-257] | 
 | LDAPURB  W5, [X13, #256] | 
 | LDAPURB  W6, [SP, #256] | 
 |  | 
 | LDAPURSB W7, [X14, #-257] | 
 | ldapursb w8, [x15, #256] | 
 | ldapursb w9, [sp, #-257] | 
 |  | 
 | LDAPURSB X0, [X16, #-257] | 
 | LDAPURSB X1, [X17, #256] | 
 | ldapursb x2, [sp, #256] | 
 |  | 
 | stlurh   w10, [x18, #-257] | 
 | STLURH   W11, [X19, #256] | 
 | STLURH   W12, [SP, #-257] | 
 |  | 
 | LDAPURH  W13, [X20, #-257] | 
 | ldapurh  w14, [x21, #256] | 
 | LDAPURH  W15, [SP, #256] | 
 |  | 
 | LDAPURSH W16, [X22, #-257] | 
 | LDAPURSH W17, [X23, #256] | 
 | ldapursh w18, [sp, #-257] | 
 |  | 
 | ldapursh x3, [x24, #-257] | 
 | LDAPURSH X4, [X25, #256] | 
 | LDAPURSH X5, [SP, #256] | 
 |  | 
 | STLUR    W19, [X26, #-257] | 
 | stlur    w20, [x27, #256] | 
 | STLUR    W21, [SP, #-257] | 
 |  | 
 | LDAPUR   W22, [X28, #-257] | 
 | LDAPUR   W23, [X29, #256] | 
 | ldapur   w24, [sp, #256] | 
 |  | 
 | ldapursw x6, [x30, #-257] | 
 | LDAPURSW X7, [X0, #256] | 
 | LDAPURSW X8, [SP, #-257] | 
 |  | 
 | STLUR    X9, [X1, #-257] | 
 | stlur    x10, [x2, #256] | 
 | STLUR    X11, [SP, #256] | 
 |  | 
 | LDAPUR   X12, [X3, #-257] | 
 | LDAPUR   X13, [X4, #256] | 
 | ldapur   x14, [sp, #-257] | 
 |  | 
 | //CHECK-ERROR:      error: invalid operand for instruction | 
 | //CHECK-ERROR-NEXT: STLURB   SP, [X1, #1] | 
 | //CHECK-ERROR-NEXT:          ^ | 
 | //CHECK-ERROR-NEXT: error: invalid operand for instruction | 
 | //CHECK-ERROR-NEXT: ldapurb  SP, [x12, #1] | 
 | //CHECK-ERROR-NEXT:          ^ | 
 | //CHECK-ERROR-NEXT: error: invalid operand for instruction | 
 | //CHECK-ERROR-NEXT: STLURB   W1, [XZR, #1] | 
 | //CHECK-ERROR-NEXT:               ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLURB   W1, [X10, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: stlurb   w2, [x11, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLURB   W3, [SP, #-257] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapurb  w4, [x12, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURB  W5, [X13, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURB  W6, [SP, #256] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSB W7, [X14, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursb w8, [x15, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursb w9, [sp, #-257] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSB X0, [X16, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSB X1, [X17, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursb x2, [sp, #256] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: stlurh   w10, [x18, #-257] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLURH   W11, [X19, #256] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLURH   W12, [SP, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURH  W13, [X20, #-257] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapurh  w14, [x21, #256] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURH  W15, [SP, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSH W16, [X22, #-257] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSH W17, [X23, #256] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursh w18, [sp, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursh x3, [x24, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSH X4, [X25, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSH X5, [SP, #256] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLUR    W19, [X26, #-257] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: stlur    w20, [x27, #256] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLUR    W21, [SP, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPUR   W22, [X28, #-257] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPUR   W23, [X29, #256] | 
 | //CHECK-ERROR-NEXT:                     ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapur   w24, [sp, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapursw x6, [x30, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSW X7, [X0, #256] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPURSW X8, [SP, #-257] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLUR    X9, [X1, #-257] | 
 | //CHECK-ERROR-NEXT:                   ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: stlur    x10, [x2, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: STLUR    X11, [SP, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPUR   X12, [X3, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: LDAPUR   X13, [X4, #256] | 
 | //CHECK-ERROR-NEXT:                    ^ | 
 | //CHECK-ERROR-NEXT: error: index must be an integer in range [-256, 255]. | 
 | //CHECK-ERROR-NEXT: ldapur   x14, [sp, #-257] | 
 | //CHECK-ERROR-NEXT:                    ^ |