// RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+gcie < %s \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST // RUN: not llvm-mc -triple=aarch64 -show-encoding < %s 2>&1 \ // RUN: | FileCheck %s --check-prefix=CHECK-ERROR // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+gcie < %s \ // RUN: | llvm-objdump -d --mattr=+gcie --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-INST // RUN: llvm-mc -triple=aarch64 -filetype=obj -mattr=+gcie < %s \ // RUN: | llvm-objdump -d --mattr=-gcie --no-print-imm-hex - | FileCheck %s --check-prefix=CHECK-UNKNOWN // Disassemble encoding and check the re-encoding (-show-encoding) matches. // RUN: llvm-mc -triple=aarch64 -show-encoding -mattr=+gcie < %s \ // RUN: | sed '/.text/d' | sed 's/.*encoding: //g' \ // RUN: | llvm-mc -triple=aarch64 -mattr=+gcie -disassemble -show-encoding \ // RUN: | FileCheck %s --check-prefixes=CHECK-ENCODING,CHECK-INST //------------------------------------------------------------------------------ // Armv9.7-A FEAT_GCIE Extensions //------------------------------------------------------------------------------ // CPU Interface Registers MRS Instruction - Encodings Checked MRS x3, ICC_APR_EL1 // CHECK-INST: mrs x3, ICC_APR_EL1 // CHECK-ENCODING: [0x03,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c003 MRS x3, ICC_APR_EL3 // CHECK-INST: mrs x3, ICC_APR_EL3 // CHECK-ENCODING: [0x03,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec803 MRS x3, ICC_CR0_EL1 // CHECK-INST: mrs x3, ICC_CR0_EL1 // CHECK-ENCODING: [0x23,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c023 MRS x3, ICC_CR0_EL3 // CHECK-INST: mrs x3, ICC_CR0_EL3 // CHECK-ENCODING: [0x03,0xc9,0x3e,0xd5] // CHECK-UNKNOWN: d53ec903 MRS x3, ICC_DOMHPPIR_EL3 // CHECK-INST: mrs x3, ICC_DOMHPPIR_EL3 // CHECK-ENCODING: [0x43,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec843 MRS x3, ICC_HAPR_EL1 // CHECK-INST: mrs x3, ICC_HAPR_EL1 // CHECK-ENCODING: [0x63,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c063 MRS x3, ICC_HPPIR_EL1 // CHECK-INST: mrs x3, ICC_HPPIR_EL1 // CHECK-ENCODING: [0x63,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca63 MRS x3, ICC_HPPIR_EL3 // CHECK-INST: mrs x3, ICC_HPPIR_EL3 // CHECK-ENCODING: [0x23,0xc9,0x3e,0xd5] // CHECK-UNKNOWN: d53ec923 MRS x3, ICC_IAFFIDR_EL1 // CHECK-INST: mrs x3, ICC_IAFFIDR_EL1 // CHECK-ENCODING: [0xa3,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538caa3 MRS x3, ICC_ICSR_EL1 // CHECK-INST: mrs x3, ICC_ICSR_EL1 // CHECK-ENCODING: [0x83,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca83 MRS x3, ICC_IDR0_EL1 // CHECK-INST: mrs x3, ICC_IDR0_EL1 // CHECK-ENCODING: [0x43,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca43 MRS x3, ICC_PCR_EL1 // CHECK-INST: mrs x3, ICC_PCR_EL1 // CHECK-ENCODING: [0x43,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c043 MRS x3, ICC_PCR_EL3 // CHECK-INST: mrs x3, ICC_PCR_EL3 // CHECK-ENCODING: [0x23,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec823 MRS x3, ICC_SRE_EL1 // CHECK-INST: mrs x3, ICC_SRE_EL1 // CHECK-ENCODING: [0xa3,0xcc,0x38,0xd5] // CHECK-UNKNOWN: d538cca3 // ----------------------------------------------- MSR ICC_APR_EL1, x3 // CHECK-INST: msr ICC_APR_EL1, x3 // CHECK-ENCODING: [0x03,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c003 MSR ICC_APR_EL3, x3 // CHECK-INST: msr ICC_APR_EL3, x3 // CHECK-ENCODING: [0x03,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec803 MSR ICC_CR0_EL1, x3 // CHECK-INST: msr ICC_CR0_EL1, x3 // CHECK-ENCODING: [0x23,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c023 MSR ICC_CR0_EL3, x3 // CHECK-INST: msr ICC_CR0_EL3, x3 // CHECK-ENCODING: [0x03,0xc9,0x1e,0xd5] // CHECK-UNKNOWN: d51ec903 MSR ICC_ICSR_EL1, x3 // CHECK-INST: msr ICC_ICSR_EL1, x3 // CHECK-ENCODING: [0x83,0xca,0x18,0xd5] // CHECK-UNKNOWN: d518ca83 MSR ICC_PCR_EL1, x3 // CHECK-INST: msr ICC_PCR_EL1, x3 // CHECK-ENCODING: [0x43,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c043 MSR ICC_PCR_EL3, x3 // CHECK-INST: msr ICC_PCR_EL3, x3 // CHECK-ENCODING: [0x23,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec823 // ----------------------------------------------- // Virtual CPU Registers MRS Instructions // The specification says: // "Each ICC_system register that is accessible at EL1 and higher and whose state // is specific to the Virtual Interrupt Domain, has a corresponding virtual // ICV_register. The ICV_registers are accessed using the same system register // encodings as their ICC_counterparts." // // So expect ICC_* encodings here, not ICV_* encodings MRS x3, ICV_APR_EL1 // CHECK-INST: mrs x3, ICC_APR_EL1 // CHECK-ENCODING: [0x03,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c003 MRS x3, ICV_CR0_EL1 // CHECK-INST: mrs x3, ICC_CR0_EL1 // CHECK-ENCODING: [0x23,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c023 MRS x3, ICV_HAPR_EL1 // CHECK-INST: mrs x3, ICC_HAPR_EL1 // CHECK-ENCODING: [0x63,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c063 MRS x3, ICV_HPPIR_EL1 // CHECK-INST: mrs x3, ICC_HPPIR_EL1 // CHECK-ENCODING: [0x63,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca63 MRS x3, ICV_PCR_EL1 // CHECK-INST: mrs x3, ICC_PCR_EL1 // CHECK-ENCODING: [0x43,0xc0,0x39,0xd5] // CHECK-UNKNOWN: d539c043 // ----------------------------------------------- // Likewise here, expect ICC_* encodings here, not ICV_* encodings MSR ICV_APR_EL1, x3 // CHECK-INST: msr ICC_APR_EL1, x3 // CHECK-ENCODING: [0x03,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c003 MSR ICV_CR0_EL1, x3 // CHECK-INST: msr ICC_CR0_EL1, x3 // CHECK-ENCODING: [0x23,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c023 MSR ICV_PCR_EL1, x3 // CHECK-INST: msr ICC_PCR_EL1, x3 // CHECK-ENCODING: [0x43,0xc0,0x19,0xd5] // CHECK-UNKNOWN: d519c043 // ----------------------------------------------- // PPI Registers MRS Instructions - Encodings Checked MRS x3, ICC_PPI_CACTIVER0_EL1 // CHECK-INST: mrs x3, ICC_PPI_CACTIVER0_EL1 // CHECK-ENCODING: [0x03,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cd03 MRS x3, ICC_PPI_CACTIVER1_EL1 // CHECK-INST: mrs x3, ICC_PPI_CACTIVER1_EL1 // CHECK-ENCODING: [0x23,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cd23 MRS x3, ICC_PPI_CPENDR0_EL1 // CHECK-INST: mrs x3, ICC_PPI_CPENDR0_EL1 // CHECK-ENCODING: [0x83,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cd83 MRS x3, ICC_PPI_CPENDR1_EL1 // CHECK-INST: mrs x3, ICC_PPI_CPENDR1_EL1 // CHECK-ENCODING: [0xa3,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cda3 MRS x3, ICC_PPI_DOMAINR0_EL3 // CHECK-INST: mrs x3, ICC_PPI_DOMAINR0_EL3 // CHECK-ENCODING: [0x83,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec883 MRS x3, ICC_PPI_DOMAINR1_EL3 // CHECK-INST: mrs x3, ICC_PPI_DOMAINR1_EL3 // CHECK-ENCODING: [0xa3,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec8a3 MRS x3, ICC_PPI_DOMAINR2_EL3 // CHECK-INST: mrs x3, ICC_PPI_DOMAINR2_EL3 // CHECK-ENCODING: [0xc3,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec8c3 MRS x3, ICC_PPI_DOMAINR3_EL3 // CHECK-INST: mrs x3, ICC_PPI_DOMAINR3_EL3 // CHECK-ENCODING: [0xe3,0xc8,0x3e,0xd5] // CHECK-UNKNOWN: d53ec8e3 MRS x3, ICC_PPI_ENABLER0_EL1 // CHECK-INST: mrs x3, ICC_PPI_ENABLER0_EL1 // CHECK-ENCODING: [0xc3,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538cac3 MRS x3, ICC_PPI_ENABLER1_EL1 // CHECK-INST: mrs x3, ICC_PPI_ENABLER1_EL1 // CHECK-ENCODING: [0xe3,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538cae3 MRS x3, ICC_PPI_PRIORITYR0_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR0_EL1 // CHECK-ENCODING: [0x03,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538ce03 MRS x3, ICC_PPI_PRIORITYR1_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR1_EL1 // CHECK-ENCODING: [0x23,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538ce23 MRS x3, ICC_PPI_PRIORITYR2_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR2_EL1 // CHECK-ENCODING: [0x43,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538ce43 MRS x3, ICC_PPI_PRIORITYR3_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR3_EL1 // CHECK-ENCODING: [0x63,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538ce63 MRS x3, ICC_PPI_PRIORITYR4_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR4_EL1 // CHECK-ENCODING: [0x83,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538ce83 MRS x3, ICC_PPI_PRIORITYR5_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR5_EL1 // CHECK-ENCODING: [0xa3,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538cea3 MRS x3, ICC_PPI_PRIORITYR6_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR6_EL1 // CHECK-ENCODING: [0xc3,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538cec3 MRS x3, ICC_PPI_PRIORITYR7_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR7_EL1 // CHECK-ENCODING: [0xe3,0xce,0x38,0xd5] // CHECK-UNKNOWN: d538cee3 MRS x3, ICC_PPI_PRIORITYR8_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR8_EL1 // CHECK-ENCODING: [0x03,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cf03 MRS x3, ICC_PPI_PRIORITYR9_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR9_EL1 // CHECK-ENCODING: [0x23,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cf23 MRS x3, ICC_PPI_PRIORITYR10_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR10_EL1 // CHECK-ENCODING: [0x43,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cf43 MRS x3, ICC_PPI_PRIORITYR11_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR11_EL1 // CHECK-ENCODING: [0x63,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cf63 MRS x3, ICC_PPI_PRIORITYR12_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR12_EL1 // CHECK-ENCODING: [0x83,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cf83 MRS x3, ICC_PPI_PRIORITYR13_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR13_EL1 // CHECK-ENCODING: [0xa3,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cfa3 MRS x3, ICC_PPI_PRIORITYR14_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR14_EL1 // CHECK-ENCODING: [0xc3,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cfc3 MRS x3, ICC_PPI_PRIORITYR15_EL1 // CHECK-INST: mrs x3, ICC_PPI_PRIORITYR15_EL1 // CHECK-ENCODING: [0xe3,0xcf,0x38,0xd5] // CHECK-UNKNOWN: d538cfe3 MRS x3, ICC_PPI_SACTIVER0_EL1 // CHECK-INST: mrs x3, ICC_PPI_SACTIVER0_EL1 // CHECK-ENCODING: [0x43,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cd43 MRS x3, ICC_PPI_SACTIVER1_EL1 // CHECK-INST: mrs x3, ICC_PPI_SACTIVER1_EL1 // CHECK-ENCODING: [0x63,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cd63 MRS x3, ICC_PPI_SPENDR0_EL1 // CHECK-INST: mrs x3, ICC_PPI_SPENDR0_EL1 // CHECK-ENCODING: [0xc3,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cdc3 MRS x3, ICC_PPI_SPENDR1_EL1 // CHECK-INST: mrs x3, ICC_PPI_SPENDR1_EL1 // CHECK-ENCODING: [0xe3,0xcd,0x38,0xd5] // CHECK-UNKNOWN: d538cde3 MRS x3, ICC_PPI_HMR0_EL1 // CHECK-INST: mrs x3, ICC_PPI_HMR0_EL1 // CHECK-ENCODING: [0x03,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca03 MRS x3, ICC_PPI_HMR1_EL1 // CHECK-INST: mrs x3, ICC_PPI_HMR1_EL1 // CHECK-ENCODING: [0x23,0xca,0x38,0xd5] // CHECK-UNKNOWN: d538ca23 // ----------------------------------------------- // MSR PPI Registers Instructions MSR ICC_PPI_CACTIVER0_EL1, x3 // CHECK-INST: msr ICC_PPI_CACTIVER0_EL1, x3 // CHECK-ENCODING: [0x03,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cd03 MSR ICC_PPI_CACTIVER1_EL1, x3 // CHECK-INST: msr ICC_PPI_CACTIVER1_EL1, x3 // CHECK-ENCODING: [0x23,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cd23 MSR ICC_PPI_CPENDR0_EL1, x3 // CHECK-INST: msr ICC_PPI_CPENDR0_EL1, x3 // CHECK-ENCODING: [0x83,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cd83 MSR ICC_PPI_CPENDR1_EL1, x3 // CHECK-INST: msr ICC_PPI_CPENDR1_EL1, x3 // CHECK-ENCODING: [0xa3,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cda3 MSR ICC_PPI_DOMAINR0_EL3, x3 // CHECK-INST: msr ICC_PPI_DOMAINR0_EL3, x3 // CHECK-ENCODING: [0x83,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec883 MSR ICC_PPI_DOMAINR1_EL3, x3 // CHECK-INST: msr ICC_PPI_DOMAINR1_EL3, x3 // CHECK-ENCODING: [0xa3,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec8a3 MSR ICC_PPI_DOMAINR2_EL3, x3 // CHECK-INST: msr ICC_PPI_DOMAINR2_EL3, x3 // CHECK-ENCODING: [0xc3,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec8c3 MSR ICC_PPI_DOMAINR3_EL3, x3 // CHECK-INST: msr ICC_PPI_DOMAINR3_EL3, x3 // CHECK-ENCODING: [0xe3,0xc8,0x1e,0xd5] // CHECK-UNKNOWN: d51ec8e3 MSR ICC_PPI_ENABLER0_EL1, x3 // CHECK-INST: msr ICC_PPI_ENABLER0_EL1, x3 // CHECK-ENCODING: [0xc3,0xca,0x18,0xd5] // CHECK-UNKNOWN: d518cac3 MSR ICC_PPI_ENABLER1_EL1, x3 // CHECK-INST: msr ICC_PPI_ENABLER1_EL1, x3 // CHECK-ENCODING: [0xe3,0xca,0x18,0xd5] // CHECK-UNKNOWN: d518cae3 MSR ICC_PPI_PRIORITYR0_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR0_EL1, x3 // CHECK-ENCODING: [0x03,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518ce03 MSR ICC_PPI_PRIORITYR1_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR1_EL1, x3 // CHECK-ENCODING: [0x23,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518ce23 MSR ICC_PPI_PRIORITYR2_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR2_EL1, x3 // CHECK-ENCODING: [0x43,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518ce43 MSR ICC_PPI_PRIORITYR3_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR3_EL1, x3 // CHECK-ENCODING: [0x63,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518ce63 MSR ICC_PPI_PRIORITYR4_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR4_EL1, x3 // CHECK-ENCODING: [0x83,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518ce83 MSR ICC_PPI_PRIORITYR5_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR5_EL1, x3 // CHECK-ENCODING: [0xa3,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518cea3 MSR ICC_PPI_PRIORITYR6_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR6_EL1, x3 // CHECK-ENCODING: [0xc3,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518cec3 MSR ICC_PPI_PRIORITYR7_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR7_EL1, x3 // CHECK-ENCODING: [0xe3,0xce,0x18,0xd5] // CHECK-UNKNOWN: d518cee3 MSR ICC_PPI_PRIORITYR8_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR8_EL1, x3 // CHECK-ENCODING: [0x03,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cf03 MSR ICC_PPI_PRIORITYR9_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR9_EL1, x3 // CHECK-ENCODING: [0x23,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cf23 MSR ICC_PPI_PRIORITYR10_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR10_EL1, x3 // CHECK-ENCODING: [0x43,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cf43 MSR ICC_PPI_PRIORITYR11_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR11_EL1, x3 // CHECK-ENCODING: [0x63,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cf63 MSR ICC_PPI_PRIORITYR12_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR12_EL1, x3 // CHECK-ENCODING: [0x83,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cf83 MSR ICC_PPI_PRIORITYR13_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR13_EL1, x3 // CHECK-ENCODING: [0xa3,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cfa3 MSR ICC_PPI_PRIORITYR14_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR14_EL1, x3 // CHECK-ENCODING: [0xc3,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cfc3 MSR ICC_PPI_PRIORITYR15_EL1, x3 // CHECK-INST: msr ICC_PPI_PRIORITYR15_EL1, x3 // CHECK-ENCODING: [0xe3,0xcf,0x18,0xd5] // CHECK-UNKNOWN: d518cfe3 MSR ICC_PPI_SACTIVER0_EL1, x3 // CHECK-INST: msr ICC_PPI_SACTIVER0_EL1, x3 // CHECK-ENCODING: [0x43,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cd43 MSR ICC_PPI_SACTIVER1_EL1, x3 // CHECK-INST: msr ICC_PPI_SACTIVER1_EL1, x3 // CHECK-ENCODING: [0x63,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cd63 MSR ICC_PPI_SPENDR0_EL1, x3 // CHECK-INST: msr ICC_PPI_SPENDR0_EL1, x3 // CHECK-ENCODING: [0xc3,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cdc3 MSR ICC_PPI_SPENDR1_EL1, x3 // CHECK-INST: msr ICC_PPI_SPENDR1_EL1, x3 // CHECK-ENCODING: [0xe3,0xcd,0x18,0xd5] // CHECK-UNKNOWN: d518cde3 // ----------------------------------------------- // Hypervisor Control Register MRS Instructions MRS x3, ICH_APR_EL2 // CHECK-INST: mrs x3, ICH_APR_EL2 // CHECK-ENCODING: [0x83,0xc8,0x3c,0xd5] // CHECK-UNKNOWN: d53cc883 MRS x3, ICH_CONTEXTR_EL2 // CHECK-INST: mrs x3, ICH_CONTEXTR_EL2 // CHECK-ENCODING: [0xc3,0xcb,0x3c,0xd5] // CHECK-UNKNOWN: d53ccbc3 MRS x3, ICH_HFGITR_EL2 // CHECK-INST: mrs x3, ICH_HFGITR_EL2 // CHECK-ENCODING: [0xe3,0xc9,0x3c,0xd5] // CHECK-UNKNOWN: d53cc9e3 MRS x3, ICH_HFGRTR_EL2 // CHECK-INST: mrs x3, ICH_HFGRTR_EL2 // CHECK-ENCODING: [0x83,0xc9,0x3c,0xd5] // CHECK-UNKNOWN: d53cc983 MRS x3, ICH_HFGWTR_EL2 // CHECK-INST: mrs x3, ICH_HFGWTR_EL2 // CHECK-ENCODING: [0xc3,0xc9,0x3c,0xd5] // CHECK-UNKNOWN: d53cc9c3 MRS x3, ICH_HPPIR_EL2 // CHECK-INST: mrs x3, ICH_HPPIR_EL2 // CHECK-ENCODING: [0xa3,0xc8,0x3c,0xd5] // CHECK-UNKNOWN: d53cc8a3 MRS x3, ICH_PPI_ACTIVER0_EL2 // CHECK-INST: mrs x3, ICH_PPI_ACTIVER0_EL2 // CHECK-ENCODING: [0xc3,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53ccac3 MRS x3, ICH_PPI_ACTIVER1_EL2 // CHECK-INST: mrs x3, ICH_PPI_ACTIVER1_EL2 // CHECK-ENCODING: [0xe3,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53ccae3 MRS x3, ICH_PPI_DVIR0_EL2 // CHECK-INST: mrs x3, ICH_PPI_DVIR0_EL2 // CHECK-ENCODING: [0x03,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53cca03 MRS x3, ICH_PPI_DVIR1_EL2 // CHECK-INST: mrs x3, ICH_PPI_DVIR1_EL2 // CHECK-ENCODING: [0x23,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53cca23 MRS x3, ICH_PPI_ENABLER0_EL2 // CHECK-INST: mrs x3, ICH_PPI_ENABLER0_EL2 // CHECK-ENCODING: [0x43,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53cca43 MRS x3, ICH_PPI_ENABLER1_EL2 // CHECK-INST: mrs x3, ICH_PPI_ENABLER1_EL2 // CHECK-ENCODING: [0x63,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53cca63 MRS x3, ICH_PPI_HVIR0_EL2 // CHECK-INST: mrs x3, ICH_PPI_HVIR0_EL2 // CHECK-ENCODING: [0x03,0xc7,0x3c,0xd5] // CHECK-UNKNOWN: d53cc703 MRS x3, ICH_PPI_HVIR1_EL2 // CHECK-INST: mrs x3, ICH_PPI_HVIR1_EL2 // CHECK-ENCODING: [0x23,0xc7,0x3c,0xd5] // CHECK-UNKNOWN: d53cc723 MRS x3, ICH_PPI_PENDR0_EL2 // CHECK-INST: mrs x3, ICH_PPI_PENDR0_EL2 // CHECK-ENCODING: [0x83,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53cca83 MRS x3, ICH_PPI_PENDR1_EL2 // CHECK-INST: mrs x3, ICH_PPI_PENDR1_EL2 // CHECK-ENCODING: [0xa3,0xca,0x3c,0xd5] // CHECK-UNKNOWN: d53ccaa3 MRS x3, ICH_PPI_PRIORITYR0_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR0_EL2 // CHECK-ENCODING: [0x03,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53cce03 MRS x3, ICH_PPI_PRIORITYR1_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR1_EL2 // CHECK-ENCODING: [0x23,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53cce23 MRS x3, ICH_PPI_PRIORITYR2_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR2_EL2 // CHECK-ENCODING: [0x43,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53cce43 MRS x3, ICH_PPI_PRIORITYR3_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR3_EL2 // CHECK-ENCODING: [0x63,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53cce63 MRS x3, ICH_PPI_PRIORITYR4_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR4_EL2 // CHECK-ENCODING: [0x83,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53cce83 MRS x3, ICH_PPI_PRIORITYR5_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR5_EL2 // CHECK-ENCODING: [0xa3,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53ccea3 MRS x3, ICH_PPI_PRIORITYR6_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR6_EL2 // CHECK-ENCODING: [0xc3,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53ccec3 MRS x3, ICH_PPI_PRIORITYR7_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR7_EL2 // CHECK-ENCODING: [0xe3,0xce,0x3c,0xd5] // CHECK-UNKNOWN: d53ccee3 MRS x3, ICH_PPI_PRIORITYR8_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR8_EL2 // CHECK-ENCODING: [0x03,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccf03 MRS x3, ICH_PPI_PRIORITYR9_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR9_EL2 // CHECK-ENCODING: [0x23,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccf23 MRS x3, ICH_PPI_PRIORITYR10_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR10_EL2 // CHECK-ENCODING: [0x43,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccf43 MRS x3, ICH_PPI_PRIORITYR11_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR11_EL2 // CHECK-ENCODING: [0x63,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccf63 MRS x3, ICH_PPI_PRIORITYR12_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR12_EL2 // CHECK-ENCODING: [0x83,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccf83 MRS x3, ICH_PPI_PRIORITYR13_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR13_EL2 // CHECK-ENCODING: [0xa3,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccfa3 MRS x3, ICH_PPI_PRIORITYR14_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR14_EL2 // CHECK-ENCODING: [0xc3,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccfc3 MRS x3, ICH_PPI_PRIORITYR15_EL2 // CHECK-INST: mrs x3, ICH_PPI_PRIORITYR15_EL2 // CHECK-ENCODING: [0xe3,0xcf,0x3c,0xd5] // CHECK-UNKNOWN: d53ccfe3 MRS x3, ICH_VCTLR_EL2 // CHECK-INST: mrs x3, ICH_VCTLR_EL2 // CHECK-ENCODING: [0x83,0xcb,0x3c,0xd5] // CHECK-UNKNOWN: d53ccb83 // ----------------------------------------------- // Hypervisor Control Register MSR Instructions MSR ICH_APR_EL2, x3 // CHECK-INST: msr ICH_APR_EL2, x3 // CHECK-ENCODING: [0x83,0xc8,0x1c,0xd5] // CHECK-UNKNOWN: d51cc883 MSR ICH_CONTEXTR_EL2, x3 // CHECK-INST: msr ICH_CONTEXTR_EL2, x3 // CHECK-ENCODING: [0xc3,0xcb,0x1c,0xd5] // CHECK-UNKNOWN: d51ccbc3 MSR ICH_HFGITR_EL2, x3 // CHECK-INST: msr ICH_HFGITR_EL2, x3 // CHECK-ENCODING: [0xe3,0xc9,0x1c,0xd5] // CHECK-UNKNOWN: d51cc9e3 MSR ICH_HFGRTR_EL2, x3 // CHECK-INST: msr ICH_HFGRTR_EL2, x3 // CHECK-ENCODING: [0x83,0xc9,0x1c,0xd5] // CHECK-UNKNOWN: d51cc983 MSR ICH_HFGWTR_EL2, x3 // CHECK-INST: msr ICH_HFGWTR_EL2, x3 // CHECK-ENCODING: [0xc3,0xc9,0x1c,0xd5] // CHECK-UNKNOWN: d51cc9c3 MSR ICH_PPI_ACTIVER0_EL2, x3 // CHECK-INST: msr ICH_PPI_ACTIVER0_EL2, x3 // CHECK-ENCODING: [0xc3,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51ccac3 MSR ICH_PPI_ACTIVER1_EL2, x3 // CHECK-INST: msr ICH_PPI_ACTIVER1_EL2, x3 // CHECK-ENCODING: [0xe3,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51ccae3 MSR ICH_PPI_DVIR0_EL2, x3 // CHECK-INST: msr ICH_PPI_DVIR0_EL2, x3 // CHECK-ENCODING: [0x03,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51cca03 MSR ICH_PPI_DVIR1_EL2, x3 // CHECK-INST: msr ICH_PPI_DVIR1_EL2, x3 // CHECK-ENCODING: [0x23,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51cca23 MSR ICH_PPI_ENABLER0_EL2, x3 // CHECK-INST: msr ICH_PPI_ENABLER0_EL2, x3 // CHECK-ENCODING: [0x43,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51cca43 MSR ICH_PPI_ENABLER1_EL2, x3 // CHECK-INST: msr ICH_PPI_ENABLER1_EL2, x3 // CHECK-ENCODING: [0x63,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51cca63 MSR ICH_PPI_HVIR0_EL2, x3 // CHECK-INST: msr ICH_PPI_HVIR0_EL2, x3 // CHECK-ENCODING: [0x03,0xc7,0x1c,0xd5] // CHECK-UNKNOWN: d51cc703 MSR ICH_PPI_HVIR1_EL2, x3 // CHECK-INST: msr ICH_PPI_HVIR1_EL2, x3 // CHECK-ENCODING: [0x23,0xc7,0x1c,0xd5] // CHECK-UNKNOWN: d51cc723 MSR ICH_PPI_PENDR0_EL2, x3 // CHECK-INST: msr ICH_PPI_PENDR0_EL2, x3 // CHECK-ENCODING: [0x83,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51cca83 MSR ICH_PPI_PENDR1_EL2, x3 // CHECK-INST: msr ICH_PPI_PENDR1_EL2, x3 // CHECK-ENCODING: [0xa3,0xca,0x1c,0xd5] // CHECK-UNKNOWN: d51ccaa3 MSR ICH_PPI_PRIORITYR0_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR0_EL2, x3 // CHECK-ENCODING: [0x03,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51cce03 MSR ICH_PPI_PRIORITYR1_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR1_EL2, x3 // CHECK-ENCODING: [0x23,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51cce23 MSR ICH_PPI_PRIORITYR2_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR2_EL2, x3 // CHECK-ENCODING: [0x43,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51cce43 MSR ICH_PPI_PRIORITYR3_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR3_EL2, x3 // CHECK-ENCODING: [0x63,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51cce63 MSR ICH_PPI_PRIORITYR4_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR4_EL2, x3 // CHECK-ENCODING: [0x83,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51cce83 MSR ICH_PPI_PRIORITYR5_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR5_EL2, x3 // CHECK-ENCODING: [0xa3,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51ccea3 MSR ICH_PPI_PRIORITYR6_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR6_EL2, x3 // CHECK-ENCODING: [0xc3,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51ccec3 MSR ICH_PPI_PRIORITYR7_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR7_EL2, x3 // CHECK-ENCODING: [0xe3,0xce,0x1c,0xd5] // CHECK-UNKNOWN: d51ccee3 MSR ICH_PPI_PRIORITYR8_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR8_EL2, x3 // CHECK-ENCODING: [0x03,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccf03 MSR ICH_PPI_PRIORITYR9_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR9_EL2, x3 // CHECK-ENCODING: [0x23,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccf23 MSR ICH_PPI_PRIORITYR10_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR10_EL2, x3 // CHECK-ENCODING: [0x43,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccf43 MSR ICH_PPI_PRIORITYR11_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR11_EL2, x3 // CHECK-ENCODING: [0x63,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccf63 MSR ICH_PPI_PRIORITYR12_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR12_EL2, x3 // CHECK-ENCODING: [0x83,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccf83 MSR ICH_PPI_PRIORITYR13_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR13_EL2, x3 // CHECK-ENCODING: [0xa3,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccfa3 MSR ICH_PPI_PRIORITYR14_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR14_EL2, x3 // CHECK-ENCODING: [0xc3,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccfc3 MSR ICH_PPI_PRIORITYR15_EL2, x3 // CHECK-INST: msr ICH_PPI_PRIORITYR15_EL2, x3 // CHECK-ENCODING: [0xe3,0xcf,0x1c,0xd5] // CHECK-UNKNOWN: d51ccfe3 MSR ICH_VCTLR_EL2, x3 // CHECK-INST: msr ICH_VCTLR_EL2, x3 // CHECK-ENCODING: [0x83,0xcb,0x1c,0xd5] // CHECK-UNKNOWN: d51ccb83 // ----------------------------------------------- // FEAT_GCIE Instructions // Current Interrupt Domain GIC CDAFF, x3 // CHECK-INST: gic cdaff, x3 // CHECK-ENCODING: [0x63,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c163 sys #0, c12, c1, #3, x3 // CHECK-ERROR: error: GIC cdaff requires: gcie GIC CDDI, x3 // CHECK-INST: gic cddi, x3 // CHECK-ENCODING: [0x03,0xc2,0x08,0xd5] // CHECK-UNKNOWN: d508c203 sys #0, c12, c2, #0, x3 // CHECK-ERROR: error: GIC cddi requires: gcie GIC CDDIS, x3 // CHECK-INST: gic cddis, x3 // CHECK-ENCODING: [0x03,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c103 sys #0, c12, c1, #0, x3 // CHECK-ERROR: error: GIC cddis requires: gcie GIC CDEN, x3 // CHECK-INST: gic cden, x3 // CHECK-ENCODING: [0x23,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c123 sys #0, c12, c1, #1, x3 // CHECK-ERROR: error: GIC cden requires: gcie GIC CDEOI // CHECK-INST: gic cdeoi // CHECK-ENCODING: [0xff,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c1ff sys #0, c12, c1, #7 // CHECK-ERROR: error: GIC cdeoi requires: gcie GIC CDHM, x3 // CHECK-INST: gic cdhm, x3 // CHECK-ENCODING: [0x23,0xc2,0x08,0xd5] // CHECK-UNKNOWN: d508c223 sys #0, c12, c2, #1, x3 // CHECK-ERROR: error: GIC cdhm requires: gcie GIC CDPEND, x3 // CHECK-INST: gic cdpend, x3 // CHECK-ENCODING: [0x83,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c183 sys #0, c12, c1, #4, x3 // CHECK-ERROR: error: GIC cdpend requires: gcie GIC CDPRI, x3 // CHECK-INST: gic cdpri, x3 // CHECK-ENCODING: [0x43,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c143 sys #0, c12, c1, #2, x3 // CHECK-ERROR: error: GIC cdpri requires: gcie GIC CDRCFG, x3 // CHECK-INST: gic cdrcfg, x3 // CHECK-ENCODING: [0xa3,0xc1,0x08,0xd5] // CHECK-UNKNOWN: d508c1a3 sys #0, c12, c1, #5, x3 // CHECK-ERROR: error: GIC cdrcfg requires: gcie GICR x3, CDIA // CHECK-INST: gicr x3, cdia // CHECK-ENCODING: [0x03,0xc3,0x28,0xd5] // CHECK-UNKNOWN: d528c303 sysl x3, #0, c12, c3, #0 // CHECK-ERROR: error: GICR cdia requires: gcie GICR x3, CDNMIA // CHECK-INST: gicr x3, cdnmia // CHECK-ENCODING: [0x23,0xc3,0x28,0xd5] // CHECK-UNKNOWN: d528c323 sysl x3, #0, c12, c3, #1 // CHECK-ERROR: error: GICR cdnmia requires: gcie // ----------------------------------------------- // Virtual Interrupt Domain GIC VDAFF, x3 // CHECK-INST: gic vdaff, x3 // CHECK-ENCODING: [0x63,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc163 sys #4, c12, c1, #3, x3 // CHECK-ERROR: error: GIC vdaff requires: gcie GIC VDDI, x3 // CHECK-INST: gic vddi, x3 // CHECK-ENCODING: [0x03,0xc2,0x0c,0xd5] // CHECK-UNKNOWN: d50cc203 sys #4, c12, c2, #0, x3 // CHECK-ERROR: error: GIC vddi requires: gcie GIC VDDIS, x3 // CHECK-INST: gic vddis, x3 // CHECK-ENCODING: [0x03,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc103 sys #4, c12, c1, #0, x3 // CHECK-ERROR: error: GIC vddis requires: gcie GIC VDEN, x3 // CHECK-INST: gic vden, x3 // CHECK-ENCODING: [0x23,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc123 sys #4, c12, c1, #1, x3 // CHECK-ERROR: error: GIC vden requires: gcie GIC VDHM, x3 // CHECK-INST: gic vdhm, x3 // CHECK-ENCODING: [0x23,0xc2,0x0c,0xd5] // CHECK-UNKNOWN: d50cc223 sys #4, c12, c2, #1, x3 // CHECK-ERROR: error: GIC vdhm requires: gcie GIC VDPEND, x3 // CHECK-INST: gic vdpend, x3 // CHECK-ENCODING: [0x83,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc183 sys #4, c12, c1, #4, x3 // CHECK-ERROR: error: GIC vdpend requires: gcie GIC VDPRI, x3 // CHECK-INST: gic vdpri, x3 // CHECK-ENCODING: [0x43,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc143 sys #4, c12, c1, #2, x3 // CHECK-ERROR: error: GIC vdpri requires: gcie GIC VDRCFG, x3 // CHECK-INST: gic vdrcfg, x3 // CHECK-ENCODING: [0xa3,0xc1,0x0c,0xd5] // CHECK-UNKNOWN: d50cc1a3 sys #4, c12, c1, #5, x3 // CHECK-ERROR: error: GIC vdrcfg requires: gcie // ----------------------------------------------- // Logical Interrupt Domain GIC LDAFF, x3 // CHECK-INST: gic ldaff, x3 // CHECK-ENCODING: [0x63,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec163 sys #6, c12, c1, #3, x3 // CHECK-ERROR: error: GIC ldaff requires: gcie GIC LDDI, x3 // CHECK-INST: gic lddi, x3 // CHECK-ENCODING: [0x03,0xc2,0x0e,0xd5] // CHECK-UNKNOWN: d50ec203 sys #6, c12, c2, #0, x3 // CHECK-ERROR: error: GIC lddi requires: gcie GIC LDDIS, x3 // CHECK-INST: gic lddis, x3 // CHECK-ENCODING: [0x03,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec103 sys #6, c12, c1, #0, x3 // CHECK-ERROR: error: GIC lddis requires: gcie GIC LDEN, x3 // CHECK-INST: gic lden, x3 // CHECK-ENCODING: [0x23,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec123 sys #6, c12, c1, #1, x3 // CHECK-ERROR: error: GIC lden requires: gcie GIC LDHM, x3 // CHECK-INST: gic ldhm, x3 // CHECK-ENCODING: [0x23,0xc2,0x0e,0xd5] // CHECK-UNKNOWN: d50ec223 sys #6, c12, c2, #1, x3 // CHECK-ERROR: error: GIC ldhm requires: gcie GIC LDPEND, x3 // CHECK-INST: gic ldpend, x3 // CHECK-ENCODING: [0x83,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec183 sys #6, c12, c1, #4, x3 // CHECK-ERROR: error: GIC ldpend requires: gcie GIC LDPRI, x3 // CHECK-INST: gic ldpri, x3 // CHECK-ENCODING: [0x43,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec143 sys #6, c12, c1, #2, x3 // CHECK-ERROR: error: GIC ldpri requires: gcie GIC LDRCFG, x3 // CHECK-INST: gic ldrcfg, x3 // CHECK-ENCODING: [0xa3,0xc1,0x0e,0xd5] // CHECK-UNKNOWN: d50ec1a3 sys #6, c12, c1, #5, x3 // CHECK-ERROR: error: GIC ldrcfg requires: gcie // ----------------------------------------------- // GIC Synchronization Barrier Instructions GSB SYS // CHECK-INST: gsb sys // CHECK-ENCODING: [0x1f,0xc0,0x08,0xd5] // CHECK-UNKNOWN: d508c01f sys #0, c12, c0, #0 // CHECK-ERROR: error: GSB sys requires: gcie GSB ACK // CHECK-INST: gsb ack // CHECK-ENCODING: [0x3f,0xc0,0x08,0xd5] // CHECK-UNKNOWN: d508c03f sys #0, c12, c0, #1 // CHECK-ERROR: error: GSB ack requires: gcie