[
    {
        "ArchStdEvent": "BR_MIS_PRED",
        "PublicDescription": "Counts branches which are speculatively executed and mispredicted."
    },
    {
        "ArchStdEvent": "BR_PRED",
        "PublicDescription": "Counts branches speculatively executed and were predicted right."
    },
    {
        "ArchStdEvent": "INST_SPEC",
        "PublicDescription": "Counts operations that have been speculatively executed."
    },
    {
        "ArchStdEvent": "UNALIGNED_LD_SPEC",
        "PublicDescription": "Counts unaligned memory read operations issued by the CPU. This event counts unaligned accesses (as defined by the actual instruction), even if they are subsequently issued as multiple aligned accesses. The event does not count preload operations (PLD, PLI)."
    },
    {
        "ArchStdEvent": "UNALIGNED_ST_SPEC",
        "PublicDescription": "Counts unaligned memory write operations issued by the CPU. This event counts unaligned accesses (as defined by the actual instruction), even if they are subsequently issued as multiple aligned accesses."
    },
    {
        "ArchStdEvent": "UNALIGNED_LDST_SPEC",
        "PublicDescription": "Counts unaligned memory operations issued by the CPU. This event counts unaligned accesses (as defined by the actual instruction), even if they are subsequently issued as multiple aligned accesses."
    },
    {
        "ArchStdEvent": "LDREX_SPEC",
        "PublicDescription": "Counts Load-Exclusive operations that have been speculatively executed. Eg: LDREX, LDX"
    },
    {
        "ArchStdEvent": "STREX_PASS_SPEC",
        "PublicDescription": "Counts store-exclusive operations that have been speculatively executed and have successfully completed the store operation."
    },
    {
        "ArchStdEvent": "STREX_FAIL_SPEC",
        "PublicDescription": "Counts store-exclusive operations that have been speculatively executed and have not successfully completed the store operation."
    },
    {
        "ArchStdEvent": "STREX_SPEC",
        "PublicDescription": "Counts store-exclusive operations that have been speculatively executed."
    },
    {
        "ArchStdEvent": "LD_SPEC",
        "PublicDescription": "Counts speculatively executed load operations including Single Instruction Multiple Data (SIMD) load operations."
    },
    {
        "ArchStdEvent": "ST_SPEC",
        "PublicDescription": "Counts speculatively executed store operations including Single Instruction Multiple Data (SIMD) store operations."
    },
    {
        "ArchStdEvent": "DP_SPEC",
        "PublicDescription": "Counts speculatively executed logical or arithmetic instructions such as MOV/MVN operations."
    },
    {
        "ArchStdEvent": "ASE_SPEC",
        "PublicDescription": "Counts speculatively executed Advanced SIMD operations excluding load, store and move micro-operations that move data to or from SIMD (vector) registers."
    },
    {
        "ArchStdEvent": "VFP_SPEC",
        "PublicDescription": "Counts speculatively executed floating point operations. This event does not count operations that move data to or from floating point (vector) registers."
    },
    {
        "ArchStdEvent": "PC_WRITE_SPEC",
        "PublicDescription": "Counts speculatively executed operations which cause software changes of the PC. Those operations include all taken branch operations."
    },
    {
        "ArchStdEvent": "CRYPTO_SPEC",
        "PublicDescription": "Counts speculatively executed cryptographic operations except for PMULL and VMULL operations."
    },
    {
        "ArchStdEvent": "BR_IMMED_SPEC",
        "PublicDescription": "Counts immediate branch operations which are speculatively executed."
    },
    {
        "ArchStdEvent": "BR_RETURN_SPEC",
        "PublicDescription": "Counts procedure return operations (RET) which are speculatively executed."
    },
    {
        "ArchStdEvent": "BR_INDIRECT_SPEC",
        "PublicDescription": "Counts indirect branch operations including procedure returns, which are speculatively executed. This includes operations that force a software change of the PC, other than exception-generating operations.  Eg: BR Xn, RET"
    },
    {
        "ArchStdEvent": "ISB_SPEC",
        "PublicDescription": "Counts ISB operations that are executed."
    },
    {
        "ArchStdEvent": "DSB_SPEC",
        "PublicDescription": "Counts DSB operations that are speculatively issued to Load/Store unit in the CPU."
    },
    {
        "ArchStdEvent": "DMB_SPEC",
        "PublicDescription": "Counts DMB operations that are speculatively issued to the Load/Store unit in the CPU. This event does not count implied barriers from load acquire/store release operations."
    },
    {
        "ArchStdEvent": "RC_LD_SPEC",
        "PublicDescription": "Counts any load acquire operations that are speculatively executed. Eg: LDAR, LDARH, LDARB"
    },
    {
        "ArchStdEvent": "RC_ST_SPEC",
        "PublicDescription": "Counts any store release operations that are speculatively executed. Eg: STLR, STLRH, STLRB'"
    }
]