Wrap include/opcode/aarch64.h in extern "C" for C++
[deliverable/binutils-gdb.git] / opcodes / aarch64-opc.c
index 131e4d209404a3521030334335f704a597388eea..9880142873e6bbc65e0742eb1d41d815e4405a5c 100644 (file)
@@ -1,5 +1,5 @@
 /* aarch64-opc.c -- AArch64 opcode support.
-   Copyright 2009, 2010, 2011, 2012, 2013  Free Software Foundation, Inc.
+   Copyright (C) 2009-2015 Free Software Foundation, Inc.
    Contributed by ARM Ltd.
 
    This file is part of the GNU opcodes library.
@@ -192,6 +192,7 @@ const aarch64_field fields[] =
     { 11,  1 },        /* index: in ld/st inst deciding the pre/post-index.  */
     { 24,  1 },        /* index2: in ld/st pair inst deciding the pre/post-index.  */
     { 31,  1 },        /* sf: in integer data processing instructions.  */
+    { 30,  1 },        /* lse_size: in LSE extension atomic instructions.  */
     { 11,  1 },        /* H: in advsimd scalar x indexed element instructions.  */
     { 21,  1 },        /* L: in advsimd scalar x indexed element instructions.  */
     { 20,  1 },        /* M: in advsimd scalar x indexed element instructions.  */
@@ -1254,6 +1255,25 @@ operand_general_constraint_met_p (const aarch64_opnd_info *opnds, int idx,
   switch (aarch64_operands[type].op_class)
     {
     case AARCH64_OPND_CLASS_INT_REG:
+      /* Check pair reg constraints for cas* instructions.  */
+      if (type == AARCH64_OPND_PAIRREG)
+       {
+         assert (idx == 1 || idx == 3);
+         if (opnds[idx - 1].reg.regno % 2 != 0)
+           {
+             set_syntax_error (mismatch_detail, idx - 1,
+                               _("reg pair must start from even reg"));
+             return 0;
+           }
+         if (opnds[idx].reg.regno != opnds[idx - 1].reg.regno + 1)
+           {
+             set_syntax_error (mismatch_detail, idx,
+                               _("reg pair must be contiguous"));
+             return 0;
+           }
+         break;
+       }
+
       /* <Xt> may be optional in some IC and TLBI instructions.  */
       if (type == AARCH64_OPND_Rt_SYS)
        {
@@ -2282,9 +2302,12 @@ print_register_offset_address (char *buf, size_t size,
   else
     tb[0] = '\0';
 
-  snprintf (buf, size, "[%s,%c%d%s]",
+  snprintf (buf, size, "[%s,%s%s]",
            get_64bit_int_reg_name (opnd->addr.base_regno, 1),
-           wm_p ? 'w' : 'x', opnd->addr.offset.regno, tb);
+           get_int_reg_name (opnd->addr.offset.regno,
+                             wm_p ? AARCH64_OPND_QLF_W : AARCH64_OPND_QLF_X,
+                             0 /* sp_reg_p */),
+           tb);
 }
 
 /* Generate the string representation of the operand OPNDS[IDX] for OPCODE
@@ -2324,6 +2347,7 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
     case AARCH64_OPND_Rs:
     case AARCH64_OPND_Ra:
     case AARCH64_OPND_Rt_SYS:
+    case AARCH64_OPND_PAIRREG:
       /* The optional-ness of <Xt> in e.g. IC <ic_op>{, <Xt>} is determined by
         the <ic_op>, therefore we we use opnd->present to override the
         generic optional-ness information.  */
@@ -2676,8 +2700,6 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
 #define CPEN_(op1,crm,op2) CPENC(3,(op1),4,(crm),(op2))
   /* for 3.9.10 System Instructions */
 #define CPENS(op1,crn,crm,op2) CPENC(1,(op1),(crn),(crm),(op2))
-/* Trace unit registers.  */
-#define CPENT(crn,crm,op2) CPENC(2,1,(crn),(crm),(op2))
 
 #define C0  0
 #define C1  1
@@ -2699,18 +2721,13 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
 #ifdef F_DEPRECATED
 #undef F_DEPRECATED
 #endif
+#define F_DEPRECATED   0x1     /* Deprecated system register.  */
 
-#ifdef F_READONLY
-#undef F_READONLY
+#ifdef F_ARCHEXT
+#undef F_ARCHEXT
 #endif
+#define F_ARCHEXT      0x2     /* Architecture dependent system register.  */
 
-#ifdef F_WRITEONLY
-#undef F_WRITEONLY
-#endif
-
-#define F_DEPRECATED   0x1     /* Deprecated system register.  */
-#define F_READONLY     0x2     /* Not for MSR.  */
-#define F_WRITEONLY    0x4     /* Not for MRS.  */
 
 /* TODO there are two more issues need to be resolved
    1. handle read-only and write-only system registers
@@ -2723,6 +2740,7 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   { "spsel",            CPEN_(0,C2,0), 0 },
   { "daif",             CPEN_(3,C2,1), 0 },
   { "currentel",        CPEN_(0,C2,2), 0 }, /* RO */
+  { "pan",             CPEN_(0,C2,3),  F_ARCHEXT },
   { "nzcv",             CPEN_(3,C2,0), 0 },
   { "fpcr",             CPEN_(3,C4,0), 0 },
   { "fpsr",             CPEN_(3,C4,1), 0 },
@@ -2754,6 +2772,7 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   { "id_mmfr1_el1",     CPENC(3,0,C0,C1,5),    0 }, /* RO */
   { "id_mmfr2_el1",     CPENC(3,0,C0,C1,6),    0 }, /* RO */
   { "id_mmfr3_el1",     CPENC(3,0,C0,C1,7),    0 }, /* RO */
+  { "id_mmfr4_el1",     CPENC(3,0,C0,C2,6),    0 }, /* RO */
   { "id_isar0_el1",     CPENC(3,0,C0,C2,0),    0 }, /* RO */
   { "id_isar1_el1",     CPENC(3,0,C0,C2,1),    0 }, /* RO */
   { "id_isar2_el1",     CPENC(3,0,C0,C2,2),    0 }, /* RO */
@@ -3023,217 +3042,6 @@ const aarch64_sys_reg aarch64_sys_regs [] =
   { "pmevtyper29_el0",   CPENC(3,3,C14,C15,5), 0 },
   { "pmevtyper30_el0",   CPENC(3,3,C14,C15,6), 0 },
   { "pmccfiltr_el0",     CPENC(3,3,C14,C15,7), 0 },
-  /* Trace unit registers.  */
-  { "trcprgctlr",        CPENT(C0,C1,0),       0 },
-  { "trcprocselr",       CPENT(C0,C2,0),       0 },
-  { "trcstatr",          CPENT(C0,C3,0),       F_READONLY },
-  { "trcconfigr",        CPENT(C0,C4,0),       0 },
-  { "trcauxctlr",        CPENT(C0,C6,0),       0 },
-  { "trceventctl0r",     CPENT(C0,C8,0),       0 },
-  { "trceventctl1r",     CPENT(C0,C9,0),       0 },
-  { "trcstallctlr",      CPENT(C0,C11,0),      0 },
-  { "trctsctlr",         CPENT(C0,C12,0),      0 },
-  { "trcsyncpr",         CPENT(C0,C13,0),      0 },
-  { "trcccctlr",         CPENT(C0,C14,0),      0 },
-  { "trcbbctlr",         CPENT(C0,C15,0),      0 },
-  { "trctraceidr",       CPENT(C0,C0,1),       0 },
-  { "trcqctlr",          CPENT(C0,C1,1),       0 },
-  { "trcvictlr",         CPENT(C0,C0,2),       0 },
-  { "trcviiectlr",       CPENT(C0,C1,2),       0 },
-  { "trcvissctlr",       CPENT(C0,C2,2),       0 },
-  { "trcvipcssctlr",     CPENT(C0,C3,2),       0 },
-  { "trcvdctlr",         CPENT(C0,C8,2),       0 },
-  { "trcvdsacctlr",      CPENT(C0,C9,2),       0 },
-  { "trcvdarcctlr",      CPENT(C0,C10,2),      0 },
-  { "trcseqevr0",        CPENT(C0,C0,4),       0 },
-  { "trcseqevr1",        CPENT(C0,C1,4),       0 },
-  { "trcseqevr2",        CPENT(C0,C2,4),       0 },
-  { "trcseqrstevr",      CPENT(C0,C6,4),       0 },
-  { "trcseqstr",         CPENT(C0,C7,4),       0 },
-  { "trcextinselr",      CPENT(C0,C8,4),       0 },
-  { "trccntrldvr0",      CPENT(C0,C0,5),       0 },
-  { "trccntrldvr1",      CPENT(C0,C1,5),       0 },
-  { "trccntrldvr2",      CPENT(C0,C2,5),       0 },
-  { "trccntrldvr3",      CPENT(C0,C3,5),       0 },
-  { "trccntctlr0",       CPENT(C0,C4,5),       0 },
-  { "trccntctlr1",       CPENT(C0,C5,5),       0 },
-  { "trccntctlr2",       CPENT(C0,C6,5),       0 },
-  { "trccntctlr3",       CPENT(C0,C7,5),       0 },
-  { "trccntvr0",         CPENT(C0,C8,5),       0 },
-  { "trccntvr1",         CPENT(C0,C9,5),       0 },
-  { "trccntvr2",         CPENT(C0,C10,5),      0 },
-  { "trccntvr3",         CPENT(C0,C11,5),      0 },
-  { "trcidr8",           CPENT(C0,C0,6),       F_READONLY },
-  { "trcidr9",           CPENT(C0,C1,6),       F_READONLY },
-  { "trcidr10",          CPENT(C0,C2,6),       F_READONLY },
-  { "trcidr11",          CPENT(C0,C3,6),       F_READONLY },
-  { "trcidr12",          CPENT(C0,C4,6),       F_READONLY },
-  { "trcidr13",          CPENT(C0,C5,6),       F_READONLY },
-  { "trcimspec0",        CPENT(C0,C0,7),       0 },
-  { "trcimspec1",        CPENT(C0,C1,7),       0 },
-  { "trcimspec2",        CPENT(C0,C2,7),       0 },
-  { "trcimspec3",        CPENT(C0,C3,7),       0 },
-  { "trcimspec4",        CPENT(C0,C4,7),       0 },
-  { "trcimspec5",        CPENT(C0,C5,7),       0 },
-  { "trcimspec6",        CPENT(C0,C6,7),       0 },
-  { "trcimspec7",        CPENT(C0,C7,7),       0 },
-  { "trcidr0",           CPENT(C0,C8,7),       F_READONLY },
-  { "trcidr1",           CPENT(C0,C9,7),       F_READONLY },
-  { "trcidr2",           CPENT(C0,C10,7),      F_READONLY },
-  { "trcidr3",           CPENT(C0,C11,7),      F_READONLY },
-  { "trcidr4",           CPENT(C0,C12,7),      F_READONLY },
-  { "trcidr5",           CPENT(C0,C13,7),      F_READONLY },
-  { "trcidr6",           CPENT(C0,C14,7),      F_READONLY },
-  { "trcidr7",           CPENT(C0,C15,7),      F_READONLY },
-  { "trcrsctlr2",        CPENT(C1,C2,0),       0 },
-  { "trcrsctlr3",        CPENT(C1,C3,0),       0 },
-  { "trcrsctlr4",        CPENT(C1,C4,0),       0 },
-  { "trcrsctlr5",        CPENT(C1,C5,0),       0 },
-  { "trcrsctlr6",        CPENT(C1,C6,0),       0 },
-  { "trcrsctlr7",        CPENT(C1,C7,0),       0 },
-  { "trcrsctlr8",        CPENT(C1,C8,0),       0 },
-  { "trcrsctlr9",        CPENT(C1,C9,0),       0 },
-  { "trcrsctlr10",       CPENT(C1,C10,0),      0 },
-  { "trcrsctlr11",       CPENT(C1,C11,0),      0 },
-  { "trcrsctlr12",       CPENT(C1,C12,0),      0 },
-  { "trcrsctlr13",       CPENT(C1,C13,0),      0 },
-  { "trcrsctlr14",       CPENT(C1,C14,0),      0 },
-  { "trcrsctlr15",       CPENT(C1,C15,0),      0 },
-  { "trcrsctlr16",       CPENT(C1,C0,1),       0 },
-  { "trcrsctlr17",       CPENT(C1,C1,1),       0 },
-  { "trcrsctlr18",       CPENT(C1,C2,1),       0 },
-  { "trcrsctlr19",       CPENT(C1,C3,1),       0 },
-  { "trcrsctlr20",       CPENT(C1,C4,1),       0 },
-  { "trcrsctlr21",       CPENT(C1,C5,1),       0 },
-  { "trcrsctlr22",       CPENT(C1,C6,1),       0 },
-  { "trcrsctlr23",       CPENT(C1,C7,1),       0 },
-  { "trcrsctlr24",       CPENT(C1,C8,1),       0 },
-  { "trcrsctlr25",       CPENT(C1,C9,1),       0 },
-  { "trcrsctlr26",       CPENT(C1,C10,1),      0 },
-  { "trcrsctlr27",       CPENT(C1,C11,1),      0 },
-  { "trcrsctlr28",       CPENT(C1,C12,1),      0 },
-  { "trcrsctlr29",       CPENT(C1,C13,1),      0 },
-  { "trcrsctlr30",       CPENT(C1,C14,1),      0 },
-  { "trcrsctlr31",       CPENT(C1,C15,1),      0 },
-  { "trcssccr0",         CPENT(C1,C0,2),       0 },
-  { "trcssccr1",         CPENT(C1,C1,2),       0 },
-  { "trcssccr2",         CPENT(C1,C2,2),       0 },
-  { "trcssccr3",         CPENT(C1,C3,2),       0 },
-  { "trcssccr4",         CPENT(C1,C4,2),       0 },
-  { "trcssccr5",         CPENT(C1,C5,2),       0 },
-  { "trcssccr6",         CPENT(C1,C6,2),       0 },
-  { "trcssccr7",         CPENT(C1,C7,2),       0 },
-  { "trcsscsr0",         CPENT(C1,C8,2),       0 },
-  { "trcsscsr1",         CPENT(C1,C9,2),       0 },
-  { "trcsscsr2",         CPENT(C1,C10,2),      0 },
-  { "trcsscsr3",         CPENT(C1,C11,2),      0 },
-  { "trcsscsr4",         CPENT(C1,C12,2),      0 },
-  { "trcsscsr5",         CPENT(C1,C13,2),      0 },
-  { "trcsscsr6",         CPENT(C1,C14,2),      0 },
-  { "trcsscsr7",         CPENT(C1,C15,2),      0 },
-  { "trcsspcicr0",       CPENT(C1,C0,3),       0 },
-  { "trcsspcicr1",       CPENT(C1,C1,3),       0 },
-  { "trcsspcicr2",       CPENT(C1,C2,3),       0 },
-  { "trcsspcicr3",       CPENT(C1,C3,3),       0 },
-  { "trcsspcicr4",       CPENT(C1,C4,3),       0 },
-  { "trcsspcicr5",       CPENT(C1,C5,3),       0 },
-  { "trcsspcicr6",       CPENT(C1,C6,3),       0 },
-  { "trcsspcicr7",       CPENT(C1,C7,3),       0 },
-  { "trcoslar",          CPENT(C1,C0,4),       F_WRITEONLY },
-  { "trcoslsr",          CPENT(C1,C1,4),       F_READONLY },
-  { "trcpdcr",           CPENT(C1,C4,4),       0 },
-  { "trcpdsr",           CPENT(C1,C5,4),       F_READONLY },
-  { "trcacvr0",          CPENT(C2,C0,0),       0 },
-  { "trcacvr1",          CPENT(C2,C2,0),       0 },
-  { "trcacvr2",          CPENT(C2,C4,0),       0 },
-  { "trcacvr3",          CPENT(C2,C6,0),       0 },
-  { "trcacvr4",          CPENT(C2,C8,0),       0 },
-  { "trcacvr5",          CPENT(C2,C10,0),      0 },
-  { "trcacvr6",          CPENT(C2,C12,0),      0 },
-  { "trcacvr7",          CPENT(C2,C14,0),      0 },
-  { "trcacvr8",          CPENT(C2,C0,1),       0 },
-  { "trcacvr9",          CPENT(C2,C2,1),       0 },
-  { "trcacvr10",         CPENT(C2,C4,1),       0 },
-  { "trcacvr11",         CPENT(C2,C6,1),       0 },
-  { "trcacvr12",         CPENT(C2,C8,1),       0 },
-  { "trcacvr13",         CPENT(C2,C10,1),      0 },
-  { "trcacvr14",         CPENT(C2,C12,1),      0 },
-  { "trcacvr15",         CPENT(C2,C14,1),      0 },
-  { "trcacatr0",         CPENT(C2,C0,2),       0 },
-  { "trcacatr1",         CPENT(C2,C2,2),       0 },
-  { "trcacatr2",         CPENT(C2,C4,2),       0 },
-  { "trcacatr3",         CPENT(C2,C6,2),       0 },
-  { "trcacatr4",         CPENT(C2,C8,2),       0 },
-  { "trcacatr5",         CPENT(C2,C10,2),      0 },
-  { "trcacatr6",         CPENT(C2,C12,2),      0 },
-  { "trcacatr7",         CPENT(C2,C14,2),      0 },
-  { "trcacatr8",         CPENT(C2,C0,3),       0 },
-  { "trcacatr9",         CPENT(C2,C2,3),       0 },
-  { "trcacatr10",        CPENT(C2,C4,3),       0 },
-  { "trcacatr11",        CPENT(C2,C6,3),       0 },
-  { "trcacatr12",        CPENT(C2,C8,3),       0 },
-  { "trcacatr13",        CPENT(C2,C10,3),      0 },
-  { "trcacatr14",        CPENT(C2,C12,3),      0 },
-  { "trcacatr15",        CPENT(C2,C14,3),      0 },
-  { "trcdvcvr0",         CPENT(C2,C0,4),       0 },
-  { "trcdvcvr1",         CPENT(C2,C4,4),       0 },
-  { "trcdvcvr2",         CPENT(C2,C8,4),       0 },
-  { "trcdvcvr3",         CPENT(C2,C12,4),      0 },
-  { "trcdvcvr4",         CPENT(C2,C0,5),       0 },
-  { "trcdvcvr5",         CPENT(C2,C4,5),       0 },
-  { "trcdvcvr6",         CPENT(C2,C8,5),       0 },
-  { "trcdvcvr7",         CPENT(C2,C12,5),      0 },
-  { "trcdvcmr0",         CPENT(C2,C0,6),       0 },
-  { "trcdvcmr1",         CPENT(C2,C4,6),       0 },
-  { "trcdvcmr2",         CPENT(C2,C8,6),       0 },
-  { "trcdvcmr3",         CPENT(C2,C12,6),      0 },
-  { "trcdvcmr4",         CPENT(C2,C0,7),       0 },
-  { "trcdvcmr5",         CPENT(C2,C4,7),       0 },
-  { "trcdvcmr6",         CPENT(C2,C8,7),       0 },
-  { "trcdvcmr7",         CPENT(C2,C12,7),      0 },
-  { "trccidcvr0",        CPENT(C3,C0,0),       0 },
-  { "trccidcvr1",        CPENT(C3,C2,0),       0 },
-  { "trccidcvr2",        CPENT(C3,C4,0),       0 },
-  { "trccidcvr3",        CPENT(C3,C6,0),       0 },
-  { "trccidcvr4",        CPENT(C3,C8,0),       0 },
-  { "trccidcvr5",        CPENT(C3,C10,0),      0 },
-  { "trccidcvr6",        CPENT(C3,C12,0),      0 },
-  { "trccidcvr7",        CPENT(C3,C14,0),      0 },
-  { "trcvmidcvr0",       CPENT(C3,C0,1),       0 },
-  { "trcvmidcvr1",       CPENT(C3,C2,1),       0 },
-  { "trcvmidcvr2",       CPENT(C3,C4,1),       0 },
-  { "trcvmidcvr3",       CPENT(C3,C6,1),       0 },
-  { "trcvmidcvr4",       CPENT(C3,C8,1),       0 },
-  { "trcvmidcvr5",       CPENT(C3,C10,1),      0 },
-  { "trcvmidcvr6",       CPENT(C3,C12,1),      0 },
-  { "trcvmidcvr7",       CPENT(C3,C14,1),      0 },
-  { "trccidcctlr0",      CPENT(C3,C0,2),       0 },
-  { "trccidcctlr1",      CPENT(C3,C1,2),       0 },
-  { "trcvmidcctlr0",     CPENT(C3,C2,2),       0 },
-  { "trcvmidcctlr1",     CPENT(C3,C3,2),       0 },
-  { "trcitctrl",         CPENT(C7,C0,4),       0 },
-  { "trcclaimset",       CPENT(C7,C8,6),       0 },
-  { "trcclaimclr",       CPENT(C7,C9,6),       0 },
-  { "trcdevaff0",        CPENT(C7,C10,6),      F_READONLY },
-  { "trcdevaff1",        CPENT(C7,C11,6),      F_READONLY },
-  { "trclar",            CPENT(C7,C12,6),      F_WRITEONLY },
-  { "trclsr",            CPENT(C7,C13,6),      F_READONLY },
-  { "trcauthstatus",     CPENT(C7,C14,6),      F_READONLY },
-  { "trcdevarch",        CPENT(C7,C15,6),      F_READONLY },
-  { "trcdevid",          CPENT(C7,C2,7),       F_READONLY },
-  { "trcdevtype",        CPENT(C7,C3,7),       F_READONLY },
-  { "trcpidr4",          CPENT(C7,C4,7),       F_READONLY },
-  { "trcpidr5",          CPENT(C7,C5,7),       F_READONLY },
-  { "trcpidr6",          CPENT(C7,C6,7),       F_READONLY },
-  { "trcpidr7",          CPENT(C7,C7,7),       F_READONLY },
-  { "trcpidr0",          CPENT(C7,C8,7),       F_READONLY },
-  { "trcpidr1",          CPENT(C7,C9,7),       F_READONLY },
-  { "trcpidr2",          CPENT(C7,C10,7),      F_READONLY },
-  { "trcpidr3",          CPENT(C7,C11,7),      F_READONLY },
-  { "trccidr0",          CPENT(C7,C12,7),      F_READONLY },
-  { "trccidr1",          CPENT(C7,C13,7),      F_READONLY },
-  { "trccidr2",          CPENT(C7,C14,7),      F_READONLY },
-  { "trccidr3",          CPENT(C7,C15,7),      F_READONLY },
   { 0,          CPENC(0,0,0,0,0),      0 },
 };
 
@@ -3244,25 +3052,44 @@ aarch64_sys_reg_deprecated_p (const aarch64_sys_reg *reg)
 }
 
 bfd_boolean
-aarch64_sys_reg_readonly_p (const aarch64_sys_reg *reg)
+aarch64_sys_reg_supported_p (const aarch64_feature_set features,
+                            const aarch64_sys_reg *reg)
 {
-  return (reg->flags & F_READONLY) != 0;
-}
+  if (!(reg->flags & F_ARCHEXT))
+    return TRUE;
 
-bfd_boolean
-aarch64_sys_reg_writeonly_p (const aarch64_sys_reg *reg)
-{
-  return (reg->flags & F_WRITEONLY) != 0;
+  /* PAN.  Values are from aarch64_sys_regs.  */
+  if (reg->value == CPEN_(0,C2,3)
+      && !AARCH64_CPU_HAS_FEATURE (features, AARCH64_FEATURE_PAN))
+    return FALSE;
+
+  return TRUE;
 }
 
-const struct aarch64_name_value_pair aarch64_pstatefields [] =
+const aarch64_sys_reg aarch64_pstatefields [] =
 {
-  { "spsel",            0x05  },
-  { "daifset",          0x1e  },
-  { "daifclr",          0x1f  },
-  { 0,          CPENC(0,0,0,0,0)  },
+  { "spsel",            0x05,  0 },
+  { "daifset",          0x1e,  0 },
+  { "daifclr",          0x1f,  0 },
+  { "pan",             0x04,   F_ARCHEXT },
+  { 0,          CPENC(0,0,0,0,0), 0 },
 };
 
+bfd_boolean
+aarch64_pstatefield_supported_p (const aarch64_feature_set features,
+                                const aarch64_sys_reg *reg)
+{
+  if (!(reg->flags & F_ARCHEXT))
+    return TRUE;
+
+  /* PAN.  Values are from aarch64_pstatefields.  */
+  if (reg->value == 0x04
+      && !AARCH64_CPU_HAS_FEATURE (features, AARCH64_FEATURE_PAN))
+    return FALSE;
+
+  return TRUE;
+}
+
 const aarch64_sys_ins_reg aarch64_sys_regs_ic[] =
 {
     { "ialluis", CPENS(0,C7,C1,0), 0 },
This page took 0.027917 seconds and 4 git commands to generate.