diff options
Diffstat (limited to 'tests/test-i386.c')
-rw-r--r-- | tests/test-i386.c | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/tests/test-i386.c b/tests/test-i386.c index 821b79b65d..0718f5a0e5 100644 --- a/tests/test-i386.c +++ b/tests/test-i386.c @@ -33,6 +33,7 @@ #define TEST_CMOV 0 #define TEST_FCOMI 0 //#define LINUX_VM86_IOPL_FIX +//#define TEST_P4_FLAGS #define xglue(x, y) x ## y #define glue(x, y) xglue(x, y) @@ -352,7 +353,11 @@ void test_jcc(void) } #undef CC_MASK +#ifdef TEST_P4_FLAGS +#define CC_MASK (CC_C | CC_P | CC_Z | CC_S | CC_O | CC_A) +#else #define CC_MASK (CC_O | CC_C) +#endif #define OP mul #include "test-i386-muldiv.h" @@ -360,15 +365,6 @@ void test_jcc(void) #define OP imul #include "test-i386-muldiv.h" -#undef CC_MASK -#define CC_MASK (0) - -#define OP div -#include "test-i386-muldiv.h" - -#define OP idiv -#include "test-i386-muldiv.h" - void test_imulw2(int op0, int op1) { int res, s1, s0, flags; @@ -405,6 +401,15 @@ void test_imull2(int op0, int op1) "imull", s0, s1, res, flags & CC_MASK); } +#undef CC_MASK +#define CC_MASK (0) + +#define OP div +#include "test-i386-muldiv.h" + +#define OP idiv +#include "test-i386-muldiv.h" + void test_mul(void) { test_imulb(0x1234561d, 4); |