aboutsummaryrefslogtreecommitdiff
path: root/tests/test-i386.c
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-04 01:14:13 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2003-03-04 01:14:13 +0000
commitd57c4e01206ebc8b21702c243e7a19638f783b43 (patch)
tree6dff6ab33996f766a8917835fed0c4f57d98da02 /tests/test-i386.c
parent4b74fe1f0013c622693b26141c0ed031a284a45a (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.c33
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;
}