PERF_BR_IRQ             = 12,   /* irq */
        PERF_BR_SERROR          = 13,   /* system error */
        PERF_BR_NO_TX           = 14,   /* not in transaction */
+       PERF_BR_EXTEND_ABI      = 15,   /* extend ABI */
        PERF_BR_MAX,
 };
 
        PERF_BR_SPEC_MAX,
 };
 
+enum {
+       PERF_BR_NEW_FAULT_ALGN          = 0,    /* Alignment fault */
+       PERF_BR_NEW_FAULT_DATA          = 1,    /* Data fault */
+       PERF_BR_NEW_FAULT_INST          = 2,    /* Inst fault */
+       PERF_BR_NEW_ARCH_1              = 3,    /* Architecture specific */
+       PERF_BR_NEW_ARCH_2              = 4,    /* Architecture specific */
+       PERF_BR_NEW_ARCH_3              = 5,    /* Architecture specific */
+       PERF_BR_NEW_ARCH_4              = 6,    /* Architecture specific */
+       PERF_BR_NEW_ARCH_5              = 7,    /* Architecture specific */
+       PERF_BR_NEW_MAX,
+};
+
 #define PERF_SAMPLE_BRANCH_PLM_ALL \
        (PERF_SAMPLE_BRANCH_USER|\
         PERF_SAMPLE_BRANCH_KERNEL|\
                cycles:16,  /* cycle count to last branch */
                type:4,     /* branch type */
                spec:2,     /* branch speculation info */
-               reserved:38;
+               new_type:4, /* additional branch type */
+               reserved:34;
 };
 
 union perf_sample_weight {