From patchwork Tue Jan 18 20:51:33 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sebastian Pop X-Patchwork-Id: 79356 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 2E309B70E6 for ; Wed, 19 Jan 2011 07:52:09 +1100 (EST) Received: (qmail 23324 invoked by alias); 18 Jan 2011 20:52:06 -0000 Received: (qmail 23312 invoked by uid 22791); 18 Jan 2011 20:52:05 -0000 X-SWARE-Spam-Status: No, hits=-2.3 required=5.0 tests=AWL, BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, RCVD_IN_DNSWL_LOW, T_TO_NO_BRKTS_FREEMAIL X-Spam-Check-By: sourceware.org Received: from mail-iw0-f175.google.com (HELO mail-iw0-f175.google.com) (209.85.214.175) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Tue, 18 Jan 2011 20:52:00 +0000 Received: by iwn8 with SMTP id 8so66886iwn.20 for ; Tue, 18 Jan 2011 12:51:58 -0800 (PST) Received: by 10.42.240.68 with SMTP id kz4mr6935281icb.471.1295383916464; Tue, 18 Jan 2011 12:51:56 -0800 (PST) Received: from napoca ([163.181.251.115]) by mx.google.com with ESMTPS id z4sm5271347ibg.19.2011.01.18.12.51.53 (version=TLSv1/SSLv3 cipher=RC4-MD5); Tue, 18 Jan 2011 12:51:55 -0800 (PST) Received: by napoca (sSMTP sendmail emulation); Tue, 18 Jan 2011 14:51:51 -0600 From: Sebastian Pop To: gcc-patches@gcc.gnu.org Cc: rguenther@suse.de, gcc-graphite@googlegroups.com, Sebastian Pop Subject: [PATCH 3/6] Add testcase for PR43657. Date: Tue, 18 Jan 2011 14:51:33 -0600 Message-Id: <1295383896-27122-4-git-send-email-sebpop@gmail.com> In-Reply-To: <1295383896-27122-1-git-send-email-sebpop@gmail.com> References: <1295383896-27122-1-git-send-email-sebpop@gmail.com> X-IsSubscribed: yes 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 2011-01-18 Sebastian Pop PR tree-optimization/43657 * gcc.dg/graphite/pr43657.c: New. --- gcc/ChangeLog.graphite | 5 +++ gcc/testsuite/gcc.dg/graphite/pr43657.c | 52 +++++++++++++++++++++++++++++++ 2 files changed, 57 insertions(+), 0 deletions(-) create mode 100644 gcc/testsuite/gcc.dg/graphite/pr43657.c diff --git a/gcc/ChangeLog.graphite b/gcc/ChangeLog.graphite index ee16496..4863236 100644 --- a/gcc/ChangeLog.graphite +++ b/gcc/ChangeLog.graphite @@ -1,5 +1,10 @@ 2011-01-18 Sebastian Pop + PR tree-optimization/43657 + * gcc.dg/graphite/pr43657.c: New. + +2011-01-18 Sebastian Pop + PR tree-optimization/29832 * gfortran.dg/graphite/pr29832.f90: New. diff --git a/gcc/testsuite/gcc.dg/graphite/pr43657.c b/gcc/testsuite/gcc.dg/graphite/pr43657.c new file mode 100644 index 0000000..f9d393f --- /dev/null +++ b/gcc/testsuite/gcc.dg/graphite/pr43657.c @@ -0,0 +1,52 @@ +/* { dg-do run } */ +/* { dg-options "-O1 -ftree-loop-linear" } */ + +extern void abort (void); + +#define K 32 + +int cond_array[2*K][K]; +int a[K][K]; +int out[K]; +int check_result[K] = {2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0}; + +__attribute__ ((noinline)) void +foo (int c) +{ + int res, i, j, k, next; + + for (k = 0; k < K; k++) + { + res = 0; + for (j = 0; j < K; j++) + for (i = 0; i < K; i++) + { + next = a[i][j]; + res = c > cond_array[i+k][j] ? next : res; + } + + out[k] = res; + } +} + +int main () +{ + int i, j, k; + + for (j = 0; j < K; j++) + { + for (i = 0; i < 2*K; i++) + cond_array[i][j] = i+j; + + for (i = 0; i < K; i++) + a[i][j] = i+2; + } + + foo(5); + + for (k = 0; k < K; k++) + if (out[k] != check_result[k]) + abort (); + + return 0; +}