mirror of
https://github.com/RPCSX/xed.git
synced 2026-01-31 01:05:17 +01:00
split CMOV and FCMOV in to their own isa sets
Change-Id: I9b24e198fe0b9fe1611b7b08e87981b6842f7436 (cherry picked from commit 86238265a5bb649ef13cdc22b66458907936520c)
This commit is contained in:
@@ -59,12 +59,12 @@ ALLREAL: ALL_OF(PENTIUMMMXREAL)
|
||||
|
||||
# P6, PentiumPro, PPRO:
|
||||
# The SSE_PREFETCH were on P6 as fat NOPs, but XED only recognizes them on >=PENTIUM3
|
||||
PENTIUMPRO: ALL_OF(PENTIUM) PPRO RDPMC FAT_NOP PREFETCH_NOP # NO MMX (Orig P6)
|
||||
PENTIUMPRO: ALL_OF(PENTIUM) PPRO CMOV FCMOV RDPMC FAT_NOP PREFETCH_NOP # NO MMX (Orig P6)
|
||||
# FCMOV*, CMOV*, RDPMC, SYSCALL, SYSENTER, SYSEXIT,SYSRET, UD2, F[U]COMI[P]
|
||||
# note conflict with PENTIUM2 addition of SYSENTER/SYSEXIT
|
||||
|
||||
|
||||
PENTIUM2: ALL_OF(PENTIUM) PENTIUMMMX PPRO FAT_NOP RDPMC PREFETCH_NOP FXSAVE
|
||||
PENTIUM2: ALL_OF(PENTIUM) PENTIUMMMX PPRO CMOV FCMOV FAT_NOP RDPMC PREFETCH_NOP FXSAVE
|
||||
# FXSAVE/FXRSTOR, SYSENTER,SYSEXIT P6
|
||||
|
||||
# we keep SSEMXCSR separate from SSE to accommodate chip-check for KNC
|
||||
|
||||
@@ -726,7 +726,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -737,7 +737,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -748,7 +748,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -759,7 +759,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -830,7 +830,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -841,7 +841,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -852,7 +852,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -863,7 +863,7 @@ ATTRIBUTES: NOTSX
|
||||
CPL : 3
|
||||
CATEGORY : FCMOV
|
||||
EXTENSION : X87
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8768,7 +8768,7 @@ ICLASS : CMOVO
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8780,7 +8780,7 @@ ICLASS : CMOVNO
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8792,7 +8792,7 @@ ICLASS : CMOVB
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8804,7 +8804,7 @@ ICLASS : CMOVNB
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8816,7 +8816,7 @@ ICLASS : CMOVZ
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8828,7 +8828,7 @@ ICLASS : CMOVNZ
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8840,7 +8840,7 @@ ICLASS : CMOVBE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -8852,7 +8852,7 @@ ICLASS : CMOVNBE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11222,7 +11222,7 @@ ICLASS : CMOVS
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11232,7 +11232,7 @@ ICLASS : CMOVS
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11242,7 +11242,7 @@ ICLASS : CMOVNS
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11252,7 +11252,7 @@ ICLASS : CMOVNS
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11262,7 +11262,7 @@ ICLASS : CMOVP
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11272,7 +11272,7 @@ ICLASS : CMOVP
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11282,7 +11282,7 @@ ICLASS : CMOVNP
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11292,7 +11292,7 @@ ICLASS : CMOVNP
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11302,7 +11302,7 @@ ICLASS : CMOVL
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11312,7 +11312,7 @@ ICLASS : CMOVL
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11322,7 +11322,7 @@ ICLASS : CMOVNL
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11332,7 +11332,7 @@ ICLASS : CMOVNL
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11342,7 +11342,7 @@ ICLASS : CMOVLE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11352,7 +11352,7 @@ ICLASS : CMOVLE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11362,7 +11362,7 @@ ICLASS : CMOVNLE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
@@ -11372,7 +11372,7 @@ ICLASS : CMOVNLE
|
||||
CPL : 3
|
||||
CATEGORY : CMOV
|
||||
EXTENSION : BASE
|
||||
ISA_SET : PPRO
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user