# NASM - The Netwide Assembler

## version 3.01

## Appendix F: Instruction List

### F.1. Introduction

The following sections show the instructions which NASM currently supports. For each instruction, there is a separate entry for each supported addressing mode. The third column shows the processor type in which the instruction was introduced and, when appropriate, one or more usage flags.

#### F.1.1. Special instructions (pseudo-ops)

    DB                                        PSEUDO
    DW                                        PSEUDO
    DD                                        PSEUDO
    DQ                                        PSEUDO
    DT                                        PSEUDO
    DO                                        PSEUDO
    DY                                        PSEUDO
    DZ                                        PSEUDO
    RESB             imm                      PSEUDO
    RESW             imm                      PSEUDO
    RESD             imm                      PSEUDO
    RESQ             imm                      PSEUDO
    REST             imm                      PSEUDO
    RESO             imm                      PSEUDO
    RESY             imm                      PSEUDO
    RESZ             imm                      PSEUDO
    INCBIN                                    PSEUDO
    EQU              imm                      PSEUDO
    EQU              imm:imm                  PSEUDO
    EQU              spec4                    PSEUDO,DFV

#### F.1.2. No operation

    NOP                                       BESTDIS,8086
    NOP2                                      ND,386
    NOP              rm16                     BESTDIS,P6
    NOP              rm32                     BESTDIS,P6
    NOP              rm64                     LONG,BESTDIS,PROT,X86_64

#### F.1.3. Integer data move instructions

    MOV              reg_al,mem_offs          SM0-1,NOAPX,8086
    MOV              reg_ax,mem_offs          SM0-1,NOAPX,8086
    MOV              reg_eax,mem_offs         SM0-1,NOAPX,ZU,386
    MOV              reg_rax,mem_offs         SM0-1,NOAPX,ZU,LONG,PROT,X86_64
    MOV              mem_offs,reg_al          SM0-1,NOAPX,NOHLE,8086
    MOV              mem_offs,reg_ax          SM0-1,NOAPX,NOHLE,8086
    MOV              mem_offs,reg_eax         SM0-1,NOAPX,NOHLE,386
    MOV              mem_offs,reg_rax         SM0-1,NOAPX,LONG,NOHLE,PROT,X86_64
    MOVABS           reg_al,mem_offs          ND,SM0-1,NOAPX,8086
    MOVABS           reg_ax,mem_offs          ND,SM0-1,NOAPX,8086
    MOVABS           reg_eax,mem_offs         ND,SM0-1,NOAPX,ZU,386
    MOVABS           reg_rax,mem_offs         ND,SM0-1,NOAPX,ZU,LONG,PROT,X86_64
    MOVABS           mem_offs,reg_al          ND,SM0-1,NOAPX,NOHLE,8086
    MOVABS           mem_offs,reg_ax          ND,SM0-1,NOAPX,NOHLE,8086
    MOVABS           mem_offs,reg_eax         ND,SM0-1,NOAPX,NOHLE,386
    MOVABS           mem_offs,reg_rax         ND,SM0-1,NOAPX,LONG,NOHLE,PROT,X86_64
    MOV              rm8,reg8                 SM0-1,8086
    MOV              rm16,reg16               SM0-1,8086
    MOV              rm32,reg32               SM0-1,386
    MOV              rm64,reg64               SM0-1,LONG,PROT,X86_64
    MOV              reg8,rm8                 SM0-1,8086
    MOV              reg16,rm16               SM0-1,8086
    MOV              reg32,rm32               SM0-1,386
    MOV              reg64,rm64               SM0-1,LONG,PROT,X86_64
    MOV              reg64,udword64           ND,SM0-1,OPT,LONG,PROT,X86_64
    MOV              reg64,sdword64           ND,SM0-1,SDWORD,OPT,LONG,PROT,X86_64
    MOV              reg8,imm8                SM0-1,8086
    MOV              reg16,imm16              SM0-1,8086
    MOV              reg32,imm32              SM0-1,386
    MOV              reg64,imm64              SM0-1,LONG,PROT,X86_64
    MOV              reg8,imm8|abs            ND,SM0-1,8086
    MOV              reg16,imm16|abs          ND,SM0-1,8086
    MOV              reg32,imm32|abs          ND,SM0-1,386
    MOV              reg64,imm64|abs          ND,SM0-1,LONG,PROT,X86_64
    MOVABS           reg8,imm8                ND,SM0-1,8086
    MOVABS           reg16,imm16              ND,SM0-1,8086
    MOVABS           reg32,imm32              ND,SM0-1,386
    MOVABS           reg64,imm64              ND,SM0-1,LONG,PROT,X86_64
    MOV              rm8,imm8                 SM0-1,8086
    MOV              rm16,imm16               SM0-1,8086
    MOV              rm32,imm32               SM0-1,386
    MOV              rm64,sdword64            SM0-1,LONG,PROT,X86_64
    MOVRS            reg8,mem8                SM0-1
    MOVRS            reg16,mem16              SM0-1
    MOVRS            reg32,mem32              SM0-1
    MOVRS            reg64,mem64              SM0-1,LONG,PROT,X86_64
    MOVRS            reg8,mem8                SM0-1
    MOVRS            reg16,mem16              SM0-1
    MOVRS            reg32,mem32              SM0-1
    MOVRS            reg64,mem64              SM0-1,LONG,PROT,X86_64

#### F.1.4. Load effective address

    LEA              reg16,mem                8086
    LEA              reg32,mem                386
    LEA              reg64,mem                LONG,PROT,X86_64
    LEA              reg16,imm16              ND,8086
    LEA              reg32,imm32              ND,386
    LEA              reg64,sdword64           ND,LONG,PROT,X86_64

#### F.1.5. The basic 8 arithmetic operations

    ADD              rm8,reg8                 SM0-1,LOCK,FL,8086
    ADD              rm16,reg16               SM0-1,LOCK,FL,8086
    ADD              rm32,reg32               SM0-1,LOCK,FL,386
    ADD              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADD              reg8,rm8                 SM0-1,FL,8086
    ADD              reg16,rm16               SM0-1,FL,8086
    ADD              reg32,rm32               SM0-1,FL,386
    ADD              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    ADD              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    ADD              rm32,sbytedword32        SM0-1,LOCK,FL,386
    ADD              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADD              reg_al,imm8              SM0-1,FL,8086
    ADD              reg_ax,imm16             SM0-1,FL,8086
    ADD              reg_eax,imm32            SM0-1,ZU,FL,386
    ADD              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    ADD              rm8,imm8                 SM0-1,LOCK,FL,8086
    ADD              rm16,imm16               SM0-1,LOCK,FL,8086
    ADD              rm32,imm32               SM0-1,LOCK,FL,386
    ADD              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADD              reg8?,reg8,rm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg16?,reg16,rm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg32?,reg32,rm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg64?,reg64,rm64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg8?,rm8,reg8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg16?,rm16,reg16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg32?,rm32,reg32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg64?,rm64,reg64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg16?,rm16,sbyteword16  SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg32?,rm32,sbytedword32 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg64?,rm64,sbytedword64 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg8?,rm8,imm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg16?,rm16,imm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg32?,rm32,imm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADD              reg64?,rm64,sdword64     SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               rm8,reg8                 SM0-1,LOCK,FL,8086
    OR               rm16,reg16               SM0-1,LOCK,FL,8086
    OR               rm32,reg32               SM0-1,LOCK,FL,386
    OR               rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    OR               reg8,rm8                 SM0-1,FL,8086
    OR               reg16,rm16               SM0-1,FL,8086
    OR               reg32,rm32               SM0-1,FL,386
    OR               reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    OR               rm16,sbyteword16         SM0-1,LOCK,FL,8086
    OR               rm32,sbytedword32        SM0-1,LOCK,FL,386
    OR               rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    OR               reg_al,imm8              SM0-1,FL,8086
    OR               reg_ax,imm16             SM0-1,FL,8086
    OR               reg_eax,imm32            SM0-1,ZU,FL,386
    OR               reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    OR               rm8,imm8                 SM0-1,LOCK,FL,8086
    OR               rm16,imm16               SM0-1,LOCK,FL,8086
    OR               rm32,imm32               SM0-1,LOCK,FL,386
    OR               rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    OR               reg8?,reg8,rm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg16?,reg16,rm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg32?,reg32,rm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg64?,reg64,rm64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg8?,rm8,reg8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg16?,rm16,reg16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg32?,rm32,reg32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg64?,rm64,reg64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg16?,rm16,sbyteword16  SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg32?,rm32,sbytedword32 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg64?,rm64,sbytedword64 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg8?,rm8,imm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg16?,rm16,imm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg32?,rm32,imm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    OR               reg64?,rm64,sdword64     SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              rm8,reg8                 SM0-1,LOCK,FL,8086
    ADC              rm16,reg16               SM0-1,LOCK,FL,8086
    ADC              rm32,reg32               SM0-1,LOCK,FL,386
    ADC              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADC              reg8,rm8                 SM0-1,FL,8086
    ADC              reg16,rm16               SM0-1,FL,8086
    ADC              reg32,rm32               SM0-1,FL,386
    ADC              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    ADC              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    ADC              rm32,sbytedword32        SM0-1,LOCK,FL,386
    ADC              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADC              reg_al,imm8              SM0-1,FL,8086
    ADC              reg_ax,imm16             SM0-1,FL,8086
    ADC              reg_eax,imm32            SM0-1,ZU,FL,386
    ADC              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    ADC              rm8,imm8                 SM0-1,LOCK,FL,8086
    ADC              rm16,imm16               SM0-1,LOCK,FL,8086
    ADC              rm32,imm32               SM0-1,LOCK,FL,386
    ADC              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    ADC              reg8?,reg8,rm8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg16?,reg16,rm16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg32?,reg32,rm32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg64?,reg64,rm64        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg8?,rm8,reg8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg16?,rm16,reg16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg32?,rm32,reg32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg64?,rm64,reg64        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg16?,rm16,sbyteword16  SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg32?,rm32,sbytedword32 SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg64?,rm64,sbytedword64 SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg8?,rm8,imm8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg16?,rm16,imm16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg32?,rm32,imm32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    ADC              reg64?,rm64,sdword64     SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              rm8,reg8                 SM0-1,LOCK,FL,8086
    SBB              rm16,reg16               SM0-1,LOCK,FL,8086
    SBB              rm32,reg32               SM0-1,LOCK,FL,386
    SBB              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    SBB              reg8,rm8                 SM0-1,FL,8086
    SBB              reg16,rm16               SM0-1,FL,8086
    SBB              reg32,rm32               SM0-1,FL,386
    SBB              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    SBB              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    SBB              rm32,sbytedword32        SM0-1,LOCK,FL,386
    SBB              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    SBB              reg_al,imm8              SM0-1,FL,8086
    SBB              reg_ax,imm16             SM0-1,FL,8086
    SBB              reg_eax,imm32            SM0-1,ZU,FL,386
    SBB              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    SBB              rm8,imm8                 SM0-1,LOCK,FL,8086
    SBB              rm16,imm16               SM0-1,LOCK,FL,8086
    SBB              rm32,imm32               SM0-1,LOCK,FL,386
    SBB              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    SBB              reg8?,reg8,rm8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg16?,reg16,rm16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg32?,reg32,rm32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg64?,reg64,rm64        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg8?,rm8,reg8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg16?,rm16,reg16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg32?,rm32,reg32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg64?,rm64,reg64        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg16?,rm16,sbyteword16  SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg32?,rm32,sbytedword32 SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg64?,rm64,sbytedword64 SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg8?,rm8,imm8           SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg16?,rm16,imm16        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg32?,rm32,imm32        SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    SBB              reg64?,rm64,sdword64     SM0-2,LONG,FL,EVEX,PROT,APX,X86_64
    AND              rm8,reg8                 SM0-1,LOCK,FL,8086
    AND              rm16,reg16               SM0-1,LOCK,FL,8086
    AND              rm32,reg32               SM0-1,LOCK,FL,386
    AND              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    AND              reg8,rm8                 SM0-1,FL,8086
    AND              reg16,rm16               SM0-1,FL,8086
    AND              reg32,rm32               SM0-1,FL,386
    AND              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    AND              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    AND              rm32,sbytedword32        SM0-1,LOCK,FL,386
    AND              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    AND              reg_al,imm8              SM0-1,FL,8086
    AND              reg_ax,imm16             SM0-1,FL,8086
    AND              reg_eax,imm32            SM0-1,ZU,FL,386
    AND              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    AND              rm8,imm8                 SM0-1,LOCK,FL,8086
    AND              rm16,imm16               SM0-1,LOCK,FL,8086
    AND              rm32,imm32               SM0-1,LOCK,FL,386
    AND              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    AND              reg8?,reg8,rm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg16?,reg16,rm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg32?,reg32,rm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg64?,reg64,rm64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg8?,rm8,reg8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg16?,rm16,reg16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg32?,rm32,reg32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg64?,rm64,reg64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg16?,rm16,sbyteword16  SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg32?,rm32,sbytedword32 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg64?,rm64,sbytedword64 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg8?,rm8,imm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg16?,rm16,imm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg32?,rm32,imm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    AND              reg64?,rm64,sdword64     SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              rm8,reg8                 SM0-1,LOCK,FL,8086
    SUB              rm16,reg16               SM0-1,LOCK,FL,8086
    SUB              rm32,reg32               SM0-1,LOCK,FL,386
    SUB              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    SUB              reg8,rm8                 SM0-1,FL,8086
    SUB              reg16,rm16               SM0-1,FL,8086
    SUB              reg32,rm32               SM0-1,FL,386
    SUB              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    SUB              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    SUB              rm32,sbytedword32        SM0-1,LOCK,FL,386
    SUB              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    SUB              reg_al,imm8              SM0-1,FL,8086
    SUB              reg_ax,imm16             SM0-1,FL,8086
    SUB              reg_eax,imm32            SM0-1,ZU,FL,386
    SUB              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    SUB              rm8,imm8                 SM0-1,LOCK,FL,8086
    SUB              rm16,imm16               SM0-1,LOCK,FL,8086
    SUB              rm32,imm32               SM0-1,LOCK,FL,386
    SUB              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    SUB              reg8?,reg8,rm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg16?,reg16,rm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg32?,reg32,rm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg64?,reg64,rm64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg8?,rm8,reg8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg16?,rm16,reg16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg32?,rm32,reg32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg64?,rm64,reg64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg16?,rm16,sbyteword16  SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg32?,rm32,sbytedword32 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg64?,rm64,sbytedword64 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg8?,rm8,imm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg16?,rm16,imm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg32?,rm32,imm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    SUB              reg64?,rm64,sdword64     SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              rm8,reg8                 SM0-1,LOCK,FL,8086
    XOR              rm16,reg16               SM0-1,LOCK,FL,8086
    XOR              rm32,reg32               SM0-1,LOCK,FL,386
    XOR              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    XOR              reg8,rm8                 SM0-1,FL,8086
    XOR              reg16,rm16               SM0-1,FL,8086
    XOR              reg32,rm32               SM0-1,FL,386
    XOR              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    XOR              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    XOR              rm32,sbytedword32        SM0-1,LOCK,FL,386
    XOR              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    XOR              reg_al,imm8              SM0-1,FL,8086
    XOR              reg_ax,imm16             SM0-1,FL,8086
    XOR              reg_eax,imm32            SM0-1,ZU,FL,386
    XOR              reg_rax,sdword64         SM0-1,ZU,LONG,FL,PROT,X86_64
    XOR              rm8,imm8                 SM0-1,LOCK,FL,8086
    XOR              rm16,imm16               SM0-1,LOCK,FL,8086
    XOR              rm32,imm32               SM0-1,LOCK,FL,386
    XOR              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64
    XOR              reg8?,reg8,rm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg16?,reg16,rm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg32?,reg32,rm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg64?,reg64,rm64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg8?,rm8,reg8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg16?,rm16,reg16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg32?,rm32,reg32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg64?,rm64,reg64        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg16?,rm16,sbyteword16  SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg32?,rm32,sbytedword32 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg64?,rm64,sbytedword64 SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg8?,rm8,imm8           SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg16?,rm16,imm16        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg32?,rm32,imm32        SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    XOR              reg64?,rm64,sdword64     SM0-2,NF,LONG,FL,EVEX,PROT,APX,X86_64
    CMP              rm8,reg8                 SM0-1,LOCK,FL,8086
    CMP              rm16,reg16               SM0-1,LOCK,FL,8086
    CMP              rm32,reg32               SM0-1,LOCK,FL,386
    CMP              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    CMP              reg8,rm8                 SM0-1,FL,8086
    CMP              reg16,rm16               SM0-1,FL,8086
    CMP              reg32,rm32               SM0-1,FL,386
    CMP              reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    CMP              rm16,sbyteword16         SM0-1,LOCK,FL,8086
    CMP              rm32,sbytedword32        SM0-1,LOCK,FL,386
    CMP              rm64,sbytedword64        SM0-1,LOCK,LONG,FL,PROT,X86_64
    CMP              reg_al,imm8              SM0-1,FL,8086
    CMP              reg_ax,imm16             SM0-1,FL,8086
    CMP              reg_eax,imm32            SM0-1,FL,386
    CMP              reg_rax,sdword64         SM0-1,LONG,FL,PROT,X86_64
    CMP              rm8,imm8                 SM0-1,LOCK,FL,8086
    CMP              rm16,imm16               SM0-1,LOCK,FL,8086
    CMP              rm32,imm32               SM0-1,LOCK,FL,386
    CMP              rm64,sdword64            SM0-1,LOCK,LONG,FL,PROT,X86_64

#### F.1.6. Bitwise testing

    TEST             rm8,reg8                 SM0-1,FL,8086
    TEST             rm16,reg16               SM0-1,FL,8086
    TEST             rm32,reg32               SM0-1,FL,386
    TEST             rm64,reg64               SM0-1,LONG,FL,PROT,X86_64
    TEST             reg8,mem8                ND,SM0-1,FL,8086
    TEST             reg16,mem16              ND,SM0-1,FL,8086
    TEST             reg32,mem32              ND,SM0-1,FL,386
    TEST             reg64,mem64              ND,SM0-1,LONG,FL,PROT,X86_64
    TEST             reg_al,imm8              SM0-1,NOAPX,FL,8086
    TEST             reg_ax,imm16             SM0-1,NOAPX,FL,8086
    TEST             reg_eax,imm32            SM0-1,NOAPX,FL,386
    TEST             reg_rax,sdword64         SM0-1,NOAPX,LONG,FL,PROT,X86_64
    TEST             rm8,imm8                 SM0-1,FL,8086
    TEST             rm16,imm16               SM0-1,FL,8086
    TEST             rm32,imm32               SM0-1,FL,386
    TEST             rm64,sdword64            SM0-1,LONG,FL,PROT,X86_64

#### F.1.7. The basic shift and rotate operations

    ROL              rm8,unity                FL,8086
    ROL              rm16,unity               FL,8086
    ROL              rm32,unity               FL,386
    ROL              rm64,unity               LONG,FL,PROT,X86_64
    ROL              rm8,reg_cl               FL,8086
    ROL              rm16,reg_cl              FL,8086
    ROL              rm32,reg_cl              FL,386
    ROL              rm64,reg_cl              LONG,FL,PROT,X86_64
    ROL              rm8,reg_cx               ND,FL,8086
    ROL              rm16,reg_cx              ND,FL,8086
    ROL              rm32,reg_cx              ND,FL,386
    ROL              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    ROL              rm8,reg_ecx              ND,FL,8086
    ROL              rm16,reg_ecx             ND,FL,8086
    ROL              rm32,reg_ecx             ND,FL,386
    ROL              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    ROL              rm8,reg_rcx              ND,FL,8086
    ROL              rm16,reg_rcx             ND,FL,8086
    ROL              rm32,reg_rcx             ND,FL,386
    ROL              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    ROL              rm8,imm8                 FL,186
    ROL              rm16,imm8                FL,186
    ROL              rm32,imm8                FL,386
    ROL              rm64,imm8                LONG,FL,PROT,X86_64
    ROR              rm8,unity                FL,8086
    ROR              rm16,unity               FL,8086
    ROR              rm32,unity               FL,386
    ROR              rm64,unity               LONG,FL,PROT,X86_64
    ROR              rm8,reg_cl               FL,8086
    ROR              rm16,reg_cl              FL,8086
    ROR              rm32,reg_cl              FL,386
    ROR              rm64,reg_cl              LONG,FL,PROT,X86_64
    ROR              rm8,reg_cx               ND,FL,8086
    ROR              rm16,reg_cx              ND,FL,8086
    ROR              rm32,reg_cx              ND,FL,386
    ROR              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    ROR              rm8,reg_ecx              ND,FL,8086
    ROR              rm16,reg_ecx             ND,FL,8086
    ROR              rm32,reg_ecx             ND,FL,386
    ROR              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    ROR              rm8,reg_rcx              ND,FL,8086
    ROR              rm16,reg_rcx             ND,FL,8086
    ROR              rm32,reg_rcx             ND,FL,386
    ROR              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    ROR              rm8,imm8                 FL,186
    ROR              rm16,imm8                FL,186
    ROR              rm32,imm8                FL,386
    ROR              rm64,imm8                LONG,FL,PROT,X86_64
    RCL              rm8,unity                FL,8086
    RCL              rm16,unity               FL,8086
    RCL              rm32,unity               FL,386
    RCL              rm64,unity               LONG,FL,PROT,X86_64
    RCL              rm8,reg_cl               FL,8086
    RCL              rm16,reg_cl              FL,8086
    RCL              rm32,reg_cl              FL,386
    RCL              rm64,reg_cl              LONG,FL,PROT,X86_64
    RCL              rm8,reg_cx               ND,FL,8086
    RCL              rm16,reg_cx              ND,FL,8086
    RCL              rm32,reg_cx              ND,FL,386
    RCL              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    RCL              rm8,reg_ecx              ND,FL,8086
    RCL              rm16,reg_ecx             ND,FL,8086
    RCL              rm32,reg_ecx             ND,FL,386
    RCL              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    RCL              rm8,reg_rcx              ND,FL,8086
    RCL              rm16,reg_rcx             ND,FL,8086
    RCL              rm32,reg_rcx             ND,FL,386
    RCL              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    RCL              rm8,imm8                 FL,186
    RCL              rm16,imm8                FL,186
    RCL              rm32,imm8                FL,386
    RCL              rm64,imm8                LONG,FL,PROT,X86_64
    RCR              rm8,unity                FL,8086
    RCR              rm16,unity               FL,8086
    RCR              rm32,unity               FL,386
    RCR              rm64,unity               LONG,FL,PROT,X86_64
    RCR              rm8,reg_cl               FL,8086
    RCR              rm16,reg_cl              FL,8086
    RCR              rm32,reg_cl              FL,386
    RCR              rm64,reg_cl              LONG,FL,PROT,X86_64
    RCR              rm8,reg_cx               ND,FL,8086
    RCR              rm16,reg_cx              ND,FL,8086
    RCR              rm32,reg_cx              ND,FL,386
    RCR              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    RCR              rm8,reg_ecx              ND,FL,8086
    RCR              rm16,reg_ecx             ND,FL,8086
    RCR              rm32,reg_ecx             ND,FL,386
    RCR              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    RCR              rm8,reg_rcx              ND,FL,8086
    RCR              rm16,reg_rcx             ND,FL,8086
    RCR              rm32,reg_rcx             ND,FL,386
    RCR              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    RCR              rm8,imm8                 FL,186
    RCR              rm16,imm8                FL,186
    RCR              rm32,imm8                FL,386
    RCR              rm64,imm8                LONG,FL,PROT,X86_64
    SHL              rm8,unity                FL,8086
    SHL              rm16,unity               FL,8086
    SHL              rm32,unity               FL,386
    SHL              rm64,unity               LONG,FL,PROT,X86_64
    SHL              rm8,reg_cl               FL,8086
    SHL              rm16,reg_cl              FL,8086
    SHL              rm32,reg_cl              FL,386
    SHL              rm64,reg_cl              LONG,FL,PROT,X86_64
    SHL              rm8,reg_cx               ND,FL,8086
    SHL              rm16,reg_cx              ND,FL,8086
    SHL              rm32,reg_cx              ND,FL,386
    SHL              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    SHL              rm8,reg_ecx              ND,FL,8086
    SHL              rm16,reg_ecx             ND,FL,8086
    SHL              rm32,reg_ecx             ND,FL,386
    SHL              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    SHL              rm8,reg_rcx              ND,FL,8086
    SHL              rm16,reg_rcx             ND,FL,8086
    SHL              rm32,reg_rcx             ND,FL,386
    SHL              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    SHL              rm8,imm8                 FL,186
    SHL              rm16,imm8                FL,186
    SHL              rm32,imm8                FL,386
    SHL              rm64,imm8                LONG,FL,PROT,X86_64
    SAL              rm8,unity                FL,8086
    SAL              rm16,unity               FL,8086
    SAL              rm32,unity               FL,386
    SAL              rm64,unity               LONG,FL,PROT,X86_64
    SAL              rm8,reg_cl               FL,8086
    SAL              rm16,reg_cl              FL,8086
    SAL              rm32,reg_cl              FL,386
    SAL              rm64,reg_cl              LONG,FL,PROT,X86_64
    SAL              rm8,reg_cx               ND,FL,8086
    SAL              rm16,reg_cx              ND,FL,8086
    SAL              rm32,reg_cx              ND,FL,386
    SAL              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    SAL              rm8,reg_ecx              ND,FL,8086
    SAL              rm16,reg_ecx             ND,FL,8086
    SAL              rm32,reg_ecx             ND,FL,386
    SAL              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    SAL              rm8,reg_rcx              ND,FL,8086
    SAL              rm16,reg_rcx             ND,FL,8086
    SAL              rm32,reg_rcx             ND,FL,386
    SAL              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    SAL              rm8,imm8                 FL,186
    SAL              rm16,imm8                FL,186
    SAL              rm32,imm8                FL,386
    SAL              rm64,imm8                LONG,FL,PROT,X86_64
    SHR              rm8,unity                FL,8086
    SHR              rm16,unity               FL,8086
    SHR              rm32,unity               FL,386
    SHR              rm64,unity               LONG,FL,PROT,X86_64
    SHR              rm8,reg_cl               FL,8086
    SHR              rm16,reg_cl              FL,8086
    SHR              rm32,reg_cl              FL,386
    SHR              rm64,reg_cl              LONG,FL,PROT,X86_64
    SHR              rm8,reg_cx               ND,FL,8086
    SHR              rm16,reg_cx              ND,FL,8086
    SHR              rm32,reg_cx              ND,FL,386
    SHR              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    SHR              rm8,reg_ecx              ND,FL,8086
    SHR              rm16,reg_ecx             ND,FL,8086
    SHR              rm32,reg_ecx             ND,FL,386
    SHR              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    SHR              rm8,reg_rcx              ND,FL,8086
    SHR              rm16,reg_rcx             ND,FL,8086
    SHR              rm32,reg_rcx             ND,FL,386
    SHR              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    SHR              rm8,imm8                 FL,186
    SHR              rm16,imm8                FL,186
    SHR              rm32,imm8                FL,386
    SHR              rm64,imm8                LONG,FL,PROT,X86_64
    SAR              rm8,unity                FL,8086
    SAR              rm16,unity               FL,8086
    SAR              rm32,unity               FL,386
    SAR              rm64,unity               LONG,FL,PROT,X86_64
    SAR              rm8,reg_cl               FL,8086
    SAR              rm16,reg_cl              FL,8086
    SAR              rm32,reg_cl              FL,386
    SAR              rm64,reg_cl              LONG,FL,PROT,X86_64
    SAR              rm8,reg_cx               ND,FL,8086
    SAR              rm16,reg_cx              ND,FL,8086
    SAR              rm32,reg_cx              ND,FL,386
    SAR              rm64,reg_cx              ND,LONG,FL,PROT,X86_64
    SAR              rm8,reg_ecx              ND,FL,8086
    SAR              rm16,reg_ecx             ND,FL,8086
    SAR              rm32,reg_ecx             ND,FL,386
    SAR              rm64,reg_ecx             ND,LONG,FL,PROT,X86_64
    SAR              rm8,reg_rcx              ND,FL,8086
    SAR              rm16,reg_rcx             ND,FL,8086
    SAR              rm32,reg_rcx             ND,FL,386
    SAR              rm64,reg_rcx             ND,LONG,FL,PROT,X86_64
    SAR              rm8,imm8                 FL,186
    SAR              rm16,imm8                FL,186
    SAR              rm32,imm8                FL,386
    SAR              rm64,imm8                LONG,FL,PROT,X86_64
    RORX             reg32,rm32,imm8          SM0-1,BMI2
    ROLX             reg32,rm32,imm_known8    SM0-1,BMI2
    SHLX             reg32,rm32*,reg8         ND,SM0-1,BMI2
    SALX             reg32,rm32*,reg8         ND,SM0-1,BMI2
    SARX             reg32,rm32*,reg8         ND,SM0-1,BMI2
    SHRX             reg32,rm32*,reg8         ND,SM0-1,BMI2
    SHLX             reg32,rm32*,reg16        ND,SM0-1,BMI2
    SALX             reg32,rm32*,reg16        ND,SM0-1,BMI2
    SARX             reg32,rm32*,reg16        ND,SM0-1,BMI2
    SHRX             reg32,rm32*,reg16        ND,SM0-1,BMI2
    SHLX             reg32,rm32*,reg32        SM0-1,BMI2
    SALX             reg32,rm32*,reg32        ND,SM0-1,BMI2
    SARX             reg32,rm32*,reg32        SM0-1,BMI2
    SHRX             reg32,rm32*,reg32        SM0-1,BMI2
    SHLX             reg32,rm32*,reg64        ND,SM0-1,BMI2
    SALX             reg32,rm32*,reg64        ND,SM0-1,BMI2
    SARX             reg32,rm32*,reg64        ND,SM0-1,BMI2
    SHRX             reg32,rm32*,reg64        ND,SM0-1,BMI2
    RORX             reg64,rm64,imm8          SM0-1,BMI2
    ROLX             reg64,rm64,imm_known8    SM0-1,BMI2
    SHLX             reg64,rm64*,reg8         ND,SM0-1,BMI2
    SALX             reg64,rm64*,reg8         ND,SM0-1,BMI2
    SARX             reg64,rm64*,reg8         ND,SM0-1,BMI2
    SHRX             reg64,rm64*,reg8         ND,SM0-1,BMI2
    SHLX             reg64,rm64*,reg16        ND,SM0-1,BMI2
    SALX             reg64,rm64*,reg16        ND,SM0-1,BMI2
    SARX             reg64,rm64*,reg16        ND,SM0-1,BMI2
    SHRX             reg64,rm64*,reg16        ND,SM0-1,BMI2
    SHLX             reg64,rm64*,reg32        ND,SM0-1,BMI2
    SALX             reg64,rm64*,reg32        ND,SM0-1,BMI2
    SARX             reg64,rm64*,reg32        ND,SM0-1,BMI2
    SHRX             reg64,rm64*,reg32        ND,SM0-1,BMI2
    SHLX             reg64,rm64*,reg64        SM0-1,BMI2
    SALX             reg64,rm64*,reg64        ND,SM0-1,BMI2
    SARX             reg64,rm64*,reg64        SM0-1,BMI2
    SHRX             reg64,rm64*,reg64        SM0-1,BMI2
    ROR              reg32,rm32,imm8          ND,SM0-1,OPT,NF,NF_R,BMI2
    ROL              reg32,rm32,imm_known8    ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    ROR              reg64,rm64,imm8          ND,SM0-1,OPT,NF,NF_R,BMI2
    ROL              reg64,rm64,imm_known8    ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHL              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAL              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SAR              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2
    SHR              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,BMI2

#### F.1.8. APX EVEX versions

    ROL              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROL              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    ROR              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCL              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RCR              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHL              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAL              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SHR              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,unity          SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,unity        SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,reg_cl         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,reg_cl       SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,reg_cx         ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,reg_cx       ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,reg_ecx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,reg_ecx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,reg_rcx        ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,reg_rcx      ND,SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg8?,rm8,imm8           SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg16?,rm16,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg32?,rm32,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    SAR              reg64?,rm64,imm8         SM0-1,NF,LONG,FL,PROT,APX,X86_64
    RORX             reg32,rm32,imm8          SM0-1,LONG,PROT,BMI2,APX,X86_64
    ROLX             reg32,rm32,imm_known8    SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg32,rm32*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg32,rm32*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg32,rm32*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg32,rm32*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg32,rm32*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg32,rm32*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg32,rm32*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg32,rm32*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg32,rm32*,reg32        SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg32,rm32*,reg32        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg32,rm32*,reg32        SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg32,rm32*,reg32        SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg32,rm32*,reg64        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg32,rm32*,reg64        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg32,rm32*,reg64        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg32,rm32*,reg64        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    RORX             reg64,rm64,imm8          SM0-1,LONG,PROT,BMI2,APX,X86_64
    ROLX             reg64,rm64,imm_known8    SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg64,rm64*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg64,rm64*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg64,rm64*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg64,rm64*,reg8         ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg64,rm64*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg64,rm64*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg64,rm64*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg64,rm64*,reg16        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg64,rm64*,reg32        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg64,rm64*,reg32        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg64,rm64*,reg32        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg64,rm64*,reg32        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHLX             reg64,rm64*,reg64        SM0-1,LONG,PROT,BMI2,APX,X86_64
    SALX             reg64,rm64*,reg64        ND,SM0-1,LONG,PROT,BMI2,APX,X86_64
    SARX             reg64,rm64*,reg64        SM0-1,LONG,PROT,BMI2,APX,X86_64
    SHRX             reg64,rm64*,reg64        SM0-1,LONG,PROT,BMI2,APX,X86_64
    ROR              reg32,rm32,imm8          ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    ROL              reg32,rm32,imm_known8    ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg32,rm32*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg32,rm32*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg32,rm32*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg32,rm32*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    ROR              reg64,rm64,imm8          ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    ROL              reg64,rm64,imm_known8    ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg64,rm64*,reg8         ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg64,rm64*,reg16        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg64,rm64*,reg32        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHL              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAL              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SAR              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64
    SHR              reg64,rm64*,reg64        ND,SM0-1,OPT,NF,NF_R,LONG,PROT,BMI2,APX,X86_64

#### F.1.9. Other basic integer arithmetic

    INC              reg16                    NOREX,NOAPX,NOLONG,FL,8086
    INC              reg32                    NOREX,NOAPX,NOLONG,FL,386
    INC              rm8                      LOCK,FL,8086
    INC              rm16                     LOCK,FL,8086
    INC              rm32                     LOCK,FL,386
    INC              rm64                     LOCK,LONG,FL,PROT,X86_64
    INC              reg8?,rm8                NF,LOCK,LONG,PROT,APX,X86_64
    INC              reg16?,rm16              NF,LOCK,LONG,PROT,APX,X86_64
    INC              reg32?,rm32              NF,LOCK,LONG,PROT,APX,X86_64
    INC              reg64?,rm64              NF,LOCK,LONG,PROT,APX,X86_64
    DEC              reg16                    NOREX,NOAPX,NOLONG,FL,8086
    DEC              reg32                    NOREX,NOAPX,NOLONG,FL,386
    DEC              rm8                      LOCK,FL,8086
    DEC              rm16                     LOCK,FL,8086
    DEC              rm32                     LOCK,FL,386
    DEC              rm64                     LOCK,LONG,FL,PROT,X86_64
    DEC              reg8?,rm8                NF,LOCK,LONG,PROT,APX,X86_64
    DEC              reg16?,rm16              NF,LOCK,LONG,PROT,APX,X86_64
    DEC              reg32?,rm32              NF,LOCK,LONG,PROT,APX,X86_64
    DEC              reg64?,rm64              NF,LOCK,LONG,PROT,APX,X86_64
    IMUL             rm8                      FL,8086
    IMUL             rm16                     FL,8086
    IMUL             rm32                     FL,386
    IMUL             rm64                     LONG,FL,PROT,X86_64
    IMUL             rm8                      SM0,NF,LONG,PROT,APX,X86_64
    IMUL             rm16                     SM0,NF,LONG,PROT,APX,X86_64
    IMUL             rm32                     SM0,NF,LONG,PROT,APX,X86_64
    IMUL             rm64                     SM0,NF,LONG,PROT,APX,X86_64
    IMUL             reg16,rm16               SM0-1,FL,386
    IMUL             reg32,rm32               SM0-1,FL,386
    IMUL             reg64,rm64               SM0-1,LONG,FL,PROT,X86_64
    IMUL             reg16,rm16*,sbyteword16  SM0-2,FL,186
    IMUL             reg32,rm32*,sbytedword32 SM0-2,FL,386
    IMUL             reg64,rm64*,sbytedword64 SM0-2,LONG,FL,PROT,X86_64
    IMUL             reg16,rm16*,imm16        SM0-2,FL,186
    IMUL             reg32,rm32*,imm32        SM0-2,FL,386
    IMUL             reg64,rm64*,sdword64     SM0-2,LONG,FL,PROT,X86_64
    IMUL             reg16?,reg16,rm16        SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg32?,reg32,rm32        SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg64?,reg64,rm64        SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg16,rm16,sbyteword16   SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg32,rm32,sbytedword32  SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg64,rm64,sbytedword64  SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg16,rm16,imm16         SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg32,rm32,imm32         SM0-2,NF,LONG,PROT,APX,X86_64
    IMUL             reg64,rm64,sdword64      SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              rm8                      FL,8086
    MUL              rm16                     FL,8086
    MUL              rm32                     FL,386
    MUL              rm64                     LONG,FL,PROT,X86_64
    MULX             reg32,reg32*,rm32        BMI2
    MULX             reg64,reg64*,rm64        LONG,PROT,BMI2,X86_64
    MUL              reg32,reg32*,rm32        ND,OPT,NF,NF_R,BMI2
    MUL              reg64,reg64*,rm64        ND,OPT,NF,NF_R,LONG,PROT,BMI2,X86_64
    MUL              rm8                      SM0,NF,LONG,PROT,APX,X86_64
    MUL              rm16                     SM0,NF,LONG,PROT,APX,X86_64
    MUL              rm32                     SM0,NF,LONG,PROT,APX,X86_64
    MUL              rm64                     SM0,NF,LONG,PROT,APX,X86_64
    MUL              reg16,rm16               ND,SM0-1,FL,386
    MUL              reg32,rm32               ND,SM0-1,FL,386
    MUL              reg64,rm64               ND,SM0-1,LONG,FL,PROT,X86_64
    MUL              reg16,rm16*,sbyteword16  ND,SM0-2,FL,186
    MUL              reg32,rm32*,sbytedword32 ND,SM0-2,FL,386
    MUL              reg64,rm64*,sbytedword64 ND,SM0-2,LONG,FL,PROT,X86_64
    MUL              reg16,rm16*,imm16        ND,SM0-2,FL,186
    MUL              reg32,rm32*,imm32        ND,SM0-2,FL,386
    MUL              reg64,rm64*,sdword64     ND,SM0-2,LONG,FL,PROT,X86_64
    MUL              reg16?,reg16,rm16        ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg32?,reg32,rm32        ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg64?,reg64,rm64        ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg16,rm16,sbyteword16   ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg32,rm32,sbytedword32  ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg64,rm64,sbytedword64  ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg16,rm16,imm16         ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg32,rm32,imm32         ND,SM0-2,NF,LONG,PROT,APX,X86_64
    MUL              reg64,rm64,sdword64      ND,SM0-2,NF,LONG,PROT,APX,X86_64
    IDIV             rm8                      FL,8086
    IDIV             rm16                     FL,8086
    IDIV             rm32                     FL,386
    IDIV             rm64                     LONG,FL,PROT,X86_64
    IDIV             rm8                      NF,LONG,PROT,APX,X86_64
    IDIV             rm16                     NF,LONG,PROT,APX,X86_64
    IDIV             rm32                     NF,LONG,PROT,APX,X86_64
    IDIV             rm64                     NF,LONG,PROT,APX,X86_64
    DIV              rm8                      FL,8086
    DIV              rm16                     FL,8086
    DIV              rm32                     FL,386
    DIV              rm64                     LONG,FL,PROT,X86_64
    DIV              rm8                      NF,LONG,PROT,APX,X86_64
    DIV              rm16                     NF,LONG,PROT,APX,X86_64
    DIV              rm32                     NF,LONG,PROT,APX,X86_64
    DIV              rm64                     NF,LONG,PROT,APX,X86_64
    NEG              rm8                      LOCK,FL,8086
    NEG              rm16                     LOCK,FL,8086
    NEG              rm32                     LOCK,FL,386
    NEG              rm64                     LOCK,LONG,FL,PROT,X86_64
    NEG              reg8?,rm8                NF,LOCK,LONG,PROT,APX,X86_64
    NEG              reg16?,rm16              NF,LOCK,LONG,PROT,APX,X86_64
    NEG              reg32?,rm32              NF,LOCK,LONG,PROT,APX,X86_64
    NEG              reg64?,rm64              NF,LOCK,LONG,PROT,APX,X86_64
    NOT              rm8                      LOCK,8086
    NOT              rm16                     LOCK,8086
    NOT              rm32                     LOCK,386
    NOT              rm64                     LOCK,LONG,PROT,X86_64
    NOT              reg8?,rm8                LOCK,LONG,PROT,APX,X86_64
    NOT              reg16?,rm16              LOCK,LONG,PROT,APX,X86_64
    NOT              reg32?,rm32              LOCK,LONG,PROT,APX,X86_64
    NOT              reg64?,rm64              LOCK,LONG,PROT,APX,X86_64

#### F.1.10. Interleaved flags arithmetic

    ADCX             reg32,rm32               ZU,FL,ADX
    ADCX             reg64,rm64               ZU,LONG,FL,PROT,ADX,X86_64
    ADCX             reg32?,reg32,rm32        ZU,LONG,FL,PROT,APX,ADX,X86_64
    ADCX             reg64?,reg64,rm64        ZU,LONG,FL,PROT,APX,ADX,X86_64
    ADOX             reg32,rm32               ZU,FL,ADX
    ADOX             reg64,rm64               ZU,LONG,FL,PROT,ADX,X86_64
    ADOX             reg32?,reg32,rm32        ZU,LONG,FL,PROT,APX,ADX,X86_64
    ADOX             reg64?,reg64,rm64        ZU,LONG,FL,PROT,APX,ADX,X86_64

#### F.1.11. Double width shift

    SHLD             rm16,reg16,imm8          SM0-1,FL,386
    SHLD             rm32,reg32,imm8          SM0-1,FL,386
    SHLD             rm64,reg64,imm8          SM0-1,LONG,FL,PROT,X86_64
    SHLD             rm16,reg16,reg_cl        SM0-1,FL,386
    SHLD             rm32,reg32,reg_cl        SM0-1,FL,386
    SHLD             rm64,reg64,reg_cl        SM0-1,LONG,FL,PROT,X86_64
    SHLD             reg16?,rm16,reg16,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHLD             reg32?,rm32,reg32,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHLD             reg64?,rm64,reg64,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHLD             reg16?,rm16,reg16,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64
    SHLD             reg32?,rm32,reg32,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64
    SHLD             reg64?,rm64,reg64,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             rm16,reg16,imm8          SM0-1,FL,386
    SHRD             rm32,reg32,imm8          SM0-1,FL,386
    SHRD             rm64,reg64,imm8          SM0-1,LONG,FL,PROT,X86_64
    SHRD             rm16,reg16,reg_cl        SM0-1,FL,386
    SHRD             rm32,reg32,reg_cl        SM0-1,FL,386
    SHRD             rm64,reg64,reg_cl        SM0-1,LONG,FL,PROT,X86_64
    SHRD             reg16?,rm16,reg16,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             reg32?,rm32,reg32,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             reg64?,rm64,reg64,imm8   SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             reg16?,rm16,reg16,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             reg32?,rm32,reg32,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64
    SHRD             reg64?,rm64,reg64,reg_cl SM0-1,NF,LONG,PROT,APX,X86_64

#### F.1.12. Bit operations

    BT               rm16,reg16               SM0-1,FL,386
    BT               rm32,reg32               SM0-1,FL,386
    BT               rm64,reg64               SM0-1,LONG,FL,PROT,X86_64
    BT               rm16,imm8                FL,386
    BT               rm32,imm8                FL,386
    BT               rm64,imm8                LONG,FL,PROT,X86_64
    BTC              rm16,reg16               SM0-1,LOCK,FL,386
    BTC              rm32,reg32               SM0-1,LOCK,FL,386
    BTC              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    BTC              rm16,imm8                LOCK,FL,386
    BTC              rm32,imm8                LOCK,FL,386
    BTC              rm64,imm8                LOCK,LONG,FL,PROT,X86_64
    BTR              rm16,reg16               SM0-1,LOCK,FL,386
    BTR              rm32,reg32               SM0-1,LOCK,FL,386
    BTR              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    BTR              rm16,imm8                LOCK,FL,386
    BTR              rm32,imm8                LOCK,FL,386
    BTR              rm64,imm8                LOCK,LONG,FL,PROT,X86_64
    BTS              rm16,reg16               SM0-1,LOCK,FL,386
    BTS              rm32,reg32               SM0-1,LOCK,FL,386
    BTS              rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    BTS              rm16,imm8                LOCK,FL,386
    BTS              rm32,imm8                LOCK,FL,386
    BTS              rm64,imm8                LOCK,LONG,FL,PROT,X86_64
    BSF              reg16,rm16               SM0-1,386
    BSF              reg32,rm32               SM0-1,386
    BSF              reg64,rm64               SM0-1,LONG,PROT,X86_64
    BSR              reg16,rm16               SM0-1,386
    BSR              reg32,rm32               SM0-1,386
    BSR              reg64,rm64               SM0-1,LONG,PROT,X86_64
    IBTS             rm16,reg16               ND,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    IBTS             rm32,reg32               ND,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    XBTS             rm16,reg16               ND,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    XBTS             rm32,reg32               ND,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386

#### F.1.13. BMI1 and BMI2 bit operations

    LZCNT            reg16,rm16               SM0-1,FL,LZCNT
    LZCNT            reg32,rm32               SM0-1,FL,LZCNT
    LZCNT            reg64,rm64               SM0-1,LONG,FL,PROT,LZCNT,X86_64
    LZCNT            reg16,rm16               SM0-1,NF,LONG,PROT,APX,LZCNT,X86_64
    LZCNT            reg32,rm32               SM0-1,NF,LONG,PROT,APX,LZCNT,X86_64
    LZCNT            reg64,rm64               SM0-1,NF,LONG,PROT,APX,LZCNT,X86_64
    TZCNT            reg16,rm16               SM0-1,FL,BMI1
    TZCNT            reg32,rm32               SM0-1,FL,BMI1
    TZCNT            reg64,rm64               SM0-1,LONG,FL,PROT,BMI1,X86_64
    TZCNT            reg16,rm16               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    TZCNT            reg32,rm32               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    TZCNT            reg64,rm64               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    ANDN             reg32,reg32*,rm32        SM0-2,FL,BMI1
    ANDN             reg64,reg64*,rm64        SM0-2,LONG,FL,PROT,BMI1,X86_64
    ANDN             reg32,reg32*,rm32        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    ANDN             reg64,reg64*,rm64        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    BEXTR            reg32,rm32*,reg32        SM0-2,FL,BMI1
    BEXTR            reg64,rm64*,reg64        SM0-2,LONG,FL,PROT,BMI1,X86_64
    BEXTR            reg32,rm32*,reg32        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    BEXTR            reg64,rm64*,reg64        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    BLSMSK           reg32,rm32               SM0-1,FL,BMI1
    BLSMSK           reg64,rm64               SM0-1,LONG,FL,PROT,BMI1,X86_64
    BLSMSK           reg32,rm32               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BLSMSK           reg64,rm64               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BLSR             reg32,rm32               SM0-1,FL,BMI1
    BLSR             reg64,rm64               SM0-1,LONG,FL,PROT,BMI1,X86_64
    BLSR             reg32,rm32               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BLSR             reg64,rm64               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BLSI             reg32,rm32               SM0-1,FL,BMI1
    BLSI             reg64,rm64               SM0-1,LONG,FL,PROT,BMI1,X86_64
    BLSI             reg32,rm32               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BLSI             reg64,rm64               SM0-1,NF,LONG,PROT,BMI1,APX,X86_64
    BZHI             reg32,rm32*,reg32        SM0-2,FL,BMI2
    BZHI             reg64,rm64*,reg64        SM0-2,LONG,FL,PROT,BMI2,X86_64
    BZHI             reg32,rm32*,reg32        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    BZHI             reg64,rm64*,reg64        SM0-2,NF,LONG,PROT,BMI1,APX,X86_64
    PDEP             reg32,reg32*,rm32        SM0-2,BMI2
    PDEP             reg64,reg64*,rm64        SM0-2,LONG,PROT,BMI2,X86_64
    PEXT             reg32,reg32*,rm32        SM0-2,BMI2
    PEXT             reg64,reg64*,rm64        SM0-2,LONG,PROT,BMI2,X86_64

#### F.1.14. AMD XOP bit operations

    BEXTR            reg32,rm32*,imm32        SM0-1,FL,TBM,OBSOLETE,AMD
    BEXTR            reg64,rm64*,imm32        SM0-1,LONG,FL,PROT,TBM,OBSOLETE,X86_64,AMD
    BLCI             reg32,rm32               SM0-1,FL,TBM,OBSOLETE,AMD
    BLCI             reg64,rm64               SM0-1,LONG,FL,PROT,TBM,OBSOLETE,X86_64,AMD
    BLCIC            reg32,rm32               SM0-1,FL,TBM,OBSOLETE,AMD
    BLCIC            reg64,rm64               SM0-1,LONG,FL,PROT,TBM,OBSOLETE,X86_64,AMD
    BLSIC            reg32,rm32               SM0-1,FL,TBM,OBSOLETE,AMD
    BLSIC            reg64,rm64               SM0-1,LONG,FL,PROT,TBM,OBSOLETE,X86_64,AMD
    BLCFILL          reg32,rm32               SM0-1,TBM,OBSOLETE,AMD
    BLCFILL          reg64,rm64               SM0-1,LONG,PROT,TBM,OBSOLETE,X86_64,AMD
    BLSFILL          reg32,rm32               TBM,OBSOLETE,AMD
    BLSFILL          reg64,rm64               LONG,PROT,TBM,OBSOLETE,X86_64,AMD
    BLCMSK           reg32,rm32               FL,TBM,OBSOLETE,AMD
    BLCMSK           reg64,rm64               LONG,FL,PROT,TBM,OBSOLETE,X86_64,AMD
    BLCS             reg32,rm32               TBM,OBSOLETE,AMD
    BLCS             reg64,rm64               LONG,PROT,TBM,OBSOLETE,X86_64,AMD
    TZMSK            reg32,rm32               TBM,OBSOLETE,AMD
    TZMSK            reg64,rm64               LONG,PROT,TBM,OBSOLETE,X86_64,AMD
    T1MSKC           reg32,rm32               TBM,OBSOLETE,AMD
    T1MSKC           reg64,rm64               LONG,PROT,TBM,OBSOLETE,X86_64,AMD

#### F.1.15. Decimal arithmetic

    AAA                                       NOREX,NOAPX,NOLONG,FL,8086
    AAD                                       NOREX,NOAPX,NOLONG,FL,8086
    AAD              imm8                     AR0,NOREX,NOAPX,NOLONG,FL,8086
    AAM                                       NOREX,NOAPX,NOLONG,FL,8086
    AAM              imm8                     AR0,NOREX,NOAPX,NOLONG,FL,8086
    AAS                                       NOREX,NOAPX,NOLONG,FL,8086
    DAA                                       NOREX,NOAPX,NOLONG,FL,8086
    DAS                                       NOREX,NOAPX,NOLONG,FL,8086

#### F.1.16. Endianness handling

    BSWAP            reg32                    486
    BSWAP            reg64                    LONG,PROT,X86_64
    BSWAP            reg_ax                   ND,OPT,NOREX,NOAPX,8086
    BSWAP            reg_cx                   ND,OPT,NOREX,NOAPX,8086
    BSWAP            reg_dx                   ND,OPT,NOREX,NOAPX,8086
    BSWAP            reg_bx                   ND,OPT,NOREX,NOAPX,8086
    MOVBE            reg16,mem16              SM0-1,MOVBE,NEHALEM
    MOVBE            reg32,mem32              SM0-1,MOVBE,NEHALEM
    MOVBE            reg64,mem64              SM0-1,LONG,PROT,MOVBE,X86_64,NEHALEM
    MOVBE            mem16,reg16              SM0-1,MOVBE,NEHALEM
    MOVBE            mem32,reg32              SM0-1,MOVBE,NEHALEM
    MOVBE            mem64,reg64              SM0-1,LONG,PROT,MOVBE,X86_64,NEHALEM
    MOVBE            reg16,mem16              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM
    MOVBE            reg32,mem32              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM
    MOVBE            reg64,mem64              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM
    MOVBE            mem16,reg16              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM
    MOVBE            mem32,reg32              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM
    MOVBE            mem64,reg64              SM0-1,LONG,PROT,APX,MOVBE,X86_64,NEHALEM

#### F.1.17. Sign and zero extension

    CBW                                       8086
    CDQ                                       386
    CDQE                                      LONG,PROT,X86_64
    CQO                                       LONG,PROT,X86_64
    CWD                                       8086
    CWDE                                      386
    MOVSX            reg_ax,reg_al            ND,OPT,8086
    MOVSXB           reg_ax,reg_al            ND,OPT,8086
    MOVSX            reg_eax,reg_ax           ND,OPT,ZU,386
    MOVSXW           reg_eax,reg_ax           ND,OPT,ZU,386
    MOVSX            reg_rax,reg_eax          ND,OPT,ZU,LONG,PROT,X86_64
    MOVSXD           reg_rax,reg_eax          ND,OPT,ZU,LONG,PROT,X86_64
    MOVSX            reg16,rm8                AR0-1,SX,386
    MOVSX            reg32,rm8                AR0-1,SX,386
    MOVSX            reg64,rm8                AR0-1,SX,LONG,PROT,X86_64
    MOVSXB           reg16,rm8                ND,386
    MOVSXB           reg32,rm8                ND,386
    MOVSXB           reg64,rm8                ND,LONG,PROT,X86_64
    MOVSX            reg16,rm16               AR0-1,SX,386
    MOVSX            reg32,rm16               AR0-1,SX,386
    MOVSX            reg64,rm16               AR0-1,SX,LONG,PROT,X86_64
    MOVSXW           reg16,rm16               ND,386
    MOVSXW           reg32,rm16               ND,386
    MOVSXW           reg64,rm16               ND,LONG,PROT,X86_64
    MOVSX            reg16,rm32               ND,AR0-1,SX,LONG,PROT,X86_64
    MOVSX            reg32,rm32               ND,AR0-1,SX,LONG,PROT,X86_64
    MOVSX            reg64,rm32               ND,AR0-1,SX,LONG,PROT,X86_64
    MOVSXD           reg16,rm32               LONG,PROT,X86_64
    MOVSXD           reg32,rm32               LONG,PROT,X86_64
    MOVSXD           reg64,rm32               LONG,PROT,X86_64
    MOVZX            reg16,rm8                AR0-1,SX,386
    MOVZX            reg32,rm8                AR0-1,SX,386
    MOVZX            reg64,rm8                AR0-1,SX,LONG,PROT,X86_64
    MOVZXB           reg16,rm8                ND,386
    MOVZXB           reg32,rm8                ND,386
    MOVZXB           reg64,rm8                ND,LONG,PROT,X86_64
    MOVZX            reg16,rm16               AR0-1,SX,386
    MOVZX            reg32,rm16               AR0-1,SX,386
    MOVZX            reg64,rm16               AR0-1,SX,LONG,PROT,X86_64
    MOVZXW           reg16,rm16               ND,386
    MOVZXW           reg32,rm16               ND,386
    MOVZXW           reg64,rm16               ND,LONG,PROT,X86_64
    MOVZX            reg16,rm32               ND,AR0-1,SX,OPT,8086
    MOVZX            reg32,rm32               ND,AR0-1,SX,OPT,386
    MOVZX            reg64,rm32               ND,AR0-1,SX,OPT,LONG,PROT,X86_64
    MOVZXD           reg16,rm32               ND,OPT,8086
    MOVZXD           reg32,rm32               ND,OPT,386
    MOVZXD           reg64,rm32               ND,OPT,LONG,PROT,X86_64

#### F.1.18. Atomic operations

    CMPXCHG          rm8,reg8                 SM0-1,LOCK,FL,PENT
    CMPXCHG          rm16,reg16               SM0-1,LOCK,FL,PENT
    CMPXCHG          rm32,reg32               SM0-1,LOCK,FL,PENT
    CMPXCHG          rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    CMPXCHG8B        mem64                    LOCK,FL,PENT
    CMPXCHG16B       mem128                   LOCK,LONG,FL,PROT,X86_64
    XADD             rm8,reg8                 SM0-1,LOCK,FL,486
    XADD             rm16,reg16               SM0-1,LOCK,FL,486
    XADD             rm32,reg32               SM0-1,LOCK,FL,486
    XADD             rm64,reg64               SM0-1,LOCK,LONG,FL,PROT,X86_64
    XCHG             reg_ax,reg16             8086
    XCHG             reg_rax,reg64            ZU,LONG,PROT,X86_64
    XCHG             reg16,reg_ax             ND,8086
    XCHG             reg64,reg_rax            ND,LONG,PROT,X86_64
    XCHG             reg_eax,reg32na          ZU,386
    XCHG             reg32na,reg_eax          ND,386
    XCHG             reg_eax,reg_eax          ND,NOREX,NOAPX,ZU,NOLONG,386
    XCHG             reg8,rm8                 SM0-1,LOCK1,8086
    XCHG             reg16,rm16               SM0-1,LOCK1,8086
    XCHG             reg32,rm32               SM0-1,LOCK1,386
    XCHG             reg64,rm64               SM0-1,LOCK1,LONG,PROT,X86_64
    XCHG             rm8,reg8                 ND,SM0-1,LOCK,8086
    XCHG             rm16,reg16               ND,SM0-1,LOCK,8086
    XCHG             rm32,reg32               ND,SM0-1,LOCK,386
    XCHG             rm64,reg64               ND,SM0-1,LOCK,LONG,PROT,X86_64
    CMPXCHG486       rm8,reg8                 ND,SM0-1,NOREX,NOAPX,LOCK,NOLONG,FL,UNDOC,OBSOLETE,486
    CMPXCHG486       rm16,reg16               ND,SM0-1,NOREX,NOAPX,LOCK,NOLONG,FL,UNDOC,OBSOLETE,486
    CMPXCHG486       rm32,reg32               ND,SM0-1,NOREX,NOAPX,LOCK,NOLONG,FL,UNDOC,OBSOLETE,486

#### F.1.19. Jumps

    JMPABS           imm64|near               LONG,PROT,APX,X86_64
    JMP              imm64|abs|near           ND,LONG,PROT,APX,X86_64
    JMPABS           imm64|abs|near           ND,LONG,PROT,APX,X86_64
    JMP              imm16|short              ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              imm32|short              ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              imm64|short              ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    JMP              imm16|near               AR0,OSIZE,JMP_RELAX,NOREX,NOAPX,NOLONG,8086
    JMP              imm32|near               AR0,OSIZE,JMP_RELAX,NOREX,NOAPX,NOLONG,8086
    JMP              imm64|near               AR0,OSIZE,JMP_RELAX,NOAPX,LONG,PROT,X86_64
    JMP              imm32|near               ND,AR0,SX,JMP_RELAX,NOAPX,LONG,PROT,X86_64
    JMP              imm16|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,8086
    JMP              imm32|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,8086
    JMP              imm64|near               AR0,OSIZE,LONG,BND,PROT,X86_64
    JMP              imm32|near               ND,AR0,SX,LONG,BND,PROT,X86_64
    JMP              rm16|near                AR0,OSIZE,BND,8086
    JMP              rm32|near                AR0,OSIZE,BND,386
    JMP              rm64|near                AR0,OSIZE,LONG,BND,PROT,X86_64
    JMP              imm16|far                ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              imm32|far                ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    JMP              imm16:imm16              ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,8086
    JMP              imm32:imm32              ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,386
    JMP              imm16:imm16|far          ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,8086
    JMP              imm32:imm32|far          ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,386
    JMP              imm16:imm16              AR1,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              imm16:imm32              AR1,OSIZE,NOREX,NOAPX,NOLONG,386
    JMP              imm16:imm16|far          ND,AR1,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              imm16:imm32|far          ND,AR1,OSIZE,NOREX,NOAPX,NOLONG,386
    JMP              mem16|far                AR0,NWSIZE,OSIZE,NOREX,NOAPX,NOLONG,8086
    JMP              mem32|far                AR0,NWSIZE,OSIZE,386
    JMP              mem64|far                AR0,NWSIZE,OSIZE,LONG,386,X86_64
    Jcc              imm16|short              ND,AR0,OSIZE,JCC_HINT,NOREX,NOAPX,NOLONG,BND,8086
    Jcc              imm32|short              ND,AR0,OSIZE,JCC_HINT,NOREX,NOAPX,NOLONG,BND,8086
    Jcc              imm64|short              ND,AR0,OSIZE,JCC_HINT,NOAPX,LONG,BND,PROT,X86_64
    Jcc              imm16|near               AR0,OSIZE,JMP_RELAX,JCC_HINT,NOREX,NOAPX,NOLONG,BND,8086
    Jcc              imm32|near               AR0,OSIZE,JMP_RELAX,JCC_HINT,NOREX,NOAPX,NOLONG,BND,8086
    Jcc              imm64|near               AR0,OSIZE,JMP_RELAX,JCC_HINT,NOAPX,LONG,BND,PROT,X86_64
    Jcc              imm32|near               ND,AR0,SX,JMP_RELAX,JCC_HINT,NOAPX,LONG,BND,PROT,X86_64
    Jcc              imm16|near               AR0,OSIZE,JCC_HINT,NOREX,NOAPX,NOLONG,BND,386
    Jcc              imm32|near               AR0,OSIZE,JCC_HINT,NOREX,NOAPX,NOLONG,BND,386
    Jcc              imm64|near               AR0,OSIZE,JCC_HINT,NOAPX,LONG,BND,PROT,X86_64
    Jcc              imm32|near               ND,AR0,SX,JCC_HINT,NOAPX,LONG,BND,PROT,X86_64
    Jcc              imm                      ND,AR0,OSIZE,NOAPX,8086
    JCXZ             imm16|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    JECXZ            imm16|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    JCXZ             imm32|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    JECXZ            imm32|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    JECXZ            imm64|near|short         AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    JRCXZ            imm64|near|short         AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    JCXZ             imm16|near|short,reg_cx  ND,AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    JCXZ             imm16|near|short,reg_ecx ND,AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    JCXZ             imm32|near|short,reg_cx  ND,AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    JCXZ             imm32|near|short,reg_ecx ND,AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    JCXZ             imm64|near|short,reg_ecx ND,AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    JCXZ             imm64|near|short,reg_rcx ND,AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOP             imm16|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPW            imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPD            imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOP             imm32|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPW            imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPD            imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOP             imm64|near|short         AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPD            imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPQ            imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPE            imm16|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPEW           imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPED           imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPE            imm32|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPEW           imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPED           imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPE            imm64|near|short         AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPED           imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPEQ           imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNE           imm16|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNEW          imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNED          imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNE           imm32|near|short         AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNEW          imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNED          imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNE           imm64|near|short         AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNED          imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNEQ          imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPZ            imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZW           imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZD           imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPZ            imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZW           imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZD           imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPZ            imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPZD           imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPZQ           imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNZ           imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZW          imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZD          imm16|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNZ           imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZW          imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZD          imm32|near|short         ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNZ           imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNZD          imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNZQ          imm64|near|short         ND,AR0,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOP             imm16|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOP             imm16|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOP             imm32|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOP             imm32|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOP             imm64|near|short,reg_ecx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOP             imm64|near|short,reg_rcx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPE            imm16|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPE            imm16|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPE            imm32|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPE            imm32|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPE            imm64|near|short,reg_ecx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPE            imm64|near|short,reg_rcx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNE           imm16|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNE           imm16|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNE           imm32|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNE           imm32|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNE           imm64|near|short,reg_ecx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNE           imm64|near|short,reg_rcx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPZ            imm16|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZ            imm16|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPZ            imm32|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPZ            imm32|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPZ            imm64|near|short,reg_ecx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPZ            imm64|near|short,reg_rcx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNZ           imm16|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZ           imm16|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNZ           imm32|near|short,reg_cx  AR0-1,OSIZE,NOREX,NOAPX,NOLONG,8086
    LOOPNZ           imm32|near|short,reg_ecx AR0-1,OSIZE,NOREX,NOAPX,NOLONG,386
    LOOPNZ           imm64|near|short,reg_ecx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    LOOPNZ           imm64|near|short,reg_rcx AR0-1,OSIZE,NOAPX,LONG,PROT,X86_64
    JMPE             imm16|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,IA64
    JMPE             imm32|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,IA64
    JMPE             imm64|near               AR0,OSIZE,LONG,PROT,X86_64
    JMPE             imm32|near               ND,AR0,SX,LONG,PROT,X86_64
    JMPE             rm16|near                AR0,OSIZE,IA64
    JMPE             rm32|near                AR0,OSIZE,IA64
    JMPE             rm64|near                AR0,OSIZE,LONG,PROT,X86_64
    JMPE             rm16|near                AR0,OSIZE,NOREX,NOAPX,NOLONG,IA64
    JMPE             rm32|near                AR0,OSIZE,NOREX,NOAPX,NOLONG,IA64

#### F.1.20. Call and return

    CALL             imm16|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,8086
    CALL             imm32|near               AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,8086
    CALL             imm64|near               AR0,OSIZE,NOAPX,LONG,BND,PROT,X86_64
    CALL             imm32|near               ND,AR0,SX,NOAPX,LONG,BND,PROT,X86_64
    CALL             rm16|near                AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,8086
    CALL             rm32|near                AR0,OSIZE,NOREX,NOAPX,NOLONG,BND,386
    CALL             rm64|near                LONG,BND,PROT,X86_64
    CALL             imm16|far                ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,8086
    CALL             imm32|far                ND,AR0,OSIZE,NOREX,NOAPX,NOLONG,386
    CALL             imm16:imm16              ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,8086
    CALL             imm32:imm32              ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,386
    CALL             imm16:imm16|far          ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,8086
    CALL             imm32:imm32|far          ND,SM0-1,AR0,SX,NOREX,NOAPX,NOLONG,386
    CALL             imm16:imm16              AR1,OSIZE,NOREX,NOAPX,NOLONG,8086
    CALL             imm16:imm32              AR1,OSIZE,NOREX,NOAPX,NOLONG,386
    CALL             imm16:imm16|far          ND,AR1,OSIZE,NOREX,NOAPX,NOLONG,8086
    CALL             imm16:imm32|far          ND,AR1,OSIZE,NOREX,NOAPX,NOLONG,386
    CALL             mem16|far                AR0,NWSIZE,OSIZE,NOREX,NOAPX,NOLONG,8086
    CALL             mem32|far                AR0,NWSIZE,OSIZE,386
    CALL             mem64|far                AR0,NWSIZE,OSIZE,LONG,386,X86_64
    RET                                       BND,8086
    RETW                                      BND,8086
    RETD                                      NOREX,NOAPX,NOLONG,BND,386
    RETQ                                      LONG,BND,386,X86_64
    RET              imm16                    BND,8086
    RETW             imm16                    BND,8086
    RETD             imm16                    NOREX,NOAPX,NOLONG,BND,386
    RETQ             imm16                    LONG,BND,386,X86_64
    RETF                                      8086
    RETFW                                     8086
    RETFD                                     386
    RETFQ                                     LONG,386,X86_64
    RETF             imm16                    8086
    RETFW            imm16                    8086
    RETFD            imm16                    386
    RETFQ            imm16                    LONG,386,X86_64
    RETN                                      ND,BND,8086
    RETNW                                     ND,BND,8086
    RETND                                     ND,NOREX,NOAPX,NOLONG,BND,386
    RETNQ                                     ND,LONG,BND,386,X86_64
    RETN             imm16                    ND,BND,8086
    RETNW            imm16                    ND,BND,8086
    RETND            imm16                    ND,NOREX,NOAPX,NOLONG,BND,386
    RETNQ            imm16                    ND,LONG,BND,386,X86_64

#### F.1.21. Interrupts, system calls, and returns

    INT              imm8                     8086
    INT1                                      386
    INT01                                     ND,386
    ICEBP                                     ND,386
    INT3                                      8086
    INT03                                     ND,8086
    BRKPT                                     ND,8086
    INTO                                      NOREX,NOAPX,NOLONG,8086
    SYSCALL                                   P6,AMD
    SYSENTER                                  NOAPX,P6
    SYSEXIT                                   NOAPX,PRIV,P6
    SYSRET                                    PRIV,P6,AMD
    IRET                                      FL,8086
    IRETW                                     FL,8086
    IRETD                                     FL,386
    IRETQ                                     LONG,FL,386,X86_64
    ERETS                                     LONG,PRIV,PROT,FRED,X86_64
    ERETU                                     LONG,PRIV,PROT,FRED,X86_64

#### F.1.22. Flag register instructions

    CLC                                       FL,8086
    CLD                                       FL,8086
    CLI                                       FL,8086
    CLAC                                      FL,PRIV,SMAP
    STC                                       FL,8086
    STD                                       FL,8086
    STI                                       FL,8086
    STAC                                      FL,PRIV,SMAP
    CMC                                       FL,8086
    LAHF                                      8086
    SAHF                                      FL,8086
    SALC                                      NOREX,NOAPX,NOLONG,UNDOC,8086
    PUSHF                                     8086
    PUSHFW                                    8086
    PUSHFD                                    386
    PUSHFQ                                    LONG,386,X86_64
    POPF                                      FL,8086
    POPFW                                     FL,8086
    POPFD                                     FL,386
    POPFQ                                     LONG,FL,386,X86_64

#### F.1.23. String instructions

    CMPSB                                     NOAPX,FL,8086
    CMPSW                                     NOAPX,FL,8086
    CMPSD                                     NOAPX,FL,386
    CMPSQ                                     NOAPX,LONG,FL,386,X86_64
    LODSB                                     NOAPX,8086
    LODSW                                     NOAPX,8086
    LODSD                                     NOAPX,386
    LODSQ                                     NOAPX,LONG,386,X86_64
    MOVSB                                     NOAPX,8086
    MOVSW                                     NOAPX,8086
    MOVSD                                     NOAPX,386
    MOVSQ                                     NOAPX,LONG,386,X86_64
    STOSB                                     NOAPX,8086
    STOSW                                     NOAPX,8086
    STOSD                                     NOAPX,386
    STOSQ                                     NOAPX,LONG,386,X86_64
    SCASB                                     NOAPX,FL,8086
    SCASW                                     NOAPX,FL,8086
    SCASD                                     NOAPX,FL,386
    SCASQ                                     NOAPX,LONG,FL,386,X86_64
    INSB                                      186
    INSW                                      186
    INSD                                      386
    OUTSB                                     186
    OUTSW                                     186
    OUTSD                                     386

#### F.1.24. Synchronization and fencing

    LFENCE                                    LONG,PROT,X86_64,AMD
    MFENCE                                    LONG,PROT,X86_64,AMD
    SFENCE                                    LONG,PROT,X86_64,AMD
    SERIALIZE                                 SERIALIZE

#### F.1.25. Memory management and control

    CLFLUSH          mem                      SSE2,WILLAMETTE
    CLFLUSHOPT       mem                      CLFLUSHOPT
    CLWB             mem                      CLWB
    PCOMMIT                                   OBSOLETE,NEVER,NOP
    CLZERO           reg_ax                   NOLONG,CLZERO,AMD
    CLZERO           reg_eax                  CLZERO,AMD
    CLZERO           reg_rax                  LONG,PROT,CLZERO,X86_64,AMD
    CLZERO                                    ND,CLZERO,AMD
    INVD                                      PRIV,486
    WBINVD                                    PRIV,486
    WBNOINVD                                  PRIV,WBNOINVD
    INVPCID          reg32,mem128             NOREX,NOAPX,NOLONG,PRIV,INVPCID
    INVPCID          reg64,mem128             LONG,PRIV,PROT,INVPCID,X86_64
    INVPCID          reg64,mem128             LONG,PRIV,PROT,APX,INVPCID,X86_64
    INVLPG           mem                      PRIV,486
    INVLPGA          reg_ax,reg_ecx           NOLONG,X86_64,AMD
    INVLPGA          reg_eax,reg_ecx          X86_64,AMD
    INVLPGA          reg_rax,reg_ecx          LONG,PROT,X86_64,AMD
    INVLPGA                                   ND,X86_64,AMD

#### F.1.26. Special reads: timestamp, CPU number, performance counters, randomness

    RDPMC                                     NOAPX,P6
    RDTSC                                     NOAPX,PENT
    RDTSCP                                    X86_64
    RDRAND           reg16                    FL,RDRAND
    RDRAND           reg32                    FL,RDRAND
    RDRAND           reg64                    LONG,FL,PROT,RDRAND,X86_64
    RDSEED           reg16                    FL,RDSEED
    RDSEED           reg32                    FL,RDSEED
    RDSEED           reg64                    LONG,FL,PROT,RDSEED,X86_64
    RDPID            reg64                    ND,OPT,LONG,PROT,RDPID,X86_64
    RDPID            reg32                    RDPID
    RDPID            reg64                    LONG,PROT,RDPID,X86_64

#### F.1.27. Machine control and management instructions

    CLTS                                      PRIV,286
    CPUID                                     PENT
    LMSW             rm16                     PRIV,286
    SMSW             rm16                     286
    SMSW             reg64                    ND,LONG,PROT,X86_64
    SMSW             reg16                    286
    SMSW             reg32                    386
    SMSW             reg64                    LONG,PROT,X86_64
    MOV              reg32,reg_creg           NOREX,NOAPX,NOLONG,PRIV,386
    MOV              reg_creg,reg32           NOREX,NOAPX,NOLONG,PRIV,386
    MOV              reg64,reg_creg           LONG,PRIV,PROT,X86_64
    MOV              reg_creg,reg64           LONG,PRIV,PROT,X86_64
    MOV              reg32,reg_dreg           NOREX,NOAPX,NOLONG,PRIV,386
    MOV              reg_dreg,reg32           NOREX,NOAPX,NOLONG,PRIV,386
    MOV              reg64,reg_dreg           LONG,PRIV,PROT,X86_64
    MOV              reg_dreg,reg64           LONG,PRIV,PROT,X86_64
    MOV              reg32,reg_treg           ND,NOREX,NOAPX,NOLONG,OBSOLETE,386
    MOV              reg_treg,reg32           ND,NOREX,NOAPX,NOLONG,OBSOLETE,386
    WRMSR                                     NOAPX,PRIV,PENT
    RDMSR                                     NOAPX,PRIV,PENT
    RDMSR            reg64,imm32              LONG,PRIV,PROT,APX,MSR_IMM,X86_64
    WRMSRNS                                   PRIV,WRMSRNS
    WRMSRNS          imm32,reg64              LONG,PRIV,PROT,APX,MSR_IMM,X86_64
    RDMSRLIST                                 LONG,PRIV,PROT,MSRLIST,X86_64
    WRMSRLIST                                 LONG,PRIV,PROT,MSRLIST,X86_64
    URDMSR           reg64,reg64              NOAPX
    URDMSR           reg64,reg64              LONG,PROT,APX,X86_64
    URDMSR           reg64,imm32
    UWRMSR           reg64,reg64              NOAPX
    UWRMSR           reg64,reg64              LONG,PROT,APX,X86_64
    UWRMSR           reg64,imm32
    UMOV             rm8,reg8                 ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    UMOV             rm16,reg16               ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    UMOV             rm32,reg32               ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    UMOV             reg8,rm8                 ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    UMOV             reg16,rm16               ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    UMOV             reg32,rm32               ND,SM0-1,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,386
    BB0_RESET                                 ND,NOREX,NOAPX,NOLONG,OBSOLETE,PENT,CYRIX
    BB1_RESET                                 ND,NOREX,NOAPX,NOLONG,OBSOLETE,PENT,CYRIX
    CPU_READ                                  ND,NOREX,NOAPX,NOLONG,OBSOLETE,PENT,CYRIX
    CPU_WRITE                                 ND,NOREX,NOAPX,NOLONG,OBSOLETE,PENT,CYRIX
    DMINT                                     ND,NOREX,NOAPX,NOLONG,OBSOLETE,P6,CYRIX
    RDM                                       ND,NOREX,NOAPX,NOLONG,OBSOLETE,P6,CYRIX
    SMINT                                     ND,NOREX,NOAPX,NOLONG,OBSOLETE,P6,CYRIX
    SMINTOLD                                  ND,NOREX,NOAPX,NOLONG,OBSOLETE,486,CYRIX

#### F.1.28. System management mode

    RSM                                       FL,SMM,PENT
    WRSHR            rm32                     ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,P6,CYRIX
    RDSHR            rm32                     ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,P6,CYRIX
    RSDC             reg_sreg,mem80           ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX
    RSLDT            mem80                    ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX
    RSTS             mem80                    ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX
    SVDC             mem80,reg_sreg           ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX
    SVLDT            mem80                    ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX
    SVTS             mem80                    ND,NOREX,NOAPX,NOLONG,SMM,OBSOLETE,486,CYRIX

#### F.1.29. Power management

    HLT                                       PRIV,8086
    PAUSE                                     8086
    MONITOR                                   MONITOR,PRESCOTT
    MONITORW                                  NOLONG,MONITOR,PRESCOTT
    MONITORD                                  MONITOR,PRESCOTT
    MONITORQ                                  LONG,MONITOR,PRESCOTT,X86_64
    MONITOR          reg_ax,reg_ecx,reg_edx   ND,NOLONG,MONITOR,PRESCOTT
    MONITOR          reg_eax,reg_ecx,reg_edx  ND,MONITOR,PRESCOTT
    MONITOR          reg_rax,reg_ecx,reg_edx  ND,LONG,PROT,MONITOR,X86_64
    MWAIT                                     MONITOR,PRESCOTT
    MWAIT            reg_eax,reg_ecx          ND,MONITOR,PRESCOTT
    MONITORX                                  MONITORX,AMD
    MONITORX                                  NOLONG,MONITORX,AMD
    MONITORX                                  MONITORX,AMD
    MONITORX                                  LONG,MONITORX,X86_64,AMD
    MONITORX         reg_ax,reg_ecx,reg_edx   ND,NOLONG,MONITORX,AMD
    MONITORX         reg_eax,reg_ecx,reg_edx  ND,MONITORX,AMD
    MONITORX         reg_rax,reg_ecx,reg_edx  ND,LONG,PROT,MONITORX,X86_64,AMD
    MWAITX                                    MONITORX,AMD
    MWAITX           reg_eax,reg_ecx          ND,MONITORX,AMD
    TPAUSE           reg32                    FL,WAITPKG
    TPAUSE           reg32,reg_edx,reg_eax    ND,FL,WAITPKG
    UMONITOR         reg16                    NOLONG,WAITPKG
    UMONITOR         reg32                    WAITPKG
    UMONITOR         reg64                    LONG,PROT,WAITPKG,X86_64
    UMWAIT           reg32                    WAITPKG
    UMWAIT           reg32,reg_edx,reg_eax    ND,WAITPKG

#### F.1.30. I/O instructions

    IN               reg_al,imm8              NOAPX,8086
    IN               reg_ax,imm8              NOAPX,8086
    IN               reg_eax,imm8             NOAPX,ZU,386
    IN               reg_al,reg_dx            NOAPX,8086
    IN               reg_ax,reg_dx            NOAPX,8086
    IN               reg_eax,reg_dx           NOAPX,ZU,386
    OUT              imm8,reg_al              NOAPX,8086
    OUT              imm8,reg_ax              NOAPX,8086
    OUT              imm8,reg_eax             NOAPX,386
    OUT              reg_dx,reg_al            NOAPX,8086
    OUT              reg_dx,reg_ax            NOAPX,8086
    OUT              reg_dx,reg_eax           NOAPX,386

#### F.1.31. Segment handling instructions

    MOV              mem16,reg_sreg           8086
    MOV              reg16,reg_sreg           8086
    MOV              reg32,reg_sreg           386
    MOV              reg64,reg_sreg           LONG,386,X86_64
    MOV              reg_sreg,mem16           8086
    MOV              reg_sreg,reg16           8086
    MOV              reg_sreg,reg32           386
    MOV              reg_sreg,reg64           LONG,386,X86_64
    LDS              reg16,mem16              NOREX,NOAPX,NOLONG,8086
    LDS              reg32,mem32              NOREX,NOAPX,NOLONG,386
    LES              reg16,mem16              NOREX,NOAPX,NOLONG,8086
    LES              reg32,mem32              NOREX,NOAPX,NOLONG,386
    LFS              reg16,mem16              SM0-1,386
    LFS              reg32,mem32              SM0-1,386
    LFS              reg64,mem64              SM0-1,LONG,PROT,X86_64
    LGS              reg16,mem16              SM0-1,386
    LGS              reg32,mem32              SM0-1,386
    LGS              reg64,mem64              SM0-1,LONG,PROT,X86_64
    LSS              reg16,mem16              SM0-1,386
    LSS              reg32,mem32              SM0-1,386
    LSS              reg64,mem64              SM0-1,LONG,PROT,X86_64
    PUSH             reg_es                   NOREX,NOAPX,NOLONG,8086
    PUSH             reg_cs                   NOREX,NOAPX,NOLONG,8086
    PUSH             reg_ss                   NOREX,NOAPX,NOLONG,8086
    PUSH             reg_ds                   NOREX,NOAPX,NOLONG,8086
    PUSH             reg_fs                   386
    PUSH             reg_gs                   386
    POP              reg_es                   NOREX,NOAPX,NOLONG,8086
    POP              reg_cs                   ND,NOREX,NOAPX,NOLONG,UNDOC,OBSOLETE,8086
    POP              reg_ss                   NOREX,NOAPX,NOLONG,8086
    POP              reg_ds                   NOREX,NOAPX,NOLONG,8086
    POP              reg_fs                   386
    POP              reg_gs                   386
    RDFSBASE         reg32                    LONG,PROT,X86_64
    RDFSBASE         reg64                    LONG,PROT,X86_64
    RDGSBASE         reg32                    LONG,PROT,X86_64
    RDGSBASE         reg64                    LONG,PROT,X86_64
    WRFSBASE         reg32                    LONG,PROT,X86_64
    WRFSBASE         reg64                    LONG,PROT,X86_64
    WRGSBASE         reg32                    LONG,PROT,X86_64
    WRGSBASE         reg64                    LONG,PROT,X86_64
    ARPL             rm16,reg16               SM0-1,NOREX,NOAPX,NOLONG,FL,PROT,286
    ARPL             rm16,reg32               SM0-1,NOREX,NOAPX,NOLONG,FL,PROT,386
    LAR              reg16,rm_sel             FL,PROT,286
    LAR              reg32,rm_sel             FL,PROT,386
    LAR              reg64,rm_sel             LONG,FL,PROT,X86_64
    LSL              reg16,rm_sel             PROT,286
    LSL              reg32,rm_sel             PROT,386
    LSL              reg64,rm_sel             LONG,PROT,X86_64
    VERR             rm_sel                   FL,PROT,286
    VERW             rm_sel                   FL,PROT,286
    SWAPGS                                    LONG,PROT,X86_64
    LKGS             rm_sel                   LONG,PRIV,PROT,LKGS,X86_64
    LGDT             mem16                    AR0,OSIZE,PRIV,286
    LGDT             mem32                    AR0,OSIZE,PRIV,386
    LGDT             mem64                    AR0,OSIZE,LONG,PRIV,386,X86_64
    LIDT             mem16                    AR0,OSIZE,PRIV,286
    LIDT             mem32                    AR0,OSIZE,PRIV,386
    LIDT             mem64                    AR0,OSIZE,LONG,PRIV,386,X86_64
    LLDT             mem16                    PRIV,PROT,286
    LLDT             reg16                    PRIV,PROT,286
    LLDT             reg32                    PRIV,PROT,386
    LLDT             reg64                    LONG,PRIV,PROT,386,X86_64
    LTR              mem16                    PRIV,PROT,286
    LTR              reg16                    PRIV,PROT,286
    LTR              reg32                    PRIV,PROT,386
    LTR              reg64                    LONG,PRIV,PROT,386,X86_64
    SGDT             mem16                    AR0,OSIZE,286
    SGDT             mem32                    AR0,OSIZE,386
    SGDT             mem64                    AR0,OSIZE,LONG,386,X86_64
    SIDT             mem16                    AR0,OSIZE,286
    SIDT             mem32                    AR0,OSIZE,386
    SIDT             mem64                    AR0,OSIZE,LONG,386,X86_64
    SLDT             mem16                    PROT,286
    SLDT             reg16                    PROT,286
    SLDT             reg32                    PROT,386
    SLDT             reg64                    LONG,PROT,386,X86_64
    STR              mem16                    PROT,286
    STR              reg16                    PROT,286
    STR              reg32                    PROT,386
    STR              reg64                    LONG,PROT,386,X86_64
    LOADALL                                   ND,UNDOC,OBSOLETE,386
    LOADALL286                                ND,UNDOC,OBSOLETE,286

#### F.1.32. x87 floating point

    F2XM1                                     FPU,8086
    FABS                                      FPU,8086
    FADD             mem32                    FPU,8086
    FADD             mem64                    FPU,8086
    FADD             fpureg|to                FPU,8086
    FADD             fpureg                   FPU,8086
    FADD             fpureg,fpu0              FPU,8086
    FADD             fpu0,fpureg              FPU,8086
    FADD                                      ND,FPU,8086
    FADDP            fpureg                   FPU,8086
    FADDP            fpureg,fpu0              FPU,8086
    FADDP                                     ND,FPU,8086
    FBLD             mem80                    FPU,8086
    FBLD             mem                      FPU,8086
    FBSTP            mem80                    FPU,8086
    FBSTP            mem                      FPU,8086
    FCHS                                      FPU,8086
    FCLEX                                     FPU,8086
    FCMOVB           fpureg                   FPU,P6
    FCMOVB           fpu0,fpureg              FPU,P6
    FCMOVB                                    ND,FPU,P6
    FCMOVBE          fpureg                   FPU,P6
    FCMOVBE          fpu0,fpureg              FPU,P6
    FCMOVBE                                   ND,FPU,P6
    FCMOVE           fpureg                   FPU,P6
    FCMOVE           fpu0,fpureg              FPU,P6
    FCMOVE                                    ND,FPU,P6
    FCMOVNB          fpureg                   FPU,P6
    FCMOVNB          fpu0,fpureg              FPU,P6
    FCMOVNB                                   ND,FPU,P6
    FCMOVNBE         fpureg                   FPU,P6
    FCMOVNBE         fpu0,fpureg              FPU,P6
    FCMOVNBE                                  ND,FPU,P6
    FCMOVNE          fpureg                   FPU,P6
    FCMOVNE          fpu0,fpureg              FPU,P6
    FCMOVNE                                   ND,FPU,P6
    FCMOVNU          fpureg                   FPU,P6
    FCMOVNU          fpu0,fpureg              FPU,P6
    FCMOVNU                                   ND,FPU,P6
    FCMOVU           fpureg                   FPU,P6
    FCMOVU           fpu0,fpureg              FPU,P6
    FCMOVU                                    ND,FPU,P6
    FCOM             mem32                    FPU,8086
    FCOM             mem64                    FPU,8086
    FCOM             fpureg                   FPU,8086
    FCOM             fpu0,fpureg              FPU,8086
    FCOM                                      ND,FPU,8086
    FCOMI            fpureg                   FL,FPU,P6
    FCOMI            fpu0,fpureg              FL,FPU,P6
    FCOMI                                     ND,FL,FPU,P6
    FCOMIP           fpureg                   FL,FPU,P6
    FCOMIP           fpu0,fpureg              FL,FPU,P6
    FCOMIP                                    ND,FL,FPU,P6
    FCOMP            mem32                    FPU,8086
    FCOMP            mem64                    FPU,8086
    FCOMP            fpureg                   FPU,8086
    FCOMP            fpu0,fpureg              FPU,8086
    FCOMP                                     ND,FPU,8086
    FCOMPP                                    FPU,8086
    FCOS                                      FPU,386
    FDECSTP                                   FPU,8086
    FDISI                                     FPU,8086
    FDIV             mem32                    FPU,8086
    FDIV             mem64                    FPU,8086
    FDIV             fpureg|to                FPU,8086
    FDIV             fpureg                   FPU,8086
    FDIV             fpureg,fpu0              FPU,8086
    FDIV             fpu0,fpureg              FPU,8086
    FDIV                                      ND,FPU,8086
    FDIVP            fpureg                   FPU,8086
    FDIVP            fpureg,fpu0              FPU,8086
    FDIVP                                     ND,FPU,8086
    FDIVR            mem32                    FPU,8086
    FDIVR            mem64                    FPU,8086
    FDIVR            fpureg|to                FPU,8086
    FDIVR            fpureg,fpu0              FPU,8086
    FDIVR            fpureg                   FPU,8086
    FDIVR            fpu0,fpureg              FPU,8086
    FDIVR                                     ND,FPU,8086
    FDIVRP           fpureg                   FPU,8086
    FDIVRP           fpureg,fpu0              FPU,8086
    FDIVRP                                    ND,FPU,8086
    FEMMS                                     3DNOW,PENT
    FENI                                      FPU,8086
    FFREE            fpureg                   FPU,8086
    FFREE                                     FPU,8086
    FFREEP           fpureg                   UNDOC,FPU,286
    FFREEP                                    UNDOC,FPU,286
    FIADD            mem32                    FPU,8086
    FIADD            mem16                    FPU,8086
    FICOM            mem32                    FPU,8086
    FICOM            mem16                    FPU,8086
    FICOMP           mem32                    FPU,8086
    FICOMP           mem16                    FPU,8086
    FIDIV            mem32                    FPU,8086
    FIDIV            mem16                    FPU,8086
    FIDIVR           mem32                    FPU,8086
    FIDIVR           mem16                    FPU,8086
    FILD             mem32                    FPU,8086
    FILD             mem16                    FPU,8086
    FILD             mem64                    FPU,8086
    FIMUL            mem32                    FPU,8086
    FIMUL            mem16                    FPU,8086
    FINCSTP                                   FPU,8086
    FINIT                                     FPU,8086
    FIST             mem32                    FPU,8086
    FIST             mem16                    FPU,8086
    FISTP            mem32                    FPU,8086
    FISTP            mem16                    FPU,8086
    FISTP            mem64                    FPU,8086
    FISTTP           mem16                    FPU,PRESCOTT
    FISTTP           mem32                    FPU,PRESCOTT
    FISTTP           mem64                    FPU,PRESCOTT
    FISUB            mem32                    FPU,8086
    FISUB