From patchwork Thu Oct 14 02:37:24 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "H.J. Lu" X-Patchwork-Id: 67777 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from sourceware.org (server1.sourceware.org [209.132.180.131]) by ozlabs.org (Postfix) with SMTP id 480151007D5 for ; Thu, 14 Oct 2010 13:37:33 +1100 (EST) Received: (qmail 4743 invoked by alias); 14 Oct 2010 02:37:31 -0000 Received: (qmail 4735 invoked by uid 22791); 14 Oct 2010 02:37:30 -0000 X-SWARE-Spam-Status: No, hits=-1.3 required=5.0 tests=AWL, BAYES_00, NO_DNS_FOR_FROM, TW_AV, T_RP_MATCHES_RCVD X-Spam-Check-By: sourceware.org Received: from mga01.intel.com (HELO mga01.intel.com) (192.55.52.88) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 14 Oct 2010 02:37:26 +0000 Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga101.fm.intel.com with ESMTP; 13 Oct 2010 19:37:24 -0700 X-ExtLoop1: 1 Received: from gnu-6.sc.intel.com ([10.3.194.135]) by fmsmga002.fm.intel.com with ESMTP; 13 Oct 2010 19:37:24 -0700 Received: by gnu-6.sc.intel.com (Postfix, from userid 500) id 34C13204FA; Wed, 13 Oct 2010 19:37:24 -0700 (PDT) Date: Wed, 13 Oct 2010 19:37:24 -0700 From: "H.J. Lu" To: gcc-patches@gcc.gnu.org Subject: PATCH: Add testcases for 256bit AVX copysign. Message-ID: <20101014023724.GA13662@intel.com> Reply-To: "H.J. Lu" MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.21 (2010-09-15) Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Delivered-To: mailing list gcc-patches@gcc.gnu.org Hi, I checked in this patch to add testcases for 256bit AVX copysign. H.J. --- 2010-10-13 H.J. Lu * gcc.target/i386/avx-copysign-vec.c: New. * gcc.target/i386/avx-copysignf-vec.c: Likewise. --- /dev/null 2010-10-13 10:21:15.312298381 -0700 +++ gcc/gcc/testsuite/gcc.target/i386/avx-copysign-vec.c 2010-10-13 19:30:58.241006914 -0700 @@ -0,0 +1,27 @@ +/* { dg-do run } */ +/* { dg-require-effective-target avx } */ +/* { dg-options "-O2 -ftree-vectorize -mavx" } */ + +#include "avx-check.h" + +extern double copysign (double, double); + +#define N 16 + +double a[N] = {-0.1,-3.2,-6.3,-9.4,-12.5,-15.6,-18.7,-21.8,24.9,27.1,30.2,33.3,36.4,39.5,42.6,45.7}; +double b[N] = {-1.2,3.4,-5.6,7.8,-9.0,1.0,-2.0,3.0,-4.0,-5.0,6.0,7.0,-8.0,-9.0,10.0,11.0}; +double r[N]; + +static void +avx_test (void) +{ + int i; + + for (i = 0; i < N; i++) + r[i] = copysign (a[i], b[i]); + + /* check results: */ + for (i = 0; i < N; i++) + if (r[i] != copysign (a[i], b[i])) + abort (); +} --- /dev/null 2010-10-13 10:21:15.312298381 -0700 +++ gcc/gcc/testsuite/gcc.target/i386/avx-copysignf-vec.c 2010-10-13 19:30:58.250016681 -0700 @@ -0,0 +1,27 @@ +/* { dg-do run } */ +/* { dg-require-effective-target avx } */ +/* { dg-options "-O2 -ftree-vectorize -mavx" } */ + +#include "avx-check.h" + +extern float copysignf (float, float); + +#define N 16 + +float a[N] = {-0.1f,-3.2f,-6.3f,-9.4f,-12.5f,-15.6f,-18.7f,-21.8f,24.9f,27.1f,30.2f,33.3f,36.4f,39.5f,42.6f,45.7f}; +float b[N] = {-1.2f,3.4f,-5.6f,7.8f,-9.0f,1.0f,-2.0f,3.0f,-4.0f,-5.0f,6.0f,7.0f,-8.0f,-9.0f,10.0f,11.0f}; +float r[N]; + +static void +avx_test (void) +{ + int i; + + for (i = 0; i < N; i++) + r[i] = copysignf (a[i], b[i]); + + /* check results: */ + for (i = 0; i < N; i++) + if (r[i] != copysignf (a[i], b[i])) + abort (); +}