159 lines · plain
1// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+sme < %s \2// RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST3// RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \4// RUN: | FileCheck %s --check-prefix=CHECK-ERROR5// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \6// RUN: | llvm-objdump -d --mattr=+sme - | FileCheck %s --check-prefix=CHECK-INST7// RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+sme < %s \8// RUN: | llvm-objdump -d --mattr=-sme - | FileCheck %s --check-prefix=CHECK-UNKNOWN9 10// --------------------------------------------------------------------------//11// read12 13mrs x3, ID_AA64SMFR0_EL114// CHECK-INST: mrs x3, ID_AA64SMFR0_EL115// CHECK-ENCODING: [0xa3,0x04,0x38,0xd5]16// CHECK-ERROR: expected readable system register17// CHECK-UNKNOWN: d53804a3 mrs x3, S3_0_C0_C4_518 19mrs x3, SMCR_EL120// CHECK-INST: mrs x3, SMCR_EL121// CHECK-ENCODING: [0xc3,0x12,0x38,0xd5]22// CHECK-ERROR: expected readable system register23// CHECK-UNKNOWN: d53812c3 mrs x3, S3_0_C1_C2_624 25mrs x3, SMCR_EL226// CHECK-INST: mrs x3, SMCR_EL227// CHECK-ENCODING: [0xc3,0x12,0x3c,0xd5]28// CHECK-ERROR: expected readable system register29// CHECK-UNKNOWN: d53c12c3 mrs x3, S3_4_C1_C2_630 31mrs x3, SMCR_EL332// CHECK-INST: mrs x3, SMCR_EL333// CHECK-ENCODING: [0xc3,0x12,0x3e,0xd5]34// CHECK-ERROR: expected readable system register35// CHECK-UNKNOWN: d53e12c3 mrs x3, S3_6_C1_C2_636 37mrs x3, SMCR_EL1238// CHECK-INST: mrs x3, SMCR_EL1239// CHECK-ENCODING: [0xc3,0x12,0x3d,0xd5]40// CHECK-ERROR: expected readable system register41// CHECK-UNKNOWN: d53d12c3 mrs x3, S3_5_C1_C2_642 43mrs x3, SVCR44// CHECK-INST: mrs x3, SVCR45// CHECK-ENCODING: [0x43,0x42,0x3b,0xd5]46// CHECK-ERROR: expected readable system register47// CHECK-UNKNOWN: d53b4243 mrs x3, S3_3_C4_C2_248 49mrs x3, SMPRI_EL150// CHECK-INST: mrs x3, SMPRI_EL151// CHECK-ENCODING: [0x83,0x12,0x38,0xd5]52// CHECK-ERROR: expected readable system register53// CHECK-UNKNOWN: d5381283 mrs x3, S3_0_C1_C2_454 55mrs x3, SMPRIMAP_EL256// CHECK-INST: mrs x3, SMPRIMAP_EL257// CHECK-ENCODING: [0xa3,0x12,0x3c,0xd5]58// CHECK-ERROR: expected readable system register59// CHECK-UNKNOWN: d53c12a3 mrs x3, S3_4_C1_C2_560 61mrs x3, SMIDR_EL162// CHECK-INST: mrs x3, SMIDR_EL163// CHECK-ENCODING: [0xc3,0x00,0x39,0xd5]64// CHECK-ERROR: expected readable system register65// CHECK-UNKNOWN: d53900c3 mrs x3, S3_1_C0_C0_666 67mrs x3, TPIDR2_EL068// CHECK-INST: mrs x3, TPIDR2_EL069// CHECK-ENCODING: [0xa3,0xd0,0x3b,0xd5]70// CHECK-ERROR: expected readable system register71// CHECK-UNKNOWN: d53bd0a3 mrs x3, S3_3_C13_C0_572 73// --------------------------------------------------------------------------//74// write75 76msr SMCR_EL1, x377// CHECK-INST: msr SMCR_EL1, x378// CHECK-ENCODING: [0xc3,0x12,0x18,0xd5]79// CHECK-ERROR: expected writable system register or pstate80// CHECK-UNKNOWN: d51812c3 msr S3_0_C1_C2_6, x381 82msr SMCR_EL2, x383// CHECK-INST: msr SMCR_EL2, x384// CHECK-ENCODING: [0xc3,0x12,0x1c,0xd5]85// CHECK-ERROR: expected writable system register or pstate86// CHECK-UNKNOWN: d51c12c3 msr S3_4_C1_C2_6, x387 88msr SMCR_EL3, x389// CHECK-INST: msr SMCR_EL3, x390// CHECK-ENCODING: [0xc3,0x12,0x1e,0xd5]91// CHECK-ERROR: expected writable system register or pstate92// CHECK-UNKNOWN: d51e12c3 msr S3_6_C1_C2_6, x393 94msr SMCR_EL12, x395// CHECK-INST: msr SMCR_EL12, x396// CHECK-ENCODING: [0xc3,0x12,0x1d,0xd5]97// CHECK-ERROR: expected writable system register or pstate98// CHECK-UNKNOWN: d51d12c3 msr S3_5_C1_C2_6, x399 100msr SVCR, x3101// CHECK-INST: msr SVCR, x3102// CHECK-ENCODING: [0x43,0x42,0x1b,0xd5]103// CHECK-ERROR: expected writable system register or pstate104// CHECK-UNKNOWN: d51b4243 msr S3_3_C4_C2_2, x3105 106msr SMPRI_EL1, x3107// CHECK-INST: msr SMPRI_EL1, x3108// CHECK-ENCODING: [0x83,0x12,0x18,0xd5]109// CHECK-ERROR: expected writable system register or pstate110// CHECK-UNKNOWN: d5181283 msr S3_0_C1_C2_4, x3111 112msr SMPRIMAP_EL2, x3113// CHECK-INST: msr SMPRIMAP_EL2, x3114// CHECK-ENCODING: [0xa3,0x12,0x1c,0xd5]115// CHECK-ERROR: expected writable system register or pstate116// CHECK-UNKNOWN: d51c12a3 msr S3_4_C1_C2_5, x3117 118msr SVCRSM, #0119// CHECK-INST: smstop sm120// CHECK-ENCODING: [0x7f,0x42,0x03,0xd5]121// CHECK-ERROR: expected writable system register or pstate122// CHECK-UNKNOWN: d503427f smstop sm123 124msr SVCRSM, #1125// CHECK-INST: smstart126// CHECK-ENCODING: [0x7f,0x43,0x03,0xd5]127// CHECK-ERROR: expected writable system register or pstate128// CHECK-UNKNOWN: d503437f smstart129 130msr SVCRZA, #0131// CHECK-INST: smstop za132// CHECK-ENCODING: [0x7f,0x44,0x03,0xd5]133// CHECK-ERROR: expected writable system register or pstate134// CHECK-UNKNOWN: d503447f smstop za135 136msr SVCRZA, #1137// CHECK-INST: smstart za138// CHECK-ENCODING: [0x7f,0x45,0x03,0xd5]139// CHECK-ERROR: expected writable system register or pstate140// CHECK-UNKNOWN: d503457f smstart za141 142msr SVCRSMZA, #0143// CHECK-INST: smstop144// CHECK-ENCODING: [0x7f,0x46,0x03,0xd5]145// CHECK-ERROR: expected writable system register or pstate146// CHECK-UNKNOWN: d503467f smstop147 148msr SVCRSMZA, #1149// CHECK-INST: smstart150// CHECK-ENCODING: [0x7f,0x47,0x03,0xd5]151// CHECK-ERROR: expected writable system register or pstate152// CHECK-UNKNOWN: d503477f smstart153 154msr TPIDR2_EL0, x3155// CHECK-INST: msr TPIDR2_EL0, x3156// CHECK-ENCODING: [0xa3,0xd0,0x1b,0xd5]157// CHECK-ERROR: expected writable system register or pstate158// CHECK-UNKNOWN: d51bd0a3 msr S3_3_C13_C0_5, x3159