From patchwork Tue May 10 09:03:57 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Krebbel X-Patchwork-Id: 620524 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 3r3tby0xnBz9t3p for ; Tue, 10 May 2016 19:04:29 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=gcc.gnu.org header.i=@gcc.gnu.org header.b=N3PSpSnn; dkim-atps=neutral DomainKey-Signature: a=rsa-sha1; c=nofws; d=gcc.gnu.org; h=list-id :list-unsubscribe:list-archive:list-post:list-help:sender:from :to:subject:date:message-id; q=dns; s=default; b=mRX70puMyTTJRqJ 3xHGpxAijzi1wVNwlo9TTkpPsBvfzqw1C9WTrI5oEMLlzxFt392AstEEuG8TggLr 7qHlS705fZON3IHB8WyqwCuzZOIj48tbvK05Aywu97C9HXZ5apsu/YBWkZeMXdlK TfyPuiz7CRTD21fqDjT2AtkcY32E= 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:from :to:subject:date:message-id; s=default; bh=m5lOKWm+4eST4v9y14e8X IoKE1A=; b=N3PSpSnn6DkcFnluIEKLQPmxsUtRs1l+PvBFzK4Pu8L5X5y6B1Dfw ik2HWE1+iKqsEKglIqAeje1Jmc5MPru3QIO6NNlv0ThRVEdTu9C973yfm3RKRzaR nwYhz26J/lvviXoB7I9M+TSAe9/CCNajQ58hvM3ppllpec033p6i9o= Received: (qmail 23202 invoked by alias); 10 May 2016 09:04:18 -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 23191 invoked by uid 89); 10 May 2016 09:04:17 -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_00, KAM_LAZY_DOMAIN_SECURITY, RP_MATCHES_RCVD autolearn=ham version=3.3.2 spammy=fv, kk, dv, KK X-HELO: e06smtp15.uk.ibm.com Received: from e06smtp15.uk.ibm.com (HELO e06smtp15.uk.ibm.com) (195.75.94.111) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (CAMELLIA256-SHA encrypted) ESMTPS; Tue, 10 May 2016 09:04:07 +0000 Received: from localhost by e06smtp15.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Tue, 10 May 2016 10:04:04 +0100 Received: from d06dlp01.portsmouth.uk.ibm.com (9.149.20.13) by e06smtp15.uk.ibm.com (192.168.101.145) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; Tue, 10 May 2016 10:03:59 +0100 X-IBM-Helo: d06dlp01.portsmouth.uk.ibm.com X-IBM-MailFrom: krebbel@linux.vnet.ibm.com X-IBM-RcptTo: gcc-patches@gcc.gnu.org Received: from b06cxnps3075.portsmouth.uk.ibm.com (d06relay10.portsmouth.uk.ibm.com [9.149.109.195]) by d06dlp01.portsmouth.uk.ibm.com (Postfix) with ESMTP id 9735917D8071 for ; Tue, 10 May 2016 10:04:55 +0100 (BST) Received: from d06av08.portsmouth.uk.ibm.com (d06av08.portsmouth.uk.ibm.com [9.149.37.249]) by b06cxnps3075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id u4A93wF64194734 for ; Tue, 10 May 2016 09:03:58 GMT Received: from d06av08.portsmouth.uk.ibm.com (localhost [127.0.0.1]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id u4A93wbL011501 for ; Tue, 10 May 2016 03:03:58 -0600 Received: from maggie.boeblingen.de.ibm.com (dyn-9-152-212-123.boeblingen.de.ibm.com [9.152.212.123]) by d06av08.portsmouth.uk.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id u4A93ves011400 (version=TLSv1/SSLv3 cipher=AES256-SHA256 bits=256 verify=NO) for ; Tue, 10 May 2016 03:03:58 -0600 From: Andreas Krebbel To: gcc-patches@gcc.gnu.org Subject: [Committed] S/390: Disable scalar vector instructions with -mno-vx. Date: Tue, 10 May 2016 11:03:57 +0200 Message-Id: <1462871037-16897-1-git-send-email-krebbel@linux.vnet.ibm.com> X-TM-AS-MML: disable X-Content-Scanned: Fidelis XPS MAILER x-cbid: 16051009-0021-0000-0000-000038270778 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused X-IsSubscribed: yes Although the scalar variants of the vector instructions aren't actually vector instructions they are still executed in the vector facility and therefore need to be disabled when disabling the facility with -mno-vx. Fixed with the attached patch. Committed to head, GCC 6, and GCC 5 branches. gcc/ChangeLog: 2016-05-10 Andreas Krebbel * config/s390/s390.md ("*vec_cmpdf_cconly") ("*fixuns_truncdfdi2_z13") ("*fixuns_trunc2_z196") ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. --- gcc/ChangeLog | 8 ++++++++ gcc/config/s390/s390.md | 12 ++++++------ 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 687ab97..8cb5014 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,11 @@ +2016-05-10 Andreas Krebbel + + * config/s390/s390.md ("*vec_cmpdf_cconly") + ("*fixuns_truncdfdi2_z13") + ("*fixuns_trunc2_z196") + ("*fix_truncdfdi2_bfp_z13", "*floatunsdidf2_z13") + ("*extendsfdf2_z13"): Replace TARGET_Z13 with TARGET_VX. + 2016-05-10 Alan Modra PR target/70947 diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index faaa7f3..caf8ed5 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -1305,7 +1305,7 @@ (compare:VFCMP (match_operand:DF 0 "register_operand" "v") (match_operand:DF 1 "register_operand" "v"))) (clobber (match_scratch:V2DI 2 "=v"))] - "TARGET_Z13 && TARGET_HARD_FLOAT" + "TARGET_VX && TARGET_HARD_FLOAT" "wfcdbs\t%v2,%v0,%v1" [(set_attr "op_type" "VRR")]) @@ -4703,7 +4703,7 @@ (unsigned_fix:DI (match_operand:DF 1 "register_operand" "f,v"))) (unspec:DI [(match_operand:DI 2 "immediate_operand" "K,K")] UNSPEC_ROUND) (clobber (reg:CC CC_REGNUM))] - "TARGET_Z13 && TARGET_HARD_FLOAT" + "TARGET_VX && TARGET_HARD_FLOAT" "@ clgdbr\t%0,%h2,%1,0 wclgdb\t%v0,%v1,0,%h2" @@ -4718,7 +4718,7 @@ (unspec:GPR [(match_operand:GPR 2 "immediate_operand" "K")] UNSPEC_ROUND) (clobber (reg:CC CC_REGNUM))] "TARGET_Z196 && TARGET_HARD_FLOAT - && (!TARGET_Z13 || mode != DImode || mode != DFmode)" + && (!TARGET_VX || mode != DImode || mode != DFmode)" "clr\t%0,%h2,%1,0" [(set_attr "op_type" "RRF") (set_attr "type" "ftoi")]) @@ -4738,7 +4738,7 @@ (fix:DI (match_operand:DF 1 "register_operand" "f,v"))) (unspec:DI [(match_operand:DI 2 "immediate_operand" "K,K")] UNSPEC_ROUND) (clobber (reg:CC CC_REGNUM))] - "TARGET_Z13 && TARGET_HARD_FLOAT" + "TARGET_VX && TARGET_HARD_FLOAT" "@ cgdbr\t%0,%h2,%1 wcgdb\t%v0,%v1,0,%h2" @@ -4846,7 +4846,7 @@ (define_insn "*floatunsdidf2_z13" [(set (match_operand:DF 0 "register_operand" "=f,v") (unsigned_float:DF (match_operand:DI 1 "register_operand" "d,v")))] - "TARGET_Z13 && TARGET_HARD_FLOAT" + "TARGET_VX && TARGET_HARD_FLOAT" "@ cdlgbr\t%0,0,%1,0 wcdlgb\t%v0,%v1,0,0" @@ -4950,7 +4950,7 @@ (define_insn "*extendsfdf2_z13" [(set (match_operand:DF 0 "register_operand" "=f,f,v") (float_extend:DF (match_operand:SF 1 "nonimmediate_operand" "f,R,v")))] - "TARGET_Z13 && TARGET_HARD_FLOAT" + "TARGET_VX && TARGET_HARD_FLOAT" "@ ldebr\t%0,%1 ldeb\t%0,%1