From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 101852 invoked by alias); 21 Dec 2019 00:33:28 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 101833 invoked by uid 89); 21 Dec 2019 00:33:28 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-10.8 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_2,GIT_PATCH_3,KAM_ASCII_DIVIDERS,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.1 spammy=sk:vec-ext, UD:vec-extract-pcrel-di.c, UD:vec-extract-pcrel-sf.c, UD:vec-extract-pcrel-df.c X-HELO: mx0a-001b2d01.pphosted.com Received: from mx0a-001b2d01.pphosted.com (HELO mx0a-001b2d01.pphosted.com) (148.163.156.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 21 Dec 2019 00:33:26 +0000 Received: from pps.filterd (m0187473.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id xBL0WxJr090222; Fri, 20 Dec 2019 19:33:25 -0500 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com with ESMTP id 2x0wb221wg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 20 Dec 2019 19:33:25 -0500 Received: from m0187473.ppops.net (m0187473.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id xBL0X6Ko090811; Fri, 20 Dec 2019 19:33:24 -0500 Received: from ppma03dal.us.ibm.com (b.bd.3ea9.ip4.static.sl-reverse.com [169.62.189.11]) by mx0a-001b2d01.pphosted.com with ESMTP id 2x0wb221w7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 20 Dec 2019 19:33:24 -0500 Received: from pps.filterd (ppma03dal.us.ibm.com [127.0.0.1]) by ppma03dal.us.ibm.com (8.16.0.27/8.16.0.27) with SMTP id xBL0UD2R031383; Sat, 21 Dec 2019 00:33:23 GMT Received: from b03cxnp08027.gho.boulder.ibm.com (b03cxnp08027.gho.boulder.ibm.com [9.17.130.19]) by ppma03dal.us.ibm.com with ESMTP id 2wvqc7tpdt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sat, 21 Dec 2019 00:33:23 +0000 Received: from b03ledav002.gho.boulder.ibm.com (b03ledav002.gho.boulder.ibm.com [9.17.130.233]) by b03cxnp08027.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id xBL0XMeH57803020 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Sat, 21 Dec 2019 00:33:22 GMT Received: from b03ledav002.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 4E4A113605D; Sat, 21 Dec 2019 00:33:22 +0000 (GMT) Received: from b03ledav002.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C0F0613604F; Sat, 21 Dec 2019 00:33:21 +0000 (GMT) Received: from ibm-toto.the-meissners.org (unknown [9.32.77.177]) by b03ledav002.gho.boulder.ibm.com (Postfix) with ESMTPS; Sat, 21 Dec 2019 00:33:21 +0000 (GMT) Date: Sat, 21 Dec 2019 01:23:00 -0000 From: Michael Meissner To: Michael Meissner , gcc-patches@gcc.gnu.org, Segher Boessenkool , David Edelsohn Subject: [PATCH] V11 patch #14 of 15, Add tests for vec_extract from memory with PC-relative addrss Message-ID: <20191221003319.GN28993@ibm-toto.the-meissners.org> Mail-Followup-To: Michael Meissner , gcc-patches@gcc.gnu.org, Segher Boessenkool , David Edelsohn References: <20191220231507.GA18386@ibm-toto.the-meissners.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20191220231507.GA18386@ibm-toto.the-meissners.org> User-Agent: Mutt/1.5.21 (2010-09-15) X-SW-Source: 2019-12/txt/msg01505.txt.bz2 These tests are new. These tests check that the vector extract from a vector in memory works correctly for both constant and variable element numbers. These tests pass with all of the previoius pataches applied. Can I check these patches into the trunk? 2019-12-20 Michael Meissner * gcc.target/powerpc/vec-extract-pcrel-si.c: New test for vec_extract from a PC-relative address. * gcc.target/powerpc/vec-extract-pcrel-di.c: New test for vec_extract from a PC-relative address. * gcc.target/powerpc/vec-extract-pcrel-sf.c: New test for vec_extract from a PC-relative address. * gcc.target/powerpc/vec-extract-pcrel-df.c: New test for vec_extract from a PC-relative address. Index: gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-df.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-df.c (revision 279615) +++ gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-df.c (working copy) @@ -0,0 +1,37 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_pcrel } */ +/* { dg-options "-O2 -mdejagnu-cpu=future" } */ + +/* Test if we can support vec_extract on V2DF vectors with a PC-relative + address. */ + +#include + +#ifndef TYPE +#define TYPE double +#endif + +static vector TYPE v; +vector TYPE *p = &v; + +TYPE +get0 (void) +{ + return vec_extract (v, 0); +} + +TYPE +get1 (void) +{ + return vec_extract (v, 1); +} + +TYPE +getn (unsigned long n) +{ + return vec_extract (v, n); +} + +/* { dg-final { scan-assembler-times {[@]pcrel} 3 } } */ +/* { dg-final { scan-assembler-times {\mplfd\M} 2 } } */ +/* { dg-final { scan-assembler-times {\mpla\M} 1 } } */ Index: gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-di.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-di.c (revision 279615) +++ gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-di.c (working copy) @@ -0,0 +1,37 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_pcrel } */ +/* { dg-options "-O2 -mdejagnu-cpu=future" } */ + +/* Test if we can support vec_extract on V2DI vectors with a PC-relative + address. */ + +#include + +#ifndef TYPE +#define TYPE unsigned long +#endif + +static vector TYPE v; +vector TYPE *p = &v; + +TYPE +get0 (void) +{ + return vec_extract (v, 0); +} + +TYPE +get1 (void) +{ + return vec_extract (v, 1); +} + +TYPE +getn (unsigned long n) +{ + return vec_extract (v, n); +} + +/* { dg-final { scan-assembler-times {[@]pcrel} 3 } } */ +/* { dg-final { scan-assembler-times {\mpld\M} 2 } } */ +/* { dg-final { scan-assembler-times {\mpla\M} 1 } } */ Index: gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-sf.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-sf.c (revision 279615) +++ gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-sf.c (working copy) @@ -0,0 +1,37 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_pcrel } */ +/* { dg-options "-O2 -mdejagnu-cpu=future" } */ + +/* Test if we can support vec_extract on V4SF vectors with a PC-relative + address. */ + +#include + +#ifndef TYPE +#define TYPE float +#endif + +static vector TYPE v; +vector TYPE *p = &v; + +TYPE +get0 (void) +{ + return vec_extract (v, 0); +} + +TYPE +get1 (void) +{ + return vec_extract (v, 1); +} + +TYPE +getn (unsigned long n) +{ + return vec_extract (v, n); +} + +/* { dg-final { scan-assembler-times {[@]pcrel} 3 } } */ +/* { dg-final { scan-assembler-times {\mplfs\M} 2 } } */ +/* { dg-final { scan-assembler-times {\mpla\M} 1 } } */ Index: gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-si.c =================================================================== --- gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-si.c (revision 279615) +++ gcc/testsuite/gcc.target/powerpc/vec-extract-pcrel-si.c (working copy) @@ -0,0 +1,37 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target powerpc_pcrel } */ +/* { dg-options "-O2 -mdejagnu-cpu=future" } */ + +/* Test if we can support vec_extract on V4SI vectors with a PC-relative + address. */ + +#include + +#ifndef TYPE +#define TYPE unsigned int +#endif + +static vector TYPE v; +vector TYPE *p = &v; + +TYPE +get0 (void) +{ + return vec_extract (v, 0); +} + +TYPE +get1 (void) +{ + return vec_extract (v, 1); +} + +TYPE +getn (unsigned long n) +{ + return vec_extract (v, n); +} + +/* { dg-final { scan-assembler-times {[@]pcrel} 3 } } */ +/* { dg-final { scan-assembler-times {\mplwz\M} 2 } } */ +/* { dg-final { scan-assembler-times {\mpla\M} 1 } } */ -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meissner@linux.ibm.com, phone: +1 (978) 899-4797