From patchwork Tue Feb 25 02:13:43 2014 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Schmidt X-Patchwork-Id: 323816 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]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 29F1A2C0142 for ; Tue, 25 Feb 2014 13:13:40 +1100 (EST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:subject:from:to:cc:date:content-type :content-transfer-encoding:mime-version; q=dns; s=default; b=Yeo MwHqJaEJw3ubY0g72ERFA7ULbFs+74TZQvTslxHz4KSzKg3v7ZUJoRSWye/7lMPf qcGXEfaD+HbqOSTaHebUwp4KAvEdMlF+HRcQpyI9zHDbalKjYGA8YLApJwtnMjQ+ FDjBojSowf1sqhW+AW1yWw35ROMVFutibK44l6AU= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender :message-id:subject:from:to:cc:date:content-type :content-transfer-encoding:mime-version; s=default; bh=9qzvJWJuh Wj2HV2+MsLO5r1V96I=; b=qocfJONO2xABw/cIU+DymyYyIyjDlb99TGBvV7ELo P0aE8qAza+IYWZyH8FfRbwT5p6pPXY33Kff1OnjtbEk5kd0DBChGabEH+tPwUoeM tFfCX0en00M019X1nnqFlD/g+CblaLgoTXJ9QgVhgOslu5ioIdy/6gjxvPb6p0MG VM= Received: (qmail 28315 invoked by alias); 25 Feb 2014 02:13:33 -0000 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 Received: (qmail 28263 invoked by uid 89); 25 Feb 2014 02:13:32 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, RP_MATCHES_RCVD autolearn=ham version=3.3.2 X-HELO: e23smtp07.au.ibm.com Received: from e23smtp07.au.ibm.com (HELO e23smtp07.au.ibm.com) (202.81.31.140) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 25 Feb 2014 02:13:30 +0000 Received: from /spool/local by e23smtp07.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 25 Feb 2014 12:13:25 +1000 Received: from d23dlp03.au.ibm.com (202.81.31.214) by e23smtp07.au.ibm.com (202.81.31.204) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 25 Feb 2014 12:13:22 +1000 Received: from d23relay03.au.ibm.com (d23relay03.au.ibm.com [9.190.235.21]) by d23dlp03.au.ibm.com (Postfix) with ESMTP id 611B03578047 for ; Tue, 25 Feb 2014 13:13:22 +1100 (EST) Received: from d23av04.au.ibm.com (d23av04.au.ibm.com [9.190.235.139]) by d23relay03.au.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id s1P2D85l10748232 for ; Tue, 25 Feb 2014 13:13:09 +1100 Received: from d23av04.au.ibm.com (localhost [127.0.0.1]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id s1P2DLJ2013527 for ; Tue, 25 Feb 2014 13:13:21 +1100 Received: from [9.77.131.26] (sig-9-77-131-26.mts.ibm.com [9.77.131.26]) by d23av04.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id s1P2DJce013451; Tue, 25 Feb 2014 13:13:20 +1100 Message-ID: <1393294423.20991.88.camel@gnopaine> Subject: [PATCH, rs6000] Canonicalize split for unordered vector compares From: Bill Schmidt To: gcc-patches@gcc.gnu.org Cc: dje.gcc@gmail.com Date: Mon, 24 Feb 2014 20:13:43 -0600 Mime-Version: 1.0 X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 14022502-0260-0000-0000-00000469F00C X-IsSubscribed: yes Hi, The pattern *vector_unordered performs a split that's intended to match the nor3 pattern. However, it doesn't use the proper canonical form, so the resulting insn isn't recognized. This patch changes the split to use the canonical form. Bootstrapped and tested on powerpc64{,le}-unknown-linux-gnu with no regressions. Is this ok for trunk? Thanks, Bill 2014-02-24 Bill Schmidt * config/rs6000/vector.md (*vector_unordered): Change split to use canonical form for nor3. Index: gcc/config/rs6000/vector.md =================================================================== --- gcc/config/rs6000/vector.md (revision 208062) +++ gcc/config/rs6000/vector.md (working copy) @@ -608,8 +608,8 @@ (ge:VEC_F (match_dup 2) (match_dup 1))) (set (match_dup 0) - (not:VEC_F (ior:VEC_F (match_dup 3) - (match_dup 4))))] + (and:VEC_F (not:VEC_F (match_dup 3)) + (not:VEC_F (match_dup 4))))] " { operands[3] = gen_reg_rtx (mode);