Fixed VEX decoding in 32 bit mode - vex.vvvv bit 3 is simply ignored. Fixed several FMA instructions decoding (L/W flag should be ignored). Print the 64 bit immediate value in disassembly, instead of the raw immediate (note that the operand always contains the sign-extended, full immediate). XBEGIN always uses 32/64 bit RIP size (0x66 does not affect its size). Decode WBINVD even if it's preceded by 0x66/0xF2 prefixes. Several mnemonic fixes (FXSAVE64, FXRSTOR64, PUSHA/PUSHAD...). Properly decode VPERMIL2* instructions. Fixed SSE register decoding when it is encoded in immediate. Decode SCATTER instructions even though they use the VSIB index as source. Some disp8 fixes (t1s -> t1s8/t1s16). SYSCALL/SYSRET are decoded and executed in 32 bit compat modem, even though SDM states they are invalid. RDPID uses 32/64 bit reg size, never 16. Various other minor tweaks & fixes. Re-generated the test files, and added some more, new tests.pull/9/head
parent
52ed638c13
commit
752bc626c4
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,19 @@
|
|||||||
|
bits 32
|
||||||
|
|
||||||
|
db 0x66
|
||||||
|
pusha
|
||||||
|
pushad
|
||||||
|
db 0x66
|
||||||
|
popa
|
||||||
|
popad
|
||||||
|
|
||||||
|
db 0x26, 0x82, 0xc0, 0xe4 ; add al, 0xe4
|
||||||
|
db 0x26, 0x0f, 0x05 ; syscall - even though SDM states it's invalid, it works in 32 bit
|
||||||
|
db 0x26, 0x0f, 0x07 ; sysret - even though SDM states it's invalid, it works in 32 bit
|
||||||
|
|
||||||
|
db 0xf3, 0x66, 0x0f, 0xc7, 0xf8 ; rdpid eax - reg is 32 bit in 16/32 bit mode, 64 bit in 64 bit mode
|
||||||
|
|
||||||
|
db 0xf3, 0x0f, 0x1b, 0x05, 0xa4, 0x27, 0x4e, 0x6d ; bndmk bnd0, [0x6d4e27a4] - Works on 32, #UD in 64 bit mode if RIP relative.
|
||||||
|
|
||||||
|
db 0xc4, 0xe1, 0x3a, 0x10, 0xca ; vmovss xmm1, xmm0, xmm2 - bit 3 of vex.vvvv is ingored in 32 bit mode.
|
||||||
|
|
@ -0,0 +1,173 @@
|
|||||||
|
0000000000000000 6660 PUSHA
|
||||||
|
DSIZE: 16, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: I386, Ins cat: PUSH, CET tracked: no
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: no
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: General Purpose, RegSize: 2, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: -W, Type: Memory, Size: 16, RawSize: 16, Encoding: S, Stack: yes,
|
||||||
|
Segment: 2, Base: 4,
|
||||||
|
|
||||||
|
0000000000000002 60 PUSHAD
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: I386, Ins cat: PUSH, CET tracked: no
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: no
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Bank, Size: -1, RawSize: -1, Encoding: S
|
||||||
|
Operand: 1, Acc: -W, Type: Memory, Size: 32, RawSize: 32, Encoding: S, Stack: yes,
|
||||||
|
Segment: 2, Base: 4,
|
||||||
|
|
||||||
|
0000000000000003 6661 POPA
|
||||||
|
DSIZE: 16, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: I386, Ins cat: POP, CET tracked: no
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: no
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 2, RawSize: 2, Encoding: S, RegType: General Purpose, RegSize: 2, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Memory, Size: 16, RawSize: 16, Encoding: S, Stack: yes,
|
||||||
|
Segment: 2, Base: 4,
|
||||||
|
|
||||||
|
0000000000000005 61 POPAD
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: I386, Ins cat: POP, CET tracked: no
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: no
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Bank, Size: -1, RawSize: -1, Encoding: S
|
||||||
|
Operand: 1, Acc: R-, Type: Memory, Size: 32, RawSize: 32, Encoding: S, Stack: yes,
|
||||||
|
Segment: 2, Base: 4,
|
||||||
|
|
||||||
|
0000000000000006 2682c0e4 ADD al, 0xe4
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: I86, Ins cat: ARITH, CET tracked: no
|
||||||
|
FLAGS access
|
||||||
|
CF: m, PF: m, AF: m, ZF: m, SF: m, OF: m,
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: no
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: yes
|
||||||
|
HLE: yes, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: RW, Type: Register, Size: 1, RawSize: 1, Encoding: M, RegType: General Purpose, RegSize: 1, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Immediate, Size: 1, RawSize: 1, Encoding: I
|
||||||
|
Operand: 2, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
000000000000000A 260f05 SYSCALL
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: AMD, Ins cat: SYSCALL, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 11
|
||||||
|
FLAGS access
|
||||||
|
Entire register
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: no, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Model Specific, RegSize: 8, RegId: -1073741695, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Model Specific, RegSize: 8, RegId: -1073741694, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Model Specific, RegSize: 8, RegId: -1073741692, RegCount: 1
|
||||||
|
Operand: 3, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 2, RegCount: 1
|
||||||
|
Operand: 4, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: General Purpose, RegSize: 8, RegId: 1, RegCount: 1
|
||||||
|
Operand: 5, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: General Purpose, RegSize: 8, RegId: 11, RegCount: 1
|
||||||
|
Operand: 6, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1
|
||||||
|
Operand: 7, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
Operand: 8, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
Operand: 9, Acc: RW, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: SSP, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
000000000000000D 260f07 SYSRET
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: AMD, Ins cat: SYSRET, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 11
|
||||||
|
FLAGS access
|
||||||
|
Entire register
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: no, R2: no, R3: no
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: no, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Model Specific, RegSize: 8, RegId: -1073741695, RegCount: 1
|
||||||
|
Operand: 1, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 2, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: General Purpose, RegSize: 4, RegId: 1, RegCount: 1
|
||||||
|
Operand: 3, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: General Purpose, RegSize: 8, RegId: 11, RegCount: 1
|
||||||
|
Operand: 4, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Segment, RegSize: 4, RegId: 1, RegCount: 1
|
||||||
|
Operand: 5, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: IP, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
Operand: 6, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: Flags, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
Operand: 7, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: SSP, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
0000000000000010 f3660fc7f8 RDPID eax
|
||||||
|
DSIZE: 16, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: RDPID, Ins cat: RDPID, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ecx, bit: 22
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: Model Specific, RegSize: 8, RegId: -1073741565, RegCount: 1
|
||||||
|
|
||||||
|
0000000000000015 f30f1b05a4274e6d BNDMK bnd0, dword ptr [0x6d4e27a4]
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: -
|
||||||
|
ISA Set: MPX, Ins cat: MPX, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ebx, bit: 14
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 8, RawSize: 8, Encoding: R, RegType: Bound, RegSize: 8, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Memory, Size: 4, RawSize: 4, Encoding: M,
|
||||||
|
Segment: 3, Displacement: 0x000000006d4e27a4,
|
||||||
|
|
||||||
|
000000000000001D c4e13a10ca VMOVSS xmm1, xmm0, xmm2
|
||||||
|
DSIZE: 32, ASIZE: 32, VLEN: 128
|
||||||
|
ISA Set: AVX, Ins cat: DATAXFER, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000001, reg: ecx, bit: 28
|
||||||
|
Exception class: SSE/VEX, exception type: 5
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: V, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 4, RawSize: 4, Encoding: M, RegType: Vector, RegSize: 16, RegId: 2, RegCount: 1
|
||||||
|
|
Binary file not shown.
@ -0,0 +1,13 @@
|
|||||||
|
bits 64
|
||||||
|
|
||||||
|
db 0x66, 0x26, 0xc7, 0xf8, 0xff, 0x7f ; xbegin 0x800000000002d877
|
||||||
|
db 0x26, 0xc7, 0xf8, 0x00, 0x00, 0x00, 0x00 ; xbegin 0x8000000000025b1a
|
||||||
|
db 0x66, 0x0f, 0x01, 0xd9 ; vmmcall
|
||||||
|
db 0x67, 0x48, 0x0f, 0x1a, 0x44, 0x25, 0x7f ; bndldx bnd0, [rbp+0x7f]
|
||||||
|
db 0x26, 0x48, 0x0f, 0xae, 0x04, 0x48 ; fxsave64 [rax+rcx*2]
|
||||||
|
db 0x26, 0x48, 0x0f, 0xae, 0x0c, 0x48 ; fxrstor64 [rax+rcx*2]
|
||||||
|
db 0x26, 0xc4, 0xe3, 0x71, 0x48, 0xc2, 0x30 ; vpermil2ps xmm0, xmm1, xmm2, xmm3, 0x0
|
||||||
|
db 0x26, 0xc4, 0xe3, 0x71, 0x49, 0xc2, 0x30 ; vpermil2pd xmm0, xmm1, xmm2, xmm3, 0x0
|
||||||
|
db 0xc4, 0xe3, 0x69, 0x4a, 0xcb, 0x08 ; vblendvps xmm1, xmm2, xmm3, xmm0
|
||||||
|
db 0xc4, 0xe3, 0x69, 0x68, 0xcb, 0x08 ; vfmaddps xmm1, xmm2, xmm3, xmm0
|
||||||
|
db 0x62, 0xf2, 0x7d, 0x09, 0xa0, 0x04, 0x40 ; vpscatterdd dword ptr [rax+xmm0*2], k1, xmm0
|
@ -0,0 +1,187 @@
|
|||||||
|
0000000000000000 6626c7f8ff7f XBEGIN 0x8005
|
||||||
|
DSIZE: 16, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: TSX, Ins cat: COND_BR, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ebx, bit: 11
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Offset, Size: 2, RawSize: 2, Encoding: D
|
||||||
|
Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1
|
||||||
|
Operand: 2, Acc: --, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
0000000000000006 26c7f800000000 XBEGIN 0xd
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: TSX, Ins cat: COND_BR, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ebx, bit: 11
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Offset, Size: 4, RawSize: 4, Encoding: D
|
||||||
|
Operand: 1, Acc: RW, Type: Register, Size: 8, RawSize: 8, Encoding: S, RegType: IP, RegSize: 8, RegId: 0, RegCount: 1
|
||||||
|
Operand: 2, Acc: --, Type: Register, Size: 4, RawSize: 4, Encoding: S, RegType: General Purpose, RegSize: 4, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
000000000000000D 660f01d9 VMMCALL
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: SVM, Ins cat: SYSTEM, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 2
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
|
||||||
|
0000000000000011 67480f1a44257f BNDLDX bnd0, [rbp+0x7f]
|
||||||
|
DSIZE: 64, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: MPX, Ins cat: MPX, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ebx, bit: 14
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Bound, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Memory, Size: 0, RawSize: 0, Encoding: M, Address Generator: yes, MIB Addressing: yes,
|
||||||
|
Base: 5, Displacement: 0x000000000000007f,
|
||||||
|
|
||||||
|
0000000000000018 26480fae0448 FXSAVE64 [rax+rcx*2]
|
||||||
|
DSIZE: 64, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: FXSAVE, Ins cat: SSE, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000001, reg: edx, bit: 24
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Memory, Size: 512, RawSize: 512, Encoding: M,
|
||||||
|
Segment: 3, Base: 0, Index: 1 * 2,
|
||||||
|
Operand: 1, Acc: R-, Type: Bank, Size: -1, RawSize: -1, Encoding: S
|
||||||
|
|
||||||
|
000000000000001E 26480fae0c48 FXRSTOR64 [rax+rcx*2]
|
||||||
|
DSIZE: 64, ASIZE: 64, VLEN: -
|
||||||
|
ISA Set: FXSAVE, Ins cat: SSE, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000001, reg: edx, bit: 24
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: yes, V8086: yes, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: R-, Type: Memory, Size: 512, RawSize: 512, Encoding: M,
|
||||||
|
Segment: 3, Base: 0, Index: 1 * 2,
|
||||||
|
Operand: 1, Acc: -W, Type: Bank, Size: -1, RawSize: -1, Encoding: S
|
||||||
|
|
||||||
|
0000000000000024 26c4e37148c230 VPERMIL2PS xmm0, xmm1, xmm2, xmm3, 0x00
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||||
|
ISA Set: XOP, Ins cat: XOP, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 11
|
||||||
|
Exception class: SSE/VEX, exception type: 4
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: V, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: M, RegType: Vector, RegSize: 16, RegId: 2, RegCount: 1
|
||||||
|
Operand: 3, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: L, RegType: Vector, RegSize: 16, RegId: 3, RegCount: 1
|
||||||
|
Operand: 4, Acc: R-, Type: Immediate, Size: 1, RawSize: 1, Encoding: L
|
||||||
|
|
||||||
|
000000000000002B 26c4e37149c230 VPERMIL2PD xmm0, xmm1, xmm2, xmm3, 0x00
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||||
|
ISA Set: XOP, Ins cat: XOP, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 11
|
||||||
|
Exception class: SSE/VEX, exception type: 4
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: V, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: M, RegType: Vector, RegSize: 16, RegId: 2, RegCount: 1
|
||||||
|
Operand: 3, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: L, RegType: Vector, RegSize: 16, RegId: 3, RegCount: 1
|
||||||
|
Operand: 4, Acc: R-, Type: Immediate, Size: 1, RawSize: 1, Encoding: L
|
||||||
|
|
||||||
|
0000000000000032 c4e3694acb08 VBLENDVPS xmm1, xmm2, xmm3, xmm0
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||||
|
ISA Set: AVX, Ins cat: AVX, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000001, reg: ecx, bit: 28
|
||||||
|
Exception class: SSE/VEX, exception type: 4
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: V, RegType: Vector, RegSize: 16, RegId: 2, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: M, RegType: Vector, RegSize: 16, RegId: 3, RegCount: 1
|
||||||
|
Operand: 3, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: L, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
0000000000000038 c4e36968cb08 VFMADDPS xmm1, xmm2, xmm3, xmm0
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||||
|
ISA Set: FMA4, Ins cat: FMA4, CET tracked: no
|
||||||
|
CPUID leaf: 0x80000001, reg: ecx, bit: 16
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 1, RegCount: 1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: V, RegType: Vector, RegSize: 16, RegId: 2, RegCount: 1
|
||||||
|
Operand: 2, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: M, RegType: Vector, RegSize: 16, RegId: 3, RegCount: 1
|
||||||
|
Operand: 3, Acc: R-, Type: Register, Size: 16, RawSize: 16, Encoding: L, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
|
||||||
|
000000000000003E 62f27d09a00440 VPSCATTERDD dword ptr [rax+xmm0*2]{k1}, xmm0
|
||||||
|
DSIZE: 32, ASIZE: 64, VLEN: 128
|
||||||
|
ISA Set: AVX512F, Ins cat: SCATTER, CET tracked: no
|
||||||
|
CPUID leaf: 0x00000007, sub-leaf: 0x00000000, reg: ebx, bit: 16
|
||||||
|
EVEX Tuple Type: Tuple 1 Scalar
|
||||||
|
Exception class: EVEX, exception type: E12
|
||||||
|
Valid modes
|
||||||
|
R0: yes, R1: yes, R2: yes, R3: yes
|
||||||
|
Real: no, V8086: no, Prot: yes, Compat: yes, Long: yes
|
||||||
|
SMM: yes, SGX: yes, TSX: yes, VMXRoot: yes, VMXNonRoot: yes
|
||||||
|
Valid prefixes
|
||||||
|
REP: no, REPcc: no, LOCK: no
|
||||||
|
HLE: no, XACQUIRE only: no, XRELEASE only: no
|
||||||
|
BND: no, BHINT: no, DNT: no
|
||||||
|
Operand: 0, Acc: -W, Type: Memory, Size: 16, RawSize: 16, Encoding: M, VSIB Addressing: yes,
|
||||||
|
Segment: 3, Base: 0, Index: 0 * 2,
|
||||||
|
VSIB index size: 4, VSIB element size: 4, VSIB element count: 4
|
||||||
|
Decorator: Mask k1
|
||||||
|
Operand: 1, Acc: R-, Type: Register, Size: 8, RawSize: 8, Encoding: A, RegType: Mask, RegSize: 8, RegId: 1, RegCount: 1
|
||||||
|
Operand: 2, Acc: RW, Type: Register, Size: 16, RawSize: 16, Encoding: R, RegType: Vector, RegSize: 16, RegId: 0, RegCount: 1
|
||||||
|
|
Loading…
Reference in new issue