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