diff options
author | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-03-04 01:14:13 +0000 |
---|---|---|
committer | bellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162> | 2003-03-04 01:14:13 +0000 |
commit | d57c4e01206ebc8b21702c243e7a19638f783b43 (patch) | |
tree | 6dff6ab33996f766a8917835fed0c4f57d98da02 /tests/test-i386.c | |
parent | 4b74fe1f0013c622693b26141c0ed031a284a45a (diff) |
added shiftd support - improved auto test
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@20 c046a42c-6fe2-441c-8c8c-71466251a162
Diffstat (limited to 'tests/test-i386.c')
-rw-r--r-- | tests/test-i386.c | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/tests/test-i386.c b/tests/test-i386.c index 55dd9eb2c7..b3438ebbf9 100644 --- a/tests/test-i386.c +++ b/tests/test-i386.c @@ -92,6 +92,35 @@ static void *call_start __init_call = NULL; #define OP_CC #include "test-i386-shift.h" +#define OP shld +#define OP_SHIFTD +#define OP_NOBYTE +#include "test-i386-shift.h" + +#define OP shrd +#define OP_SHIFTD +#define OP_NOBYTE +#include "test-i386-shift.h" + +/* XXX: should be more precise ? */ +#undef CC_MASK +#define CC_MASK (CC_C) + +#define OP bt +#define OP_NOBYTE +#include "test-i386-shift.h" + +#define OP bts +#define OP_NOBYTE +#include "test-i386-shift.h" + +#define OP btr +#define OP_NOBYTE +#include "test-i386-shift.h" + +#define OP btc +#define OP_NOBYTE +#include "test-i386-shift.h" /* lea test (modrm support) */ #define TEST_LEA(STR)\ @@ -403,15 +432,13 @@ int main(int argc, char **argv) void **ptr; void (*func)(void); - test_mul(); -#if 0 ptr = &call_start + 1; while (*ptr != NULL) { func = *ptr++; func(); } + test_mul(); test_jcc(); test_lea(); -#endif return 0; } |