
March 8, 2003
3:26 a.m.
In the BINARY_ADD opcode, and in most arithmetic opcodes, there is a line that checks for overflow that looks like this: if ((i^a) < 0 && (i^b) < 0) goto slow_add; I got a small speedup by replacing this with a macro defined thusly: #if defined(_MSC_VER) and defined(_M_IX86) #define IF_OVERFLOW_GOTO(X) __asm { jo X }; #else #define IF_OVERFLOW_GOTO(X) if ((i^a) < 0 && (i^b) < 0) goto X; #endif Would this case be an acceptable use of snippets of inline assembler?