1// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mattr=+spe < %s 2> %t | FileCheck %s 2// RUN: FileCheck --check-prefix=ERROR %s < %t 3// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding -mcpu=neoverse-n1 < %s 2> %t | FileCheck %s 4// RUN: FileCheck --check-prefix=ERROR %s < %t 5// RUN: not llvm-mc -triple aarch64-none-linux-gnu -show-encoding < %s 2> %t | FileCheck --check-prefix=NO_SPE_OUT %s 6// RUN: FileCheck --check-prefix=NO_SPE %s < %t 7 8// NO_SPE_OUT-NOT: msr 9// NO_SPE_OUT-NOT: mrs 10// NO_SPE_OUT-NOT: psb 11 12 psb csync 13// CHECK: psb csync // encoding: [0x3f,0x22,0x03,0xd5] 14// NO_SPE: instruction requires: spe 15 16 msr pmblimitr_el1, x0 17 msr pmbptr_el1, x0 18 msr pmbsr_el1, x0 19 msr pmscr_el2, x0 20 msr pmscr_el12, x0 21 msr pmscr_el1, x0 22 msr pmsicr_el1, x0 23 msr pmsirr_el1, x0 24 msr pmsfcr_el1, x0 25 msr pmsevfr_el1, x0 26 msr pmslatfr_el1, x0 27// CHECK: msr PMBLIMITR_EL1, x0 // encoding: [0x00,0x9a,0x18,0xd5] 28// CHECK: msr PMBPTR_EL1, x0 // encoding: [0x20,0x9a,0x18,0xd5] 29// CHECK: msr PMBSR_EL1, x0 // encoding: [0x60,0x9a,0x18,0xd5] 30// CHECK: msr PMSCR_EL2, x0 // encoding: [0x00,0x99,0x1c,0xd5] 31// CHECK: msr PMSCR_EL12, x0 // encoding: [0x00,0x99,0x1d,0xd5] 32// CHECK: msr PMSCR_EL1, x0 // encoding: [0x00,0x99,0x18,0xd5] 33// CHECK: msr PMSICR_EL1, x0 // encoding: [0x40,0x99,0x18,0xd5] 34// CHECK: msr PMSIRR_EL1, x0 // encoding: [0x60,0x99,0x18,0xd5] 35// CHECK: msr PMSFCR_EL1, x0 // encoding: [0x80,0x99,0x18,0xd5] 36// CHECK: msr PMSEVFR_EL1, x0 // encoding: [0xa0,0x99,0x18,0xd5] 37// CHECK: msr PMSLATFR_EL1, x0 // encoding: [0xc0,0x99,0x18,0xd5] 38// NO_SPE: error: expected writable system register or pstate 39// NO_SPE: error: expected writable system register or pstate 40// NO_SPE: error: expected writable system register or pstate 41// NO_SPE: error: expected writable system register or pstate 42// NO_SPE: error: expected writable system register or pstate 43// NO_SPE: error: expected writable system register or pstate 44// NO_SPE: error: expected writable system register or pstate 45// NO_SPE: error: expected writable system register or pstate 46// NO_SPE: error: expected writable system register or pstate 47// NO_SPE: error: expected writable system register or pstate 48// NO_SPE: error: expected writable system register or pstate 49 50 51// Readonly system registers: writing to them gives an error 52 msr pmbidr_el1, x0 53 msr pmsidr_el1, x0 54// ERROR: :[[@LINE-2]]:7: error: expected writable system register or pstate 55// ERROR: :[[@LINE-2]]:7: error: expected writable system register or pstate 56// NO_SPE: :[[@LINE-4]]:7: error: expected writable system register or pstate 57// NO_SPE: :[[@LINE-4]]:7: error: expected writable system register or pstate 58 59mrs x0, pmblimitr_el1 60 mrs x0, pmbptr_el1 61 mrs x0, pmbsr_el1 62 mrs x0, pmbidr_el1 63 mrs x0, pmscr_el2 64 mrs x0, pmscr_el12 65 mrs x0, pmscr_el1 66 mrs x0, pmsicr_el1 67 mrs x0, pmsirr_el1 68 mrs x0, pmsfcr_el1 69 mrs x0, pmsevfr_el1 70 mrs x0, pmslatfr_el1 71 mrs x0, pmsidr_el1 72 73// CHECK: mrs x0, PMBLIMITR_EL1 // encoding: [0x00,0x9a,0x38,0xd5] 74// CHECK: mrs x0, PMBPTR_EL1 // encoding: [0x20,0x9a,0x38,0xd5] 75// CHECK: mrs x0, PMBSR_EL1 // encoding: [0x60,0x9a,0x38,0xd5] 76// CHECK: mrs x0, PMBIDR_EL1 // encoding: [0xe0,0x9a,0x38,0xd5] 77// CHECK: mrs x0, PMSCR_EL2 // encoding: [0x00,0x99,0x3c,0xd5] 78// CHECK: mrs x0, PMSCR_EL12 // encoding: [0x00,0x99,0x3d,0xd5] 79// CHECK: mrs x0, PMSCR_EL1 // encoding: [0x00,0x99,0x38,0xd5] 80// CHECK: mrs x0, PMSICR_EL1 // encoding: [0x40,0x99,0x38,0xd5] 81// CHECK: mrs x0, PMSIRR_EL1 // encoding: [0x60,0x99,0x38,0xd5] 82// CHECK: mrs x0, PMSFCR_EL1 // encoding: [0x80,0x99,0x38,0xd5] 83// CHECK: mrs x0, PMSEVFR_EL1 // encoding: [0xa0,0x99,0x38,0xd5] 84// CHECK: mrs x0, PMSLATFR_EL1 // encoding: [0xc0,0x99,0x38,0xd5] 85// CHECK: mrs x0, PMSIDR_EL1 // encoding: [0xe0,0x99,0x38,0xd5] 86// NO_SPE: error: expected readable system register 87// NO_SPE: error: expected readable system register 88// NO_SPE: error: expected readable system register 89// NO_SPE: error: expected readable system register 90// NO_SPE: error: expected readable system register 91// NO_SPE: error: expected readable system register 92// NO_SPE: error: expected readable system register 93// NO_SPE: error: expected readable system register 94// NO_SPE: error: expected readable system register 95// NO_SPE: error: expected readable system register 96// NO_SPE: error: expected readable system register 97// NO_SPE: error: expected readable system register 98// NO_SPE: error: expected readable system register 99