1# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8.3a --disassemble < %s 2>&1 | FileCheck %s 2# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+v8r --disassemble < %s 2>&1 | FileCheck %s 3# RUN: llvm-mc -triple aarch64-none-linux-gnu -mattr=+pauth --disassemble < %s 2>&1 | FileCheck %s 4 5# CHECK: warning: potentially undefined instruction encoding 6# CHECK-NEXT: [0x00,0x0c,0x20,0xf8] 7# CHECK: warning: potentially undefined instruction encoding 8# CHECK-NEXT: [0x00,0x0c,0xa0,0xf8] 9# CHECK: ldraa x0, [x0, #0]! 10# CHECK: ldrab x0, [x0, #0]! 11[0x00,0x0c,0x20,0xf8] 12[0x00,0x0c,0xa0,0xf8] 13 14# CHECK: paciasp 15# CHECK: autiasp 16# CHECK: paciaz 17# CHECK: autiaz 18# CHECK: pacia1716 19# CHECK: autia1716 20# CHECK: pacibsp 21# CHECK: autibsp 22# CHECK: pacibz 23# CHECK: autibz 24# CHECK: pacib1716 25# CHECK: autib1716 26# CHECK: xpaclri 27[0x3f,0x23,0x03,0xd5] 28[0xbf,0x23,0x03,0xd5] 29[0x1f,0x23,0x03,0xd5] 30[0x9f,0x23,0x03,0xd5] 31[0x1f,0x21,0x03,0xd5] 32[0x9f,0x21,0x03,0xd5] 33[0x7f,0x23,0x03,0xd5] 34[0xff,0x23,0x03,0xd5] 35[0x5f,0x23,0x03,0xd5] 36[0xdf,0x23,0x03,0xd5] 37[0x5f,0x21,0x03,0xd5] 38[0xdf,0x21,0x03,0xd5] 39[0xff,0x20,0x03,0xd5] 40 41# CHECK: pacia x0, x1 42# CHECK: autia x0, x1 43# CHECK: pacda x0, x1 44# CHECK: autda x0, x1 45# CHECK: pacib x0, x1 46# CHECK: autib x0, x1 47# CHECK: pacdb x0, x1 48# CHECK: autdb x0, x1 49# CHECK: pacga x0, x1, x2 50# CHECK: paciza x0 51# CHECK: autiza x0 52# CHECK: pacdza x0 53# CHECK: autdza x0 54# CHECK: pacizb x0 55# CHECK: autizb x0 56# CHECK: pacdzb x0 57# CHECK: autdzb x0 58# CHECK: xpaci x0 59# CHECK: xpacd x0 60[0x20,0x00,0xc1,0xda] 61[0x20,0x10,0xc1,0xda] 62[0x20,0x08,0xc1,0xda] 63[0x20,0x18,0xc1,0xda] 64[0x20,0x04,0xc1,0xda] 65[0x20,0x14,0xc1,0xda] 66[0x20,0x0c,0xc1,0xda] 67[0x20,0x1c,0xc1,0xda] 68[0x20,0x30,0xc2,0x9a] 69[0xe0,0x23,0xc1,0xda] 70[0xe0,0x33,0xc1,0xda] 71[0xe0,0x2b,0xc1,0xda] 72[0xe0,0x3b,0xc1,0xda] 73[0xe0,0x27,0xc1,0xda] 74[0xe0,0x37,0xc1,0xda] 75[0xe0,0x2f,0xc1,0xda] 76[0xe0,0x3f,0xc1,0xda] 77[0xe0,0x43,0xc1,0xda] 78[0xe0,0x47,0xc1,0xda] 79 80# CHECK: braa x0, x1 81# CHECK: brab x0, x1 82# CHECK: blraa x0, x1 83# CHECK: blrab x0, x1 84[0x01,0x08,0x1f,0xd7] 85[0x01,0x0c,0x1f,0xd7] 86[0x01,0x08,0x3f,0xd7] 87[0x01,0x0c,0x3f,0xd7] 88 89# CHECK: braaz x0 90# CHECK: brabz x0 91# CHECK: blraaz x0 92# CHECK: blrabz x0 93# CHECK: retaa 94# CHECK: retab 95# CHECK: eretaa 96# CHECK: eretab 97[0x1f,0x08,0x1f,0xd6] 98[0x1f,0x0c,0x1f,0xd6] 99[0x1f,0x08,0x3f,0xd6] 100[0x1f,0x0c,0x3f,0xd6] 101[0xff,0x0b,0x5f,0xd6] 102[0xff,0x0f,0x5f,0xd6] 103[0xff,0x0b,0x9f,0xd6] 104[0xff,0x0f,0x9f,0xd6] 105 106# CHECK: ldraa x0, [x1, #4088] 107# CHECK: ldraa x0, [x1, #-4096] 108# CHECK: ldrab x0, [x1, #4088] 109# CHECK: ldrab x0, [x1, #-4096] 110# CHECK: ldraa x0, [x1, #4088]! 111# CHECK: ldraa x0, [x1, #-4096]! 112# CHECK: ldrab x0, [x1, #4088]! 113# CHECK: ldrab x0, [x1, #-4096]! 114[0x20,0xf4,0x3f,0xf8] 115[0x20,0x04,0x60,0xf8] 116[0x20,0xf4,0xbf,0xf8] 117[0x20,0x04,0xe0,0xf8] 118[0x20,0xfc,0x3f,0xf8] 119[0x20,0x0c,0x60,0xf8] 120[0x20,0xfc,0xbf,0xf8] 121[0x20,0x0c,0xe0,0xf8] 122 123# CHECK: ldraa x0, [x1] 124# CHECK: ldrab x0, [x1] 125[0x20,0x04,0x20,0xf8] 126[0x20,0x04,0xa0,0xf8] 127 128# CHECK: ldraa x0, [x1, #0]! 129# CHECK: ldrab x0, [x1, #0]! 130[0x20,0x0c,0x20,0xf8] 131[0x20,0x0c,0xa0,0xf8] 132