> +    case X86_EVEX_APX_pp2:
> +        if (!CODE64(s) || !(s->flags & HF_APX_EN_MASK) ||
> +            !EVEX_APX_ND(s) ||
> +            (e->op0 != X86_TYPE_None && s->vex_v == ((decode->b & 7) | 
> REX_B(s))) ||
                                                        
^^^^^^^^^^^^^^^^^^^^^^^^^^

> +            ((decode->b & 7) | REX_B(s)) == 4 ||
                ^^^^^^^^^^^^^^^^^^^^^^^^^^

Typo? For B register, here I think it should check ModRM:

(s->modrm & 7) | REX_B(s)

> +            s->vex_v == 4) {
> +            goto illegal;
> +        }
> +        evex4_mask = 0x18;
> +        break;
> +

Reply via email to