-
Notifications
You must be signed in to change notification settings - Fork 98
XTEST
Henk-Jan Lebbink edited this page Jun 6, 2018
·
16 revisions
XTEST — Test If In Transactional Execution
Opcode/Instruction | Op/ En | 64/32bit Mode Support | CPUID Feature Flag | Description |
NP 0F 01 D6 XTEST | A | V/V | HLE or RTM | Test if executing in a transactional region |
Op/En | Operand 1 | Operand2 | Operand3 | Operand4 |
A | NA | NA | NA | NA |
The XTEST instruction queries the transactional execution status. If the instruction executes inside a transactionally executing RTM region or a transactionally executing HLE region, then the ZF flag is cleared, else it is set.
IF (RTM_ACTIVE = 1 OR HLE_ACTIVE = 1)
THEN
ZF ← 0
ELSE
ZF ← 1
FI;
The ZF flag is cleared if the instruction is executed transactionally; otherwise it is set to 1. The CF, OF, SF, PF, and AF, flags are cleared.
XTEST:
int _xtest( void );
None
#UD CPUID.(EAX=7, ECX=0):EBX.HLE[bit 4] = 0 and CPUID.(EAX=7, ECX=0):EBX.RTM[bit 11] = 0. If LOCK prefix is used.
Source: Intel® Architecture Software Developer's Manual (May 2018)
Generated: 5-6-2018