From: Michael Meissner Date: Tue, 28 Apr 2009 19:13:03 +0000 (+0000) Subject: Backport fix for 39769 X-Git-Tag: releases/gcc-4.3.4~201 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=7520b8d45547a600ce5a0bcbe25bb7353a4b0977;p=thirdparty%2Fgcc.git Backport fix for 39769 From-SVN: r146909 --- diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d4aa8fc5c469..597127d56a82 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,12 @@ +2009-04-28 Michael Meissner + + Backport from mainline: + PR testsuite/39769 + * gcc.dg/vmx/3a-04.c (test): Don't rely on floating point equality + for testing the results of estimate instructions. + * gcc.dg/vmx/3a-04m.c (test): Ditto. + * gcc.dg/vmx/3a-05.c (test): Ditto. + 2009-04-27 Richard Guenther Backport from mainline diff --git a/gcc/testsuite/gcc.dg/vmx/3a-04.c b/gcc/testsuite/gcc.dg/vmx/3a-04.c index f6657084cc53..a04497bede99 100644 --- a/gcc/testsuite/gcc.dg/vmx/3a-04.c +++ b/gcc/testsuite/gcc.dg/vmx/3a-04.c @@ -10,9 +10,13 @@ f(vector float a, vector float b, vector float c) static void test() { - check(vec_all_eq(f(((vector float){2,3,5,7}), + check(vec_all_gt(f(((vector float){2,3,5,7}), ((vector float){11,13,17,19}), ((vector float){23,29,31,37})), - ((vector float){23.1818085, 29.2307587, 32.2940826, 128.368393})), + ((vector float){23.18, 29.23, 32.29, 128.36})) + && vec_all_lt(f(((vector float){2,3,5,7}), + ((vector float){11,13,17,19}), + ((vector float){23,29,31,37})), + ((vector float){23.19, 29.24, 32.30, 128.37})), "f"); } diff --git a/gcc/testsuite/gcc.dg/vmx/3a-04m.c b/gcc/testsuite/gcc.dg/vmx/3a-04m.c index e394e9b8bd9a..b6e273bcc9fc 100644 --- a/gcc/testsuite/gcc.dg/vmx/3a-04m.c +++ b/gcc/testsuite/gcc.dg/vmx/3a-04m.c @@ -10,9 +10,13 @@ f(vector float a, vector float b, vector float c) static void test() { - check(vec_all_eq(f(((vector float){2,3,5,7}), + check(vec_all_gt(f(((vector float){2,3,5,7}), ((vector float){11,13,17,19}), ((vector float){23,29,31,37})), - ((vector float){23.1818085, 29.2307587, 32.2940826, 128.368393})), + ((vector float){23.18, 29.23, 32.29, 128.36})) + && vec_all_lt(f(((vector float){2,3,5,7}), + ((vector float){11,13,17,19}), + ((vector float){23,29,31,37})), + ((vector float){23.19, 29.24, 32.30, 128.37})), "f"); } diff --git a/gcc/testsuite/gcc.dg/vmx/3a-05.c b/gcc/testsuite/gcc.dg/vmx/3a-05.c index 55e0ed8e0c21..8d6ba5eab414 100644 --- a/gcc/testsuite/gcc.dg/vmx/3a-05.c +++ b/gcc/testsuite/gcc.dg/vmx/3a-05.c @@ -14,9 +14,13 @@ f(vector float a, vector float b, vector float c) static void test() { - check(vec_all_eq(f(((vector float){2,3,5,7}), + check(vec_all_gt(f(((vector float){2,3,5,7}), ((vector float){11,13,17,19}), ((vector float){23,29,31,37})), - ((vector float){16.9092026, 18.7693329, -2.8233242, -92.9472198})), - "f"); + ((vector float){16.90, 18.76, -2.83, -92.95})) + && vec_all_lt(f(((vector float){2,3,5,7}), + ((vector float){11,13,17,19}), + ((vector float){23,29,31,37})), + ((vector float){16.91, 18.77, -2.82, -92.94})), + "f"); }