1# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.4a --disassemble < %s | FileCheck %s 2# RUN: not llvm-mc -triple aarch64-none-linux-gnu -mattr=-v8.4a --disassemble < %s 2>&1 | FileCheck %s --check-prefix=CHECK-NO-V84 3 4[0x41,0x01,0x00,0x19] 5[0x41,0x01,0x10,0x19] 6[0x62,0xf1,0x0f,0x19] 7[0xe3,0xd3,0x1f,0x19] 8 9[0x84,0x01,0x40,0x19] 10[0x84,0x01,0x50,0x19] 11[0xa5,0xf1,0x4f,0x19] 12[0xe6,0xe3,0x5f,0x19] 13 14[0xc7,0x01,0xc0,0x19] 15[0xc7,0x01,0xd0,0x19] 16[0xe8,0xf1,0xcf,0x19] 17[0xe9,0xf3,0xdf,0x19] 18 19[0x00,0x02,0x80,0x19] 20[0x00,0x02,0x90,0x19] 21[0x21,0xf2,0x8f,0x19] 22[0xe2,0x03,0x80,0x19] 23 24[0x4a,0x02,0x00,0x59] 25[0x4a,0x02,0x10,0x59] 26[0x6b,0xf2,0x0f,0x59] 27[0xec,0x13,0x00,0x59] 28 29[0x8d,0x02,0x40,0x59] 30[0x8d,0x02,0x50,0x59] 31[0xae,0xf2,0x4f,0x59] 32[0xef,0x23,0x40,0x59] 33 34[0xd0,0x02,0xc0,0x59] 35[0xd0,0x02,0xd0,0x59] 36[0xf1,0xf2,0xcf,0x59] 37[0xf2,0x33,0xc0,0x59] 38 39[0x03,0x03,0x80,0x59] 40[0x03,0x03,0x90,0x59] 41[0x24,0xf3,0x8f,0x59] 42[0xe5,0x43,0x80,0x59] 43 44[0x53,0x03,0x00,0x99] 45[0x53,0x03,0x10,0x99] 46[0x74,0xf3,0x0f,0x99] 47[0xf5,0x53,0x00,0x99] 48 49[0x96,0x03,0x40,0x99] 50[0x96,0x03,0x50,0x99] 51[0xb7,0xf3,0x4f,0x99] 52[0xf8,0x63,0x40,0x99] 53 54[0xc6,0x03,0x80,0x99] 55[0xc6,0x03,0x90,0x99] 56[0x07,0xf0,0x8f,0x99] 57[0xe8,0x73,0x80,0x99] 58 59[0x29,0x00,0x00,0xd9] 60[0x29,0x00,0x10,0xd9] 61[0x4a,0xf0,0x0f,0xd9] 62[0xeb,0x83,0x00,0xd9] 63 64[0x6c,0x00,0x40,0xd9] 65[0x6c,0x00,0x50,0xd9] 66[0x8d,0xf0,0x4f,0xd9] 67[0xee,0x93,0x40,0xd9] 68 69#CHECK: stlurb w1, [x10] 70#CHECK-NEXT: stlurb w1, [x10, #-256] 71#CHECK-NEXT: stlurb w2, [x11, #255] 72#CHECK-NEXT: stlurb w3, [sp, #-3] 73#CHECK-NEXT: ldapurb w4, [x12] 74#CHECK-NEXT: ldapurb w4, [x12, #-256] 75#CHECK-NEXT: ldapurb w5, [x13, #255] 76#CHECK-NEXT: ldapurb w6, [sp, #-2] 77#CHECK-NEXT: ldapursb w7, [x14] 78#CHECK-NEXT: ldapursb w7, [x14, #-256] 79#CHECK-NEXT: ldapursb w8, [x15, #255] 80#CHECK-NEXT: ldapursb w9, [sp, #-1] 81#CHECK-NEXT: ldapursb x0, [x16] 82#CHECK-NEXT: ldapursb x0, [x16, #-256] 83#CHECK-NEXT: ldapursb x1, [x17, #255] 84#CHECK-NEXT: ldapursb x2, [sp] 85#CHECK-NEXT: stlurh w10, [x18] 86#CHECK-NEXT: stlurh w10, [x18, #-256] 87#CHECK-NEXT: stlurh w11, [x19, #255] 88#CHECK-NEXT: stlurh w12, [sp, #1] 89#CHECK-NEXT: ldapurh w13, [x20] 90#CHECK-NEXT: ldapurh w13, [x20, #-256] 91#CHECK-NEXT: ldapurh w14, [x21, #255] 92#CHECK-NEXT: ldapurh w15, [sp, #2] 93#CHECK-NEXT: ldapursh w16, [x22] 94#CHECK-NEXT: ldapursh w16, [x22, #-256] 95#CHECK-NEXT: ldapursh w17, [x23, #255] 96#CHECK-NEXT: ldapursh w18, [sp, #3] 97#CHECK-NEXT: ldapursh x3, [x24] 98#CHECK-NEXT: ldapursh x3, [x24, #-256] 99#CHECK-NEXT: ldapursh x4, [x25, #255] 100#CHECK-NEXT: ldapursh x5, [sp, #4] 101#CHECK-NEXT: stlur w19, [x26] 102#CHECK-NEXT: stlur w19, [x26, #-256] 103#CHECK-NEXT: stlur w20, [x27, #255] 104#CHECK-NEXT: stlur w21, [sp, #5] 105#CHECK-NEXT: ldapur w22, [x28] 106#CHECK-NEXT: ldapur w22, [x28, #-256] 107#CHECK-NEXT: ldapur w23, [x29, #255] 108#CHECK-NEXT: ldapur w24, [sp, #6] 109#CHECK-NEXT: ldapursw x6, [x30] 110#CHECK-NEXT: ldapursw x6, [x30, #-256] 111#CHECK-NEXT: ldapursw x7, [x0, #255] 112#CHECK-NEXT: ldapursw x8, [sp, #7] 113#CHECK-NEXT: stlur x9, [x1] 114#CHECK-NEXT: stlur x9, [x1, #-256] 115#CHECK-NEXT: stlur x10, [x2, #255] 116#CHECK-NEXT: stlur x11, [sp, #8] 117#CHECK-NEXT: ldapur x12, [x3] 118#CHECK-NEXT: ldapur x12, [x3, #-256] 119#CHECK-NEXT: ldapur x13, [x4, #255] 120#CHECK-NEXT: ldapur x14, [sp, #9] 121 122#CHECK-NO-V84: warning: invalid instruction encoding 123#CHECK-NO-V84: [0x41,0x01,0x00,0x19] 124#CHECK-NO-V84: ^ 125#CHECK-NO-V84: warning: invalid instruction encoding 126#CHECK-NO-V84: [0x41,0x01,0x10,0x19] 127#CHECK-NO-V84: ^ 128#CHECK-NO-V84: warning: invalid instruction encoding 129#CHECK-NO-V84: [0x62,0xf1,0x0f,0x19] 130#CHECK-NO-V84: ^ 131#CHECK-NO-V84: warning: invalid instruction encoding 132#CHECK-NO-V84: [0xe3,0xd3,0x1f,0x19] 133#CHECK-NO-V84: ^ 134#CHECK-NO-V84: warning: invalid instruction encoding 135#CHECK-NO-V84: [0x84,0x01,0x40,0x19] 136#CHECK-NO-V84: ^ 137#CHECK-NO-V84: warning: invalid instruction encoding 138#CHECK-NO-V84: [0x84,0x01,0x50,0x19] 139#CHECK-NO-V84: ^ 140#CHECK-NO-V84: warning: invalid instruction encoding 141#CHECK-NO-V84: [0xa5,0xf1,0x4f,0x19] 142#CHECK-NO-V84: ^ 143#CHECK-NO-V84: warning: invalid instruction encoding 144#CHECK-NO-V84: [0xe6,0xe3,0x5f,0x19] 145#CHECK-NO-V84: ^ 146#CHECK-NO-V84: warning: invalid instruction encoding 147#CHECK-NO-V84: [0xc7,0x01,0xc0,0x19] 148#CHECK-NO-V84: ^ 149#CHECK-NO-V84: warning: invalid instruction encoding 150#CHECK-NO-V84: [0xc7,0x01,0xd0,0x19] 151#CHECK-NO-V84: ^ 152#CHECK-NO-V84: warning: invalid instruction encoding 153#CHECK-NO-V84: [0xe8,0xf1,0xcf,0x19] 154#CHECK-NO-V84: ^ 155#CHECK-NO-V84: warning: invalid instruction encoding 156#CHECK-NO-V84: [0xe9,0xf3,0xdf,0x19] 157#CHECK-NO-V84: ^ 158#CHECK-NO-V84: warning: invalid instruction encoding 159#CHECK-NO-V84: [0x00,0x02,0x80,0x19] 160#CHECK-NO-V84: ^ 161#CHECK-NO-V84: warning: invalid instruction encoding 162#CHECK-NO-V84: [0x00,0x02,0x90,0x19] 163#CHECK-NO-V84: ^ 164#CHECK-NO-V84: warning: invalid instruction encoding 165#CHECK-NO-V84: [0x21,0xf2,0x8f,0x19] 166#CHECK-NO-V84: ^ 167#CHECK-NO-V84: warning: invalid instruction encoding 168#CHECK-NO-V84: [0xe2,0x03,0x80,0x19] 169#CHECK-NO-V84: ^ 170#CHECK-NO-V84: warning: invalid instruction encoding 171#CHECK-NO-V84: [0x4a,0x02,0x00,0x59] 172#CHECK-NO-V84: ^ 173#CHECK-NO-V84: warning: invalid instruction encoding 174#CHECK-NO-V84: [0x4a,0x02,0x10,0x59] 175#CHECK-NO-V84: ^ 176#CHECK-NO-V84: warning: invalid instruction encoding 177#CHECK-NO-V84: [0x6b,0xf2,0x0f,0x59] 178#CHECK-NO-V84: ^ 179#CHECK-NO-V84: warning: invalid instruction encoding 180#CHECK-NO-V84: [0xec,0x13,0x00,0x59] 181#CHECK-NO-V84: ^ 182#CHECK-NO-V84: warning: invalid instruction encoding 183#CHECK-NO-V84: [0x8d,0x02,0x40,0x59] 184#CHECK-NO-V84: ^ 185#CHECK-NO-V84: warning: invalid instruction encoding 186#CHECK-NO-V84: [0x8d,0x02,0x50,0x59] 187#CHECK-NO-V84: ^ 188#CHECK-NO-V84: warning: invalid instruction encoding 189#CHECK-NO-V84: [0xae,0xf2,0x4f,0x59] 190#CHECK-NO-V84: ^ 191#CHECK-NO-V84: warning: invalid instruction encoding 192#CHECK-NO-V84: [0xef,0x23,0x40,0x59] 193#CHECK-NO-V84: ^ 194#CHECK-NO-V84: warning: invalid instruction encoding 195#CHECK-NO-V84: [0xd0,0x02,0xc0,0x59] 196#CHECK-NO-V84: ^ 197#CHECK-NO-V84: warning: invalid instruction encoding 198#CHECK-NO-V84: [0xd0,0x02,0xd0,0x59] 199#CHECK-NO-V84: ^ 200#CHECK-NO-V84: warning: invalid instruction encoding 201#CHECK-NO-V84: [0xf1,0xf2,0xcf,0x59] 202#CHECK-NO-V84: ^ 203#CHECK-NO-V84: warning: invalid instruction encoding 204#CHECK-NO-V84: [0xf2,0x33,0xc0,0x59] 205#CHECK-NO-V84: ^ 206#CHECK-NO-V84: warning: invalid instruction encoding 207#CHECK-NO-V84: [0x03,0x03,0x80,0x59] 208#CHECK-NO-V84: ^ 209#CHECK-NO-V84: warning: invalid instruction encoding 210#CHECK-NO-V84: [0x03,0x03,0x90,0x59] 211#CHECK-NO-V84: ^ 212#CHECK-NO-V84: warning: invalid instruction encoding 213#CHECK-NO-V84: [0x24,0xf3,0x8f,0x59] 214#CHECK-NO-V84: ^ 215#CHECK-NO-V84: warning: invalid instruction encoding 216#CHECK-NO-V84: [0xe5,0x43,0x80,0x59] 217#CHECK-NO-V84: ^ 218#CHECK-NO-V84: warning: invalid instruction encoding 219#CHECK-NO-V84: [0x53,0x03,0x00,0x99] 220#CHECK-NO-V84: ^ 221#CHECK-NO-V84: warning: invalid instruction encoding 222#CHECK-NO-V84: [0x53,0x03,0x10,0x99] 223#CHECK-NO-V84: ^ 224#CHECK-NO-V84: warning: invalid instruction encoding 225#CHECK-NO-V84: [0x74,0xf3,0x0f,0x99] 226#CHECK-NO-V84: ^ 227#CHECK-NO-V84: warning: invalid instruction encoding 228#CHECK-NO-V84: [0xf5,0x53,0x00,0x99] 229#CHECK-NO-V84: ^ 230#CHECK-NO-V84: warning: invalid instruction encoding 231#CHECK-NO-V84: [0x96,0x03,0x40,0x99] 232#CHECK-NO-V84: ^ 233#CHECK-NO-V84: warning: invalid instruction encoding 234#CHECK-NO-V84: [0x96,0x03,0x50,0x99] 235#CHECK-NO-V84: ^ 236#CHECK-NO-V84: warning: invalid instruction encoding 237#CHECK-NO-V84: [0xb7,0xf3,0x4f,0x99] 238#CHECK-NO-V84: ^ 239#CHECK-NO-V84: warning: invalid instruction encoding 240#CHECK-NO-V84: [0xf8,0x63,0x40,0x99] 241#CHECK-NO-V84: ^ 242#CHECK-NO-V84: warning: invalid instruction encoding 243#CHECK-NO-V84: [0xc6,0x03,0x80,0x99] 244#CHECK-NO-V84: ^ 245#CHECK-NO-V84: warning: invalid instruction encoding 246#CHECK-NO-V84: [0xc6,0x03,0x90,0x99] 247#CHECK-NO-V84: ^ 248#CHECK-NO-V84: warning: invalid instruction encoding 249#CHECK-NO-V84: [0x07,0xf0,0x8f,0x99] 250#CHECK-NO-V84: ^ 251#CHECK-NO-V84: warning: invalid instruction encoding 252#CHECK-NO-V84: [0xe8,0x73,0x80,0x99] 253#CHECK-NO-V84: ^ 254#CHECK-NO-V84: warning: invalid instruction encoding 255#CHECK-NO-V84: [0x29,0x00,0x00,0xd9] 256#CHECK-NO-V84: ^ 257#CHECK-NO-V84: warning: invalid instruction encoding 258#CHECK-NO-V84: [0x29,0x00,0x10,0xd9] 259#CHECK-NO-V84: ^ 260#CHECK-NO-V84: warning: invalid instruction encoding 261#CHECK-NO-V84: [0x4a,0xf0,0x0f,0xd9] 262#CHECK-NO-V84: ^ 263#CHECK-NO-V84: warning: invalid instruction encoding 264#CHECK-NO-V84: [0xeb,0x83,0x00,0xd9] 265#CHECK-NO-V84: ^ 266#CHECK-NO-V84: warning: invalid instruction encoding 267#CHECK-NO-V84: [0x6c,0x00,0x40,0xd9] 268#CHECK-NO-V84: ^ 269#CHECK-NO-V84: warning: invalid instruction encoding 270#CHECK-NO-V84: [0x6c,0x00,0x50,0xd9] 271#CHECK-NO-V84: ^ 272#CHECK-NO-V84: warning: invalid instruction encoding 273#CHECK-NO-V84: [0x8d,0xf0,0x4f,0xd9] 274#CHECK-NO-V84: ^ 275#CHECK-NO-V84: warning: invalid instruction encoding 276#CHECK-NO-V84: [0xee,0x93,0x40,0xd9] 277#CHECK-NO-V84: ^ 278