From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: by sourceware.org (Postfix, from userid 1005) id E1D1F3851C0B; Wed, 7 Jul 2021 17:52:28 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org E1D1F3851C0B Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: Michael Meissner To: gcc-cvs@gcc.gnu.org Subject: [gcc(refs/users/meissner/heads/work059)] Fix vec-splati-runnable.c test. X-Act-Checkin: gcc X-Git-Author: Michael Meissner X-Git-Refname: refs/users/meissner/heads/work059 X-Git-Oldrev: d4166f65794633698229cca7f5e4e80d9974211a X-Git-Newrev: fcaa2d3e8cb048e784374ef1102eb22acd906b68 Message-Id: <20210707175228.E1D1F3851C0B@sourceware.org> Date: Wed, 7 Jul 2021 17:52:28 +0000 (GMT) X-BeenThere: gcc-cvs@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-cvs mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 07 Jul 2021 17:52:29 -0000 https://gcc.gnu.org/g:fcaa2d3e8cb048e784374ef1102eb22acd906b68 commit fcaa2d3e8cb048e784374ef1102eb22acd906b68 Author: Michael Meissner Date: Wed Jul 7 13:52:00 2021 -0400 Fix vec-splati-runnable.c test. I noticed that the vec-splati-runnable.c did not have an abort after one of the tests. If the test was run with optimization, the optimizer could delete some of the tests and throw off the count. However, due to the fact that the value being loaded in that test is undefined, I did not check what value was loaded, but I just stored it into a volatile global variable. 2021-07-07 Michael Meissner gcc/testsuite/ * gcc.target/powerpc/vec-splati-runnable.c: Run test with -O2 optimization. Do not check what XXSPLTIDP generates if the value is undefined. Diff: --- .../gcc.target/powerpc/vec-splati-runnable.c | 29 +++++++--------------- 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/gcc/testsuite/gcc.target/powerpc/vec-splati-runnable.c b/gcc/testsuite/gcc.target/powerpc/vec-splati-runnable.c index e84ce77a21d..a135279b1d7 100644 --- a/gcc/testsuite/gcc.target/powerpc/vec-splati-runnable.c +++ b/gcc/testsuite/gcc.target/powerpc/vec-splati-runnable.c @@ -1,7 +1,7 @@ /* { dg-do run { target { power10_hw } } } */ /* { dg-do link { target { ! power10_hw } } } */ /* { dg-require-effective-target power10_ok } */ -/* { dg-options "-mdejagnu-cpu=power10 -save-temps" } */ +/* { dg-options "-mdejagnu-cpu=power10 -save-temps -O2" } */ #include #define DEBUG 0 @@ -12,6 +12,8 @@ extern void abort (void); +volatile vector double vresult_d_undefined; + int main (int argc, char *argv []) { @@ -85,25 +87,12 @@ main (int argc, char *argv []) #endif } - /* This test will generate a "note" to the user that the argument - is subnormal. It is not an error, but results are not defined. */ - vresult_d = (vector double) { 2.0, 3.0 }; - expected_vresult_d = (vector double) { 6.6E-42f, 6.6E-42f }; - - vresult_d = vec_splatid (6.6E-42f); - - /* Although the instruction says the results are not defined, it does seem - to work, at least on Mambo. But no guarentees! */ - if (!vec_all_eq (vresult_d, expected_vresult_d)) { -#if DEBUG - printf("ERROR, vec_splati (6.6E-42f)\n"); - for(i = 0; i < 2; i++) - printf(" vresult_d[%i] = %e, expected_vresult_d[%i] = %e\n", - i, vresult_d[i], i, expected_vresult_d[i]); -#else - ; -#endif - } + /* This test will generate a "note" to the user that the argument is + subnormal. It is not an error, but results are not defined. Because this + is undefined, we cannot check that any value is correct. Just store it in + a volatile variable so the XXSPLTIDP instruction gets generated and the + warning message printed. */ + vresult_d_undefined = vec_splatid (6.6E-42f); /* Vector splat immediate */ vsrc_a_int = (vector int) { 2, 3, 4, 5 };