XABORT

Aborto Transaccional

estableVMJITAOTinstruccion

Codificaciones

OpcodeInstruccionOp/En64 bitsCompat/LegacyDescripcion
C6 F8 ibXABORT imm8AValidoValidoCausa un RTM abortar si en ejecución RTM.

Codificacion de operandos

Cada modo es un valor de la columna Op/En de arriba. Dice en que campo de la instruccion codificada va cada operando, en el orden en que se escriben, y si la instruccion lo lee, lo escribe o ambas cosas.

A

  1. imm8byte inmediato que sigue a la instruccion

Coste medido

Cargando las mediciones de arch-data...

Descripción

XABORT obliga a un RTM abortar. Después de un aborto RTM, el procesador lógico reanudará la ejecución en la dirección descomposición computada a través de la instrucción XBEGIN más externa. El registro EAX se actualiza para reflejar una instrucción XABORT causada el aborto, y el argumento imm8 se proporcionará en los bits 31:24 de EAX.

Operación

XABORT
IF RTM_ACTIVE = 0

    THEN
          Treat as NOP;

    ELSE
          GOTO RTM_ABORT_PROCESSING;

FI;

(* For any RTM abort condition encountered during RTM execution *)
RTM_ABORT_PROCESSING:

    Restore architectural register state;
    Discard memory updates performed in transaction;
    Update EAX with status and XABORT argument;
    RTM_NEST_COUNT:= 0;
    RTM_ACTIVE:= 0;
    SUSLDTRK_ACTIVE := 0;
    IF 64-bit Mode

          THEN
                RIP:= fallbackRIP;

          ELSE
                EIP := fallbackEIP;

    FI;
END

Banderas afectadas

None.

Intel C/C++ compilador intrínseco

XABORT void _xabort( unsigned int);

SIMD coma flotante Excepciones

None.

Otras excepciones

#UDCPUID.07H.00H:EBX.RTM[11] = 0.

Si LOCK prefijo es usado.

Fuentes