1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \ 2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST 3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ 4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR 5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \ 6// RUN: | llvm-objdump -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST 7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \ 8// RUN: | llvm-objdump -d - | FileCheck %s --check-prefix=CHECK-UNKNOWN 9 10// --------------------------------------------------------------------------// 11// read 12 13mrs x3, ID_AA64SMFR0_EL1 14// CHECK-INST: mrs x3, ID_AA64SMFR0_EL1 15// CHECK-ENCODING: [0xa3,0x04,0x38,0xd5] 16// CHECK-ERROR: expected readable system register 17// CHECK-UNKNOWN: a3 04 38 d5 mrs x3, S3_0_C0_C4_5 18 19mrs x3, SMCR_EL1 20// CHECK-INST: mrs x3, SMCR_EL1 21// CHECK-ENCODING: [0xc3,0x12,0x38,0xd5] 22// CHECK-ERROR: expected readable system register 23// CHECK-UNKNOWN: c3 12 38 d5 mrs x3, S3_0_C1_C2_6 24 25mrs x3, SMCR_EL2 26// CHECK-INST: mrs x3, SMCR_EL2 27// CHECK-ENCODING: [0xc3,0x12,0x3c,0xd5] 28// CHECK-ERROR: expected readable system register 29// CHECK-UNKNOWN: c3 12 3c d5 mrs x3, S3_4_C1_C2_6 30 31mrs x3, SMCR_EL3 32// CHECK-INST: mrs x3, SMCR_EL3 33// CHECK-ENCODING: [0xc3,0x12,0x3e,0xd5] 34// CHECK-ERROR: expected readable system register 35// CHECK-UNKNOWN: c3 12 3e d5 mrs x3, S3_6_C1_C2_6 36 37mrs x3, SMCR_EL12 38// CHECK-INST: mrs x3, SMCR_EL12 39// CHECK-ENCODING: [0xc3,0x12,0x3d,0xd5] 40// CHECK-ERROR: expected readable system register 41// CHECK-UNKNOWN: c3 12 3d d5 mrs x3, S3_5_C1_C2_6 42 43mrs x3, SVCR 44// CHECK-INST: mrs x3, SVCR 45// CHECK-ENCODING: [0x43,0x42,0x3b,0xd5] 46// CHECK-ERROR: expected readable system register 47// CHECK-UNKNOWN: 43 42 3b d5 mrs x3, S3_3_C4_C2_2 48 49mrs x3, SMPRI_EL1 50// CHECK-INST: mrs x3, SMPRI_EL1 51// CHECK-ENCODING: [0x83,0x12,0x38,0xd5] 52// CHECK-ERROR: expected readable system register 53// CHECK-UNKNOWN: 83 12 38 d5 mrs x3, S3_0_C1_C2_4 54 55mrs x3, SMPRIMAP_EL2 56// CHECK-INST: mrs x3, SMPRIMAP_EL2 57// CHECK-ENCODING: [0xa3,0x12,0x3c,0xd5] 58// CHECK-ERROR: expected readable system register 59// CHECK-UNKNOWN: a3 12 3c d5 mrs x3, S3_4_C1_C2_5 60 61mrs x3, SMIDR_EL1 62// CHECK-INST: mrs x3, SMIDR_EL1 63// CHECK-ENCODING: [0xc3,0x00,0x39,0xd5] 64// CHECK-ERROR: expected readable system register 65// CHECK-UNKNOWN: c3 00 39 d5 mrs x3, S3_1_C0_C0_6 66 67mrs x3, TPIDR2_EL0 68// CHECK-INST: mrs x3, TPIDR2_EL0 69// CHECK-ENCODING: [0xa3,0xd0,0x3b,0xd5] 70// CHECK-ERROR: expected readable system register 71// CHECK-UNKNOWN: a3 d0 3b d5 mrs x3, S3_3_C13_C0_5 72 73// --------------------------------------------------------------------------// 74// write 75 76msr SMCR_EL1, x3 77// CHECK-INST: msr SMCR_EL1, x3 78// CHECK-ENCODING: [0xc3,0x12,0x18,0xd5] 79// CHECK-ERROR: expected writable system register or pstate 80// CHECK-UNKNOWN: c3 12 18 d5 msr S3_0_C1_C2_6, x3 81 82msr SMCR_EL2, x3 83// CHECK-INST: msr SMCR_EL2, x3 84// CHECK-ENCODING: [0xc3,0x12,0x1c,0xd5] 85// CHECK-ERROR: expected writable system register or pstate 86// CHECK-UNKNOWN: c3 12 1c d5 msr S3_4_C1_C2_6, x3 87 88msr SMCR_EL3, x3 89// CHECK-INST: msr SMCR_EL3, x3 90// CHECK-ENCODING: [0xc3,0x12,0x1e,0xd5] 91// CHECK-ERROR: expected writable system register or pstate 92// CHECK-UNKNOWN: c3 12 1e d5 msr S3_6_C1_C2_6, x3 93 94msr SMCR_EL12, x3 95// CHECK-INST: msr SMCR_EL12, x3 96// CHECK-ENCODING: [0xc3,0x12,0x1d,0xd5] 97// CHECK-ERROR: expected writable system register or pstate 98// CHECK-UNKNOWN: c3 12 1d d5 msr S3_5_C1_C2_6, x3 99 100msr SVCR, x3 101// CHECK-INST: msr SVCR, x3 102// CHECK-ENCODING: [0x43,0x42,0x1b,0xd5] 103// CHECK-ERROR: expected writable system register or pstate 104// CHECK-UNKNOWN: 43 42 1b d5 msr S3_3_C4_C2_2, x3 105 106msr SMPRI_EL1, x3 107// CHECK-INST: msr SMPRI_EL1, x3 108// CHECK-ENCODING: [0x83,0x12,0x18,0xd5] 109// CHECK-ERROR: expected writable system register or pstate 110// CHECK-UNKNOWN: 83 12 18 d5 msr S3_0_C1_C2_4, x3 111 112msr SMPRIMAP_EL2, x3 113// CHECK-INST: msr SMPRIMAP_EL2, x3 114// CHECK-ENCODING: [0xa3,0x12,0x1c,0xd5] 115// CHECK-ERROR: expected writable system register or pstate 116// CHECK-UNKNOWN: a3 12 1c d5 msr S3_4_C1_C2_5, x3 117 118msr SVCRSM, #0 119// CHECK-INST: smstop sm 120// CHECK-ENCODING: [0x7f,0x42,0x03,0xd5] 121// CHECK-ERROR: expected writable system register or pstate 122// CHECK-UNKNOWN: 7f 42 03 d5 msr S0_3_C4_C2_3, xzr 123 124msr SVCRSM, #1 125// CHECK-INST: smstart 126// CHECK-ENCODING: [0x7f,0x43,0x03,0xd5] 127// CHECK-ERROR: expected writable system register or pstate 128// CHECK-UNKNOWN: 7f 43 03 d5 msr S0_3_C4_C3_3, xzr 129 130msr SVCRZA, #0 131// CHECK-INST: smstop za 132// CHECK-ENCODING: [0x7f,0x44,0x03,0xd5] 133// CHECK-ERROR: expected writable system register or pstate 134// CHECK-UNKNOWN: 7f 44 03 d5 msr S0_3_C4_C4_3, xzr 135 136msr SVCRZA, #1 137// CHECK-INST: smstart za 138// CHECK-ENCODING: [0x7f,0x45,0x03,0xd5] 139// CHECK-ERROR: expected writable system register or pstate 140// CHECK-UNKNOWN: 7f 45 03 d5 msr S0_3_C4_C5_3, xzr 141 142msr SVCRSMZA, #0 143// CHECK-INST: smstop 144// CHECK-ENCODING: [0x7f,0x46,0x03,0xd5] 145// CHECK-ERROR: expected writable system register or pstate 146// CHECK-UNKNOWN: 7f 46 03 d5 msr S0_3_C4_C6_3, xzr 147 148msr SVCRSMZA, #1 149// CHECK-INST: smstart 150// CHECK-ENCODING: [0x7f,0x47,0x03,0xd5] 151// CHECK-ERROR: expected writable system register or pstate 152// CHECK-UNKNOWN: 7f 47 03 d5 msr S0_3_C4_C7_3, xzr 153 154msr TPIDR2_EL0, x3 155// CHECK-INST: msr TPIDR2_EL0, x3 156// CHECK-ENCODING: [0xa3,0xd0,0x1b,0xd5] 157// CHECK-ERROR: expected writable system register or pstate 158// CHECK-UNKNOWN: a3 d0 1b d5 msr S3_3_C13_C0_5, x3 159