From: Julian Seward Date: Sat, 19 Nov 2005 22:14:45 +0000 (+0000) Subject: Don't test division by zero; 7400 doesn't do what 970/7447 do. X-Git-Tag: svn/VALGRIND_3_1_0~18 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1f3445bab29fcc54ff5a4bd53f27f7f7a4d4f088;p=thirdparty%2Fvalgrind.git Don't test division by zero; 7400 doesn't do what 970/7447 do. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@5214 --- diff --git a/none/tests/ppc32/jm-insns.c b/none/tests/ppc32/jm-insns.c index 276f179c38..1bfe838c47 100644 --- a/none/tests/ppc32/jm-insns.c +++ b/none/tests/ppc32/jm-insns.c @@ -4111,7 +4111,10 @@ static void test_int_two_args (const char* name, test_func_t func, uint32_t test_flags) { volatile uint32_t res, flags, xer, xer_orig, tmpcr, tmpxer; - int i, j; + int i, j, is_div; + + // catches div, divwu, divo, divwu, divwuo, and . variants + is_div = NULL != strstr(name, "divw"); xer_orig = 0x00000000; redo: @@ -4119,6 +4122,10 @@ static void test_int_two_args (const char* name, test_func_t func, for (j=0; j %08x (%08x %08x)\n", name, iargs[i], res, flags, xer); } - if (test_flags & PPC_XER_CA && xer_orig == 0x00000000) { + if ((test_flags & PPC_XER_CA) && xer_orig == 0x00000000) { xer_orig = 0x20000000; goto redo; } diff --git a/none/tests/ppc32/jm-insns.stdout.exp b/none/tests/ppc32/jm-insns.stdout.exp index 94ea60e86e..14b6f7c973 100644 --- a/none/tests/ppc32/jm-insns.stdout.exp +++ b/none/tests/ppc32/jm-insns.stdout.exp @@ -39,43 +39,31 @@ PPC integer arith insns with two args: addco ffffffff, 000f423f => 000f423e (00000000 20000000) addco ffffffff, ffffffff => fffffffe (00000000 20000000) - divw 00000000, 00000000 => 00000000 (00000000 00000000) divw 00000000, 000f423f => 00000000 (00000000 00000000) divw 00000000, ffffffff => 00000000 (00000000 00000000) - divw 000f423f, 00000000 => 00000000 (00000000 00000000) divw 000f423f, 000f423f => 00000001 (00000000 00000000) divw 000f423f, ffffffff => fff0bdc1 (00000000 00000000) - divw ffffffff, 00000000 => 00000000 (00000000 00000000) divw ffffffff, 000f423f => 00000000 (00000000 00000000) divw ffffffff, ffffffff => 00000001 (00000000 00000000) - divwo 00000000, 00000000 => 00000000 (00000000 c0000000) divwo 00000000, 000f423f => 00000000 (00000000 00000000) divwo 00000000, ffffffff => 00000000 (00000000 00000000) - divwo 000f423f, 00000000 => 00000000 (00000000 c0000000) divwo 000f423f, 000f423f => 00000001 (00000000 00000000) divwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000) - divwo ffffffff, 00000000 => 00000000 (00000000 c0000000) divwo ffffffff, 000f423f => 00000000 (00000000 00000000) divwo ffffffff, ffffffff => 00000001 (00000000 00000000) - divwu 00000000, 00000000 => 00000000 (00000000 00000000) divwu 00000000, 000f423f => 00000000 (00000000 00000000) divwu 00000000, ffffffff => 00000000 (00000000 00000000) - divwu 000f423f, 00000000 => 00000000 (00000000 00000000) divwu 000f423f, 000f423f => 00000001 (00000000 00000000) divwu 000f423f, ffffffff => 00000000 (00000000 00000000) - divwu ffffffff, 00000000 => 00000000 (00000000 00000000) divwu ffffffff, 000f423f => 000010c6 (00000000 00000000) divwu ffffffff, ffffffff => 00000001 (00000000 00000000) - divwuo 00000000, 00000000 => 00000000 (00000000 c0000000) divwuo 00000000, 000f423f => 00000000 (00000000 00000000) divwuo 00000000, ffffffff => 00000000 (00000000 00000000) - divwuo 000f423f, 00000000 => 00000000 (00000000 c0000000) divwuo 000f423f, 000f423f => 00000001 (00000000 00000000) divwuo 000f423f, ffffffff => 00000000 (00000000 00000000) - divwuo ffffffff, 00000000 => 00000000 (00000000 c0000000) divwuo ffffffff, 000f423f => 000010c6 (00000000 00000000) divwuo ffffffff, ffffffff => 00000001 (00000000 00000000) @@ -200,43 +188,31 @@ PPC integer arith insns with two args with flags update: addco. ffffffff, 000f423f => 000f423e (40000000 20000000) addco. ffffffff, ffffffff => fffffffe (80000000 20000000) - divw. 00000000, 00000000 => 00000000 (20000000 00000000) divw. 00000000, 000f423f => 00000000 (20000000 00000000) divw. 00000000, ffffffff => 00000000 (20000000 00000000) - divw. 000f423f, 00000000 => 00000000 (20000000 00000000) divw. 000f423f, 000f423f => 00000001 (40000000 00000000) divw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000) - divw. ffffffff, 00000000 => 00000000 (20000000 00000000) divw. ffffffff, 000f423f => 00000000 (20000000 00000000) divw. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwo. 00000000, 00000000 => 00000000 (30000000 c0000000) divwo. 00000000, 000f423f => 00000000 (20000000 00000000) divwo. 00000000, ffffffff => 00000000 (20000000 00000000) - divwo. 000f423f, 00000000 => 00000000 (30000000 c0000000) divwo. 000f423f, 000f423f => 00000001 (40000000 00000000) divwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000) - divwo. ffffffff, 00000000 => 00000000 (30000000 c0000000) divwo. ffffffff, 000f423f => 00000000 (20000000 00000000) divwo. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwu. 00000000, 00000000 => 00000000 (20000000 00000000) divwu. 00000000, 000f423f => 00000000 (20000000 00000000) divwu. 00000000, ffffffff => 00000000 (20000000 00000000) - divwu. 000f423f, 00000000 => 00000000 (20000000 00000000) divwu. 000f423f, 000f423f => 00000001 (40000000 00000000) divwu. 000f423f, ffffffff => 00000000 (20000000 00000000) - divwu. ffffffff, 00000000 => 00000000 (20000000 00000000) divwu. ffffffff, 000f423f => 000010c6 (40000000 00000000) divwu. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwuo. 00000000, 00000000 => 00000000 (30000000 c0000000) divwuo. 00000000, 000f423f => 00000000 (20000000 00000000) divwuo. 00000000, ffffffff => 00000000 (20000000 00000000) - divwuo. 000f423f, 00000000 => 00000000 (30000000 c0000000) divwuo. 000f423f, 000f423f => 00000001 (40000000 00000000) divwuo. 000f423f, ffffffff => 00000000 (20000000 00000000) - divwuo. ffffffff, 00000000 => 00000000 (30000000 c0000000) divwuo. ffffffff, 000f423f => 000010c6 (40000000 00000000) divwuo. ffffffff, ffffffff => 00000001 (40000000 00000000) diff --git a/none/tests/ppc32/jm-vmx.stdout.exp b/none/tests/ppc32/jm-vmx.stdout.exp index b6a1d8a90c..805abcdd10 100644 --- a/none/tests/ppc32/jm-vmx.stdout.exp +++ b/none/tests/ppc32/jm-vmx.stdout.exp @@ -39,43 +39,31 @@ PPC integer arith insns with two args: addco ffffffff, 000f423f => 000f423e (00000000 20000000) addco ffffffff, ffffffff => fffffffe (00000000 20000000) - divw 00000000, 00000000 => 00000000 (00000000 00000000) divw 00000000, 000f423f => 00000000 (00000000 00000000) divw 00000000, ffffffff => 00000000 (00000000 00000000) - divw 000f423f, 00000000 => 00000000 (00000000 00000000) divw 000f423f, 000f423f => 00000001 (00000000 00000000) divw 000f423f, ffffffff => fff0bdc1 (00000000 00000000) - divw ffffffff, 00000000 => 00000000 (00000000 00000000) divw ffffffff, 000f423f => 00000000 (00000000 00000000) divw ffffffff, ffffffff => 00000001 (00000000 00000000) - divwo 00000000, 00000000 => 00000000 (00000000 c0000000) divwo 00000000, 000f423f => 00000000 (00000000 00000000) divwo 00000000, ffffffff => 00000000 (00000000 00000000) - divwo 000f423f, 00000000 => 00000000 (00000000 c0000000) divwo 000f423f, 000f423f => 00000001 (00000000 00000000) divwo 000f423f, ffffffff => fff0bdc1 (00000000 00000000) - divwo ffffffff, 00000000 => 00000000 (00000000 c0000000) divwo ffffffff, 000f423f => 00000000 (00000000 00000000) divwo ffffffff, ffffffff => 00000001 (00000000 00000000) - divwu 00000000, 00000000 => 00000000 (00000000 00000000) divwu 00000000, 000f423f => 00000000 (00000000 00000000) divwu 00000000, ffffffff => 00000000 (00000000 00000000) - divwu 000f423f, 00000000 => 00000000 (00000000 00000000) divwu 000f423f, 000f423f => 00000001 (00000000 00000000) divwu 000f423f, ffffffff => 00000000 (00000000 00000000) - divwu ffffffff, 00000000 => 00000000 (00000000 00000000) divwu ffffffff, 000f423f => 000010c6 (00000000 00000000) divwu ffffffff, ffffffff => 00000001 (00000000 00000000) - divwuo 00000000, 00000000 => 00000000 (00000000 c0000000) divwuo 00000000, 000f423f => 00000000 (00000000 00000000) divwuo 00000000, ffffffff => 00000000 (00000000 00000000) - divwuo 000f423f, 00000000 => 00000000 (00000000 c0000000) divwuo 000f423f, 000f423f => 00000001 (00000000 00000000) divwuo 000f423f, ffffffff => 00000000 (00000000 00000000) - divwuo ffffffff, 00000000 => 00000000 (00000000 c0000000) divwuo ffffffff, 000f423f => 000010c6 (00000000 00000000) divwuo ffffffff, ffffffff => 00000001 (00000000 00000000) @@ -200,43 +188,31 @@ PPC integer arith insns with two args with flags update: addco. ffffffff, 000f423f => 000f423e (40000000 20000000) addco. ffffffff, ffffffff => fffffffe (80000000 20000000) - divw. 00000000, 00000000 => 00000000 (20000000 00000000) divw. 00000000, 000f423f => 00000000 (20000000 00000000) divw. 00000000, ffffffff => 00000000 (20000000 00000000) - divw. 000f423f, 00000000 => 00000000 (20000000 00000000) divw. 000f423f, 000f423f => 00000001 (40000000 00000000) divw. 000f423f, ffffffff => fff0bdc1 (80000000 00000000) - divw. ffffffff, 00000000 => 00000000 (20000000 00000000) divw. ffffffff, 000f423f => 00000000 (20000000 00000000) divw. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwo. 00000000, 00000000 => 00000000 (30000000 c0000000) divwo. 00000000, 000f423f => 00000000 (20000000 00000000) divwo. 00000000, ffffffff => 00000000 (20000000 00000000) - divwo. 000f423f, 00000000 => 00000000 (30000000 c0000000) divwo. 000f423f, 000f423f => 00000001 (40000000 00000000) divwo. 000f423f, ffffffff => fff0bdc1 (80000000 00000000) - divwo. ffffffff, 00000000 => 00000000 (30000000 c0000000) divwo. ffffffff, 000f423f => 00000000 (20000000 00000000) divwo. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwu. 00000000, 00000000 => 00000000 (20000000 00000000) divwu. 00000000, 000f423f => 00000000 (20000000 00000000) divwu. 00000000, ffffffff => 00000000 (20000000 00000000) - divwu. 000f423f, 00000000 => 00000000 (20000000 00000000) divwu. 000f423f, 000f423f => 00000001 (40000000 00000000) divwu. 000f423f, ffffffff => 00000000 (20000000 00000000) - divwu. ffffffff, 00000000 => 00000000 (20000000 00000000) divwu. ffffffff, 000f423f => 000010c6 (40000000 00000000) divwu. ffffffff, ffffffff => 00000001 (40000000 00000000) - divwuo. 00000000, 00000000 => 00000000 (30000000 c0000000) divwuo. 00000000, 000f423f => 00000000 (20000000 00000000) divwuo. 00000000, ffffffff => 00000000 (20000000 00000000) - divwuo. 000f423f, 00000000 => 00000000 (30000000 c0000000) divwuo. 000f423f, 000f423f => 00000001 (40000000 00000000) divwuo. 000f423f, ffffffff => 00000000 (20000000 00000000) - divwuo. ffffffff, 00000000 => 00000000 (30000000 c0000000) divwuo. ffffffff, 000f423f => 000010c6 (40000000 00000000) divwuo. ffffffff, ffffffff => 00000001 (40000000 00000000)