lazy flags with less computs

This commit is contained in:
Stanislav Shwartsman 2009-11-05 17:19:57 +00:00
parent 896457e437
commit 6b3ecd7a87

View File

@ -1,5 +1,5 @@
/////////////////////////////////////////////////////////////////////////
// $Id: lazy_flags.h,v 1.34 2009-01-16 18:18:58 sshwarts Exp $
// $Id: lazy_flags.h,v 1.35 2009-11-05 17:19:57 sshwarts Exp $
/////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2001 MandrakeSoft S.A.
@ -30,36 +30,38 @@
#define BX_LAZY_FLAGS_DEF
#define BX_LF_INSTR_ADD8 1
#define BX_LF_INSTR_ADD16 2
#define BX_LF_INSTR_ADD32 3
#define BX_LF_INSTR_ADD64 4
#define BX_LF_INSTR_ADC8 2
// used only if CF = 1 when executing ADC instruction
#define BX_LF_INSTR_ADC8 5
#define BX_LF_INSTR_ADC16 6
#define BX_LF_INSTR_ADC32 7
#define BX_LF_INSTR_ADD16 3
#define BX_LF_INSTR_ADC16 4
#define BX_LF_INSTR_ADD32 5
#define BX_LF_INSTR_ADC32 6
#define BX_LF_INSTR_ADD64 7
#define BX_LF_INSTR_ADC64 8
#define BX_LF_INSTR_ADD_ADC8(cf) (1 + ((cf)<<2))
#define BX_LF_INSTR_ADD_ADC16(cf) (2 + ((cf)<<2))
#define BX_LF_INSTR_ADD_ADC32(cf) (3 + ((cf)<<2))
#define BX_LF_INSTR_ADD_ADC64(cf) (4 + ((cf)<<2))
#define BX_LF_INSTR_ADD_ADC8(cf) (1 + (cf))
#define BX_LF_INSTR_ADD_ADC16(cf) (2 + (cf))
#define BX_LF_INSTR_ADD_ADC32(cf) (3 + (cf))
#define BX_LF_INSTR_ADD_ADC64(cf) (4 + (cf))
#define BX_LF_INSTR_SUB8 9
#define BX_LF_INSTR_SUB16 10
#define BX_LF_INSTR_SUB32 11
#define BX_LF_INSTR_SUB64 12
#define BX_LF_INSTR_SBB8 10
// used only if CF = 1 when executing SBB instruction
#define BX_LF_INSTR_SBB8 13
#define BX_LF_INSTR_SBB16 14
#define BX_LF_INSTR_SBB32 15
#define BX_LF_INSTR_SUB16 11
#define BX_LF_INSTR_SBB16 12
#define BX_LF_INSTR_SUB32 13
#define BX_LF_INSTR_SBB32 14
#define BX_LF_INSTR_SUB64 15
#define BX_LF_INSTR_SBB64 16
#define BX_LF_INSTR_SUB_SBB8(cf) (9 + ((cf)<<2))
#define BX_LF_INSTR_SUB_SBB16(cf) (10 + ((cf)<<2))
#define BX_LF_INSTR_SUB_SBB32(cf) (11 + ((cf)<<2))
#define BX_LF_INSTR_SUB_SBB64(cf) (12 + ((cf)<<2))
#define BX_LF_INSTR_SUB_SBB8(cf) (9 + (cf))
#define BX_LF_INSTR_SUB_SBB16(cf) (10 + (cf))
#define BX_LF_INSTR_SUB_SBB32(cf) (11 + (cf))
#define BX_LF_INSTR_SUB_SBB64(cf) (12 + (cf))
#define BX_LF_INSTR_INC8 17
#define BX_LF_INSTR_INC16 18