From d2b4f6beefcb719554ddf92bb9ad8acd195bdec2 Mon Sep 17 00:00:00 2001 From: Julian Seward Date: Sun, 17 Dec 2006 14:24:05 +0000 Subject: [PATCH] Make this compilable again. git-svn-id: svn://svn.valgrind.org/vex/trunk@1687 --- VEX/test/test-i386.c | 18 ++++++++------- VEX/test/test-i386.h | 55 ++++++++++++++++++++++++++++++++++---------- 2 files changed, 53 insertions(+), 20 deletions(-) diff --git a/VEX/test/test-i386.c b/VEX/test/test-i386.c index bd08a7097e..cd47930297 100644 --- a/VEX/test/test-i386.c +++ b/VEX/test/test-i386.c @@ -32,7 +32,7 @@ /* Setting this to 1 creates a very comprehensive test of integer condition codes. */ -#define TEST_INTEGER_VERBOSE 0 +#define TEST_INTEGER_VERBOSE 1 //#define LINUX_VM86_IOPL_FIX @@ -261,12 +261,12 @@ void test_lea(void) : "=r" (res)\ : "r" (v1), "r" (v2));\ printf("%-10s %d\n", "set" JCC, res);\ - {\ + { int one = 1; \ asm("movl $0x12345678, %0\n\t"\ "cmpl %2, %1\n\t"\ "cmov" JCC "l %3, %0\n\t"\ : "=r" (res)\ - : "r" (v1), "r" (v2), "m" (1));\ + : "r" (v1), "r" (v2), "m" (one));\ printf("%-10s R=0x%08x\n", "cmov" JCC "l", res);\ asm("movl $0x12345678, %0\n\t"\ "cmpl %2, %1\n\t"\ @@ -506,11 +506,12 @@ void test_mul(void) {\ int res, val, resz;\ val = op0;\ - asm("xorl %1, %1\n"\ - "movl $0x12345678, %0\n"\ - #op " %" size "2, %" size "0 ; setz %b1" \ + asm("xorl %1, %1\n\t"\ + "movl $0x12345678, %0\n\t"\ + #op " %" size "2, %" size "0\n\t" \ + "setz %b1" \ : "=r" (res), "=q" (resz)\ - : "g" (val));\ + : "r" (val));\ printf("%-10s A=%08x R=%08x %d\n", #op, val, res, resz);\ } @@ -594,7 +595,8 @@ void test_fcvt(double a) /* test all roundings */ asm volatile ("fstcw %0" : "=m" (fpuc)); for(i=0;i<4;i++) { - asm volatile ("fldcw %0" : : "m" ((fpuc & ~0x0c00) | (i << 10))); + int16_t tmp = (fpuc & ~0x0c00) | (i << 10); + asm volatile ("fldcw %0" : : "m" (tmp)); asm volatile ("fist %0" : "=m" (wa) : "t" (a)); asm volatile ("fistl %0" : "=m" (ia) : "t" (a)); asm volatile ("fistpll %0" : "=m" (lla) : "t" (a) : "st"); diff --git a/VEX/test/test-i386.h b/VEX/test/test-i386.h index 8fbadcd995..4ea12a3e39 100644 --- a/VEX/test/test-i386.h +++ b/VEX/test/test-i386.h @@ -1,4 +1,6 @@ +#define FULLTXT 1 + #define exec_op glue(exec_, OP) #define exec_opl glue(glue(exec_, OP), l) #define exec_opw glue(glue(exec_, OP), w) @@ -29,8 +31,13 @@ inline void exec_opl(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP1("", res, flags); - printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "l", s0, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "l", s0, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); + } inline void exec_opw(int s0, int s1, int iflags) { @@ -38,8 +45,13 @@ inline void exec_opw(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP1("w", res, flags); - printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "w", s0, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "w", s0, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); + } inline void exec_opb(int s0, int s1, int iflags) { @@ -47,8 +59,13 @@ inline void exec_opb(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP1("b", res, flags); - printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "b", s0, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "b", s0, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); + } #else inline void exec_opl(int s0, int s1, int iflags) @@ -57,8 +74,12 @@ inline void exec_opl(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP2("", res, s1, flags); - printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "l", s0, s1, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "l", s0, s1, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); } inline void exec_opw(int s0, int s1, int iflags) @@ -67,8 +88,12 @@ inline void exec_opw(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP2("w", res, s1, flags); - printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "w", s0, s1, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "w", s0, s1, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); } inline void exec_opb(int s0, int s1, int iflags) @@ -77,8 +102,12 @@ inline void exec_opb(int s0, int s1, int iflags) res = s0; flags = iflags; EXECOP2("b", res, s1, flags); - printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", - stringify(OP) "b", s0, s1, res, iflags, flags & CC_MASK); + if (FULLTXT) + printf("%-6s A=%08x B=%08x R=%08x CCIN=%04x CC=%04x\n", + stringify(OP) "b", s0, s1, res, iflags, flags & CC_MASK); + else + printf("%08x %04x %04x\n", + res, iflags, flags & CC_MASK); } #endif @@ -177,3 +206,5 @@ void *glue(_test_, OP) __init_call = glue(test_, OP); #undef OP #undef OP_CC + +#undef FULLTXT -- 2.47.2