#BEGIN_LEGAL # #Copyright (c) 2023 Intel Corporation # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # #END_LEGAL INSTRUCTIONS():: { ICLASS : FADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD8 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87STATUS:w:SUPP PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOM ATTRIBUTES: NOTSX UNDOCUMENTED CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] COMMENT : UNDOC DC D0..D7 is an undocumented alaias (see sandpile.org) PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP IFORM : FCOM_ST0_X87_DCD0 } { ICLASS : FCOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOMP ATTRIBUTES: NOTSX UNDOCUMENTED COMMENT : UNDOC ALIASES CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP IFORM : FCOMP_ST0_X87_DCD1 PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP IFORM : FCOMP_ST0_X87_DED0 } { ICLASS : FSUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD8 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:mem32real REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:w:mem32real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:w:mem32real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:w:mem80real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:w:m64real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=X87():w:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSTP ATTRIBUTES: NOTSX UNDOCUMENTED CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] COMMENT : UNDOC ALIASES PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=X87():w:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP IFORM : FSTP_X87_ST0_DFD0 PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=X87():w:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP IFORM : FSTP_X87_ST0_DFD1 } { ICLASS : FSTPNCE ATTRIBUTES: NOTSX UNDOCUMENTED CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] COMMENT : UNDOC ALIASES - empty top of stack behavior differs from FSTP. PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=X87():w:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDENV CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_CONTROL NOTSX FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] # EOSZ=1 PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode16 no66_prefix MODRM() OPERANDS : MEM0:r:mem14 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode32 66_prefix MODRM() OPERANDS : MEM0:r:mem14 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 norexw_prefix 66_prefix MODRM() OPERANDS : MEM0:r:mem14 REG0=XED_REG_X87STATUS:w:SUPP # EOSZ!=1 PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode16 66_prefix MODRM() OPERANDS : MEM0:r:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode32 no66_prefix MODRM() OPERANDS : MEM0:r:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:r:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 norexw_prefix no66_prefix MODRM() OPERANDS : MEM0:r:mem28 REG0=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDCW CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:mem16 REG0=XED_REG_X87CONTROL:w:SUPP REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FNSTENV CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] # EOSZ=1 PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode16 no66_prefix MODRM() OPERANDS : MEM0:w:mem14 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode32 66_prefix MODRM() OPERANDS : MEM0:w:mem14 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 norexw_prefix 66_prefix MODRM() OPERANDS : MEM0:w:mem14 REG0=XED_REG_X87STATUS:w:SUPP # EOSZ!=1 PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode16 66_prefix MODRM() OPERANDS : MEM0:w:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode32 no66_prefix MODRM() OPERANDS : MEM0:w:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:w:mem28 REG0=XED_REG_X87STATUS:w:SUPP PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 norexw_prefix no66_prefix MODRM() OPERANDS : MEM0:w:mem28 REG0=XED_REG_X87STATUS:w:SUPP } { ICLASS : FNSTCW CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xD9 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:w:mem16 REG0=XED_REG_X87CONTROL:r:SUPP REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87PUSH:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FXCH ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():rw:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FXCH ATTRIBUTES: NOTSX UNDOCUMENTED CPL : 3 COMMENT : UNDOC ALIAS CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():rw:f80 REG2=XED_REG_X87STATUS:w:SUPP IFORM : FXCH_ST0_X87_DFC1 PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 REG1=X87():rw:f80 REG2=XED_REG_X87STATUS:w:SUPP IFORM : FXCH_ST0_X87_DDC1 } { ICLASS : FNOP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: NOP X87_CONTROL NOTSX PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b010] RM[0b000] OPERANDS : } { ICLASS : FCHS ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b100] RM[0b000] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FABS ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b100] RM[0b001] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FTST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b100] RM[0b100] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FXAM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b100] RM[0b101] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLD1 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b000] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDL2T ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b001] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDL2E ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b010] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDPI ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b011] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDLG2 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b100] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDLN2 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b101] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLDZ ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b101] RM[0b110] OPERANDS : REG0=XED_REG_ST0:w:SUPP:f80 REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : F2XM1 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b000] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FYL2X ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b001] OPERANDS : REG0=XED_REG_ST0:r:SUPP:f80 REG1=XED_REG_ST1:rw:SUPP:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FPTAN ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-mod fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b010] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:w:SUPP:f80 REG2=XED_REG_X87PUSH:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FPATAN ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b011] OPERANDS : REG0=XED_REG_ST0:r:SUPP:f80 REG1=XED_REG_ST1:rw:SUPP:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FXTRACT ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b100] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:w:SUPP:f80 REG2=XED_REG_X87PUSH:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FPREM1 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b101] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:r:SUPP:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDECSTP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b110] OPERANDS : REG0=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FINCSTP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b110] RM[0b111] OPERANDS : REG0=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FPREM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b000] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:r:SUPP:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FYL2XP1 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b001] OPERANDS : REG0=XED_REG_ST0:r:SUPP:f80 REG1=XED_REG_ST1:rw:SUPP:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSQRT ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b010] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSINCOS ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-mod fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b011] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:w:SUPP:f80 REG2=XED_REG_X87PUSH:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FRNDINT ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b100] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSCALE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b101] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_ST1:r:SUPP:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSIN ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-mod fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b110] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOS ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-mod fc3-u ] PATTERN : 0xD9 MOD[0b11] MOD=3 REG[0b111] RM[0b111] OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FICOM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FICOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ cf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ zf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVBE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ cf-tst zf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVU ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ pf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDA MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FUCOMPP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDA MOD[0b11] MOD=3 REG[0b101] RM[0b001] OPERANDS : REG0=XED_REG_ST0:r:SUPP:f80 REG1=XED_REG_ST1:r:SUPP:f80 REG2=XED_REG_X87POP2:rw:SUPP REG3=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FILD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:mem32int REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : SSE3 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:w:mem32int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:w:mem32int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:w:mem32int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:mem80real REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVNB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ cf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVNE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ zf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVNBE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ cf-tst zf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCMOVNU ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FCMOV EXTENSION : X87 ISA_SET : FCMOV FLAGS : MUST [ pf-tst fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=XED_REG_ST0:cw:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FNCLEX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b100] RM[0b010] OPERANDS : REG0=XED_REG_X87STATUS:w:SUPP } { ICLASS : FNINIT CPL : 3 ATTRIBUTES : x87_mmx_state_w X87_NOWAIT X87_CONTROL NOTSX CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b100] RM[0b011] OPERANDS : REG0=XED_REG_X87CONTROL:w:SUPP REG1=XED_REG_X87TAG:w:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSETPM287_NOP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: NOP NOTSX UNDOCUMENTED PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b100] RM[0b100] OPERANDS : COMMENT : UNDOC } { ICLASS : FENI8087_NOP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: NOP NOTSX UNDOCUMENTED PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b100] RM[0b000] OPERANDS : COMMENT : UNDOC } { ICLASS : FDISI8087_NOP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: NOP NOTSX UNDOCUMENTED PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b100] RM[0b001] COMMENT : UNDOC OPERANDS : } { ICLASS : FUCOMI ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ISA_SET : FCOMI FLAGS : MUST [ zf-mod pf-mod cf-mod af-0 sf-0 of-0 fc1-mod ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOMI ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ISA_SET : FCOMI FLAGS : MUST [ zf-mod pf-mod cf-mod af-0 sf-0 of-0 fc1-mod ] PATTERN : 0xDB MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:SUPP:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FSUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDC MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FLD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:m64real REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTTP CPL : 3 CATEGORY : X87_ALU EXTENSION : SSE3 ISA_SET : SSE3X87 ATTRIBUTES : NOTSX FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:w:m64int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:w:m64real REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FRSTOR CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : x87_mmx_state_w X87_CONTROL NOTSX FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] # EOSZ=1 PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode16 no66_prefix MODRM() OPERANDS : MEM0:r:mem94 REG0=XED_REG_X87CONTROL:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode32 66_prefix MODRM() OPERANDS : MEM0:r:mem94 REG0=XED_REG_X87CONTROL:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 norexw_prefix 66_prefix MODRM() OPERANDS : MEM0:r:mem94 REG0=XED_REG_X87CONTROL:w:SUPP # EOSZ!=1 PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode16 66_prefix MODRM() OPERANDS : MEM0:r:mem108 REG0=XED_REG_X87CONTROL:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode32 no66_prefix MODRM() OPERANDS : MEM0:r:mem108 REG0=XED_REG_X87CONTROL:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:r:mem108 REG0=XED_REG_X87CONTROL:w:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b100] RM[nnn] mode64 norexw_prefix no66_prefix MODRM() OPERANDS : MEM0:r:mem108 REG0=XED_REG_X87CONTROL:w:SUPP } { ICLASS : FNSAVE CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : x87_mmx_state_r x87_mmx_state_w X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode16 no66_prefix MODRM() OPERANDS : MEM0:w:mem94 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode32 66_prefix MODRM() OPERANDS : MEM0:w:mem94 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 norexw_prefix 66_prefix MODRM() OPERANDS : MEM0:w:mem94 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode16 66_prefix MODRM() OPERANDS : MEM0:w:mem108 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode32 no66_prefix MODRM() OPERANDS : MEM0:w:mem108 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:w:mem108 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b110] RM[nnn] mode64 norexw_prefix no66_prefix MODRM() OPERANDS : MEM0:w:mem108 \ REG0=XED_REG_X87CONTROL:rw:SUPP \ REG1=XED_REG_X87TAG:rw:SUPP \ REG3=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FNSTSW CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xDD MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:w:mem16 REG0=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FFREE CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=X87():r:f80 REG1=XED_REG_X87TAG:w:SUPP } { ICLASS : FST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=X87():w:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FUCOM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FUCOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDD MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FIADD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIMUL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FICOM ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FICOMP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISUBR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIDIV ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIDIVR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:rw:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FADDP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. faddp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FMULP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. fmulp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FCOMPP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-mod fc1-mod fc2-mod fc3-mod ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b011] RM[0b001] OPERANDS : REG0=XED_REG_ST0:r:SUPP:f80 REG1=XED_REG_ST1:r:SUPP:f80 REG2=XED_REG_X87POP2:r:SUPP REG3=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FSUBRP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. fsubrp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FSUBP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. fsubp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FDIVRP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. fdivrp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FDIVP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDE MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=X87():rw:f80 REG1=XED_REG_ST0:r:IMPL:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP COMMENT : 2011-02-10: the pop essentially occurs later. fdivp st2 reads st2,st0 and writes st1. but xed says st2 is written. No other way to do it. } { ICLASS : FILD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:mem16int REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : SSE3 ISA_SET : SSE3X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:w:mem16int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FIST ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:w:mem16int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:w:mem16int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FBLD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:mem80dec REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FILD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : REG0=XED_REG_ST0:w:IMPL:f80 MEM0:r:m64int REG1=XED_REG_X87PUSH:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FBSTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:w:mem80dec REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FISTP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 FLAGS : MUST [ fc0-u fc1-mod fc2-u fc3-u ] PATTERN : 0xDF MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:w:m64int REG0=XED_REG_ST0:r:IMPL:f80 REG1=XED_REG_X87POP:r:SUPP REG2=XED_REG_X87STATUS:w:SUPP } { ICLASS : FFREEP CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES: X87_CONTROL NOTSX UNDOCUMENTED FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=X87():r:f80 REG1=XED_REG_X87TAG:w:SUPP REG2=XED_REG_X87POP:r:SUPP COMMENT : UNDOC } { ICLASS : FNSTSW CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_NOWAIT X87_CONTROL NOTSX FLAGS : MUST [ fc0-u fc1-u fc2-u fc3-u ] PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b100] RM[0b000] OPERANDS : REG0=XED_REG_AX:w:IMPL REG1=XED_REG_X87STATUS:rw:SUPP } { ICLASS : FUCOMIP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ISA_SET : FCOMI FLAGS : MUST [ zf-mod pf-mod cf-mod af-0 sf-0 of-0 fc1-mod ] PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : FCOMIP ATTRIBUTES: NOTSX CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ISA_SET : FCOMI FLAGS : MUST [ zf-mod pf-mod cf-mod af-0 sf-0 of-0 fc1-mod ] PATTERN : 0xDF MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=XED_REG_ST0:r:IMPL:f80 REG1=X87():r:f80 REG2=XED_REG_X87POP:r:SUPP REG3=XED_REG_X87STATUS:w:SUPP } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADD_LOCK_MEMb_IMMb_80r0 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADD_MEMb_IMMb_80r0 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : ADD_GPR8_IMMb_80r0 } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : OR_LOCK_MEMb_IMMb_80r1 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : OR_MEMb_IMMb_80r1 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b001] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : OR_GPR8_IMMb_80r1 } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADC_LOCK_MEMb_IMMb_80r2 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADC_MEMb_IMMb_80r2 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b010] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : ADC_GPR8_IMMb_80r2 } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SBB_LOCK_MEMb_IMMb_80r3 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SBB_MEMb_IMMb_80r3 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b011] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : SBB_GPR8_IMMb_80r3 } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : AND_LOCK_MEMb_IMMb_80r4 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : AND_MEMb_IMMb_80r4 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : AND_GPR8_IMMb_80r4 } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SUB_LOCK_MEMb_IMMb_80r5 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SUB_MEMb_IMMb_80r5 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b101] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : SUB_GPR8_IMMb_80r5 } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : XOR_LOCK_MEMb_IMMb_80r6 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : XOR_MEMb_IMMb_80r6 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : XOR_GPR8_IMMb_80r6 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x80 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() SIMM8() OPERANDS : MEM0:r:b IMM0:r:b:i8 IFORM : CMP_MEMb_IMMb_80r7 PATTERN : 0x80 MOD[0b11] MOD=3 REG[0b111] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():r IMM0:r:b:i8 IFORM : CMP_GPR8_IMMb_80r7 } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b001] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b010] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b011] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b100] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b101] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() SIMMz() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() SIMMz() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:z } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b110] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():rw IMM0:r:z } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x81 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() SIMMz() OPERANDS : MEM0:r:v IMM0:r:z PATTERN : 0x81 MOD[0b11] MOD=3 REG[0b111] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():r IMM0:r:z } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b000] RM[nnn] not64 MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADD_LOCK_MEMb_IMMb_82r0 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b000] RM[nnn] not64 MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADD_MEMb_IMMb_82r0 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b000] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : ADD_GPR8_IMMb_82r0 } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b001] RM[nnn] not64 MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : OR_LOCK_MEMb_IMMb_82r1 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b001] RM[nnn] not64 MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : OR_MEMb_IMMb_82r1 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b001] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : OR_GPR8_IMMb_82r1 } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b010] RM[nnn] not64 MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADC_LOCK_MEMb_IMMb_82r2 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b010] RM[nnn] not64 MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : ADC_MEMb_IMMb_82r2 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b010] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : ADC_GPR8_IMMb_82r2 } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b011] RM[nnn] not64 MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SBB_LOCK_MEMb_IMMb_82r3 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b011] RM[nnn] not64 MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SBB_MEMb_IMMb_82r3 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b011] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : SBB_GPR8_IMMb_82r3 } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b100] RM[nnn] not64 MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : AND_LOCK_MEMb_IMMb_82r4 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b100] RM[nnn] not64 MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : AND_MEMb_IMMb_82r4 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b100] RM[nnn] not64 UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : AND_GPR8_IMMb_82r4 } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b101] RM[nnn] not64 MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SUB_LOCK_MEMb_IMMb_82r5 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b101] RM[nnn] not64 MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b:i8 IFORM : SUB_MEMb_IMMb_82r5 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b101] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:i8 IFORM : SUB_GPR8_IMMb_82r5 } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b110] RM[nnn] not64 MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : XOR_LOCK_MEMb_IMMb_82r6 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b110] RM[nnn] not64 MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:b IMM0:r:b IFORM : XOR_MEMb_IMMb_82r6 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b110] RM[nnn] not64 UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : XOR_GPR8_IMMb_82r6 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x82 MOD[mm] MOD!=3 REG[0b111] RM[nnn] not64 MODRM() SIMM8() OPERANDS : MEM0:r:b IMM0:r:b:i8 IFORM : CMP_MEMb_IMMb_82r7 PATTERN : 0x82 MOD[0b11] MOD=3 REG[0b111] RM[nnn] not64 SIMM8() OPERANDS : REG0=GPR8_B():r IMM0:r:b:i8 IFORM : CMP_GPR8_IMMb_82r7 } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b001] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b010] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b011] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b100] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b101] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() SIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() SIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b:i8 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b110] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:i8 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x83 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() SIMM8() OPERANDS : MEM0:r:v IMM0:r:b:i8 PATTERN : 0x83 MOD[0b11] MOD=3 REG[0b111] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_B():r IMM0:r:b:i8 } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8F MOD[mm] MOD!=3 REG[0b000] RM[nnn] DF64() MODRM() OPERANDS : MEM0:w:v REG0=XED_REG_STACKPOP:rw:spw:SUPP PATTERN : 0x8F MOD[0b11] MOD=3 REG[0b000] RM[nnn] DF64() OPERANDS : REG0=GPRv_B():w REG1=XED_REG_STACKPOP:rw:spw:SUPP IFORM : POP_GPRv_8F } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod cf-mod ], IMMx MUST [ of-u cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b000] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod cf-mod ], IMMx MUST [ of-u cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b000] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod cf-mod ], IMMx MUST [ of-u cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b001] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod cf-mod ], IMMx MUST [ of-u cf-mod ] PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b001] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b # 2009-02-09: THIS WAS MISSING ENTIRELY UNTIL NOW PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : ROR_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b001] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : ROR_GPR8_ONE } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : ROR_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b001] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : ROR_GPRv_ONE } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : ROR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : ROL_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b000] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : ROL_GPR8_ONE } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : ROL_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b000] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : ROL_GPRv_ONE } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u cf-mod ] # REMOVED cf-tst 2009-02-08 PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : ROL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } ################# { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod cf-tst cf-mod ], IMMx MUST [ of-u cf-tst cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod cf-tst cf-mod ], IMMx MUST [ of-u cf-tst cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b011] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b IFORM : SHL_MEMb_IMMb_C0r4 PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : SHL_GPR8_IMMb_C0r4 } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b101] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP UNDOCUMENTED FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b IFORM : SHL_MEMb_IMMb_C0r6 PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b IFORM : SHL_GPR8_IMMb_C0r6 } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : BYTEOP FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC0 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:b IMM0:r:b PATTERN : 0xC0 MOD[0b11] MOD=3 REG[0b111] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():rw IMM0:r:b } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod cf-tst cf-mod ], IMMx MUST [ of-u cf-tst cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod cf-tst cf-mod ], IMMx MUST [ of-u cf-tst cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b011] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b IFORM : SHL_MEMv_IMMb_C1r4 PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b IFORM : SHL_GPRv_IMMb_C1r4 } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b101] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 ATTRIBUTES: UNDOCUMENTED FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b IFORM : SHL_MEMv_IMMb_C1r6 PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b IFORM : SHL_GPRv_IMMb_C1r6 } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I186 FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xC1 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rw:v IMM0:r:b PATTERN : 0xC1 MOD[0b11] MOD=3 REG[0b111] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod cf-tst cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : RCL_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b010] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : RCL_GPR8_ONE } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod cf-tst cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : RCR_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b011] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : RCR_GPR8_ONE } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : SHL_MEMb_ONE_D0r4 PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b100] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : SHL_GPR8_ONE_D0r4 PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : SHL_MEMb_ONE_D0r6 } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE UNDOCUMENTED FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b110] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : SHL_GPR8_ONE_D0r6 } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : SHR_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b101] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : SHR_GPR8_ONE } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD0 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:b IMM0:r:b:IMPL IFORM : SAR_MEMb_ONE PATTERN : 0xD0 MOD[0b11] MOD=3 REG[0b111] RM[nnn] ONE() OPERANDS : REG0=GPR8_B():rw IMM0:r:b:IMPL IFORM : SAR_GPR8_ONE } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod cf-tst cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : RCL_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b010] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : RCL_GPRv_ONE } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod cf-tst cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : RCR_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b011] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : RCR_GPRv_ONE } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : SHR_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b101] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : SHR_GPRv_ONE } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : SHL_MEMv_ONE_D1r6 PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : SHL_MEMv_ONE_D1r4 PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b100] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : SHL_GPRv_ONE_D1r4 } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE UNDOCUMENTED FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b110] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : SHL_GPRv_ONE_D1r6 } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : IMPLICIT_ONE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD1 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() ONE() OPERANDS : MEM0:rw:v IMM0:r:b:IMPL IFORM : SAR_MEMv_ONE PATTERN : 0xD1 MOD[0b11] MOD=3 REG[0b111] RM[nnn] ONE() OPERANDS : REG0=GPRv_B():rw IMM0:r:b:IMPL IFORM : SAR_GPRv_ONE } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL IFORM : SHL_MEMb_CL_D2r4 PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL IFORM : SHL_GPR8_CL_D2r4 } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP UNDOCUMENTED FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL IFORM : SHL_MEMb_CL_D2r6 PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL IFORM : SHL_GPR8_CL_D2r6 } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD2 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:rw:b REG0=XED_REG_CL:r:IMPL PATTERN : 0xD2 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL } { ICLASS : RCL CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL } { ICLASS : RCR CPL : 3 CATEGORY : ROTATE EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u cf-tst cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL IFORM : SHL_MEMv_CL_D3r4 } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL IFORM : SHL_GPRv_CL_D3r4 } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL } { ICLASS : SHR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: UNDOCUMENTED FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL IFORM : SHL_MEMv_CL_D3r6 } { ICLASS : SHL CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: UNDOCUMENTED FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL IFORM : SHL_GPRv_CL_D3r6 } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:rw:v REG0=XED_REG_CL:r:IMPL } { ICLASS : SAR CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I86 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0xD3 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=XED_REG_CL:r:IMPL } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMM8() OPERANDS : MEM0:r:b IMM0:r:b:i8 IFORM : TEST_MEMb_IMMb_F6r0 PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():r IMM0:r:b:i8 IFORM : TEST_GPR8_IMMb_F6r0 } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: BYTEOP UNDOCUMENTED FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMM8() OPERANDS : MEM0:r:b IMM0:r:b:i8 IFORM : TEST_MEMb_IMMb_F6r1 PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b001] RM[nnn] SIMM8() OPERANDS : REG0=GPR8_B():r IMM0:r:b:i8 IFORM : TEST_GPR8_IMMb_F6r1 } { ICLASS : NOT_LOCK DISASM : not CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b } { ICLASS : NOT CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b } { ICLASS : NOT CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPR8_B():rw } { ICLASS : NEG_LOCK DISASM : neg CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b } { ICLASS : NEG CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b } { ICLASS : NEG CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPR8_B():rw } { ICLASS : MUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=XED_REG_AL:r:SUPP REG1=XED_REG_AX:w:SUPP PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=XED_REG_AL:r:SUPP REG2=XED_REG_AX:w:SUPP } { ICLASS : IMUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=XED_REG_AL:r:SUPP REG1=XED_REG_AX:w:SUPP PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=XED_REG_AL:r:SUPP REG2=XED_REG_AX:w:SUPP } { ICLASS : DIV CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-u sf-u zf-u af-u pf-u cf-u ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=XED_REG_AX:rw:SUPP PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=XED_REG_AX:rw:SUPP } { ICLASS : IDIV CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-u sf-u zf-u af-u pf-u cf-u ] PATTERN : 0xF6 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=XED_REG_AX:rw:SUPP PATTERN : 0xF6 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=XED_REG_AX:rw:SUPP } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMMz() OPERANDS : MEM0:r:v IMM0:r:z IFORM : TEST_MEMv_IMMz_F7r0 PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():r IMM0:r:z IFORM : TEST_GPRv_IMMz_F7r0 } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: UNDOCUMENTED FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() SIMMz() OPERANDS : MEM0:r:v IMM0:r:z IFORM : TEST_MEMv_IMMz_F7r1 PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b001] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():r IMM0:r:z IFORM : TEST_GPRv_IMMz_F7r1 } { ICLASS : NOT_LOCK DISASM : not CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v } { ICLASS : NOT CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v } { ICLASS : NOT CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPRv_B():rw } { ICLASS : NEG_LOCK DISASM : neg CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v } { ICLASS : NEG CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v } { ICLASS : NEG CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPRv_B():rw } { ICLASS : MUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=OrAX():rw:SUPP REG1=OrDX():w:SUPP } { ICLASS : MUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=OrAX():rw:SUPP REG2=OrDX():w:SUPP } { ICLASS : IMUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=OrAX():rw:SUPP REG1=OrDX():w:SUPP PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=OrAX():rw:SUPP REG2=OrDX():w:SUPP } { ICLASS : DIV CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-u zf-u af-u pf-u cf-u ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=OrAX():rw:SUPP REG1=OrDX():rw:SUPP PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=OrAX():rw:SUPP REG2=OrDX():rw:SUPP } { ICLASS : IDIV CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-u zf-u af-u pf-u cf-u ] PATTERN : 0xF7 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=OrAX():rw:SUPP REG1=OrDX():rw:SUPP PATTERN : 0xF7 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=OrAX():rw:SUPP REG2=OrDX():rw:SUPP } { ICLASS : INC_LOCK DISASM : inc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b } { ICLASS : INC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b } { ICLASS : INC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPR8_B():rw } { ICLASS : DEC_LOCK DISASM : dec CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b } { ICLASS : DEC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b } { ICLASS : DEC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFE MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPR8_B():rw } { ICLASS : INC_LOCK DISASM : inc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v } { ICLASS : INC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v } { ICLASS : INC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPRv_B():rw IFORM : INC_GPRv_FFr0 } { ICLASS : DEC_LOCK DISASM : dec CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v } { ICLASS : DEC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v } { ICLASS : DEC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0xFF MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPRv_B():rw IFORM : DEC_GPRv_FFr1 } { ICLASS : CALL_NEAR DISASM_INTEL: call DISASM_ATTSV: call CPL : 3 CATEGORY : CALL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE INDIRECT_BRANCH PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b010] RM[nnn] DF64() IMMUNE66_LOOP64() MODRM() CET_NO_TRACK() OPERANDS : MEM0:r:v REG0=XED_REG_STACKPUSH:rw:spw:SUPP REG1=rIP():rw:SUPP PATTERN : 0xFF MOD[0b11] MOD=3 REG[0b010] RM[nnn] DF64() IMMUNE66_LOOP64() CET_NO_TRACK() OPERANDS : REG0=GPRv_B():r REG1=XED_REG_STACKPUSH:rw:spw:SUPP REG2=rIP():rw:SUPP } { ICLASS : CALL_NEAR DISASM_INTEL: call DISASM_ATTSV: call CPL : 3 CATEGORY : CALL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0xE8 not64 BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_STACKPUSH:rw:spw:SUPP REG1=XED_REG_EIP:rw:SUPP PATTERN : 0xE8 mode64 norex2_prefix BRDISP32() DF64() FORCE64() OPERANDS : RELBR:r:d REG0=XED_REG_STACKPUSH:rw:spw:SUPP REG1=XED_REG_RIP:rw:SUPP } { ICLASS : JMP CPL : 3 CATEGORY : UNCOND_BR EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE INDIRECT_BRANCH PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b100] RM[nnn] DF64() IMMUNE66_LOOP64() MODRM() CET_NO_TRACK() OPERANDS : MEM0:r:v REG0=rIP():w:SUPP PATTERN : 0xFF MOD[0b11] MOD=3 REG[0b100] RM[nnn] DF64() IMMUNE66_LOOP64() CET_NO_TRACK() OPERANDS : REG0=GPRv_B():r REG1=rIP():w:SUPP } { ICLASS : JMP_FAR DISASM_INTEL: jmp far DISASM_ATTSV: ljmp CPL : 3 ATTRIBUTES : FAR_XFER NOTSX INDIRECT_BRANCH CATEGORY : UNCOND_BR EXTENSION : BASE ISA_SET : I86 PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:p2 REG0=rIP():w:SUPP } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b110] RM[nnn] DF64() MODRM() OPERANDS : MEM0:r:v REG0=XED_REG_STACKPUSH:rw:spw:SUPP PATTERN : 0xFF MOD[0b11] MOD=3 REG[0b110] RM[nnn] DF64() OPERANDS : REG0=GPRv_B():r REG1=XED_REG_STACKPUSH:rw:spw:SUPP IFORM : PUSH_GPRv_FFr6 } { ICLASS : SLDT CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE NOTSX PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : MEM0:w:w REG0=XED_REG_LDTR:r:SUPP PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPRv_B():w REG1=XED_REG_LDTR:r:SUPP } { ICLASS : STR CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE NOTSX PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:w:w REG0=XED_REG_TR:r:SUPP PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPRv_B():w REG1=XED_REG_TR:r:SUPP } { ICLASS : LLDT CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES : PROTECTED_MODE RING0 NOTSX PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:r:w REG0=XED_REG_LDTR:w:SUPP PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPR16_B():r REG1=XED_REG_LDTR:w:SUPP } { ICLASS : LTR CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES : PROTECTED_MODE RING0 NOTSX PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:r:w REG0=XED_REG_TR:w:SUPP PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPR16_B():r REG1=XED_REG_TR:w:SUPP } { ICLASS : VERR CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:r:w COMMENT : reads a selector } { ICLASS : VERR CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPR16_B():r COMMENT : reads a selector } { ICLASS : VERW CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0x00 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:w COMMENT : reads a selector } { ICLASS : VERW CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0x00 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPR16_B():r COMMENT : reads a selector } { ICLASS : LGDT CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES: NOTSX COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b010] RM[nnn] mode64 FORCE64() MODRM() OPERANDS : MEM0:r:s64 REG0=XED_REG_GDTR:w:SUPP PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b010] RM[nnn] not64 MODRM() OPERANDS : MEM0:r:s REG0=XED_REG_GDTR:w:SUPP } { ICLASS : SMSW CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:w:w REG0=XED_REG_CR0:r:SUPP } { ICLASS : SMSW CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPRv_B():w REG1=XED_REG_CR0:r:SUPP } { ICLASS : LMSW CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES: RING0 NOTSX PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:r:w REG0=XED_REG_CR0:w:SUPP PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPR16_B():r REG1=XED_REG_CR0:w:SUPP } { ICLASS : BT CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:r:v IMM0:r:b } { ICLASS : BT CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():r IMM0:r:b } { ICLASS : BTS_LOCK DISASM : bts CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTS CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTS CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[0b11] MOD=3 REG[0b101] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : BTR_LOCK DISASM : btr CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTR CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTR CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } { ICLASS : BTC_LOCK DISASM : btc CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() UIMM8() lock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTC CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() UIMM8() nolock_prefix OPERANDS : MEM0:rw:v IMM0:r:b } { ICLASS : BTC CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBA MOD[0b11] MOD=3 REG[0b111] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rw IMM0:r:b } # NOTE: VMXON and VMCLEAR almost conflict when there is a redundant 66 # on VMXON. It should be (and is) a VMXON. VMCLEAR is required to # "not have" f2/f3; osz_refining_prefix handles this. { ICLASS : VMCLEAR CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b110] RM[nnn] osz_refining_prefix REFINING66() MODRM() OPERANDS : MEM0:r:q } { ICLASS : VMPTRLD CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b110] RM[nnn] no_refining_prefix MODRM() OPERANDS : MEM0:r:q } { ICLASS : VMPTRST CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b111] RM[nnn] no_refining_prefix MODRM() OPERANDS : MEM0:w:q } { ICLASS : VMXON CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: PROTECTED_MODE NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b110] RM[nnn] f3_refining_prefix IGNORE66() MODRM() OPERANDS : MEM0:r:q } { ICLASS : CMPXCHG8B_LOCK DISASM : cmpxchg8b CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : PENTIUMREAL ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] not64 IMMUNE66() MODRM() lock_prefix OPERANDS : MEM0:rcw:q REG0=XED_REG_EDX:rcw:SUPP REG1=XED_REG_EAX:rcw:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EBX:r:SUPP PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 norexw_prefix IMMUNE66() MODRM() lock_prefix OPERANDS : MEM0:rcw:q REG0=XED_REG_EDX:rcw:SUPP REG1=XED_REG_EAX:rcw:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EBX:r:SUPP } { ICLASS : CMPXCHG8B CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : PENTIUMREAL ATTRIBUTES : LOCKABLE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] not64 IMMUNE66() MODRM() nolock_prefix OPERANDS : MEM0:rcw:q REG0=XED_REG_EDX:rcw:SUPP REG1=XED_REG_EAX:rcw:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EBX:r:SUPP PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 norexw_prefix IMMUNE66() MODRM() nolock_prefix OPERANDS : MEM0:rcw:q REG0=XED_REG_EDX:rcw:SUPP REG1=XED_REG_EAX:rcw:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EBX:r:SUPP } { ICLASS : CMPXCHG16B_LOCK DISASM : cmpxchg16b CPL : 3 CATEGORY : SEMAPHORE EXTENSION : LONGMODE ISA_SET : CMPXCHG16B ATTRIBUTES: REQUIRES_ALIGNMENT LOCKED FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 rexw_prefix IMMUNE66() MODRM() lock_prefix OPERANDS : MEM0:rcw:dq REG0=XED_REG_RDX:rcw:SUPP REG1=XED_REG_RAX:rcw:SUPP REG2=XED_REG_RCX:r:SUPP REG3=XED_REG_RBX:r:SUPP } { ICLASS : CMPXCHG16B CPL : 3 CATEGORY : SEMAPHORE EXTENSION : LONGMODE ISA_SET : CMPXCHG16B ATTRIBUTES: REQUIRES_ALIGNMENT LOCKABLE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0xC7 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 rexw_prefix IMMUNE66() MODRM() nolock_prefix OPERANDS : MEM0:rcw:dq REG0=XED_REG_RDX:rcw:SUPP REG1=XED_REG_RAX:rcw:SUPP REG2=XED_REG_RCX:r:SUPP REG3=XED_REG_RBX:r:SUPP } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP PATTERN : 0xC6 MOD[0b11] MOD=3 REG[0b000] RM[nnn] UIMM8() OPERANDS : REG0=GPR8_B():w IMM0:r:b IFORM : MOV_GPR8_IMMb_C6r0 } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP HLE_REL_ABLE PATTERN : 0xC6 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:b IMM0:r:b } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0xC7 MOD[0b11] MOD=3 REG[0b000] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_B():w IMM0:r:z } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : HLE_REL_ABLE PATTERN : 0xC7 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() SIMMz() OPERANDS : MEM0:w:v IMM0:r:z } { ICLASS : PSRLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x71 no_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u16 IMM0:r:b } { ICLASS : PSRAW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x71 no_refining_prefix MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:i16 IMM0:r:b } { ICLASS : PSLLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x71 no_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u16 IMM0:r:b } { ICLASS : PSRLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x71 osz_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u16 IMM0:r:b } { ICLASS : PSRAW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x71 osz_refining_prefix MOD[0b11] MOD=3 REG[0b100] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:i16 IMM0:r:b } { ICLASS : PSLLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x71 osz_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u16 IMM0:r:b } { ICLASS : PSRLD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x72 no_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u32 IMM0:r:b } { ICLASS : PSRAD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x72 no_refining_prefix MOD[0b11] MOD=3 REG[0b100] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:i32 IMM0:r:b } { ICLASS : PSLLD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x72 no_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u32 IMM0:r:b } { ICLASS : PSRLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x72 osz_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u32 IMM0:r:b } { ICLASS : PSRAD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x72 osz_refining_prefix MOD[0b11] MOD=3 REG[0b100] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:i32 IMM0:r:b } { ICLASS : PSLLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x72 osz_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u32 IMM0:r:b } { ICLASS : PSRLQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x73 no_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u64 IMM0:r:b } { ICLASS : PSLLQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x73 no_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] UIMM8() OPERANDS : REG0=MMX_B():rw:q:u64 IMM0:r:b } { ICLASS : PSRLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x73 osz_refining_prefix MOD[0b11] MOD=3 REG[0b010] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u64 IMM0:r:b } { ICLASS : PSRLDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x73 osz_refining_prefix MOD[0b11] MOD=3 REG[0b011] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u128 IMM0:r:b } { ICLASS : PSLLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x73 osz_refining_prefix MOD[0b11] MOD=3 REG[0b110] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u64 IMM0:r:b } { ICLASS : PSLLDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x73 osz_refining_prefix MOD[0b11] MOD=3 REG[0b111] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_B():rw:dq:u128 IMM0:r:b } { ICLASS : FXSAVE CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : FXSAVE ATTRIBUTES : xmm_state_r REQUIRES_ALIGNMENT x87_mmx_state_r X87_NOWAIT X87_CONTROL NOTSX PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b000] RM[nnn] no_refining_prefix norexw_prefix MODRM() OPERANDS : MEM0:w:mfpxenv REG0=XED_REG_X87CONTROL:r:SUPP } { ICLASS : FXRSTOR CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : FXSAVE ATTRIBUTES : xmm_state_w REQUIRES_ALIGNMENT x87_mmx_state_w X87_NOWAIT X87_CONTROL NOTSX PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b001] RM[nnn] no_refining_prefix norexw_prefix MODRM() OPERANDS : MEM0:r:mfpxenv REG0=XED_REG_X87CONTROL:w:SUPP } { ICLASS : FXSAVE64 CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : FXSAVE64 ATTRIBUTES : xmm_state_r REQUIRES_ALIGNMENT x87_mmx_state_r X87_NOWAIT X87_CONTROL NOTSX PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b000] RM[nnn] no_refining_prefix rexw_prefix MODRM() OPERANDS : MEM0:w:mfpxenv REG0=XED_REG_X87CONTROL:r:SUPP } { ICLASS : FXRSTOR64 CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : FXSAVE64 ATTRIBUTES : xmm_state_w REQUIRES_ALIGNMENT x87_mmx_state_w X87_NOWAIT X87_CONTROL NOTSX PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b001] RM[nnn] no_refining_prefix rexw_prefix MODRM() OPERANDS : MEM0:r:mfpxenv REG0=XED_REG_X87CONTROL:w:SUPP } { ICLASS : LDMXCSR CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : SSEMXCSR EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : MXCSR PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b010] RM[nnn] no_refining_prefix MODRM() OPERANDS : MEM0:r:d REG0=XED_REG_MXCSR:w:SUPP } { ICLASS : STMXCSR CPL : 3 CATEGORY : SSE EXTENSION : SSE ISA_SET : SSEMXCSR EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : MXCSR_RD PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b011] RM[nnn] no_refining_prefix MODRM() OPERANDS : MEM0:w:d REG0=XED_REG_MXCSR:r:SUPP } { ICLASS : PREFETCHNTA CPL : 3 CATEGORY : PREFETCH ATTRIBUTES: PREFETCH NONTEMPORAL EXTENSION : SSE ISA_SET : SSE_PREFETCH PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b000] RM[nnn] MODRM() OPERANDS : MEM0:r:mprefetch } { ICLASS : PREFETCHT0 CPL : 3 CATEGORY : PREFETCH ATTRIBUTES: PREFETCH EXTENSION : SSE ISA_SET : SSE_PREFETCH PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b001] RM[nnn] MODRM() OPERANDS : MEM0:r:mprefetch } { ICLASS : PREFETCHT1 CPL : 3 CATEGORY : PREFETCH ATTRIBUTES: PREFETCH EXTENSION : SSE ISA_SET : SSE_PREFETCH PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b010] RM[nnn] MODRM() OPERANDS : MEM0:r:mprefetch } { ICLASS : PREFETCHT2 CPL : 3 CATEGORY : PREFETCH ATTRIBUTES: PREFETCH EXTENSION : SSE ISA_SET : SSE_PREFETCH PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:r:mprefetch } { ICLASS : NOP CPL : 3 UNAME : NOP0F18 CATEGORY : WIDENOP ATTRIBUTES: NOP EXTENSION : BASE ISA_SET : FAT_NOP PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b000] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r0 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b001] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r1 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b010] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r2 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b011] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r3 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b100] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r4 PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b101] RM[nnn] MODRM() OPERANDS : MEM0:r:v IFORM : NOP_MEMv_0F18r5 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b101] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r5 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b110] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r6 PATTERN : 0x0F 0x18 MOD[0b11] MOD=3 REG[0b111] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F18r7 } { ICLASS : NOP CPL : 3 UNAME : NOP0F18r4 CATEGORY : WIDENOP ATTRIBUTES: NOP EXTENSION : BASE ISA_SET : FAT_NOP PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b100] RM[nnn] MODRM() OPERANDS : MEM0:r:v IFORM : NOP_MEMv_0F18r4 } { ICLASS : NOP CPL : 3 UNAME : NOP0F18r6 CATEGORY : WIDENOP ATTRIBUTES: NOP EXTENSION : BASE ISA_SET : FAT_NOP PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b110] RM[nnn] MODRM() OPERANDS : MEM0:r:v IFORM : NOP_MEMv_0F18r6 } { ICLASS : NOP CPL : 3 UNAME : NOP0F18r7 CATEGORY : WIDENOP ATTRIBUTES: NOP EXTENSION : BASE ISA_SET : FAT_NOP PATTERN : 0x0F 0x18 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:r:v IFORM : NOP_MEMv_0F18r7 } { ICLASS : NOP UNAME : NOP0F19 CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x19 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F19 PATTERN : 0x0F 0x19 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F19 } { ICLASS : NOP CPL : 3 UNAME : NOP0F1A CATEGORY : WIDENOP ATTRIBUTES: NOP EXTENSION : BASE ISA_SET : FAT_NOP PATTERN : 0x0F 0x1A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F1A PATTERN : 0x0F 0x1A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F1A } { ICLASS : NOP UNAME : NOP0F1B CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x1B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F1B PATTERN : 0x0F 0x1B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F1B } { ICLASS : NOP UNAME : NOP0F1C CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x1C MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F1C PATTERN : 0x0F 0x1C MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F1C } { ICLASS : NOP UNAME : NOP0F1D CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x1D MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F1D PATTERN : 0x0F 0x1D MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F1D } { ICLASS : NOP UNAME : NOP0F1E CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x1E MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r IFORM : NOP_MEMv_GPRv_0F1E PATTERN : 0x0F 0x1E MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : NOP_GPRv_GPRv_0F1E } { ICLASS : NOP UNAME : NOP0F1F CPL : 3 CATEGORY : WIDENOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : FAT_NOP PATTERN : 0x0F 0x1F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v IFORM : NOP_MEMv_0F1F PATTERN : 0x0F 0x1F MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r IFORM : NOP_GPRv_0F1F } { ICLASS : VMCALL CPL : 3 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX COMMENT : on some execution paths loads all flags from VMCS. Always writes CF/PF/AF/ZF/SF/OF. FLAGS : MAY [ id-mod vip-mod vif-mod ac-mod vm-tst rf-mod nt-mod iopl-tst iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b000] RM[0b001] no_refining_prefix OPERANDS : } { ICLASS : VMLAUNCH CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX COMMENT : on some execution paths loads all flags from VMCS. Always writes CF/PF/AF/ZF/SF/OF. FLAGS : MAY [ id-mod vip-mod vif-mod ac-mod vm-tst rf-mod nt-mod iopl-tst iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b000] RM[0b010] no_refining_prefix OPERANDS : } { ICLASS : VMRESUME CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX COMMENT : on some execution paths loads all flags from VMCS. Always writes CF/PF/AF/ZF/SF/OF. FLAGS : MAY [ id-mod vip-mod vif-mod ac-mod vm-tst rf-mod nt-mod iopl-tst iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b000] RM[0b011] no_refining_prefix OPERANDS : } { ICLASS : VMXOFF CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES: NOTSX FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-mod pf-mod ] PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b000] RM[0b100] no_refining_prefix OPERANDS : } { ICLASS : SGDT CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES: NOTSX PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b000] RM[nnn] mode64 FORCE64() MODRM() OPERANDS : MEM0:w:s64 REG0=XED_REG_GDTR:r:SUPP PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b000] RM[nnn] not64 MODRM() OPERANDS : MEM0:w:s REG0=XED_REG_GDTR:r:SUPP } { ICLASS : LIDT CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES: RING0 NOTSX COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b011] RM[nnn] mode64 FORCE64() MODRM() OPERANDS : MEM0:r:s64 REG0=XED_REG_IDTR:w:SUPP PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b011] RM[nnn] not64 MODRM() OPERANDS : MEM0:r:s REG0=XED_REG_IDTR:w:SUPP } { ICLASS : MONITOR CPL : 0 CATEGORY : MISC EXTENSION : MONITOR ISA_SET : MONITOR ATTRIBUTES: RING0 NOTSX PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b001] RM[0b000] no_refining_prefix not64 eamode32 OPERANDS : REG0=XED_REG_EAX:r:SUPP REG1=XED_REG_ECX:r:SUPP REG2=XED_REG_EDX:r:SUPP PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b001] RM[0b000] no_refining_prefix not64 eamode16 OPERANDS : REG0=XED_REG_AX:r:SUPP REG1=XED_REG_ECX:r:SUPP REG2=XED_REG_EDX:r:SUPP PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b001] RM[0b000] no_refining_prefix mode64 eamode64 OPERANDS : REG0=XED_REG_RAX:r:SUPP REG1=XED_REG_ECX:r:SUPP REG2=XED_REG_EDX:r:SUPP PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b001] RM[0b000] no_refining_prefix mode64 eamode32 OPERANDS : REG0=XED_REG_RAX:r:SUPP REG1=XED_REG_ECX:r:SUPP REG2=XED_REG_EDX:r:SUPP } { ICLASS : MWAIT CPL : 0 CATEGORY : MISC EXTENSION : MONITOR ISA_SET : MONITOR ATTRIBUTES: RING0 NOTSX PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b001] RM[0b001] no_refining_prefix OPERANDS : REG0=XED_REG_EAX:r:SUPP REG1=XED_REG_ECX:r:SUPP } { ICLASS : SIDT CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES: NOTSX COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b001] RM[nnn] not64 MODRM() OPERANDS : MEM0:w:s REG0=XED_REG_IDTR:r:SUPP } { ICLASS : SIDT CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL COMMENT : 66 is OSZ; F2/F3 ignored PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b001] RM[nnn] mode64 FORCE64() MODRM() OPERANDS : MEM0:w:s64 REG0=XED_REG_IDTR:r:SUPP } { ICLASS : INVLPG CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : ATT_OPERAND_ORDER_EXCEPTION BYTEOP RING0 NOTSX PATTERN : 0x0F 0x01 MOD[mm] MOD!=3 REG[0b111] RM[nnn] MODRM() OPERANDS : MEM0:r:b } { ICLASS : SWAPGS CPL : 0 CATEGORY : SYSTEM EXTENSION : LONGMODE ATTRIBUTES: RING0 NOTSX PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b111] RM[0b000] mode64 OPERANDS : REG0=XED_REG_GSBASE:rw:SUPP } { ICLASS : RDTSCP CPL : 3 CATEGORY : SYSTEM EXTENSION : RDTSCP PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b111] RM[0b001] OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_EDX:w:SUPP REG2=XED_REG_ECX:w:SUPP REG3=XED_REG_TSC:r:SUPP REG4=XED_REG_TSCAUX:r:SUPP } { ICLASS : SFENCE CPL : 3 CATEGORY : MISC EXTENSION : SSE ATTRIBUTES: IGNORES_OSFXSR PATTERN : 0x0F 0xAE MOD[0b11] MOD=3 REG[0b111] RM[nnn] no_refining_prefix OPERANDS : } { ICLASS : CLFLUSH ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MISC EXTENSION : CLFSH ISA_SET : CLFSH PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b111] RM[nnn] no_refining_prefix MODRM() OPERANDS : MEM0:r:mprefetch } { ICLASS : LFENCE CPL : 3 CATEGORY : MISC EXTENSION : SSE2 ISA_SET : SSE2 ATTRIBUTES: IGNORES_OSFXSR PATTERN : 0x0F 0xAE MOD[0b11] MOD=3 REG[0b101] RM[nnn] no_refining_prefix OPERANDS : } { ICLASS : MFENCE CPL : 3 CATEGORY : MISC EXTENSION : SSE2 ISA_SET : SSE2 ATTRIBUTES: IGNORES_OSFXSR PATTERN : 0x0F 0xAE MOD[0b11] MOD=3 REG[0b110] RM[nnn] no_refining_prefix OPERANDS : } { ICLASS : MOVHLPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x12 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:q:f32 REG1=XMM_B():r:q:f32 } { ICLASS : MOVLPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x12 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:q:f32 MEM0:r:q:f32 } { ICLASS : MOVLHPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x16 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:q:f32 REG1=XMM_B():r:q:f32 } { ICLASS : MOVHPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x16 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:q:f32 MEM0:r:q:f32 } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x00 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x00 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x00 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : ADD_GPR8_GPR8_00 } { ICLASS : ADD_LOCK DISASM : add CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x01 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x01 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x01 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : ADD_GPRv_GPRv_01 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x02 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x02 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : ADD_GPR8_GPR8_02 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x03 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x03 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : ADD_GPRv_GPRv_03 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x04 SIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b:i8 } { ICLASS : ADD CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x05 SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x06 not64 OPERANDS : REG0=XED_REG_ES:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0x07 not64 OPERANDS : REG0=XED_REG_ES:w:IMPL REG1=XED_REG_STACKPOP:rw:spw:SUPP } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x08 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x08 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x08 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : OR_GPR8_GPR8_08 } { ICLASS : OR_LOCK DISASM : or CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x09 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x09 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x09 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : OR_GPRv_GPRv_09 } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : OR_GPR8_GPR8_0A } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : OR_GPRv_GPRv_0B } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0C UIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b } { ICLASS : OR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x0D SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x0E not64 OPERANDS : REG0=XED_REG_CS:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x10 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x10 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x10 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : ADC_GPR8_GPR8_10 } { ICLASS : ADC_LOCK DISASM : adc CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x11 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x11 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x11 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : ADC_GPRv_GPRv_11 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x12 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x12 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : ADC_GPR8_GPR8_12 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x13 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x13 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : ADC_GPRv_GPRv_13 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x14 SIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b:i8 } { ICLASS : ADC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x15 SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x16 not64 OPERANDS : REG0=XED_REG_SS:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0x17 not64 COMMENT : Inhibits all interrupts until after next instr OPERANDS : REG0=XED_REG_SS:w:IMPL REG1=XED_REG_STACKPOP:rw:spw:SUPP } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x18 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x18 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x18 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : SBB_GPR8_GPR8_18 } { ICLASS : SBB_LOCK DISASM : sbb CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x19 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x19 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x19 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : SBB_GPRv_GPRv_19 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x1A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : SBB_GPR8_GPR8_1A PATTERN : 0x1A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x1B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : SBB_GPRv_GPRv_1B PATTERN : 0x1B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x1C SIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b:i8 } { ICLASS : SBB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-tst cf-mod ] PATTERN : 0x1D SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x1E not64 OPERANDS : REG0=XED_REG_DS:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0x1F not64 OPERANDS : REG0=XED_REG_DS:w:IMPL REG1=XED_REG_STACKPOP:rw:spw:SUPP } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x20 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x20 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x20 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : AND_GPR8_GPR8_20 } { ICLASS : AND_LOCK DISASM : and CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x21 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x21 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x21 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : AND_GPRv_GPRv_21 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x22 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : AND_GPR8_GPR8_22 PATTERN : 0x22 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x23 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : AND_GPRv_GPRv_23 PATTERN : 0x23 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x24 SIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b:i8 } { ICLASS : AND CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x25 SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : DAA CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-mod zf-mod af-tst af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x27 not64 OPERANDS : REG0=XED_REG_AL:rw:SUPP } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x28 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x28 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x28 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : SUB_GPR8_GPR8_28 } { ICLASS : SUB_LOCK DISASM : sub CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x29 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x29 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x29 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : SUB_GPRv_GPRv_29 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x2A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : SUB_GPR8_GPR8_2A PATTERN : 0x2A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x2B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : SUB_GPRv_GPRv_2B PATTERN : 0x2B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x2C SIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b:i8 } { ICLASS : SUB CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x2D SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : DAS CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-mod zf-mod af-tst af-mod pf-mod cf-tst cf-mod ] PATTERN : 0x2F not64 OPERANDS : REG0=XED_REG_AL:rw:SUPP } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x30 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x30 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():r } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x30 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():r IFORM : XOR_GPR8_GPR8_30 } { ICLASS : XOR_LOCK DISASM : xor CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x31 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x31 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x31 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r IFORM : XOR_GPRv_GPRv_31 } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x32 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():rw REG1=GPR8_B():r IFORM : XOR_GPR8_GPR8_32 PATTERN : 0x32 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():rw MEM0:r:b } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x33 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r IFORM : XOR_GPRv_GPRv_33 PATTERN : 0x33 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x34 UIMM8() OPERANDS : REG0=XED_REG_AL:rw:IMPL IMM0:r:b } { ICLASS : XOR CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x35 SIMMz() OPERANDS : REG0=OrAX():rw:IMPL IMM0:r:z } { ICLASS : AAA CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-u zf-u af-tst af-mod pf-u cf-mod ] PATTERN : 0x37 not64 OPERANDS : REG0=XED_REG_AL:rw:SUPP REG1=XED_REG_AH:rw:SUPP } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x38 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=GPR8_R():r PATTERN : 0x38 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=GPR8_R():r IFORM : CMP_GPR8_GPR8_38 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x39 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r PATTERN : 0x39 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r IFORM : CMP_GPRv_GPRv_39 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x3A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():r MEM0:r:b PATTERN : 0x3A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():r REG1=GPR8_B():r IFORM : CMP_GPR8_GPR8_3A } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x3B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():r MEM0:r:v PATTERN : 0x3B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():r REG1=GPRv_B():r IFORM : CMP_GPRv_GPRv_3B } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x3C SIMM8() OPERANDS : REG0=XED_REG_AL:r:IMPL IMM0:r:b:i8 } { ICLASS : CMP CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x3D SIMMz() OPERANDS : REG0=OrAX():r:IMPL IMM0:r:z } { ICLASS : AAS CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-u zf-u af-tst af-mod pf-u cf-mod ] PATTERN : 0x3F not64 OPERANDS : REG0=XED_REG_AL:rw:SUPP REG1=XED_REG_AH:rw:SUPP } { ICLASS : INC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0b0100_0 SRM[rrr] not64 OPERANDS : REG0=GPRv_SB():rw IFORM : INC_GPRv_40 } { ICLASS : DEC CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod ] PATTERN : 0b0100_1 SRM[rrr] not64 OPERANDS : REG0=GPRv_SB():rw IFORM : DEC_GPRv_48 } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0b0101_0 SRM[rrr] norex2_prefix DF64() OPERANDS : REG0=GPRv_SB():r REG1=XED_REG_STACKPUSH:rw:spw:SUPP IFORM : PUSH_GPRv_50 PATTERN : 0b0101_0 SRM[rrr] rex2_refining_prefix norexw_prefix mode64 DF64() OPERANDS : REG0=GPRv_SB():r REG1=XED_REG_STACKPUSH:rw:spw:SUPP IFORM : PUSH_GPRv_50 } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 PATTERN : 0b0101_1 SRM[rrr] norex2_prefix DF64() OPERANDS : REG0=GPRv_SB():w REG1=XED_REG_STACKPOP:rw:spw:SUPP IFORM : POP_GPRv_58 PATTERN : 0b0101_1 SRM[rrr] mode64 rex2_refining_prefix norexw_prefix DF64() OPERANDS : REG0=GPRv_SB():w REG1=XED_REG_STACKPOP:rw:spw:SUPP IFORM : POP_GPRv_58 } { ICLASS : PUSHA CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I186 # EOSZ=1 not64 PATTERN : 0x60 mode16 no66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:spw8:SUPP REG1=XED_REG_AX:r:SUPP REG2=XED_REG_CX:r:SUPP REG3=XED_REG_DX:r:SUPP REG4=XED_REG_BX:r:SUPP REG5=XED_REG_SP:r:SUPP REG6=XED_REG_BP:r:SUPP REG7=XED_REG_SI:r:SUPP REG8=XED_REG_DI:r:SUPP PATTERN : 0x60 mode32 66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:spw8:SUPP REG1=XED_REG_AX:r:SUPP REG2=XED_REG_CX:r:SUPP REG3=XED_REG_DX:r:SUPP REG4=XED_REG_BX:r:SUPP REG5=XED_REG_SP:r:SUPP REG6=XED_REG_BP:r:SUPP REG7=XED_REG_SI:r:SUPP REG8=XED_REG_DI:r:SUPP } { ICLASS : PUSHAD CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I386 # EOSZ=2 not64 PATTERN : 0x60 mode16 66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:spw8:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_EBX:r:SUPP REG5=XED_REG_ESP:r:SUPP REG6=XED_REG_EBP:r:SUPP REG7=XED_REG_ESI:r:SUPP REG8=XED_REG_EDI:r:SUPP PATTERN : 0x60 mode32 no66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:spw8:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_EBX:r:SUPP REG5=XED_REG_ESP:r:SUPP REG6=XED_REG_EBP:r:SUPP REG7=XED_REG_ESI:r:SUPP REG8=XED_REG_EDI:r:SUPP } { ICLASS : POPA CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I186 # EOSZ=1 not64 PATTERN : 0x61 mode16 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw8:SUPP REG1=XED_REG_AX:w:SUPP REG2=XED_REG_CX:w:SUPP REG3=XED_REG_DX:w:SUPP REG4=XED_REG_BX:w:SUPP REG5=XED_REG_BP:w:SUPP REG6=XED_REG_SI:w:SUPP REG7=XED_REG_DI:w:SUPP PATTERN : 0x61 mode32 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw8:SUPP REG1=XED_REG_AX:w:SUPP REG2=XED_REG_CX:w:SUPP REG3=XED_REG_DX:w:SUPP REG4=XED_REG_BX:w:SUPP REG5=XED_REG_BP:w:SUPP REG6=XED_REG_SI:w:SUPP REG7=XED_REG_DI:w:SUPP COMMENT : eSP value on the stack is ignored! 2008-08-14 } { ICLASS : POPAD CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I386 # EOSZ=2 not64 PATTERN : 0x61 mode16 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw8:SUPP REG1=XED_REG_EAX:w:SUPP REG2=XED_REG_ECX:w:SUPP REG3=XED_REG_EDX:w:SUPP REG4=XED_REG_EBX:w:SUPP REG5=XED_REG_EBP:w:SUPP REG6=XED_REG_ESI:w:SUPP REG7=XED_REG_EDI:w:SUPP PATTERN : 0x61 mode32 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw8:SUPP REG1=XED_REG_EAX:w:SUPP REG2=XED_REG_ECX:w:SUPP REG3=XED_REG_EDX:w:SUPP REG4=XED_REG_EBX:w:SUPP REG5=XED_REG_EBP:w:SUPP REG6=XED_REG_ESI:w:SUPP REG7=XED_REG_EDI:w:SUPP COMMENT : eSP value on the stack is ignored! 2008-08-14 } { ICLASS : BOUND CPL : 3 CATEGORY : INTERRUPT EXTENSION : BASE ATTRIBUTES: EXCEPTION_BR ISA_SET : I186 # EOSZ=1 PATTERN : 0x62 mode16 no66_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():r MEM0:r:a16 PATTERN : 0x62 mode32 66_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():r MEM0:r:a16 # EOSZ=2 PATTERN : 0x62 mode16 66_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():r MEM0:r:a32 PATTERN : 0x62 mode32 no66_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():r MEM0:r:a32 } { ICLASS : ARPL CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x63 MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : MEM0:rw:w REG0=GPR16_R():r } { ICLASS : ARPL CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES: PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x63 MOD[0b11] MOD=3 REG[rrr] RM[nnn] not64 OPERANDS : REG0=GPR16_B():rw REG1=GPR16_R():r } { ICLASS : MOVSXD CPL : 3 CATEGORY : DATAXFER EXTENSION : LONGMODE COMMENT : Prescott reads 32b for the 16b version. My testing indicates Merom, Nehalem and later reference 16b \ for the 16b version. I did not find an accessible Penryn. Oct 2017 (rev64) SDM documents modern behavior. \ 2019 AMD docs say "mem32" and I am told AMD does reference 32b always. PATTERN : 0x63 MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:z } { ICLASS : MOVSXD CPL : 3 CATEGORY : DATAXFER EXTENSION : LONGMODE PATTERN : 0x63 MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 OPERANDS : REG0=GPRv_R():w REG1=GPRz_B():r } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I186 PATTERN : 0x68 DF64() SIMMz() OPERANDS : IMM0:r:z REG0=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : IMUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I186 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0x69 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SIMMz() OPERANDS : REG0=GPRv_R():w MEM0:r:v IMM0:r:z PATTERN : 0x69 MOD[0b11] MOD=3 REG[rrr] RM[nnn] SIMMz() OPERANDS : REG0=GPRv_R():w REG1=GPRv_B():r IMM0:r:z } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I186 PATTERN : 0x6A DF64() SIMM8() OPERANDS : IMM0:r:b:i8 REG0=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : IMUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I186 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0x6B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() SIMM8() OPERANDS : REG0=GPRv_R():w MEM0:r:v IMM0:r:b:i8 PATTERN : 0x6B MOD[0b11] MOD=3 REG[rrr] RM[nnn] SIMM8() OPERANDS : REG0=GPRv_R():w REG1=GPRv_B():r IMM0:r:b:i8 } { ICLASS : REP_INSB DISASM : insb CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES :REP fixed_base0 NOTSX BYTEOP FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6C repe OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6C repne OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : INSB CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : fixed_base0 NOTSX BYTEOP FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6C norep OPERANDS : MEM0:w:SUPP:b BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP } { ICLASS : REP_INSW DISASM : insw CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : REP fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6D mode16 no66_prefix repe OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode32 66_prefix repe OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 norexw_prefix 66_prefix repe OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode16 no66_prefix repne OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode32 66_prefix repne OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 norexw_prefix 66_prefix repne OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : INSW DISASM : insw CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6D mode16 no66_prefix norep OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP PATTERN : 0x6D mode32 66_prefix norep OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP PATTERN : 0x6D mode64 norexw_prefix 66_prefix norep OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP } { ICLASS : REP_INSD DISASM : insd CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES :REP fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6D mode16 66_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode32 no66_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 norexw_prefix no66_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 rexw_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode16 66_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode32 no66_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 norexw_prefix no66_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6D mode64 rexw_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : INSD CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6D mode16 66_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP PATTERN : 0x6D mode32 no66_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP PATTERN : 0x6D mode64 norexw_prefix no66_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP PATTERN : 0x6D mode64 rexw_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_DX:r:SUPP } { ICLASS : REP_OUTSB DISASM : outsb CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES :REP fixed_base0 NOTSX BYTEOP FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6E repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6E repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : OUTSB CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : fixed_base0 NOTSX BYTEOP FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6E norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:b BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REP_OUTSW DISASM : outsw CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES :REP fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6F mode16 no66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode32 66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 norexw_prefix 66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode16 no66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode32 66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 norexw_prefix 66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : OUTSW CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6F mode16 no66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0x6F mode32 66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0x6F mode64 norexw_prefix 66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REP_OUTSD DISASM : outsd CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES :REP fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6F mode16 66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode32 no66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 norexw_prefix no66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 rexw_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode16 66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode32 no66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 norexw_prefix no66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0x6F mode64 rexw_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : OUTSD CPL : 3 CATEGORY : IOSTRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 NOTSX FLAGS : READONLY [ iopl-tst df-tst ] PATTERN : 0x6F mode16 66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0x6F mode32 no66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0x6F mode64 norexw_prefix no66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0x6F mode64 rexw_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_DX:r:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : JO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x70 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x70 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x71 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x71 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x72 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x72 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x73 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x73 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x74 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x74 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x75 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x75 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x76 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x76 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x77 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x77 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x78 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x78 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x79 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x79 not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7A mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7A not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7B mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7B not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7C mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7C not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7D mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7D not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7E mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7E not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x7F mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP PATTERN : 0x7F not64 BRANCH_HINT() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x84 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:b REG0=GPR8_R():r } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x84 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():r REG1=GPR8_R():r } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x85 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0x85 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r } { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE EXTENSION : BASE ISA_SET : I86 PATTERN : 0x86 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():rw PATTERN : 0x86 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():rw } { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP EXTENSION : BASE ISA_SET : I86 PATTERN : 0x86 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():rw } { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE PATTERN : 0x87 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():rw PATTERN : 0x87 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():rw } { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x87 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():rw } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP EXTENSION : BASE ISA_SET : I86 PATTERN : 0x88 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w REG1=GPR8_R():r IFORM : MOV_GPR8_GPR8_88 } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP HLE_REL_ABLE EXTENSION : BASE ISA_SET : I86 PATTERN : 0x88 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b REG0=GPR8_R():r } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : HLE_REL_ABLE PATTERN : 0x89 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:v REG0=GPRv_R():r } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x89 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():w REG1=GPRv_R():r IFORM : MOV_GPRv_GPRv_89 } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR8_R():w MEM0:r:b PATTERN : 0x8A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_R():w REG1=GPR8_B():r IFORM : MOV_GPR8_GPR8_8A } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:v } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w REG1=GPRv_B():r IFORM : MOV_GPRv_GPRv_8B } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8C MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:w REG0=SEG():r } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8C MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():w REG1=SEG():r } { ICLASS : LEA CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : I86 PATTERN : 0x8D MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() REMOVE_SEGMENT() OPERANDS : REG0=GPRv_R():w AGEN:r } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX COMMENT : MOV to SS Inhibits all interrupts until after next instr. Cannot write to CS PATTERN : 0x8E MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=SEG_MOV():w MEM0:r:w IFORM : MOV_SEG_MEMw } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX COMMENT : MOV to SS Inhibits all interrupts until after next instr. Cannot write to CS PATTERN : 0x8E MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=SEG_MOV():w REG1=GPR16_B():r IFORM : MOV_SEG_GPR16 } { ICLASS : NOP UNAME : NOP90 CPL : 3 CATEGORY : NOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : I86 PATTERN : 0b1001_0 SRM[0b000] SRM=0 not_refining_f3 norexb_prefix norexb4_prefix OPERANDS : IFORM : NOP_90 } { ICLASS : PAUSE ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MISC EXTENSION : PAUSE ISA_SET : PAUSE PATTERN : 0b1001_0 SRM[0b000] SRM=0 refining_f3 P4=1 OPERANDS : COMMENT : 2008-06-11 Ignores REX completely. Introduced on PENTIUM4 } { ICLASS : NOP UNAME : NOPF390 CPL : 3 CATEGORY : NOP EXTENSION : BASE ATTRIBUTES: NOP ISA_SET : I86 PATTERN : 0b1001_0 SRM[0b000] SRM=0 refining_f3 P4=0 OPERANDS : IFORM : NOP_90 COMMENT : This is the encoding of PAUSE on pre-P4 systems } { ICLASS : XCHG CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0b1001_0 SRM[rrr] SRM!=0 OPERANDS : REG0=GPRv_SB():rw REG1=OrAX():rw:IMPL # This is strange. REG0 is r8w, r8d or r8 depending on the EOSZ. mode64 PATTERN : 0b1001_0 SRM[rrr] SRM=0 not_refining_f3 rexb_prefix OPERANDS : REG0=GPRv_SB():rw REG1=OrAX():rw:IMPL PATTERN : 0b1001_0 SRM[rrr] SRM=0 not_refining_f3 norexb_prefix rexb4_prefix OPERANDS : REG0=GPRv_SB():rw REG1=OrAX():rw:IMPL } { ICLASS : CBW CPL : 3 CATEGORY : CONVERT EXTENSION : BASE ISA_SET : I86 PATTERN : 0x98 mode16 no66_prefix OPERANDS : REG0=XED_REG_AX:w:SUPP REG1=XED_REG_AL:r:SUPP PATTERN : 0x98 mode32 66_prefix OPERANDS : REG0=XED_REG_AX:w:SUPP REG1=XED_REG_AL:r:SUPP PATTERN : 0x98 mode64 norexw_prefix 66_prefix OPERANDS : REG0=XED_REG_AX:w:SUPP REG1=XED_REG_AL:r:SUPP } { ICLASS : CDQE CPL : 3 CATEGORY : CONVERT EXTENSION : LONGMODE PATTERN : 0x98 mode64 rexw_prefix OPERANDS : REG0=XED_REG_RAX:w:SUPP REG1=XED_REG_EAX:r:SUPP } { ICLASS : CWDE CPL : 3 CATEGORY : CONVERT EXTENSION : BASE ISA_SET : I386 PATTERN : 0x98 mode16 66_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_AX:r:SUPP PATTERN : 0x98 mode32 no66_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_AX:r:SUPP PATTERN : 0x98 mode64 norexw_prefix no66_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_AX:r:SUPP } { ICLASS : CWD CPL : 3 CATEGORY : CONVERT EXTENSION : BASE ISA_SET : I86 PATTERN : 0x99 mode16 no66_prefix OPERANDS : REG0=XED_REG_DX:w:SUPP REG1=XED_REG_AX:r:SUPP PATTERN : 0x99 mode32 66_prefix OPERANDS : REG0=XED_REG_DX:w:SUPP REG1=XED_REG_AX:r:SUPP PATTERN : 0x99 mode64 norexw_prefix 66_prefix OPERANDS : REG0=XED_REG_DX:w:SUPP REG1=XED_REG_AX:r:SUPP } { ICLASS : CQO CPL : 3 CATEGORY : CONVERT EXTENSION : LONGMODE PATTERN : 0x99 mode64 rexw_prefix OPERANDS : REG0=XED_REG_RDX:w:SUPP REG1=XED_REG_RAX:r:SUPP } { ICLASS : CDQ CPL : 3 CATEGORY : CONVERT EXTENSION : BASE ISA_SET : I386 PATTERN : 0x99 mode16 66_prefix OPERANDS : REG0=XED_REG_EDX:w:SUPP REG1=XED_REG_EAX:r:SUPP PATTERN : 0x99 mode32 no66_prefix OPERANDS : REG0=XED_REG_EDX:w:SUPP REG1=XED_REG_EAX:r:SUPP PATTERN : 0x99 mode64 norexw_prefix no66_prefix OPERANDS : REG0=XED_REG_EDX:w:SUPP REG1=XED_REG_EAX:r:SUPP } { ICLASS : CALL_FAR DISASM_INTEL : call far DISASM_ATTSV : lcall CPL : 3 CATEGORY : CALL ATTRIBUTES : FAR_XFER NOTSX INDIRECT_BRANCH EXTENSION : BASE ISA_SET : I86 COMMENT : same privilege level does 2 pushes (spw2). inter-privilege level does 4 (not represented) PATTERN : 0xFF MOD[mm] MOD!=3 REG[0b011] RM[nnn] MODRM() OPERANDS : MEM0:r:p2 REG0=XED_REG_STACKPUSH:rw:spw2:SUPP REG1=rIP():w:SUPP } { ICLASS : CALL_FAR DISASM_INTEL : call far DISASM_ATTSV : lcall CPL : 3 CATEGORY : CALL ATTRIBUTES : FAR_XFER NOTSX EXTENSION : BASE ISA_SET : I86 COMMENT : same privilege level does 2 pushes (spw2). inter-privilege level does 4 (not represented) PATTERN : 0x9A not64 BRDISPz() UIMM16() OPERANDS : PTR:r:p IMM0:r:w REG0=XED_REG_STACKPUSH:rw:spw2:SUPP REG1=XED_REG_EIP:w:SUPP } { ICLASS : FWAIT CPL : 3 CATEGORY : X87_ALU EXTENSION : X87 ATTRIBUTES : X87_CONTROL NOTSX PATTERN : 0x9B OPERANDS : } { ICLASS : PUSHF CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ id-tst vip-tst vif-tst ac-tst vm-tst rf-tst nt-tst iopl-tst iopl-tst of-tst df-tst if-tst tf-tst sf-tst zf-tst af-tst pf-tst cf-tst ] # DF64() EOSZ=1 PATTERN : 0x9C mode16 no66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:w:SUPP PATTERN : 0x9C mode32 66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:w:SUPP PATTERN : 0x9C mode64 norexw_prefix 66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:w:SUPP } { ICLASS : PUSHFD CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ id-tst vip-tst vif-tst ac-tst vm-tst rf-tst nt-tst iopl-tst iopl-tst of-tst df-tst if-tst tf-tst sf-tst zf-tst af-tst pf-tst cf-tst ] # DF64() EOSZ=2 not64 PATTERN : 0x9C mode32 no66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:d:SUPP PATTERN : 0x9C mode16 66_prefix OPERANDS : REG0=XED_REG_STACKPUSH:rw:d:SUPP } { ICLASS : PUSHFQ CPL : 3 CATEGORY : PUSH EXTENSION : LONGMODE FLAGS : MUST [ id-tst vip-tst vif-tst ac-tst vm-tst rf-tst nt-tst iopl-tst iopl-tst of-tst df-tst if-tst tf-tst sf-tst zf-tst af-tst pf-tst cf-tst ] # DF64() EOSZ=3 mode64 PATTERN : 0x9C mode64 norexw_prefix no66_prefix DF64() OPERANDS : REG0=XED_REG_STACKPUSH:rw:q:SUPP PATTERN : 0x9C mode64 rexw_prefix DF64() OPERANDS : REG0=XED_REG_STACKPUSH:rw:q:SUPP } { ICLASS : POPF ATTRIBUTES: NOTSX CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ id-pop vip-tst vif-mod ac-pop vm-tst rf-0 nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] # DF64() EOSZ=1 PATTERN : 0x9D mode16 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:w:SUPP PATTERN : 0x9D mode32 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:w:SUPP PATTERN : 0x9D mode64 norexw_prefix 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:w:SUPP } { ICLASS : POPFD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ id-pop vip-tst vif-mod ac-pop vm-tst rf-0 nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] # DF64() EOSZ=2 not64 PATTERN : 0x9D mode16 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:d:SUPP PATTERN : 0x9D mode32 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:d:SUPP } { ICLASS : POPFQ ATTRIBUTES: NOTSX CPL : 3 CATEGORY : POP EXTENSION : LONGMODE FLAGS : MUST [ id-pop vip-tst vif-mod ac-pop vm-tst rf-0 nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] # DF64() EOSZ=3 mode64 PATTERN : 0x9D mode64 norexw_prefix no66_prefix DF64() OPERANDS : REG0=XED_REG_STACKPOP:rw:q:SUPP PATTERN : 0x9D mode64 rexw_prefix DF64() OPERANDS : REG0=XED_REG_STACKPOP:rw:q:SUPP } { ICLASS : SAHF CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : LAHF FLAGS : MUST [ sf-ah zf-ah af-ah pf-ah cf-ah ] PATTERN : 0x9E OPERANDS : REG0=XED_REG_AH:r:SUPP } { ICLASS : LAHF CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : LAHF FLAGS : MUST [ sf-tst zf-tst af-tst pf-tst cf-tst ] PATTERN : 0x9F OPERANDS : REG0=XED_REG_AH:w:SUPP } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 BYTEOP PATTERN : 0xA0 norex2_prefix MEMDISPv() OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AL:w:IMPL MEM0:r:b SEG0=FINAL_DSEG():r:SUPP BASE0=XED_REG_INVALID:r:ECOND INDEX=XED_REG_INVALID:r:ECOND } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 PATTERN : 0xA1 norex2_prefix MEMDISPv() OVERRIDE_SEG0() OPERANDS : REG0=OrAX():w:IMPL MEM0:r:v SEG0=FINAL_DSEG():r:SUPP BASE0=XED_REG_INVALID:r:ECOND INDEX=XED_REG_INVALID:r:ECOND } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 BYTEOP PATTERN : 0xA2 norex2_prefix MEMDISPv() OVERRIDE_SEG0() OPERANDS : MEM0:w:b REG0=XED_REG_AL:r:IMPL SEG0=FINAL_DSEG():r:SUPP BASE0=XED_REG_INVALID:r:ECOND INDEX=XED_REG_INVALID:r:ECOND } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 PATTERN : 0xA3 norex2_prefix MEMDISPv() OVERRIDE_SEG0() OPERANDS : MEM0:w:v REG0=OrAX():r:IMPL SEG0=FINAL_DSEG():r:SUPP BASE0=XED_REG_INVALID:r:ECOND INDEX=XED_REG_INVALID:r:ECOND } { ICLASS : REP_MOVSB DISASM : movsb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 fixed_base1 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xA4 repe norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:b BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA4 repne norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:b BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : MOVSB CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 fixed_base1 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xA4 norep norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:b BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:b BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP } { ICLASS : REP_MOVSW DISASM : movsw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode16 no66_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode32 66_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode64 norexw_prefix 66_prefix norex2_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode16 no66_prefix repne OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode32 66_prefix repne OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode64 norexw_prefix 66_prefix repne norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : MOVSW CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode16 no66_prefix norep OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:w BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP PATTERN : 0xA5 mode32 66_prefix norep OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:w BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP PATTERN : 0xA5 mode64 norexw_prefix 66_prefix norep norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:w BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP } { ICLASS : REP_MOVSD DISASM : movsd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES :REP fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode16 66_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode32 no66_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode64 norexw_prefix no66_prefix repe norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode16 66_prefix repne OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode32 no66_prefix repne OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode64 norexw_prefix no66_prefix repne norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : MOVSD CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode16 66_prefix norep OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:d BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP PATTERN : 0xA5 mode32 no66_prefix norep OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:d BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP PATTERN : 0xA5 mode64 norexw_prefix no66_prefix norep norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:d BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP } { ICLASS : REP_MOVSQ DISASM : movsq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES :REP fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode64 rexw_prefix norex2_prefix repe OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:q BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA5 mode64 rexw_prefix norex2_prefix repne OVERRIDE_SEG1() OPERANDS : MEM0:cw:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:cr:SUPP:q BASE1=ArSI():rcw:SUPP SEG1=FINAL_DSEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : MOVSQ CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : READONLY [ df-tst ] PATTERN : 0xA5 mode64 rexw_prefix norep norex2_prefix OVERRIDE_SEG1() OPERANDS : MEM0:w:SUPP:q BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP MEM1:r:SUPP:q BASE1=ArSI():rw:SUPP SEG1=FINAL_DSEG1():r:SUPP } { ICLASS : REPE_CMPSB DISASM : cmpsb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 fixed_base1 BYTEOP FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA6 repe norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:b BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : REPNE_CMPSB DISASM : cmpsb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 fixed_base1 BYTEOP FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA6 repne norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:b BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : CMPSB CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 fixed_base1 BYTEOP FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xA6 norep norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:b BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:b BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP } { ICLASS : REPE_CMPSW DISASM : cmpsw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode16 no66_prefix repe OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode32 66_prefix repe OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode64 norexw_prefix 66_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : REPNE_CMPSW DISASM : cmpsw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode16 no66_prefix repne OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode32 66_prefix repne OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode64 norexw_prefix 66_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:w BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : CMPSW CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xA7 mode16 no66_prefix norep OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:w BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP PATTERN : 0xA7 mode32 66_prefix norep OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:w BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP PATTERN : 0xA7 mode64 norexw_prefix 66_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:w BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP } { ICLASS : REPE_CMPSD DISASM : cmpsd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode16 66_prefix repe OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode32 no66_prefix repe OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode64 norexw_prefix no66_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : REPNE_CMPSD DISASM : cmpsd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode16 66_prefix repne OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode32 no66_prefix repne OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP PATTERN : 0xA7 mode64 norexw_prefix no66_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:d BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : CMPSD CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xA7 mode16 66_prefix norep OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:d BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP PATTERN : 0xA7 mode32 no66_prefix norep OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:d BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP PATTERN : 0xA7 mode64 norexw_prefix no66_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:d BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP } { ICLASS : REPE_CMPSQ DISASM : cmpsq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode64 rexw_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:q BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:q BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : REPNE_CMPSQ DISASM : cmpsq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : REP fixed_base0 fixed_base1 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xA7 mode64 rexw_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:cr:SUPP:q BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:cr:SUPP:q BASE1=ArDI():rcw:SUPP SEG1=FINAL_ESEG1():r:SUPP REG0=ArCX():rcw:SUPP } { ICLASS : CMPSQ CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : fixed_base0 fixed_base1 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xA7 mode64 rexw_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:q BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP MEM1:r:SUPP:q BASE1=ArDI():rw:SUPP SEG1=FINAL_ESEG1():r:SUPP } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xA8 norex2_prefix SIMM8() OPERANDS : REG0=XED_REG_AL:r:IMPL IMM0:r:b:i8 } { ICLASS : TEST CPL : 3 CATEGORY : LOGICAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-0 sf-mod zf-mod af-u pf-mod cf-0 ] PATTERN : 0xA9 norex2_prefix SIMMz() OPERANDS : REG0=OrAX():r:IMPL IMM0:r:z } { ICLASS : REP_STOSB DISASM : stosb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xAA repe norex2_prefix OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AL:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAA repne norex2_prefix OPERANDS : MEM0:cw:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AL:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : STOSB CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xAA norep norex2_prefix OPERANDS : MEM0:w:SUPP:b BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AL:r:SUPP } { ICLASS : REP_STOSW DISASM : stosw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode16 no66_prefix repe OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode32 66_prefix repe OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode64 norexw_prefix 66_prefix repe norex2_prefix OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode16 no66_prefix repne OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode32 66_prefix repne OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode64 norexw_prefix 66_prefix repne norex2_prefix OPERANDS : MEM0:cw:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : STOSW CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode16 no66_prefix norep OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP PATTERN : 0xAB mode32 66_prefix norep OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP PATTERN : 0xAB mode64 norexw_prefix 66_prefix norep norex2_prefix OPERANDS : MEM0:w:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_AX:r:SUPP } { ICLASS : REP_STOSD DISASM : stosd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode16 66_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode32 no66_prefix repe OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode64 norexw_prefix no66_prefix repe norex2_prefix OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode16 66_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode32 no66_prefix repne OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode64 norexw_prefix no66_prefix repne norex2_prefix OPERANDS : MEM0:cw:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : STOSD CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode16 66_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP PATTERN : 0xAB mode32 no66_prefix norep OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP PATTERN : 0xAB mode64 norexw_prefix no66_prefix norep norex2_prefix OPERANDS : MEM0:w:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_EAX:r:SUPP } { ICLASS : REP_STOSQ DISASM : stosq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode64 rexw_prefix repe norex2_prefix OPERANDS : MEM0:cw:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_RAX:r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAB mode64 rexw_prefix repne norex2_prefix OPERANDS : MEM0:cw:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_RAX:r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : STOSQ CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAB mode64 rexw_prefix norep norex2_prefix OPERANDS : MEM0:w:SUPP:q BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP REG0=XED_REG_RAX:r:SUPP } { ICLASS : REP_LODSB DISASM : lodsb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xAC repe norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AL:cw:SUPP MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAC repne norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AL:cw:SUPP MEM0:cr:SUPP:b BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : LODSB CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 BYTEOP FLAGS : READONLY [ df-tst ] PATTERN : 0xAC norep norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AL:w:SUPP MEM0:r:SUPP:b BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REP_LODSW DISASM : lodsw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode16 no66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode32 66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode64 norexw_prefix 66_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode16 no66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode32 66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode64 norexw_prefix 66_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:cw:SUPP MEM0:cr:SUPP:w BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : LODSW CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode16 no66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:w:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0xAD mode32 66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:w:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0xAD mode64 norexw_prefix 66_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_AX:w:SUPP MEM0:r:SUPP:w BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REP_LODSD DISASM : lodsd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode16 66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode32 no66_prefix repe OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode64 norexw_prefix no66_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode16 66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode32 no66_prefix repne OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode64 norexw_prefix no66_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:cw:SUPP MEM0:cr:SUPP:d BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : LODSD CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode16 66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:w:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0xAD mode32 no66_prefix norep OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:w:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP PATTERN : 0xAD mode64 norexw_prefix no66_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_EAX:w:SUPP MEM0:r:SUPP:d BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REP_LODSQ DISASM : lodsq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES :REP fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode64 rexw_prefix repe norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_RAX:cw:SUPP MEM0:cr:SUPP:q BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAD mode64 rexw_prefix repne norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_RAX:cw:SUPP MEM0:cr:SUPP:q BASE0=ArSI():rcw:SUPP SEG0=FINAL_DSEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : LODSQ CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : fixed_base0 FLAGS : READONLY [ df-tst ] PATTERN : 0xAD mode64 rexw_prefix norep norex2_prefix OVERRIDE_SEG0() OPERANDS : REG0=XED_REG_RAX:w:SUPP MEM0:r:SUPP:q BASE0=ArSI():rw:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : REPE_SCASB DISASM : scasb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 BYTEOP FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAE repe norex2_prefix OPERANDS : REG0=XED_REG_AL:r:SUPP MEM0:cr:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : REPNE_SCASB DISASM : scasb CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 BYTEOP FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAE repne norex2_prefix OPERANDS : REG0=XED_REG_AL:r:SUPP MEM0:cr:SUPP:b BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : SCASB CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 BYTEOP FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xAE norep norex2_prefix OPERANDS : REG0=XED_REG_AL:r:SUPP MEM0:r:SUPP:b BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP } { ICLASS : REPE_SCASW DISASM : scasw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode16 no66_prefix repe OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode32 66_prefix repe OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode64 norexw_prefix 66_prefix repe norex2_prefix OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : REPNE_SCASW DISASM : scasw CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode16 no66_prefix repne OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode32 66_prefix repne OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode64 norexw_prefix 66_prefix repne norex2_prefix OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:cr:SUPP:w BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : SCASW CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xAF mode16 no66_prefix norep OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:r:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP PATTERN : 0xAF mode32 66_prefix norep OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:r:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP PATTERN : 0xAF mode64 norexw_prefix 66_prefix norep norex2_prefix OPERANDS : REG0=XED_REG_AX:r:SUPP MEM0:r:SUPP:w BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP } { ICLASS : REPE_SCASD DISASM : scasd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode16 66_prefix repe OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode32 no66_prefix repe OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode64 norexw_prefix no66_prefix repe norex2_prefix OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : REPNE_SCASD DISASM : scasd CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode16 66_prefix repne OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode32 no66_prefix repne OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP PATTERN : 0xAF mode64 norexw_prefix no66_prefix repne OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:cr:SUPP:d BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : SCASD CPL : 3 CATEGORY : STRINGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : fixed_base0 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xAF mode16 66_prefix norep OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:r:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP PATTERN : 0xAF mode32 no66_prefix norep OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:r:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP PATTERN : 0xAF mode64 norexw_prefix no66_prefix norep norex2_prefix OPERANDS : REG0=XED_REG_EAX:r:SUPP MEM0:r:SUPP:d BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP } { ICLASS : REPE_SCASQ DISASM : scasq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode64 rexw_prefix repe norex2_prefix OPERANDS : REG0=XED_REG_RAX:r:SUPP MEM0:cr:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : REPNE_SCASQ DISASM : scasq CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : REP fixed_base0 FLAGS : MAY [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod zf-tst ] PATTERN : 0xAF mode64 rexw_prefix repne norex2_prefix OPERANDS : REG0=XED_REG_RAX:r:SUPP MEM0:cr:SUPP:q BASE0=ArDI():rcw:SUPP SEG0=FINAL_ESEG():r:SUPP REG1=ArCX():rcw:SUPP } { ICLASS : SCASQ CPL : 3 CATEGORY : STRINGOP EXTENSION : LONGMODE ATTRIBUTES : fixed_base0 FLAGS : MUST [ of-mod df-tst sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0xAF mode64 rexw_prefix norep norex2_prefix OPERANDS : REG0=XED_REG_RAX:r:SUPP MEM0:r:SUPP:q BASE0=ArDI():rw:SUPP SEG0=FINAL_ESEG():r:SUPP } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER ATTRIBUTES : BYTEOP EXTENSION : BASE ISA_SET : I86 PATTERN : 0b1011_0 SRM[rrr] UIMM8() OPERANDS : REG0=GPR8_SB():w IMM0:r:b # i had to come up with a partial nibble name IFORM : MOV_GPR8_IMMb_B0 } { ICLASS : MOV CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 PATTERN : 0b1011_1 SRM[rrr] UIMMv() OPERANDS : REG0=GPRv_SB():w IMM0:r:v } { ICLASS : RET_NEAR DISASM : ret CPL : 3 CATEGORY : RET EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0xC2 DF64() UIMM16() IMMUNE66_LOOP64() OPERANDS : IMM0:r:w REG0=XED_REG_STACKPOP:rw:spw:SUPP REG1=rIP():w:SUPP } { ICLASS : RET_NEAR DISASM : ret CPL : 3 CATEGORY : RET EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0xC3 DF64() IMMUNE66_LOOP64() OPERANDS : REG0=XED_REG_STACKPOP:rw:spw:SUPP REG1=rIP():w:SUPP } { ICLASS : LES CPL : 3 CATEGORY : SEGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0xC4 MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : REG0=GPRz_R():w MEM0:r:p REG1=XED_REG_ES:w:SUPP } { ICLASS : LDS CPL : 3 CATEGORY : SEGOP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0xC5 MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : REG0=GPRz_R():w MEM0:r:p REG1=XED_REG_DS:w:SUPP } { ICLASS : ENTER CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : ATT_OPERAND_ORDER_EXCEPTION PATTERN : 0xC8 DF64() UIMM16() UIMM8_1() OPERANDS : IMM0:r:w IMM1:r:b REG0=XED_REG_STACKPUSH:rw:spw:SUPP REG1=OrBP():rw:SUPP } { ICLASS : LEAVE CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : I186 ATTRIBUTES : fixed_base0 PATTERN : 0xC9 DF64() # Ignoring STACKPOP semantics for LEAVE because it accesses memory at rBP because of # the initial copy of rBP to rSP as part of the LEAVE's execution. OPERANDS : MEM0:r:SUPP:v BASE0=ArBP():r:SUPP SEG0=FINAL_SSEG0():r:SUPP REG0=OrBP():rw:SUPP REG1=OrSP():rw:SUPP } { ICLASS : RET_FAR DISASM_INTEL: ret far DISASM_ATTSV: lcall CPL : 3 CATEGORY : RET ATTRIBUTES : FAR_XFER NOTSX EXTENSION : BASE ISA_SET : I86 COMMENT : same privilege level does 2 pops (spw2). inter-privilege level does 4 (not represented) PATTERN : 0xCA UIMM16() OPERANDS : IMM0:r:w REG0=XED_REG_STACKPOP:rw:spw2:SUPP REG1=rIP():w:SUPP } { ICLASS : RET_FAR DISASM_INTEL: ret far DISASM_ATTSV: lcall CPL : 3 CATEGORY : RET ATTRIBUTES : FAR_XFER NOTSX EXTENSION : BASE ISA_SET : I86 PATTERN : 0xCB OPERANDS : REG0=XED_REG_STACKPOP:rw:spw2:SUPP REG1=rIP():w:SUPP } { ICLASS : INT3 ATTRIBUTES: NOTSX CPL : 3 CATEGORY : INTERRUPT EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ vif-mod ac-mod vm-tst vm-mod rf-0 nt-mod iopl-tst if-mod tf-0 ] PATTERN : 0xCC OPERANDS : REG0=rIP():w:SUPP } { ICLASS : INT ATTRIBUTES: NOTSX CPL : 3 CATEGORY : INTERRUPT EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ vif-mod ac-mod vm-tst vm-mod rf-0 nt-mod iopl-tst if-mod tf-0 ] PATTERN : 0xCD UIMM8() OPERANDS : IMM0:r:b REG0=rIP():w:SUPP } { ICLASS : INTO ATTRIBUTES: NOTSX CPL : 3 CATEGORY : INTERRUPT EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ ac-mod vm-tst vm-mod rf-0 nt-mod iopl-tst of-tst if-mod tf-mod ] PATTERN : 0xCE not64 OPERANDS : REG0=XED_REG_EIP:w:SUPP } { ICLASS : IRET ATTRIBUTES: NOTSX CPL : 3 CATEGORY : RET EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ id-pop vip-pop vif-pop ac-pop vm-tst vm-pop rf-pop nt-tst nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] PATTERN : 0xCF mode16 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP PATTERN : 0xCF mode32 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP PATTERN : 0xCF mode64 norexw_prefix 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP } { ICLASS : IRETD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : RET EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ id-pop vip-pop vif-pop ac-pop vm-tst vm-pop rf-pop nt-tst nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] PATTERN : 0xCF mode16 66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP PATTERN : 0xCF mode32 no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP PATTERN : 0xCF mode64 norexw_prefix no66_prefix OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=rIP():w:SUPP } { ICLASS : IRETQ ATTRIBUTES: NOTSX CPL : 3 CATEGORY : RET EXTENSION : LONGMODE FLAGS : MUST [ id-pop vip-pop vif-pop ac-pop vm-tst vm-pop rf-pop nt-tst nt-pop iopl-tst iopl-pop of-pop df-pop if-pop tf-pop sf-pop zf-pop af-pop pf-pop cf-pop ] PATTERN : 0xCF mode64 rexw_prefix # FIXME: This is only an approximate width for the stack pops OPERANDS : REG0=XED_REG_STACKPOP:rw:spw5:SUPP REG1=XED_REG_RIP:w:SUPP } { ICLASS : AAM CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-mod zf-mod af-u pf-mod cf-u ] PATTERN : 0xD4 not64 UIMM8() OPERANDS : IMM0:r:b:i8 REG0=XED_REG_AL:rw:SUPP REG1=XED_REG_AH:w:SUPP } { ICLASS : AAD CPL : 3 CATEGORY : DECIMAL EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-u sf-mod zf-mod af-u pf-mod cf-u ] PATTERN : 0xD5 not64 UIMM8() OPERANDS : IMM0:r:b:i8 REG0=XED_REG_AL:rw:SUPP REG1=XED_REG_AH:rw:SUPP } { ICLASS : SALC CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ cf-tst ] PATTERN : 0xD6 not64 OPERANDS : REG0=XED_REG_AL:w:SUPP COMMENT : was undocumented, but added to SDM v3 under "undefined opcodes" in 2017 } { ICLASS : XLAT CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : fixed_base0 PATTERN : 0xD7 OVERRIDE_SEG0() OPERANDS : MEM0:r:SUPP:b BASE0=ArBX():r:SUPP INDEX=XED_REG_AL:r:SUPP REG0=XED_REG_AL:w:SUPP SEG0=FINAL_DSEG():r:SUPP SCALE=1:r:SUPP } { ICLASS : LOOPNE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] PATTERN : 0xE0 MODEP5=1 REP=0 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP PATTERN : 0xE0 MODEP5=1 REP=2 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP PATTERN : 0xE0 MODEP5=0 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP } { ICLASS : LOOPNE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: UNDOCUMENTED FLAGS : READONLY [ zf-tst ] COMMENT : REPNE WITH A E1 (LOOPE) makes a LOOPNE on P5-class machines UNDOC PATTERN : 0xE1 MODEP5=1 REP=2 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP } { ICLASS : LOOPE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] PATTERN : 0xE1 MODEP5=1 REP=0 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP PATTERN : 0xE1 MODEP5=1 REP=3 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP PATTERN : 0xE1 MODEP5=0 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP } { ICLASS : LOOPE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: UNDOCUMENTED FLAGS : READONLY [ zf-tst ] COMMENT : REPE WITH A E0 (LOOPNE) makes a LOOPE on P5-class machines UNDOC PATTERN : 0xE0 MODEP5=1 REP=3 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP } { ICLASS : LOOP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 PATTERN : 0xE2 norex2_prefix DF64() BRDISP8() IMMUNE66_LOOP64() OPERANDS : RELBR:r:b:i8 REG0=ArCX():rw:SUPP REG1=rIP():rw:SUPP } { ICLASS : JCXZ COMMENT : Same opcode as JCXZ/JECXZ/JRCXZ -- asz modulated CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I386 PATTERN : 0xE3 eamode16 BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_CX:r:SUPP REG1=XED_REG_IP:rw:SUPP } { ICLASS : JECXZ COMMENT : Same opcode as JCXZ/JECXZ/JRCXZ -- asz modulated CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I386 PATTERN : 0xE3 eamode32 not64 BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_ECX:r:SUPP REG1=XED_REG_EIP:rw:SUPP PATTERN : 0xE3 eamode32 mode64 norex2_prefix BRDISP8() FORCE64() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_ECX:r:SUPP REG1=XED_REG_RIP:rw:SUPP } { ICLASS : JRCXZ COMMENT : Same opcode as JCXZ/JECXZ/JRCXZ -- asz modulated CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : LONGMODE PATTERN : 0xE3 eamode64 norex2_prefix BRDISP8() FORCE64() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RCX:r:SUPP REG1=XED_REG_RIP:rw:SUPP } { ICLASS : IN CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP NOTSX FLAGS : READONLY [ iopl-tst ] PATTERN : 0xE4 norex2_prefix UIMM8() OPERANDS : REG0=XED_REG_AL:w:IMPL IMM0:r:b } { ICLASS : IN CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX FLAGS : READONLY [ iopl-tst ] PATTERN : 0xE5 norex2_prefix UIMM8() IMMUNE_REXW() OPERANDS : REG0=OeAX():w:IMPL IMM0:r:b } { ICLASS : OUT CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX BYTEOP FLAGS : READONLY [ iopl-tst ] PATTERN : 0xE6 norex2_prefix UIMM8() OPERANDS : IMM0:r:b REG0=XED_REG_AL:r:IMPL } { ICLASS : OUT CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX FLAGS : READONLY [ iopl-tst ] PATTERN : 0xE7 norex2_prefix UIMM8() IMMUNE_REXW() OPERANDS : IMM0:r:b REG0=OeAX():r:IMPL } { ICLASS : JMP CPL : 3 CATEGORY : UNCOND_BR EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0xE9 not64 BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP PATTERN : 0xE9 mode64 norex2_prefix FORCE64() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JMP_FAR DISASM_INTEL: jmp far DISASM_ATTSV: ljmp CPL : 3 CATEGORY : UNCOND_BR ATTRIBUTES : FAR_XFER NOTSX EXTENSION : BASE ISA_SET : I86 PATTERN : 0xEA not64 BRDISPz() UIMM16() OPERANDS : PTR:r:p IMM0:r:w REG0=XED_REG_EIP:w:SUPP } { ICLASS : JMP CPL : 3 CATEGORY : UNCOND_BR EXTENSION : BASE ISA_SET : I86 PATTERN : 0xEB not64 BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_EIP:rw:SUPP PATTERN : 0xEB mode64 norex2_prefix FORCE64() BRDISP8() OPERANDS : RELBR:r:b:i8 REG0=XED_REG_RIP:rw:SUPP } { ICLASS : IN CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : READONLY [ iopl-tst ] PATTERN : 0xEC norex2_prefix OPERANDS : REG0=XED_REG_AL:w:IMPL REG1=XED_REG_DX:r:IMPL } { ICLASS : IN CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ iopl-tst ] PATTERN : 0xED norex2_prefix IMMUNE_REXW() OPERANDS : REG0=OeAX():w:IMPL REG1=XED_REG_DX:r:IMPL } { ICLASS : OUT CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : BYTEOP FLAGS : READONLY [ iopl-tst ] PATTERN : 0xEE norex2_prefix OPERANDS : REG0=XED_REG_DX:r:IMPL REG1=XED_REG_AL:r:IMPL } { ICLASS : OUT CPL : 3 CATEGORY : IO EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ iopl-tst ] PATTERN : 0xEF norex2_prefix IMMUNE_REXW() OPERANDS : REG0=XED_REG_DX:r:IMPL REG1=OeAX():r:IMPL } { ICLASS : INT1 CPL : 3 CATEGORY : INTERRUPT EXTENSION : BASE ISA_SET : I86 PATTERN : 0xF1 OPERANDS : REG0=rIP():w:SUPP } { ICLASS : HLT CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ATTRIBUTES : RING0 NOTSX ISA_SET : I86 PATTERN : 0xF4 OPERANDS : } { ICLASS : CMC CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ cf-tst cf-mod ] PATTERN : 0xF5 OPERANDS : } { ICLASS : CLC CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ cf-0 ] PATTERN : 0xF8 OPERANDS : } { ICLASS : STC CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ cf-1 ] PATTERN : 0xF9 OPERANDS : } { ICLASS : CLI ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ vif-mod iopl-tst if-mod ] PATTERN : 0xFA OPERANDS : } { ICLASS : STI ATTRIBUTES: NOTSX CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 COMMENT : Inhibits all interrupts until after next instr FLAGS : MUST [ vif-mod iopl-tst if-mod ] PATTERN : 0xFB OPERANDS : } { ICLASS : CLD ATTRIBUTES: NOTSX_COND CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ df-0 ] PATTERN : 0xFC OPERANDS : } { ICLASS : STD ATTRIBUTES: NOTSX_COND CPL : 3 CATEGORY : FLAGOP EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ df-1 ] PATTERN : 0xFD OPERANDS : } { ICLASS : LAR CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES : PROTECTED_MODE FLAGS : MUST [ zf-mod ] COMMENT : LAR only sometimes writes its destination register. PATTERN : 0x0F 0x02 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:w PATTERN : 0x0F 0x02 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : LSL CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286PROTECTED ATTRIBUTES : PROTECTED_MODE FLAGS : MUST [ zf-mod ] PATTERN : 0x0F 0x03 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:w PATTERN : 0x0F 0x03 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRz_B():r } { ICLASS : SYSCALL ATTRIBUTES: NOTSX CPL : 3 CATEGORY : SYSCALL EXTENSION : LONGMODE ISA_SET : LONGMODE FLAGS : MUST [ id-mod vip-mod vif-mod ac-mod vm-0 rf-0 nt-mod iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x05 mode64 FORCE64() OPERANDS : REG0=XED_REG_RIP:w:SUPP REG1=XED_REG_RCX:w:SUPP REG2=XED_REG_R11:w:SUPP COMMENT : 32B VERSION IS ONLY SUPPORTED ON AMD } { ICLASS : CLTS CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I286REAL ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x06 OPERANDS : } { ICLASS : SYSRET CPL : 0 CATEGORY : SYSRET ATTRIBUTES: PROTECTED_MODE RING0 NOTSX EXTENSION : LONGMODE ISA_SET : LONGMODE FLAGS : MUST [ id-mod vip-mod vif-mod ac-mod rf-0 nt-mod iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x07 mode64 norexw_prefix OPERANDS : REG0=XED_REG_EIP:w:SUPP REG1=XED_REG_ECX:r:SUPP COMMENT : 32B VERSION IS ONLY SUPPORTED ON AMD } { ICLASS : SYSRET64 DISASM : sysret CPL : 0 CATEGORY : SYSRET ATTRIBUTES: PROTECTED_MODE RING0 NOTSX EXTENSION : LONGMODE ISA_SET : LONGMODE FLAGS : MUST [ id-mod vip-mod vif-mod ac-mod rf-0 nt-mod iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0x07 mode64 rexw_prefix OPERANDS : REG0=XED_REG_RIP:w:SUPP REG1=XED_REG_RCX:r:SUPP REG2=XED_REG_R11:r:SUPP } { ICLASS : MOVUPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4M ATTRIBUTES : PATTERN : 0x0F 0x10 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x10 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps IFORM : MOVUPS_XMMps_XMMps_0F10 PATTERN : 0x0F 0x11 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:ps REG0=XMM_R():r:ps PATTERN : 0x0F 0x11 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_B():w:ps REG1=XMM_R():r:ps IFORM : MOVUPS_XMMps_XMMps_0F11 } { ICLASS : MOVLPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x13 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:q:f32 REG0=XMM_R():r:q:f32 } { ICLASS : UNPCKLPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x14 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:dq PATTERN : 0x0F 0x14 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:q } { ICLASS : UNPCKHPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x15 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:dq PATTERN : 0x0F 0x15 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:dq } { ICLASS : MOVHPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x17 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:q:f32 REG0=XMM_R():r:ps:f32 } { ICLASS : MOVSS CPL : 3 ATTRIBUTES : simd_scalar CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 PATTERN : 0x0F 0x10 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq:f32 MEM0:r:ss PATTERN : 0x0F 0x10 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:ss REG1=XMM_B():r:ss IFORM : MOVSS_XMMss_XMMss_0F10 PATTERN : 0x0F 0x11 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : MEM0:w:ss REG0=XMM_R():r:ss PATTERN : 0x0F 0x11 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_B():w:ss REG1=XMM_R():r:ss IFORM : MOVSS_XMMss_XMMss_0F11 } { ICLASS : MOVSLDUP CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: REQUIRES_ALIGNMENT PATTERN : 0x0F 0x12 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x12 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps } { ICLASS : MOVSHDUP CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: REQUIRES_ALIGNMENT PATTERN : 0x0F 0x16 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x16 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps } { ICLASS : MOVUPD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4M ATTRIBUTES : PATTERN : 0x0F 0x10 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:pd MEM0:r:pd PATTERN : 0x0F 0x10 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:pd REG1=XMM_B():r:pd IFORM : MOVUPD_XMMpd_XMMpd_0F10 PATTERN : 0x0F 0x11 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:pd REG0=XMM_R():r:pd PATTERN : 0x0F 0x11 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_B():w:pd REG1=XMM_R():r:pd IFORM : MOVUPD_XMMpd_XMMpd_0F11 } { ICLASS : MOVLPD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x12 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:q PATTERN : 0x0F 0x13 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:q REG0=XMM_R():r:sd } { ICLASS : UNPCKLPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x14 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:dq PATTERN : 0x0F 0x14 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:q } { ICLASS : UNPCKHPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x15 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:dq PATTERN : 0x0F 0x15 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:q } { ICLASS : MOVHPD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x16 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:q PATTERN : 0x0F 0x17 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:q REG0=XMM_R():r:sd } { ICLASS : MOVSD_XMM DISASM : movsd CPL : 3 ATTRIBUTES : simd_scalar CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 PATTERN : 0x0F 0x10 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq:f64 MEM0:r:sd PATTERN : 0x0F 0x10 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:sd REG1=XMM_B():r:sd IFORM : MOVSD_XMM_XMMsd_XMMsd_0F10 PATTERN : 0x0F 0x11 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : MEM0:w:sd REG0=XMM_R():r:sd PATTERN : 0x0F 0x11 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_B():w:sd REG1=XMM_R():r:sd IFORM : MOVSD_XMM_XMMsd_XMMsd_0F11 } { ICLASS : MOVDDUP CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x12 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:q PATTERN : 0x0F 0x12 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:q } { ICLASS : MOV_CR DISASM : mov CPL : 0 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : RING0 NOTSX COMMENT : MODRM.MOD=00/01/10 aliased to MODRM.MOD=11 PATTERN : 0x0F 0x22 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() not64 OPERANDS : REG0=CR_R():w REG1=GPR32_B():r PATTERN : 0x0F 0x22 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() mode64 OPERANDS : REG0=CR_R():w REG1=GPR64_B():r } { ICLASS : MOV_CR DISASM : mov CPL : 0 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : RING0 COMMENT : MODRM.MOD=00/01/10 aliased to MODRM.MOD=11 PATTERN : 0x0F 0x20 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() not64 OPERANDS : REG0=GPR32_B():w REG1=CR_R():r PATTERN : 0x0F 0x20 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() mode64 OPERANDS : REG0=GPR64_B():w REG1=CR_R():r } { ICLASS : MOV_DR DISASM : mov CPL : 0 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : RING0 NOTSX COMMENT : MODRM.MOD=00/01/10 aliased to MODRM.MOD=11 PATTERN : 0x0F 0x23 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() not64 OPERANDS : REG0=DR_R():w REG1=GPR32_B():r PATTERN : 0x0F 0x23 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() mode64 OPERANDS : REG0=DR_R():w REG1=GPR64_B():r } { ICLASS : MOV_DR DISASM : mov CPL : 0 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I86 ATTRIBUTES : RING0 COMMENT : MODRM.MOD=00/01/10 aliased to MODRM.MOD=11 PATTERN : 0x0F 0x21 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() not64 OPERANDS : REG0=GPR32_B():w REG1=DR_R():r PATTERN : 0x0F 0x21 MOD[mm] REG[rrr] RM[nnn] CR_WIDTH() mode64 OPERANDS : REG0=GPR64_B():w REG1=DR_R():r } { ICLASS : WRMSR CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : PENTIUMREAL ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x30 norex2_prefix OPERANDS : REG0=XED_REG_EAX:r:SUPP REG1=XED_REG_EDX:r:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_MSRS:w:SUPP } { ICLASS : RDTSC CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : PENTIUMREAL PATTERN : 0x0F 0x31 norex2_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_EDX:w:SUPP REG2=XED_REG_TSC:r:SUPP } { ICLASS : RDMSR CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : PENTIUMREAL ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x32 norex2_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_EDX:w:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_MSRS:r:SUPP } { ICLASS : RDPMC CPL : 3 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : RDPMC PATTERN : 0x0F 0x33 norex2_prefix OPERANDS : REG0=XED_REG_EAX:w:SUPP REG1=XED_REG_EDX:w:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_MSRS:r:SUPP } { ICLASS : SYSENTER CPL : 3 CATEGORY : SYSCALL EXTENSION : BASE ISA_SET : PPRO ATTRIBUTES: PROTECTED_MODE NOTSX FLAGS : MUST [ vm-0 rf-0 if-0 ] PATTERN : 0x0F 0x34 not64 OPERANDS : REG0=XED_REG_EIP:w:SUPP REG1=XED_REG_ESP:w:SUPP PATTERN : 0x0F 0x34 mode64 norex2_prefix OPERANDS : REG0=XED_REG_RIP:w:SUPP REG1=XED_REG_RSP:w:SUPP COMMENT : AMD does not document support for this in 64b mode } { ICLASS : SYSEXIT CPL : 0 CATEGORY : SYSRET EXTENSION : BASE ISA_SET : PPRO ATTRIBUTES: PROTECTED_MODE RING0 NOTSX PATTERN : 0x0F 0x35 not64 OPERANDS : REG0=XED_REG_EIP:w:SUPP REG1=XED_REG_ESP:w:SUPP REG2=XED_REG_ECX:r:SUPP REG3=XED_REG_EDX:r:SUPP PATTERN : 0x0F 0x35 mode64 norex2_prefix OPERANDS : REG0=XED_REG_RIP:w:SUPP REG1=XED_REG_RSP:w:SUPP REG2=XED_REG_RCX:r:SUPP REG3=XED_REG_RDX:r:SUPP COMMENT : AMD does not document support for this in 64b mode } { ICLASS : CMOVO CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ of-tst ] PATTERN : 0x0F 0x40 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x40 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNO CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ of-tst ] PATTERN : 0x0F 0x41 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x41 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVB CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ cf-tst ] PATTERN : 0x0F 0x42 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x42 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNB CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ cf-tst ] PATTERN : 0x0F 0x43 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x43 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVZ CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ zf-tst ] PATTERN : 0x0F 0x44 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x44 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNZ CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ zf-tst ] PATTERN : 0x0F 0x45 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x45 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVBE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ cf-tst zf-tst ] PATTERN : 0x0F 0x46 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x46 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNBE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ cf-tst zf-tst ] PATTERN : 0x0F 0x47 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0x47 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : MOVMSKPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x50 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR32_R():w REG1=XMM_B():r:ps } { ICLASS : SQRTPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x51 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x51 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps } { ICLASS : RSQRTPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x52 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x52 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps } { ICLASS : RCPPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x53 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x53 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps } { ICLASS : ANDPS CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x54 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:xud MEM0:r:xud PATTERN : 0x0F 0x54 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:xud REG1=XMM_B():r:xud } { ICLASS : ANDNPS CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x55 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:xud MEM0:r:xud PATTERN : 0x0F 0x55 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:xud REG1=XMM_B():r:xud } { ICLASS : ORPS CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x56 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:xud MEM0:r:xud PATTERN : 0x0F 0x56 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:xud REG1=XMM_B():r:xud } { ICLASS : XORPS CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x57 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:xud MEM0:r:xud PATTERN : 0x0F 0x57 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:xud REG1=XMM_B():r:xud } { ICLASS : SQRTSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x51 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x51 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : RSQRTSS CPL : 3 ATTRIBUTES : simd_scalar CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 PATTERN : 0x0F 0x52 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x52 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : RCPSS CPL : 3 ATTRIBUTES : simd_scalar CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_5 PATTERN : 0x0F 0x53 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x53 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : MOVMSKPD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0x50 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=GPR32_R():w REG1=XMM_B():r:pd } { ICLASS : SQRTPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x51 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:pd MEM0:r:pd PATTERN : 0x0F 0x51 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:pd REG1=XMM_B():r:pd } { ICLASS : ANDPD CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x54 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:xuq MEM0:r:xuq PATTERN : 0x0F 0x54 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:xuq REG1=XMM_B():r:xuq } { ICLASS : ANDNPD CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x55 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:xuq MEM0:r:xuq PATTERN : 0x0F 0x55 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:xuq REG1=XMM_B():r:xuq } { ICLASS : ORPD CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x56 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:xuq MEM0:r:xuq PATTERN : 0x0F 0x56 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:xuq REG1=XMM_B():r:xuq } { ICLASS : XORPD CPL : 3 CATEGORY : LOGICAL_FP EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x57 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:xuq MEM0:r:xuq PATTERN : 0x0F 0x57 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:xuq REG1=XMM_B():r:xuq } { ICLASS : SQRTSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x51 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x51 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : PUNPCKLBW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x60 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u8 MEM0:r:d:u8 PATTERN : 0x0F 0x60 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u8 REG1=MMX_B():r:d:u8 } { ICLASS : PUNPCKLWD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x61 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u16 MEM0:r:d:u16 PATTERN : 0x0F 0x61 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u16 REG1=MMX_B():r:d:u16 } { ICLASS : PUNPCKLDQ ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x62 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u32 MEM0:r:d:u32 PATTERN : 0x0F 0x62 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u32 REG1=MMX_B():r:d:u32 } { ICLASS : PACKSSWB EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x63 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 } { ICLASS : PACKSSWB CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x63 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PCMPGTB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x64 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i8 MEM0:r:q:i8 } { ICLASS : PCMPGTB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x64 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i8 REG1=MMX_B():r:q:i8 } { ICLASS : PCMPGTW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x65 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 } { ICLASS : PCMPGTW ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x65 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PCMPGTD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x66 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i32 MEM0:r:q:i32 } { ICLASS : PCMPGTD ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x66 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i32 REG1=MMX_B():r:q:i32 } { ICLASS : PACKUSWB EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x67 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 } { ICLASS : PACKUSWB CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x67 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PUNPCKLBW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x60 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x60 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PUNPCKLWD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x61 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x61 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PUNPCKLDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x62 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x62 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PACKSSWB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT HALF_WIDE_OUTPUT PATTERN : 0x0F 0x63 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0x63 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PCMPGTB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x64 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i8 MEM0:r:dq:i8 PATTERN : 0x0F 0x64 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i8 REG1=XMM_B():r:dq:i8 } { ICLASS : PCMPGTW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x65 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0x65 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PCMPGTD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x66 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i32 MEM0:r:dq:i32 PATTERN : 0x0F 0x66 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i32 REG1=XMM_B():r:dq:i32 } { ICLASS : PACKUSWB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT HALF_WIDE_OUTPUT PATTERN : 0x0F 0x67 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0x67 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PSHUFW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x70 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=MMX_R():w:q:u16 MEM0:r:q:u16 IMM0:r:b PATTERN : 0x0F 0x70 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=MMX_R():w:q:u16 REG1=MMX_B():r:q:u16 IMM0:r:b } { ICLASS : PCMPEQB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x74 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i8 MEM0:r:q:i8 PATTERN : 0x0F 0x74 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i8 REG1=MMX_B():r:q:i8 } { ICLASS : PCMPEQW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x75 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 PATTERN : 0x0F 0x75 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PCMPEQD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x76 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i32 MEM0:r:q:i32 PATTERN : 0x0F 0x76 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i32 REG1=MMX_B():r:q:i32 } { ICLASS : EMMS CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : x87_mmx_state_w NOTSX PATTERN : 0x0F 0x77 no_refining_prefix OPERANDS : } { ICLASS : PSHUFD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x70 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u32 MEM0:r:dq:u32 IMM0:r:b PATTERN : 0x0F 0x70 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u32 REG1=XMM_B():r:dq:u32 IMM0:r:b } { ICLASS : PCMPEQB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x74 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i8 MEM0:r:dq:i8 PATTERN : 0x0F 0x74 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i8 REG1=XMM_B():r:dq:i8 } { ICLASS : PCMPEQW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x75 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0x75 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PCMPEQD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x76 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i32 MEM0:r:dq:i32 PATTERN : 0x0F 0x76 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i32 REG1=XMM_B():r:dq:i32 } { ICLASS : PSHUFLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x70 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u16 MEM0:r:dq:u16 IMM0:r:b PATTERN : 0x0F 0x70 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u16 REG1=XMM_B():r:dq:u16 IMM0:r:b } { ICLASS : PSHUFHW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x70 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u16 MEM0:r:dq:u16 IMM0:r:b PATTERN : 0x0F 0x70 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() UIMM8() OPERANDS : REG0=XMM_R():w:dq:u16 REG1=XMM_B():r:dq:u16 IMM0:r:b } { ICLASS : JO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x80 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x80 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x81 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNO CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x81 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x82 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x82 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x83 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNB CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x83 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x84 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x84 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x85 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNZ CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x85 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x86 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x86 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x87 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNBE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ cf-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x87 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : SETO CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ of-tst ] PATTERN : 0x0F 0x90 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x90 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNO CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ of-tst ] PATTERN : 0x0F 0x91 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x91 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETB CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ cf-tst ] PATTERN : 0x0F 0x92 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x92 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNB CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ cf-tst ] PATTERN : 0x0F 0x93 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x93 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETZ CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ zf-tst ] PATTERN : 0x0F 0x94 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x94 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNZ CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ zf-tst ] PATTERN : 0x0F 0x95 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x95 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETBE CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ cf-tst zf-tst ] PATTERN : 0x0F 0x96 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x96 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNBE CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ cf-tst zf-tst ] PATTERN : 0x0F 0x97 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x97 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x0F 0xA0 DF64() OPERANDS : REG0=XED_REG_FS:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0x0F 0xA1 DF64() OPERANDS : REG0=XED_REG_FS:w:IMPL REG1=XED_REG_STACKPOP:rw:spw:SUPP } { ICLASS : CPUID ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : I486REAL PATTERN : 0x0F 0xA2 OPERANDS : REG0=XED_REG_EAX:rw:SUPP REG1=XED_REG_EBX:w:SUPP REG2=XED_REG_ECX:crw:SUPP REG3=XED_REG_EDX:w:SUPP } { ICLASS : BT CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xA3 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:r:v REG0=GPRv_R():r PATTERN : 0x0F 0xA3 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():r REG1=GPRv_R():r } { ICLASS : CMPXCHG_LOCK DISASM : cmpxchg CPL : 3 CATEGORY : SEMAPHORE ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE EXTENSION : BASE ISA_SET : I486REAL FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rcw:b REG0=GPR8_R():r REG1=XED_REG_AL:rcw:SUPP } { ICLASS : CMPXCHG CPL : 3 CATEGORY : SEMAPHORE ATTRIBUTES : BYTEOP LOCKABLE EXTENSION : BASE ISA_SET : I486REAL FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rcw:b REG0=GPR8_R():r REG1=XED_REG_AL:rcw:SUPP } { ICLASS : CMPXCHG CPL : 3 CATEGORY : SEMAPHORE ATTRIBUTES : BYTEOP EXTENSION : BASE ISA_SET : I486REAL FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rcw REG1=GPR8_R():r REG2=XED_REG_AL:rcw:SUPP } { ICLASS : CMPXCHG_LOCK DISASM : cmpxchg CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rcw:v REG0=GPRv_R():r REG1=OrAX():rcw:SUPP } { ICLASS : CMPXCHG CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rcw:v REG0=GPRv_R():r REG1=OrAX():rcw:SUPP } { ICLASS : CMPXCHG CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xB1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rcw REG1=GPRv_R():r REG2=OrAX():rcw:SUPP } { ICLASS : LSS CPL : 3 CATEGORY : SEGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES: NOTSX PATTERN : 0x0F 0xB2 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:p2 REG1=XED_REG_SS:w:SUPP } { ICLASS : BTR_LOCK DISASM : btr CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xB3 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTR CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xB3 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTR CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xB3 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r } { ICLASS : LFS CPL : 3 CATEGORY : SEGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES: NOTSX PATTERN : 0x0F 0xB4 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:p2 REG1=XED_REG_FS:w:SUPP } { ICLASS : LGS CPL : 3 CATEGORY : SEGOP EXTENSION : BASE ISA_SET : I386 ATTRIBUTES: NOTSX PATTERN : 0x0F 0xB5 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:p2 REG1=XED_REG_GS:w:SUPP } { ICLASS : MOVZX CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I386 PATTERN : 0x0F 0xB6 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:b PATTERN : 0x0F 0xB6 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w REG1=GPR8_B():r PATTERN : 0x0F 0xB7 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:w PATTERN : 0x0F 0xB7 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w REG1=GPR16_B():r } { ICLASS : XADD_LOCK DISASM : xadd CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : BYTEOP LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():rw } { ICLASS : XADD CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : BYTEOP LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:b REG0=GPR8_R():rw } { ICLASS : XADD CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : BYTEOP FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():rw REG1=GPR8_R():rw } { ICLASS : XADD_LOCK DISASM : xadd CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():rw } { ICLASS : XADD CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC1 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():rw } { ICLASS : XADD CPL : 3 CATEGORY : SEMAPHORE EXTENSION : BASE ISA_SET : I486REAL FLAGS : MUST [ of-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xC1 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():rw } { ICLASS : CMPPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xC2 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps IMM0:r:b PATTERN : 0x0F 0xC2 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps IMM0:r:b } { ICLASS : MOVNTI CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 ATTRIBUTES : IGNORES_OSFXSR NOTSX NONTEMPORAL PATTERN : 0x0F 0xC3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : MEM0:w:d REG0=GPR32_R():r PATTERN : 0x0F 0xC3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 norexw_prefix MODRM() OPERANDS : MEM0:w:d REG0=GPR32_R():r PATTERN : 0x0F 0xC3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:w:q REG0=GPR64_R():r } { ICLASS : PINSRW EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : NOTSX PATTERN : 0x0F 0xC4 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=MMX_R():rw:q:u16 MEM0:r:w:u16 IMM0:r:b PATTERN : 0x0F 0xC4 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=MMX_R():rw:q:u16 REG1=GPR32_B():r IMM0:r:b } { ICLASS : PEXTRW EXCEPTIONS: mmx-nomem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xC5 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR32_R():w REG1=MMX_B():r:q:u16 IMM0:r:b } { ICLASS : SHUFPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xC6 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps IMM0:r:b PATTERN : 0x0F 0xC6 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps IMM0:r:b } { ICLASS : CMPSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0xC2 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss IMM0:r:b PATTERN : 0x0F 0xC2 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() UIMM8() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss IMM0:r:b } { ICLASS : CMPPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xC2 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd IMM0:r:b PATTERN : 0x0F 0xC2 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd IMM0:r:b } { ICLASS : PINSRW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0xC4 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:w IMM0:r:b PATTERN : 0x0F 0xC4 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=GPR32_B():r IMM0:r:b } { ICLASS : PEXTRW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 PATTERN : 0x0F 0xC5 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=GPR32_R():w REG1=XMM_B():r:dq IMM0:r:b } { ICLASS : SHUFPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xC6 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd IMM0:r:b PATTERN : 0x0F 0xC6 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd IMM0:r:b } { ICLASS : CMPSD_XMM DISASM : cmpsd CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0xC2 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd IMM0:r:b PATTERN : 0x0F 0xC2 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() UIMM8() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd IMM0:r:b } { ICLASS : PSRLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD1 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u16 MEM0:r:q } { ICLASS : PSRLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD1 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u16 REG1=MMX_B():r:q } { ICLASS : PSRLD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD2 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u32 MEM0:r:q } { ICLASS : PSRLD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD2 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u32 REG1=MMX_B():r:q } { ICLASS : PSRLQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u64 MEM0:r:q } { ICLASS : PSRLQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD3 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u64 REG1=MMX_B():r:q } { ICLASS : PADDQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSE2 ISA_SET : SSE2MMX PATTERN : 0x0F 0xD4 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u64 MEM0:r:q:u64 PATTERN : 0x0F 0xD4 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u64 REG1=MMX_B():r:q:u64 } { ICLASS : PMULLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD5 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 PATTERN : 0x0F 0xD5 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PMOVMSKB EXCEPTIONS: mmx-nomem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : SSE COMMENT : KNI on PentiumIII. MMX instructions intro'd w/SSE PATTERN : 0x0F 0xD7 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR32_R():w REG1=MMX_B():r:q:i8 } { ICLASS : ADDSUBPD CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xD0 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0xD0 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : PSRLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD1 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : PSRLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD1 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSRLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD2 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : PSRLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD2 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSRLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD3 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : PSRLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD3 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD4 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xD4 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMULLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD5 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xD5 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMOVMSKB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 PATTERN : 0x0F 0xD7 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=GPR32_R():w REG1=XMM_B():r:dq:i8 } { ICLASS : MOVQ2DQ CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 ATTRIBUTES : MMX_EXCEPT NOTSX PATTERN : 0x0F 0xD6 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq:u64 REG1=MMX_B():r:q:u64 } { ICLASS : ADDSUBPS CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xD0 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0xD0 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : MOVDQ2Q CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 ATTRIBUTES : MMX_EXCEPT NOTSX PATTERN : 0x0F 0xD6 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=MMX_R():w:q:u64 REG1=XMM_B():r:q:u64 } { ICLASS : PAVGB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE0 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PAVGB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE0 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i8 REG1=MMX_B():r:q:i8 } { ICLASS : PSRAW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE1 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q } { ICLASS : PSRAW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE1 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q } { ICLASS : PSRAD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE2 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i32 MEM0:r:q } { ICLASS : PSRAD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE2 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i32 REG1=MMX_B():r:q } { ICLASS : PAVGW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 } { ICLASS : PAVGW ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE3 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PMULHUW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE4 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u16 MEM0:r:q:u16 } { ICLASS : PMULHUW ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE4 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u16 REG1=MMX_B():r:q:u16 } { ICLASS : PMULHW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE5 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 } { ICLASS : PMULHW ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE5 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : MOVNTQ EXCEPTIONS: mmx-nofp2 ATTRIBUTES: NOTSX NONTEMPORAL CPL : 3 CATEGORY : DATAXFER EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE7 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:q REG0=MMX_R():r:q } { ICLASS : PAVGB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE0 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:u8 MEM0:r:dq:u8 PATTERN : 0x0F 0xE0 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:u8 REG1=XMM_B():r:dq:u8 } { ICLASS : PSRAW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE1 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:u64 } { ICLASS : PSRAW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE1 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:u64 } { ICLASS : PSRAD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE2 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i32 MEM0:r:dq:u64 } { ICLASS : PSRAD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE2 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i32 REG1=XMM_B():r:dq:u64 } { ICLASS : PAVGW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE3 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:u16 MEM0:r:dq:u16 PATTERN : 0x0F 0xE3 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:u16 REG1=XMM_B():r:dq:u16 } { ICLASS : PMULHUW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE4 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:u16 MEM0:r:dq:u16 PATTERN : 0x0F 0xE4 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:u16 REG1=XMM_B():r:dq:u16 } { ICLASS : PMULHW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE5 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0xE5 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : CVTTPD2DQ CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xE6 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:pd:f64 PATTERN : 0x0F 0xE6 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:pd:f64 } { ICLASS : MOVNTDQ ATTRIBUTES: REQUIRES_ALIGNMENT NOTSX NONTEMPORAL CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_1 PATTERN : 0x0F 0xE7 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:dq REG0=XMM_R():r:dq } { ICLASS : CVTDQ2PD CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 COMMENT : ignores MXCSR. 32b int fits in f64 PATTERN : 0x0F 0xE6 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:pd:f64 MEM0:r:q:i32 PATTERN : 0x0F 0xE6 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:pd:f64 REG1=XMM_B():r:q:i32 } { ICLASS : CVTPD2DQ CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0xE6 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:pd:f64 PATTERN : 0x0F 0xE6 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:pd:f64 } { ICLASS : PSLLW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF1 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u16 MEM0:r:q PATTERN : 0x0F 0xF1 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u16 REG1=MMX_B():r:q } { ICLASS : PSLLD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF2 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u32 MEM0:r:q PATTERN : 0x0F 0xF2 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u32 REG1=MMX_B():r:q } { ICLASS : PSLLQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF3 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u64 MEM0:r:q PATTERN : 0x0F 0xF3 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u64 REG1=MMX_B():r:q } { ICLASS : PMULUDQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSE2 ISA_SET : SSE2MMX PATTERN : 0x0F 0xF4 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:u32 MEM0:r:q:u32 PATTERN : 0x0F 0xF4 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:u32 REG1=MMX_B():r:q:u32 } { ICLASS : PMADDWD EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : DOUBLE_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0xF5 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i16 MEM0:r:q:i16 PATTERN : 0x0F 0xF5 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i16 REG1=MMX_B():r:q:i16 } { ICLASS : PSADBW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF6 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xF6 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : MASKMOVQ EXCEPTIONS: mmx-nofp2 CPL : 3 CATEGORY : DATAXFER EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : fixed_base0 maskop NOTSX NONTEMPORAL PATTERN : 0x0F 0xF7 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OVERRIDE_SEG0() OPERANDS : REG0=MMX_R():r:q:u8 REG1=MMX_B():r:q:i8 MEM0:w:q:SUPP BASE0=ArDI():r:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : PSLLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF1 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:u16 MEM0:r:dq } { ICLASS : PSLLW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF1 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:u16 REG1=XMM_B():r:dq } { ICLASS : PSLLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF2 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : PSLLD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF2 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSLLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF3 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:u64 MEM0:r:dq:u64 } { ICLASS : PSLLQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_7 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF3 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:u64 REG1=XMM_B():r:dq:u64 } { ICLASS : PMULUDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF4 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xF4 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMADDWD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF5 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0xF5 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PSADBW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF6 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xF6 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : MASKMOVDQU CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : fixed_base0 maskop NOTSX NONTEMPORAL PATTERN : 0x0F 0xF7 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OVERRIDE_SEG0() OPERANDS : REG0=XMM_R():r:xub REG1=XMM_B():r:xub MEM0:w:SUPP:xub BASE0=ArDI():r:SUPP SEG0=FINAL_DSEG():r:SUPP } { ICLASS : LDDQU CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : PATTERN : 0x0F 0xF0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() f2_refining_prefix OPERANDS : REG0=XMM_R():w:pd MEM0:r:dq } { ICLASS : INVD CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x08 OPERANDS : } { ICLASS : WBINVD CPL : 0 CATEGORY : SYSTEM EXTENSION : BASE ISA_SET : I486REAL ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x09 OPERANDS : } { ICLASS : UD0 CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : PPRO_UD0_SHORT ATTRIBUTES: NOTSX COMMENT : Older processors (before NHM) did not take a MODRM byte sequence. Atom too. PATTERN : 0x0F 0xFF MODE_SHORT_UD0=1 OPERANDS : } { ICLASS : UD0 CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : PPRO_UD0_LONG ATTRIBUTES: NOTSX PATTERN : 0x0F 0xFF MODE_SHORT_UD0=0 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR32_R():r MEM0:r:d PATTERN : 0x0F 0xFF MODE_SHORT_UD0=0 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR32_R():r REG1=GPR32_B():r } { ICLASS : UD1 CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : PPRO ATTRIBUTES: NOTSX PATTERN : 0x0F 0xB9 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPR32_R():r MEM0:r:d PATTERN : 0x0F 0xB9 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR32_R():r REG1=GPR32_B():r } { ICLASS : UD2 CPL : 3 CATEGORY : MISC EXTENSION : BASE ISA_SET : PPRO ATTRIBUTES: NOTSX PATTERN : 0x0F 0x0B OPERANDS : } { ICLASS : MOVAPS CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_1 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x28 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps PATTERN : 0x0F 0x28 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps IFORM : MOVAPS_XMMps_XMMps_0F28 PATTERN : 0x0F 0x29 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:ps REG0=XMM_R():r:ps PATTERN : 0x0F 0x29 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_B():w:ps REG1=XMM_R():r:ps IFORM : MOVAPS_XMMps_XMMps_0F29 } { ICLASS : CVTPI2PS EXCEPTIONS: mmx-fp CPL : 3 CATEGORY : CONVERT EXTENSION : SSE ATTRIBUTES : MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2A no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:q:f32 MEM0:r:q:i32 PATTERN : 0x0F 0x2A no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:q:f32 REG1=MMX_B():r:q:i32 } { ICLASS : MOVNTPS ATTRIBUTES: NOTSX REQUIRES_ALIGNMENT NONTEMPORAL CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE EXCEPTIONS: SSE_TYPE_1 PATTERN : 0x0F 0x2B no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:dq REG0=XMM_R():r:ps } { ICLASS : CVTTPS2PI EXCEPTIONS: mmx-fp CPL : 3 CATEGORY : CONVERT EXTENSION : SSE ATTRIBUTES : MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2C no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q:i32 MEM0:r:q:f32 PATTERN : 0x0F 0x2C no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q:i32 REG1=XMM_B():r:q:f32 } { ICLASS : CVTPS2PI EXCEPTIONS: mmx-fp CPL : 3 CATEGORY : CONVERT EXTENSION : SSE ATTRIBUTES : MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2D no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q:i32 MEM0:r:q:f32 PATTERN : 0x0F 0x2D no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q:i32 REG1=XMM_B():r:q:f32 } { ICLASS : UCOMISS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 FLAGS : MUST [ of-0 sf-0 zf-mod af-0 pf-mod cf-mod ] PATTERN : 0x0F 0x2E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():r:ss MEM0:r:ss PATTERN : 0x0F 0x2E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():r:ss REG1=XMM_B():r:ss } { ICLASS : COMISS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 FLAGS : MUST [ of-0 sf-0 zf-mod af-0 pf-mod cf-mod ] PATTERN : 0x0F 0x2F no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():r:ss MEM0:r:ss PATTERN : 0x0F 0x2F no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():r:ss REG1=XMM_B():r:ss } { ICLASS : CVTSI2SS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2A f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=XMM_R():rw:ss:f32 MEM0:r:d:i32 PATTERN : 0x0F 0x2A f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=XMM_R():rw:ss:f32 REG1=GPR32_B():r:d:i32 PATTERN : 0x0F 0x2A f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=XMM_R():rw:ss:f32 MEM0:r:q:i32 PATTERN : 0x0F 0x2A f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=XMM_R():rw:ss:f32 REG1=GPR64_B():r:q:i32 } { ICLASS : CVTTSS2SI CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2C f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=GPR32_R():w:d:i32 MEM0:r:ss:f32 PATTERN : 0x0F 0x2C f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=GPR32_R():w:d:i32 REG1=XMM_B():r:ss:f32 PATTERN : 0x0F 0x2C f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=GPR64_R():w:q:i64 MEM0:r:ss:f32 PATTERN : 0x0F 0x2C f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=GPR64_R():w:q:i64 REG1=XMM_B():r:ss:f32 } { ICLASS : CVTSS2SI CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2D f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=GPR32_R():w:d:i32 MEM0:r:ss:f32 PATTERN : 0x0F 0x2D f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=GPR32_R():w:d:i32 REG1=XMM_B():r:ss:f32 PATTERN : 0x0F 0x2D f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=GPR64_R():w:q:i64 MEM0:r:ss:f32 PATTERN : 0x0F 0x2D f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=GPR64_R():w:q:i64 REG1=XMM_B():r:ss:f32 } { ICLASS : MOVAPD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_1 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x28 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:pd MEM0:r:pd PATTERN : 0x0F 0x28 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:pd REG1=XMM_B():r:pd IFORM : MOVAPD_XMMpd_XMMpd_0F28 PATTERN : 0x0F 0x29 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:pd REG0=XMM_R():r:pd PATTERN : 0x0F 0x29 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_B():w:pd REG1=XMM_R():r:pd IFORM : MOVAPD_XMMpd_XMMpd_0F29 } { ICLASS : CVTPI2PD EXCEPTIONS: mmx-nofp CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 ATTRIBUTES: MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2A osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:pd:f64 MEM0:r:q:i32 PATTERN : 0x0F 0x2A osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:pd:f64 REG1=MMX_B():r:q:i32 } { ICLASS : MOVNTPD ATTRIBUTES: NOTSX REQUIRES_ALIGNMENT NONTEMPORAL CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_1 PATTERN : 0x0F 0x2B osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:dq REG0=XMM_R():r:pd } { ICLASS : CVTTPD2PI EXCEPTIONS: mmx-fp-16align CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2C osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=MMX_R():w:q:i32 MEM0:r:pd:f64 PATTERN : 0x0F 0x2C osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=MMX_R():w:q:i32 REG1=XMM_B():r:pd:f64 } { ICLASS : CVTPD2PI EXCEPTIONS: mmx-fp-16align CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR MMX_EXCEPT NOTSX PATTERN : 0x0F 0x2D osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=MMX_R():w:q:i32 MEM0:r:pd:f64 PATTERN : 0x0F 0x2D osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=MMX_R():w:q:i32 REG1=XMM_B():r:pd:f64 } { ICLASS : UCOMISD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 FLAGS : MUST [ of-0 sf-0 zf-mod af-0 pf-mod cf-mod ] PATTERN : 0x0F 0x2E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():r:sd MEM0:r:sd PATTERN : 0x0F 0x2E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():r:sd REG1=XMM_B():r:sd } { ICLASS : COMISD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 FLAGS : MUST [ of-0 sf-0 zf-mod af-0 pf-mod cf-mod ] PATTERN : 0x0F 0x2F osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():r:sd MEM0:r:sd PATTERN : 0x0F 0x2F osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():r:sd REG1=XMM_B():r:sd } { ICLASS : CVTSI2SD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2A f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=XMM_R():rw:sd:f64 MEM0:r:d:i32 PATTERN : 0x0F 0x2A f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=XMM_R():rw:sd:f64 REG1=GPR32_B():r:d:i32 PATTERN : 0x0F 0x2A f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=XMM_R():rw:sd:f64 MEM0:r:q:i64 PATTERN : 0x0F 0x2A f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=XMM_R():rw:sd:f64 REG1=GPR64_B():r:q:i64 } { ICLASS : CVTTSD2SI CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2C f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=GPR32_R():w:d:i32 MEM0:r:sd:f64 PATTERN : 0x0F 0x2C f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=GPR32_R():w:d:i32 REG1=XMM_B():r:sd:f64 PATTERN : 0x0F 0x2C f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=GPR64_R():w:q:i64 MEM0:r:sd:f64 PATTERN : 0x0F 0x2C f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=GPR64_R():w:q:i64 REG1=XMM_B():r:sd:f64 } { ICLASS : CVTSD2SI CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x2D f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix MODRM() OPERANDS : REG0=GPR32_R():w:d:i32 MEM0:r:sd:f64 PATTERN : 0x0F 0x2D f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() norexw_prefix OPERANDS : REG0=GPR32_R():w:d:i32 REG1=XMM_B():r:sd:f64 PATTERN : 0x0F 0x2D f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix MODRM() OPERANDS : REG0=GPR64_R():w:q:i64 MEM0:r:sd:f64 PATTERN : 0x0F 0x2D f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() rexw_prefix OPERANDS : REG0=GPR64_R():w:q:i64 REG1=XMM_B():r:sd:f64 } { ICLASS : CMOVS CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x48 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVS CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x48 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNS CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x49 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVNS CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x49 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVP CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x4A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVP CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x4A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNP CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x4B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVNP CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x4B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVL CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x4C MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVL CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x4C MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNL CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x4D MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVNL CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x4D MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVLE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x4E MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVLE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x4E MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : CMOVNLE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x4F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v } { ICLASS : CMOVNLE CPL : 3 CATEGORY : CMOV EXTENSION : BASE ISA_SET : CMOV FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x4F MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : ADDPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x58 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x58 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : MULPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x59 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x59 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : CVTPS2PD CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 ATTRIBUTES: MXCSR PATTERN : 0x0F 0x5A no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:pd:f64 MEM0:r:q:f32 PATTERN : 0x0F 0x5A no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:pd:f64 REG1=XMM_B():r:q:f32 } { ICLASS : CVTDQ2PS CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5B no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:ps:f32 MEM0:r:dq:i32 PATTERN : 0x0F 0x5B no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:ps:f32 REG1=XMM_B():r:dq:i32 } { ICLASS : SUBPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5C no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x5C no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : MINPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5D no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x5D no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : DIVPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x5E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : MAXPS CPL : 3 CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5F no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x5F no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : ADDSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x58 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x58 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : MULSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x59 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x59 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : CVTSS2SD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5A f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd:f64 MEM0:r:ss:f32 PATTERN : 0x0F 0x5A f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd:f64 REG1=XMM_B():r:ss:f32 } { ICLASS : CVTTPS2DQ CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5B f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:ps:f32 PATTERN : 0x0F 0x5B f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:ps:f32 } { ICLASS : SUBSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5C f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x5C f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : MINSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5D f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x5D f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : DIVSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5E f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x5E f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : MAXSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5F f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss MEM0:r:ss PATTERN : 0x0F 0x5F f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss REG1=XMM_B():r:ss } { ICLASS : ADDPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x58 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x58 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : MULPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x59 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x59 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : CVTPD2PS CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5A osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:ps:f32 MEM0:r:pd:f64 PATTERN : 0x0F 0x5A osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:ps:f32 REG1=XMM_B():r:pd:f64 } { ICLASS : CVTPS2DQ CPL : 3 CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5B osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:ps:f32 PATTERN : 0x0F 0x5B osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:ps:f32 } { ICLASS : SUBPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5C osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x5C osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : MINPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5D osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x5D osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : DIVPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x5E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x5E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : MAXPD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR MXCSR PATTERN : 0x0F 0x5F osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x5F osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : ADDSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x58 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x58 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : MULSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x59 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x59 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : CVTSD2SS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : CONVERT EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5A f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ss:f32 MEM0:r:sd:f64 PATTERN : 0x0F 0x5A f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ss:f32 REG1=XMM_B():r:sd:f64 } { ICLASS : SUBSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5C f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x5C f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : MINSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5D f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x5D f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : DIVSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5E f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x5E f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : MAXSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x5F f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:sd MEM0:r:sd PATTERN : 0x0F 0x5F f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:sd REG1=XMM_B():r:sd } { ICLASS : PUNPCKHBW EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : SKIPLOW32 NOTSX PATTERN : 0x0F 0x68 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x68 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:d } { ICLASS : PUNPCKHWD EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : SKIPLOW32 NOTSX PATTERN : 0x0F 0x69 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x69 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:d } { ICLASS : PUNPCKHDQ EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : SKIPLOW32 NOTSX PATTERN : 0x0F 0x6A no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x6A no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:d } { ICLASS : PACKSSDW EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x6B no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i32 MEM0:r:q:i32 } { ICLASS : PACKSSDW CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : HALF_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x6B no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i32 REG1=MMX_B():r:q:i32 } { ICLASS : MOVD CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x6E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 norexw_prefix MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:d PATTERN : 0x0F 0x6E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() mode64 norexw_prefix OPERANDS : REG0=XMM_R():w:dq REG1=GPR32_B():r PATTERN : 0x0F 0x6E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() not64 MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:d PATTERN : 0x0F 0x6E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() not64 OPERANDS : REG0=XMM_R():w:dq REG1=GPR32_B():r PATTERN : 0x0F 0x7E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 norexw_prefix MODRM() OPERANDS : MEM0:w:d REG0=XMM_R():r:d PATTERN : 0x0F 0x7E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() mode64 norexw_prefix OPERANDS : REG0=GPR32_B():w REG1=XMM_R():r:d PATTERN : 0x0F 0x7E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() not64 MODRM() OPERANDS : MEM0:w:d REG0=XMM_R():r:d PATTERN : 0x0F 0x7E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() not64 OPERANDS : REG0=GPR32_B():w REG1=XMM_R():r:d } { ICLASS : MOVD CPL : 3 CATEGORY : DATAXFER EXTENSION : MMX ISA_SET : PENTIUMMMX ATTRIBUTES : NOTSX PATTERN : 0x0F 0x6E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 norexw_prefix MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:d PATTERN : 0x0F 0x6E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 norexw_prefix OPERANDS : REG0=MMX_R():w:q REG1=GPR32_B():r PATTERN : 0x0F 0x6E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:d PATTERN : 0x0F 0x6E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] not64 OPERANDS : REG0=MMX_R():w:q REG1=GPR32_B():r PATTERN : 0x0F 0x7E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 norexw_prefix MODRM() OPERANDS : MEM0:w:d REG0=MMX_R():r:d PATTERN : 0x0F 0x7E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 norexw_prefix OPERANDS : REG0=GPR32_B():w REG1=MMX_R():r:d PATTERN : 0x0F 0x7E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() OPERANDS : MEM0:w:d REG0=MMX_R():r:d PATTERN : 0x0F 0x7E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] not64 OPERANDS : REG0=GPR32_B():w REG1=MMX_R():r:d } { ICLASS : MOVQ CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x6E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 rexw_prefix MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:q IFORM : MOVQ_XMMdq_MEMq_0F6E PATTERN : 0x0F 0x6E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() mode64 rexw_prefix OPERANDS : REG0=XMM_R():w:dq REG1=GPR64_B():r PATTERN : 0x0F 0x7E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 rexw_prefix MODRM() OPERANDS : MEM0:w:q REG0=XMM_R():r:q IFORM : MOVQ_MEMq_XMMq_0F7E PATTERN : 0x0F 0x7E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() mode64 rexw_prefix OPERANDS : REG0=GPR64_B():w REG1=XMM_R():r:q PATTERN : 0x0F 0xD6 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:q REG0=XMM_R():r:q IFORM : MOVQ_MEMq_XMMq_0FD6 PATTERN : 0x0F 0xD6 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_B():w:dq REG1=XMM_R():r:q IFORM : MOVQ_XMMdq_XMMq_0FD6 PATTERN : 0x0F 0x7E f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:q IFORM : MOVQ_XMMdq_MEMq_0F7E PATTERN : 0x0F 0x7E f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:q IFORM : MOVQ_XMMdq_XMMq_0F7E } { ICLASS : MOVQ EXCEPTIONS: mmx-nofp2 # FIXME guessing here... ATTRIBUTES: NOTSX CPL : 3 CATEGORY : DATAXFER EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0x6E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:q IFORM : MOVQ_MMXq_MEMq_0F6E PATTERN : 0x0F 0x6E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 rexw_prefix OPERANDS : REG0=MMX_R():w:q REG1=GPR64_B():r PATTERN : 0x0F 0x7E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 rexw_prefix MODRM() OPERANDS : MEM0:w:q REG0=MMX_R():r:q IFORM : MOVQ_MEMq_MMXq_0F7E PATTERN : 0x0F 0x7E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 rexw_prefix OPERANDS : REG0=GPR64_B():w REG1=MMX_R():r:q PATTERN : 0x0F 0x6F no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:q IFORM : MOVQ_MMXq_MEMq_0F6F PATTERN : 0x0F 0x6F no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q REG1=MMX_B():r:q IFORM : MOVQ_MMXq_MMXq_0F6F PATTERN : 0x0F 0x7F no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:q REG0=MMX_R():r:q IFORM : MOVQ_MEMq_MMXq_0F7F PATTERN : 0x0F 0x7F no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_B():w:q REG1=MMX_R():r:q IFORM : MOVQ_MMXq_MMXq_0F7F } { ICLASS : PUNPCKHBW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x68 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x68 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PUNPCKHWD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x69 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x69 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PUNPCKHDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x6A osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x6A osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PACKSSDW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT HALF_WIDE_OUTPUT PATTERN : 0x0F 0x6B osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i32 MEM0:r:dq:i32 PATTERN : 0x0F 0x6B osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i32 REG1=XMM_B():r:dq:i32 } { ICLASS : PUNPCKLQDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT COMMENT : mem form only uses q portion of the dq load. See SDM. PATTERN : 0x0F 0x6C osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x6C osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : PUNPCKHQDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : SKIPLOW64 REQUIRES_ALIGNMENT PATTERN : 0x0F 0x6D osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x6D osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:q } { ICLASS : MOVDQU CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4M ATTRIBUTES : PATTERN : 0x0F 0x6F f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq PATTERN : 0x0F 0x6F f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq IFORM : MOVDQU_XMMdq_XMMdq_0F6F PATTERN : 0x0F 0x7F f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : MEM0:w:dq REG0=XMM_R():r:dq PATTERN : 0x0F 0x7F f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_B():w:dq REG1=XMM_R():r:dq IFORM : MOVDQU_XMMdq_XMMdq_0F7F } { ICLASS : VMREAD CPL : 0 CATEGORY : VTX EXTENSION : VTX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0x78 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 MODRM() CR_WIDTH() OPERANDS : MEM0:w:q REG0=GPR64_R():r PATTERN : 0x0F 0x78 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 CR_WIDTH() OPERANDS : REG0=GPR64_B():w REG1=GPR64_R():r PATTERN : 0x0F 0x78 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() CR_WIDTH() OPERANDS : MEM0:w:d REG0=GPR32_R():r PATTERN : 0x0F 0x78 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] not64 CR_WIDTH() OPERANDS : REG0=GPR32_B():w REG1=GPR32_R():r } { ICLASS : VMWRITE CPL : 0 CATEGORY : VTX EXTENSION : VTX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0x79 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] mode64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR64_R():r MEM0:r:q PATTERN : 0x0F 0x79 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] mode64 CR_WIDTH() OPERANDS : REG0=GPR64_R():r REG1=GPR64_B():r PATTERN : 0x0F 0x79 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] not64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR32_R():r MEM0:r:d PATTERN : 0x0F 0x79 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] not64 CR_WIDTH() OPERANDS : REG0=GPR32_R():r REG1=GPR32_B():r } { ICLASS : HADDPD CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x7C osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x7C osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : HSUBPD CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x7D osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:pd MEM0:r:pd PATTERN : 0x0F 0x7D osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:pd REG1=XMM_B():r:pd } { ICLASS : MOVDQA CPL : 3 CATEGORY : DATAXFER EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_1 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x7F osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : MEM0:w:dq REG0=XMM_R():r:dq PATTERN : 0x0F 0x7F osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_B():w:dq REG1=XMM_R():r:dq IFORM : MOVDQA_XMMdq_XMMdq_0F7F PATTERN : 0x0F 0x6F osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq PATTERN : 0x0F 0x6F osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq IFORM : MOVDQA_XMMdq_XMMdq_0F6F } { ICLASS : HADDPS CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x7C f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x7C f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : HSUBPS CPL : 3 CATEGORY : SSE EXTENSION : SSE3 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x7D f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] IGNORE66() MODRM() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:ps PATTERN : 0x0F 0x7D f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] IGNORE66() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps } { ICLASS : JS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x88 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x88 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x89 not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNS CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x89 mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8A not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8A mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8B not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNP CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ pf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8B mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8C not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8C mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8D not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNL CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8D mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8E not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8E mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : JNLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES : SCALABLE MPX_PREFIX_ABLE PATTERN : 0x0F 0x8F not64 BRANCH_HINT() BRDISPz() OPERANDS : RELBR:r:z REG0=XED_REG_EIP:rw:SUPP } { ICLASS : JNLE CPL : 3 CATEGORY : COND_BR EXTENSION : BASE ISA_SET : I86 FLAGS : READONLY [ sf-tst of-tst zf-tst ] ATTRIBUTES: MPX_PREFIX_ABLE PATTERN : 0x0F 0x8F mode64 norex2_prefix FORCE64() BRANCH_HINT() BRDISP32() OPERANDS : RELBR:r:d REG0=XED_REG_RIP:rw:SUPP } { ICLASS : SETS CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x98 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x98 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNS CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst ] PATTERN : 0x0F 0x99 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x99 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETP CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x9A MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9A MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNP CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ pf-tst ] PATTERN : 0x0F 0x9B MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9B MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETL CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x9C MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9C MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNL CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst of-tst ] PATTERN : 0x0F 0x9D MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9D MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETLE CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x9E MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9E MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : SETNLE CPL : 3 CATEGORY : SETCC EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : BYTEOP FLAGS : READONLY [ sf-tst of-tst zf-tst ] PATTERN : 0x0F 0x9F MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:b PATTERN : 0x0F 0x9F MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPR8_B():w } { ICLASS : PUSH CPL : 3 CATEGORY : PUSH EXTENSION : BASE ISA_SET : I86 PATTERN : 0x0F 0xA8 DF64() OPERANDS : REG0=XED_REG_GS:r:IMPL REG1=XED_REG_STACKPUSH:rw:spw:SUPP } { ICLASS : POP CPL : 3 CATEGORY : POP EXTENSION : BASE ISA_SET : I86 ATTRIBUTES: NOTSX PATTERN : 0x0F 0xA9 DF64() OPERANDS : REG0=XED_REG_GS:w:IMPL REG1=XED_REG_STACKPOP:rw:spw:SUPP } { ICLASS : RSM CPL : 3 CATEGORY : SYSRET EXTENSION : BASE ISA_SET : I486 ATTRIBUTES: NOTSX FLAGS : MUST [ id-mod vip-mod vif-mod ac-mod vm-mod rf-mod nt-mod iopl-mod of-mod df-mod if-mod tf-mod sf-mod zf-mod af-mod pf-mod cf-mod ] PATTERN : 0x0F 0xAA OPERANDS : REG0=rIP():w:SUPP } { ICLASS : BTS_LOCK DISASM : bts CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xAB MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTS CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xAB MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTS CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xAB MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r } { ICLASS : SHRD CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I386 FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0x0F 0xAC MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rcw:v REG0=GPRv_R():r IMM0:r:b PATTERN : 0x0F 0xAC MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rcw REG1=GPRv_R():r IMM0:r:b } { ICLASS : SHRD CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I386 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0x0F 0xAD MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:rcw:v REG0=GPRv_R():r REG1=XED_REG_CL:r:IMPL PATTERN : 0x0F 0xAD MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rcw REG1=GPRv_R():r REG2=XED_REG_CL:r:IMPL } { ICLASS : SHLD CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I386 FLAGS : IMM1 MUST [ of-mod sf-mod zf-mod af-u pf-mod cf-mod ], IMMx MUST [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0x0F 0xA4 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:rcw:v REG0=GPRv_R():r IMM0:r:b PATTERN : 0x0F 0xA4 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPRv_B():rcw REG1=GPRv_R():r IMM0:r:b } { ICLASS : SHLD CPL : 3 CATEGORY : SHIFT EXTENSION : BASE ISA_SET : I386 FLAGS : MAY [ of-u sf-mod zf-mod af-u pf-mod cf-mod ] PATTERN : 0x0F 0xA5 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:rcw:v REG0=GPRv_R():r REG1=XED_REG_CL:r:IMPL PATTERN : 0x0F 0xA5 MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rcw REG1=GPRv_R():r REG2=XED_REG_CL:r:IMPL } { ICLASS : IMUL CPL : 3 CATEGORY : BINARY EXTENSION : BASE ISA_SET : I86 FLAGS : MUST [ of-mod sf-u zf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xAF MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():rw MEM0:r:v PATTERN : 0x0F 0xAF MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():rw REG1=GPRv_B():r } { ICLASS : BTC_LOCK DISASM : btc CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKED HLE_ACQ_ABLE HLE_REL_ABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBB MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() lock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTC CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 ATTRIBUTES : LOCKABLE FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBB MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() nolock_prefix OPERANDS : MEM0:rw:v REG0=GPRv_R():r } { ICLASS : BTC CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u af-u pf-u cf-mod ] PATTERN : 0x0F 0xBB MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_B():rw REG1=GPRv_R():r } { ICLASS : BSF CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u zf-mod af-u pf-u cf-u ] COMMENT : replaced in the HSW builds PATTERN : 0x0F 0xBC MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0xBC MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : BSR CPL : 3 CATEGORY : BITBYTE EXTENSION : BASE ISA_SET : I386 FLAGS : MUST [ of-u sf-u zf-mod af-u pf-u cf-u ] COMMENT : replaced in the HSW builds PATTERN : 0x0F 0xBD MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():cw MEM0:r:v PATTERN : 0x0F 0xBD MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():cw REG1=GPRv_B():r } { ICLASS : MOVSX CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I386 PATTERN : 0x0F 0xBE MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:b } { ICLASS : MOVSX CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I386 PATTERN : 0x0F 0xBE MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w REG1=GPR8_B():r } { ICLASS : MOVSX CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I386 PATTERN : 0x0F 0xBF MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:w } { ICLASS : MOVSX CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I386 PATTERN : 0x0F 0xBF MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w REG1=GPR16_B():r } { ICLASS : BSWAP CPL : 3 CATEGORY : DATAXFER EXTENSION : BASE ISA_SET : I486REAL PATTERN : 0x0F 0b1100_1 SRM[rrr] OPERANDS : REG0=GPRv_SB():rw } { ICLASS : PSUBUSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD8 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PSUBUSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD8 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBUSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD9 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PSUBUSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xD9 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PMINUB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDA no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PMINUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDA no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PAND EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDB no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PAND ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDB no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDUSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDC no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PADDUSB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDC no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDUSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDD no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PADDUSW ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDD no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PMAXUB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDE no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PMAXUB ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDE no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PANDN EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDF no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q } { ICLASS : PANDN ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xDF no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBUSB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS : SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD8 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xD8 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBUSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS : SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xD9 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xD9 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINUB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDA osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDA osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PAND CPL : 3 CATEGORY : LOGICAL EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDB osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDB osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDUSB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDC osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDC osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDUSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDD osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDD osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMAXUB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDE osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDE osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PANDN CPL : 3 CATEGORY : LOGICAL EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xDF osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xDF osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE8 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xE8 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xE9 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xE9 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PMINSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xEA no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xEA no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : POR ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xEB no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xEB no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xEC no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xEC no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xED no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xED no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PMAXSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xEE no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xEE no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PXOR EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : LOGICAL EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xEF no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xEF no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBSB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE8 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xE8 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xE9 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xE9 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xEA osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xEA osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : POR CPL : 3 CATEGORY : LOGICAL EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xEB osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xEB osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDSB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xEC osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xEC osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xED osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xED osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMAXSW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xEE osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xEE osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PXOR CPL : 3 CATEGORY : LOGICAL EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xEF osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xEF osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF8 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xF8 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xF9 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xF9 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xFA no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xFA no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBQ EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSE2 ISA_SET : SSE2MMX PATTERN : 0x0F 0xFB no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xFB no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xFC no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xFC no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xFD no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xFD no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PADDD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : MMX ISA_SET : PENTIUMMMX PATTERN : 0x0F 0xFE no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0xFE no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSUBB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF8 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xF8 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xF9 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xF9 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xFA osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xFA osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSUBQ CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xFB osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xFB osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDB CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xFC osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xFC osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PADDW CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xFD osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i16 MEM0:r:dq:i16 PATTERN : 0x0F 0xFD osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i16 REG1=XMM_B():r:dq:i16 } { ICLASS : PADDD CPL : 3 CATEGORY : SSE EXTENSION : SSE2 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0xFE osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0xFE osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHADDW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x01 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x01 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHADDW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x01 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x01 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHADDD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x02 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x02 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHADDD CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x02 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x02 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHADDSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x03 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x03 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHADDSW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x03 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x03 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHSUBW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x05 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x05 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHSUBW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x05 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x05 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHSUBD EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x06 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x06 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHSUBD CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x06 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x06 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PHSUBSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x07 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x07 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PHSUBSW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x07 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x07 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMADDUBSW EXCEPTIONS: mmx-mem CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX ATTRIBUTES : DOUBLE_WIDE_OUTPUT NOTSX PATTERN : 0x0F 0x38 0x04 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q:i8 MEM0:r:q:i8 PATTERN : 0x0F 0x38 0x04 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q:i8 REG1=MMX_B():r:q:i8 } { ICLASS : PMADDUBSW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT DOUBLE_WIDE_OUTPUT PATTERN : 0x0F 0x38 0x04 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq:i8 MEM0:r:dq:i8 PATTERN : 0x0F 0x38 0x04 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq:i8 REG1=XMM_B():r:dq:i8 } { ICLASS : PMULHRSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x0B no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x0B no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PMULHRSW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x0B osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x0B osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSHUFB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x00 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x00 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSHUFB CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x00 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x00 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSIGNB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x08 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x08 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSIGNB CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x08 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x08 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSIGNW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x09 no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x09 no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSIGNW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x09 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x09 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PSIGND ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX EXCEPTIONS: mmx-mem PATTERN : 0x0F 0x38 0x0A no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q PATTERN : 0x0F 0x38 0x0A no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q } { ICLASS : PSIGND CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x0A osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x0A osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PALIGNR EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x3A 0x0F no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=MMX_R():rw:q MEM0:r:q IMM0:r:b PATTERN : 0x0F 0x3A 0x0F no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=MMX_R():rw:q REG1=MMX_B():r:q IMM0:r:b } { ICLASS : PALIGNR CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0x0F osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq IMM0:r:b PATTERN : 0x0F 0x3A 0x0F osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq IMM0:r:b } { ICLASS : PABSB EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x1C no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:q PATTERN : 0x0F 0x38 0x1C no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q REG1=MMX_B():r:q } { ICLASS : PABSB CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x1C osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x1C osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq } { ICLASS : PABSW EXCEPTIONS: mmx-mem ATTRIBUTES: NOTSX CPL : 3 CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x1D no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:q PATTERN : 0x0F 0x38 0x1D no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q REG1=MMX_B():r:q } { ICLASS : PABSW CPL : 3 CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x1D osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x1D osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq } { ICLASS : PABSD EXCEPTIONS: mmx-mem CPL : 3 ATTRIBUTES : simd_scalar NOTSX CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x1E no_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=MMX_R():w:q MEM0:r:q } { ICLASS : PABSD CPL : 3 ATTRIBUTES : simd_scalar NOTSX CATEGORY : MMX EXTENSION : SSSE3 ISA_SET : SSSE3MMX PATTERN : 0x0F 0x38 0x1E no_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=MMX_R():w:q REG1=MMX_B():r:q } { ICLASS : PABSD CPL : 3 ATTRIBUTES : simd_scalar REQUIRES_ALIGNMENT CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 PATTERN : 0x0F 0x38 0x1E osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq } { ICLASS : PABSD CPL : 3 ATTRIBUTES : simd_scalar CATEGORY : SSE EXTENSION : SSSE3 EXCEPTIONS: SSE_TYPE_4 PATTERN : 0x0F 0x38 0x1E osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq } #################################################################################### { ICLASS : POPCNT CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : POPCNT ATTRIBUTES: IGNORES_OSFXSR # 2009-02-20: not using IGNORE66 on this because we need the 66 prefix # to get to the 16b form 32b and 64b modes. FLAGS : MUST [ cf-0 zf-mod of-0 af-0 pf-0 sf-0 ] PATTERN : 0x0F 0xB8 f3_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w:v MEM0:r:v PATTERN : 0x0F 0xB8 f3_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRv_R():w:v REG1=GPRv_B():r:v } #################################################################################### { ICLASS : PCMPGTQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x37 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x37 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } #################################################################################### { ICLASS : CRC32 CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 ATTRIBUTES : IGNORES_OSFXSR # 2009-02-20: not using IGNORE66 on this because we need the 66 prefix # to get to the 16b form 32b and 64b modes. COMMENT: The dest min size is 32b, even for EOSZ 16b. # The byte-readers PATTERN : 0x0F 0x38 0xF0 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRy_R():rw:y MEM0:r:b PATTERN : 0x0F 0x38 0xF0 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRy_R():rw:y REG1=GPR8_B():r:b # The scalable readers PATTERN : 0x0F 0x38 0xF1 f2_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRy_R():rw:y MEM0:r:v PATTERN : 0x0F 0x38 0xF1 f2_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=GPRy_R():rw:y REG1=GPRv_B():r:v } { ICLASS : BLENDPD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0x0D osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f64 MEM0:r:dq:f64 IMM0:r:b PATTERN : 0x0F 0x3A 0x0D osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f64 REG1=XMM_B():r:dq:f64 IMM0:r:b } { ICLASS : BLENDPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0x0C osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f32 MEM0:r:dq:f32 IMM0:r:b PATTERN : 0x0F 0x3A 0x0C osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f32 REG1=XMM_B():r:dq:f32 IMM0:r:b } #######################################################################33 { ICLASS : BLENDVPD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x15 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq:f64 MEM0:r:dq:f64 REG1=XED_REG_XMM0:r:SUPP:dq:u64 PATTERN : 0x0F 0x38 0x15 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq:f64 REG1=XMM_B():r:dq:f64 REG2=XED_REG_XMM0:r:SUPP:dq:u64 } { ICLASS : BLENDVPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x14 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq:f32 MEM0:r:dq:f32 REG1=XED_REG_XMM0:r:SUPP:dq:u32 PATTERN : 0x0F 0x38 0x14 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq:f32 REG1=XMM_B():r:dq:f32 REG2=XED_REG_XMM0:r:SUPP:dq:u32 } #################################################################################### { ICLASS : PCMPEQQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x29 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x29 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } #################################################################################### { ICLASS : DPPD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_2D ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x3A 0x41 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f64 MEM0:r:dq:f64 IMM0:r:b PATTERN : 0x0F 0x3A 0x41 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f64 REG1=XMM_B():r:dq:f64 IMM0:r:b } { ICLASS : DPPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_2D ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x3A 0x40 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f32 MEM0:r:dq:f32 IMM0:r:b PATTERN : 0x0F 0x3A 0x40 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq:f32 REG1=XMM_B():r:dq:f32 IMM0:r:b } #################################################################################### { ICLASS : MOVNTDQA CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_1 ATTRIBUTES : REQUIRES_ALIGNMENT NOTSX NONTEMPORAL PATTERN : 0x0F 0x38 0x2A osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq } #################################################################################### { ICLASS : EXTRACTPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x17 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:d REG0=XMM_R():r:ps IMM0:r:b PATTERN : 0x0F 0x3A 0x17 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR32_B():w:d REG1=XMM_R():r:dq IMM0:r:b } #################################################################################### { ICLASS : INSERTPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x21 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:ps MEM0:r:d IMM0:r:b PATTERN : 0x0F 0x3A 0x21 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:ps REG1=XMM_B():r:ps IMM0:r:b } ############################################################################ { ICLASS : MPSADBW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT DOUBLE_WIDE_OUTPUT PATTERN : 0x0F 0x3A 0x42 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq:u8 MEM0:r:dq:u8 IMM0:r:b PATTERN : 0x0F 0x3A 0x42 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq:u8 REG1=XMM_B():r:dq:u8 IMM0:r:b } ############################################################################ { ICLASS : PACKUSDW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT HALF_WIDE_OUTPUT PATTERN : 0x0F 0x38 0x2B osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq:i32 MEM0:r:dq:i32 PATTERN : 0x0F 0x38 0x2B osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq:i32 REG1=XMM_B():r:dq:i32 } ############################################################################ { ICLASS : PBLENDW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0x0E osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq IMM0:r:b PATTERN : 0x0F 0x3A 0x0E osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq IMM0:r:b } ############################################################################ { ICLASS : PBLENDVB CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x10 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq REG1=XED_REG_XMM0:r:dq:SUPP PATTERN : 0x0F 0x38 0x10 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq REG2=XED_REG_XMM0:r:dq:SUPP } ############################################################################ { ICLASS : PEXTRB CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x14 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:b REG0=XMM_R():r:dq IMM0:r:b # FIXME: 2007-06-11 Might want to make a new 64/32 reg accessor. what happens in 64b??? PATTERN : 0x0F 0x3A 0x14 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR32_B():w:d REG1=XMM_R():r:dq IMM0:r:b } ############################################################################ { ICLASS : PEXTRW_SSE4 DISASM_INTEL: pextrw DISASM_ATTSV: pextrw CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : # this one aliases with the SSE2 version so we made a new name PATTERN : 0x0F 0x3A 0x15 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:w REG0=XMM_R():r:dq IMM0:r:b IFORM : PEXTRW_SSE4_MEMw_XMMdq_IMMb # this one aliases with the SSE2 version so we made a new name PATTERN : 0x0F 0x3A 0x15 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR32_B():w REG1=XMM_R():r:dq IMM0:r:b IFORM : PEXTRW_SSE4_GPR32_XMMdq_IMMb } ############################################################################ { ICLASS : PEXTRQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x16 osz_refining_prefix REFINING66() rexw_prefix mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:q REG0=XMM_R():r:dq IMM0:r:b PATTERN : 0x0F 0x3A 0x16 osz_refining_prefix REFINING66() rexw_prefix mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR64_B():w:q REG1=XMM_R():r:dq IMM0:r:b } ############################################################################ { ICLASS : PEXTRD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x16 osz_refining_prefix REFINING66() norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : MEM0:w:d REG0=XMM_R():r:dq IMM0:r:b # FIXME: 2007-06-11 Might want to make a new 64/32 reg accessor. what happens in 64b??? PATTERN : 0x0F 0x3A 0x16 osz_refining_prefix REFINING66() norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=GPR32_B():w:d REG1=XMM_R():r:dq IMM0:r:b } ############################################################################ { ICLASS : PINSRB CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x20 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:b IMM0:r:b PATTERN : 0x0F 0x3A 0x20 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=GPR32_B():r:d IMM0:r:b } ############################################################################ { ICLASS : PINSRD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x22 osz_refining_prefix REFINING66() norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:d IMM0:r:b PATTERN : 0x0F 0x3A 0x22 osz_refining_prefix REFINING66() norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=GPR32_B():r:d IMM0:r:b } ############################################################################ { ICLASS : PINSRQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x3A 0x22 osz_refining_prefix REFINING66() rexw_prefix mode64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:q IMM0:r:b PATTERN : 0x0F 0x3A 0x22 osz_refining_prefix REFINING66() rexw_prefix mode64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=GPR64_B():r:q IMM0:r:b } ############################################################################ { ICLASS : ROUNDPD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x3A 0x09 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:pd MEM0:r:pd IMM0:r:b PATTERN : 0x0F 0x3A 0x09 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():w:pd REG1=XMM_B():r:pd IMM0:r:b } ############################################################################ { ICLASS : ROUNDPS CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_2 ATTRIBUTES : REQUIRES_ALIGNMENT MXCSR PATTERN : 0x0F 0x3A 0x08 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:ps MEM0:r:ps IMM0:r:b PATTERN : 0x0F 0x3A 0x08 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():w:ps REG1=XMM_B():r:ps IMM0:r:b } ############################################################################ { ICLASS : ROUNDSD CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x3A 0x0B osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:q MEM0:r:q IMM0:r:b PATTERN : 0x0F 0x3A 0x0B osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:q REG1=XMM_B():r:q IMM0:r:b } ############################################################################ { ICLASS : ROUNDSS CPL : 3 ATTRIBUTES : simd_scalar MXCSR CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_3 PATTERN : 0x0F 0x3A 0x0A osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:d MEM0:r:d IMM0:r:b PATTERN : 0x0F 0x3A 0x0A osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():rw:d REG1=XMM_B():r:d IMM0:r:b } ############################################################################ { ICLASS : PTEST CPL : 3 CATEGORY : LOGICAL EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT FLAGS : MUST [ cf-mod zf-mod of-0 af-0 pf-0 sf-0 ] PATTERN : 0x0F 0x38 0x17 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x17 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq } ############################################################################ { ICLASS : PHMINPOSUW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x41 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x41 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq } { ICLASS : PMAXSB CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3C osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3C osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMAXSD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3D osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3D osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMAXUD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3F osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3F osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMAXUW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3E osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3E osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINSB CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x38 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x38 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINSD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x39 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x39 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINUD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3B osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3B osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMINUW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x3A osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x3A osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMULLD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x40 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x40 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMULDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0x28 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq PATTERN : 0x0F 0x38 0x28 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq } { ICLASS : PMOVSXBW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x20 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i16 MEM0:r:q:i8 PATTERN : 0x0F 0x38 0x20 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i16 REG1=XMM_B():r:q:i8 } { ICLASS : PMOVSXBD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x21 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:d:i8 PATTERN : 0x0F 0x38 0x21 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:d:i8 } { ICLASS : PMOVSXBQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x22 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i64 MEM0:r:w:i8 PATTERN : 0x0F 0x38 0x22 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i64 REG1=XMM_B():r:w:i8 } { ICLASS : PMOVSXWD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x23 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i32 MEM0:r:q:i16 PATTERN : 0x0F 0x38 0x23 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i32 REG1=XMM_B():r:q:i16 } { ICLASS : PMOVSXWQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x24 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i64 MEM0:r:d:i16 PATTERN : 0x0F 0x38 0x24 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i64 REG1=XMM_B():r:d:i16 } { ICLASS : PMOVSXDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x25 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:i64 MEM0:r:q:i32 PATTERN : 0x0F 0x38 0x25 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:i64 REG1=XMM_B():r:q:i32 } { ICLASS : PMOVZXBW CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x30 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u16 MEM0:r:q:u8 PATTERN : 0x0F 0x38 0x30 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u16 REG1=XMM_B():r:q:u8 } { ICLASS : PMOVZXBD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x31 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u32 MEM0:r:d:u8 PATTERN : 0x0F 0x38 0x31 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u32 REG1=XMM_B():r:d:u8 } { ICLASS : PMOVZXBQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x32 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u64 MEM0:r:w:u8 PATTERN : 0x0F 0x38 0x32 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u64 REG1=XMM_B():r:w:u8 } { ICLASS : PMOVZXWD CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x33 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u32 MEM0:r:q:u16 PATTERN : 0x0F 0x38 0x33 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u32 REG1=XMM_B():r:q:u16 } { ICLASS : PMOVZXWQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x34 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u64 MEM0:r:d:u16 PATTERN : 0x0F 0x38 0x34 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u64 REG1=XMM_B():r:d:u16 } { ICLASS : PMOVZXDQ CPL : 3 CATEGORY : SSE EXTENSION : SSE4 EXCEPTIONS: SSE_TYPE_5 ATTRIBUTES : PATTERN : 0x0F 0x38 0x35 osz_refining_prefix REFINING66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=XMM_R():w:dq:u64 MEM0:r:q:u32 PATTERN : 0x0F 0x38 0x35 osz_refining_prefix REFINING66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] OPERANDS : REG0=XMM_R():w:dq:u64 REG1=XMM_B():r:q:u32 } { ICLASS : PCMPESTRI CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_EDX:r:SUPP REG3=XED_REG_ECX:w:SUPP PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_EAX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_ECX:w:SUPP # 64b eosz=2 PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_EDX:r:SUPP REG3=XED_REG_ECX:w:SUPP PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_EAX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_ECX:w:SUPP } { ICLASS : PCMPESTRI64 DISASM : pcmpestri CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] # EOSZ=3 PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_RAX:r:SUPP REG2=XED_REG_RDX:r:SUPP REG3=XED_REG_RCX:w:SUPP PATTERN : 0x0F 0x3A 0x61 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_RAX:r:SUPP REG3=XED_REG_RDX:r:SUPP REG4=XED_REG_RCX:w:SUPP } { ICLASS : PCMPISTRI CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_ECX:w:SUPP PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_ECX:w:SUPP PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_ECX:w:SUPP PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_ECX:w:SUPP } { ICLASS : PCMPISTRI64 DISASM : pcmpistri CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_RCX:w:SUPP PATTERN : 0x0F 0x3A 0x63 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_RCX:w:SUPP } { ICLASS : PCMPESTRM CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() not64 MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_EDX:r:SUPP REG3=XED_REG_XMM0:w:dq:SUPP PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() not64 MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_EAX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_XMM0:w:dq:SUPP PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_EDX:r:SUPP REG3=XED_REG_XMM0:w:dq:SUPP PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() mode64 norexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_EAX:r:SUPP REG3=XED_REG_EDX:r:SUPP REG4=XED_REG_XMM0:w:dq:SUPP } { ICLASS : PCMPESTRM64 DISASM : pcmpestrm CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_RAX:r:SUPP REG2=XED_REG_RDX:r:SUPP REG3=XED_REG_XMM0:w:dq:SUPP PATTERN : 0x0F 0x3A 0x60 osz_refining_prefix IMMUNE66() mode64 rexw_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_RAX:r:SUPP REG3=XED_REG_RDX:r:SUPP REG4=XED_REG_XMM0:w:dq:SUPP } { ICLASS : PCMPISTRM CPL : 3 CATEGORY : SSE EXTENSION : SSE4 ISA_SET : SSE42 EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES: FLAGS : MUST [ cf-mod zf-mod sf-mod of-mod af-0 pf-0 ] PATTERN : 0x0F 0x3A 0x62 osz_refining_prefix IMMUNE66() MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() UIMM8() OPERANDS : REG0=XMM_R():r:dq MEM0:r:dq IMM0:r:b REG1=XED_REG_XMM0:w:dq:SUPP PATTERN : 0x0F 0x3A 0x62 osz_refining_prefix IMMUNE66() MOD[0b11] MOD=3 REG[rrr] RM[nnn] UIMM8() OPERANDS : REG0=XMM_R():r:dq REG1=XMM_B():r:dq IMM0:r:b REG2=XED_REG_XMM0:w:dq:SUPP } #################################################################################### { ICLASS : XGETBV CPL : 3 CATEGORY : XSAVE EXTENSION : XSAVE PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b010] RM[0b000] no_refining_prefix OPERANDS : REG0=XED_REG_ECX:r:SUPP REG1=XED_REG_EDX:w:SUPP REG2=XED_REG_EAX:w:SUPP REG3=XED_REG_XCR0:r:SUPP } { ICLASS : XSETBV CPL : 0 CATEGORY : XSAVE EXTENSION : XSAVE ATTRIBUTES : RING0 NOTSX PATTERN : 0x0F 0x01 MOD[0b11] MOD=3 REG[0b010] RM[0b001] no_refining_prefix OPERANDS : REG0=XED_REG_ECX:r:SUPP REG1=XED_REG_EDX:r:SUPP REG2=XED_REG_EAX:r:SUPP REG3=XED_REG_XCR0:w:SUPP } { ICLASS : XSAVE CPL : 3 CATEGORY : XSAVE EXTENSION : XSAVE COMMENT : Variable length store and conditional reg read. Reads/writes XSTATE_BV from header. ATTRIBUTES : xmm_state_r REQUIRES_ALIGNMENT x87_mmx_state_r NOTSX SPECIAL_AGEN_REQUIRED PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b100] RM[nnn] no_refining_prefix norex2_prefix norexw_prefix MODRM() #FIXME 2007-06-25 need a meaningful width code for XSAVE/XRSTOR OPERANDS : MEM0:rw:mxsave REG0=XED_REG_EDX:r:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_XCR0:r:SUPP } { ICLASS : XRSTOR CPL : 3 CATEGORY : XSAVE EXTENSION : XSAVE COMMENT : variable length load and conditional reg write ATTRIBUTES : xmm_state_cw REQUIRES_ALIGNMENT x87_mmx_state_cw NOTSX SPECIAL_AGEN_REQUIRED PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b101] RM[nnn] no_refining_prefix norex2_prefix norexw_prefix MODRM() #FIXME 2007-06-25 need a meaningful width code for XSAVE/XRSTOR OPERANDS : MEM0:r:mxsave REG0=XED_REG_EDX:r:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_XCR0:r:SUPP } { ICLASS : XSAVE64 CPL : 3 CATEGORY : XSAVE EXTENSION : XSAVE COMMENT : Variable length store and conditional reg read. Reads/writes XSTATE_BV from header. ATTRIBUTES : xmm_state_r REQUIRES_ALIGNMENT x87_mmx_state_r NOTSX SPECIAL_AGEN_REQUIRED PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b100] RM[nnn] no_refining_prefix norex2_prefix rexw_prefix MODRM() #FIXME 2007-06-25 need a meaningful width code for XSAVE/XRSTOR OPERANDS : MEM0:rw:mxsave REG0=XED_REG_EDX:r:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_XCR0:r:SUPP } { ICLASS : XRSTOR64 CPL : 3 CATEGORY : XSAVE EXTENSION : XSAVE COMMENT : variable length load and conditional reg write ATTRIBUTES : xmm_state_cw REQUIRES_ALIGNMENT x87_mmx_state_cw NOTSX SPECIAL_AGEN_REQUIRED PATTERN : 0x0F 0xAE MOD[mm] MOD!=3 REG[0b101] RM[nnn] no_refining_prefix norex2_prefix rexw_prefix MODRM() #FIXME 2007-06-25 need a meaningful width code for XSAVE/XRSTOR OPERANDS : MEM0:r:mxsave REG0=XED_REG_EDX:r:SUPP REG1=XED_REG_EAX:r:SUPP REG2=XED_REG_XCR0:r:SUPP } #################################################################################### { ICLASS : MOVBE CPL : 3 CATEGORY : DATAXFER EXTENSION : MOVBE COMMENT : Intro on Atom Silverthorne. Intercepted by Haswell. # # must allow 66 prefix. So "not_refning" gives us REFINING=0 which suffices to exclude F2/F3 prefixes. # PATTERN : 0x0F 0x38 0xF0 not_refining MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : REG0=GPRv_R():w MEM0:r:v PATTERN : 0x0F 0x38 0xF1 not_refining MOD[mm] MOD!=3 REG[rrr] RM[nnn] MODRM() OPERANDS : MEM0:w:v REG0=GPRv_R():r } { ICLASS : GETSEC CPL : 3 CATEGORY : SYSTEM ATTRIBUTES: PROTECTED_MODE NOTSX EXTENSION : SMX PATTERN : 0x0F 0x37 no_refining_prefix OPERANDS : REG0=XED_REG_EAX:rcw:SUPP REG1=XED_REG_EBX:r:SUPP } #################################################################################### { ICLASS : AESKEYGENASSIST CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0xDF osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq IMM0:r:b PATTERN : 0x0F 0x3A 0xDF osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq IMM0:r:b } { ICLASS : AESENC CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0xDC osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq PATTERN : 0x0F 0x38 0xDC osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : AESENCLAST CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0xDD osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq PATTERN : 0x0F 0x38 0xDD osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : AESDEC CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0xDE osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq PATTERN : 0x0F 0x38 0xDE osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : AESDECLAST CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0xDF osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq PATTERN : 0x0F 0x38 0xDF osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq } { ICLASS : AESIMC CPL : 3 CATEGORY : AES EXTENSION : AES EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x38 0xDB osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() OPERANDS : REG0=XMM_R():w:dq REG1=XMM_B():r:dq PATTERN : 0x0F 0x38 0xDB osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() OPERANDS : REG0=XMM_R():w:dq MEM0:r:dq } #################################################################################### { ICLASS : PCLMULQDQ CPL : 3 CATEGORY : PCLMULQDQ EXTENSION : PCLMULQDQ EXCEPTIONS: SSE_TYPE_4 ATTRIBUTES : REQUIRES_ALIGNMENT PATTERN : 0x0F 0x3A 0x44 osz_refining_prefix MOD[0b11] MOD=3 REG[rrr] RM[nnn] REFINING66() UIMM8() OPERANDS : REG0=XMM_R():rw:dq REG1=XMM_B():r:dq IMM0:r:b PATTERN : 0x0F 0x3A 0x44 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() MODRM() UIMM8() OPERANDS : REG0=XMM_R():rw:dq MEM0:r:dq IMM0:r:b } ####################################################################### { ICLASS : INVEPT CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES : RING0 NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0x38 0x80 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR64_R():r MEM0:r:dq PATTERN : 0x0F 0x38 0x80 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() not64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR32_R():r MEM0:r:dq COMMENT : SDM rev 27 } { ICLASS : INVVPID CPL : 0 CATEGORY : VTX EXTENSION : VTX ATTRIBUTES : RING0 NOTSX FLAGS : MUST [ cf-mod zf-mod sf-0 of-0 af-0 pf-0 ] PATTERN : 0x0F 0x38 0x81 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() mode64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR64_R():r MEM0:r:dq PATTERN : 0x0F 0x38 0x81 osz_refining_prefix MOD[mm] MOD!=3 REG[rrr] RM[nnn] REFINING66() not64 MODRM() CR_WIDTH() OPERANDS : REG0=GPR32_R():r MEM0:r:dq COMMENT : SDM rev 27 }