From patchwork Tue Nov 5 18:43:40 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Bill Schmidt X-Patchwork-Id: 288650 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)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id A95892C0126 for ; Wed, 6 Nov 2013 07:30:19 +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=yDw tL/HAzxdTvh6nynwOhf7NPrIMP+jcokI+DrgQGSAZwDRxlAeIYde5gr5U9W8pUFZ V78zUUbOS66TMpkJmeLp/tII7iXauVEsH4y2UtYP3apVkiWZ86fBEXv5c20F9clD K2k8n1+tX7+elUvsTL8Xz0jOQKXrhjyU83j5Mz7Q= 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=xIVrBB8Rx Z953cKNOUDT01Z20zc=; b=IAHsc4xJdZsMN1HPfpCPsAWg0JTmLei9RY988IuQe oHNNnKwL46K/J0SnwSqf3UpQB2XEwi0zn21b0I0dvwuye+7vwm2e4Ae+lHs9Ug53 ml1DesSMmf3rTVfWrp22xbxtpoxmZnx5u03GKXKjyr3CztDFn5ar3kCEzJ41kdBP Ro= Received: (qmail 15073 invoked by alias); 5 Nov 2013 18:43:36 -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 15063 invoked by uid 89); 5 Nov 2013 18:43:35 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-1.4 required=5.0 tests=AWL, BAYES_20, RDNS_NONE autolearn=no version=3.3.2 X-HELO: e28smtp01.in.ibm.com Received: from Unknown (HELO e28smtp01.in.ibm.com) (122.248.162.1) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES256-SHA encrypted) ESMTPS; Tue, 05 Nov 2013 18:43:22 +0000 Received: from /spool/local by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 6 Nov 2013 00:13:12 +0530 Received: from d28dlp02.in.ibm.com (9.184.220.127) by e28smtp01.in.ibm.com (192.168.1.131) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Wed, 6 Nov 2013 00:13:10 +0530 Received: from d28relay05.in.ibm.com (d28relay05.in.ibm.com [9.184.220.62]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id 91756394004D for ; Wed, 6 Nov 2013 00:12:46 +0530 (IST) Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65]) by d28relay05.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id rA5Ih60J48758898 for ; Wed, 6 Nov 2013 00:13:07 +0530 Received: from d28av03.in.ibm.com (localhost [127.0.0.1]) by d28av03.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id rA5Ih9fA023755 for ; Wed, 6 Nov 2013 00:13:09 +0530 Received: from [9.65.14.171] (sig-9-65-14-171.mts.ibm.com [9.65.14.171]) by d28av03.in.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id rA5Ih62w023715; Wed, 6 Nov 2013 00:13:08 +0530 Message-ID: <1383677020.30428.33.camel@gnopaine> Subject: [PATCH, rs6000] Enable VSX code generation in little endian mode From: Bill Schmidt To: gcc-patches@gcc.gnu.org Cc: dje.gcc@gmail.com Date: Tue, 05 Nov 2013 12:43:40 -0600 Mime-Version: 1.0 X-TM-AS-MML: No X-Content-Scanned: Fidelis XPS MAILER x-cbid: 13110518-4790-0000-0000-00000B30EDB6 X-IsSubscribed: yes Hi, With the recent set of patches, there are no longer any vector-related regressions for powerpc64le-linux-gnu that do not also occur for powerpc64-linux-gnu. (gcc.dg/vect/vect-96.c is still broken for both endiannesses and is being tracked.) I did a code walkthrough on the back-end code and did not find any additional endianness concerns. Therefore, this patch removes the restriction that we cannot generate VSX instructions for a little endian target. Note that there are still two relevant patches pending approval, so this patch is contingent on final resolution of those and will not be committed until then. With that restriction, is this ok for trunk? Thanks, Bill 2013-11-05 Bill Schmidt * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove restriction against use of VSX instructions when generating code for little endian mode. Index: gcc/config/rs6000/rs6000.c =================================================================== --- gcc/config/rs6000/rs6000.c (revision 204350) +++ gcc/config/rs6000/rs6000.c (working copy) @@ -3221,11 +3221,6 @@ rs6000_option_override_internal (bool global_init_ } else if (TARGET_PAIRED_FLOAT) msg = N_("-mvsx and -mpaired are incompatible"); - /* The hardware will allow VSX and little endian, but until we make sure - things like vector select, etc. work don't allow VSX on little endian - systems at this point. */ - else if (!BYTES_BIG_ENDIAN) - msg = N_("-mvsx used with little endian code"); else if (TARGET_AVOID_XFORM > 0) msg = N_("-mvsx needs indexed addressing"); else if (!TARGET_ALTIVEC && (rs6000_isa_flags_explicit