From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 40559 invoked by alias); 30 Sep 2019 14:51:18 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 40544 invoked by uid 89); 30 Sep 2019 14:51:18 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-15.3 required=5.0 tests=AWL,BAYES_00,GIT_PATCH_0,GIT_PATCH_1,GIT_PATCH_2,GIT_PATCH_3,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.1 spammy=ck X-HELO: mx0b-001b2d01.pphosted.com Received: from mx0b-001b2d01.pphosted.com (HELO mx0b-001b2d01.pphosted.com) (148.163.158.5) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Mon, 30 Sep 2019 14:51:17 +0000 Received: from pps.filterd (m0127361.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x8UEb0Lh087473 for ; Mon, 30 Sep 2019 10:51:15 -0400 Received: from e06smtp07.uk.ibm.com (e06smtp07.uk.ibm.com [195.75.94.103]) by mx0a-001b2d01.pphosted.com with ESMTP id 2va2b60rwk-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Mon, 30 Sep 2019 10:51:13 -0400 Received: from localhost by e06smtp07.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 30 Sep 2019 15:51:07 +0100 Received: from b06cxnps4075.portsmouth.uk.ibm.com (9.149.109.197) by e06smtp07.uk.ibm.com (192.168.101.137) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Mon, 30 Sep 2019 15:51:05 +0100 Received: from d06av23.portsmouth.uk.ibm.com (d06av23.portsmouth.uk.ibm.com [9.149.105.59]) by b06cxnps4075.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x8UEp3jh34537608 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 30 Sep 2019 14:51:03 GMT Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 5B696A405E; Mon, 30 Sep 2019 14:51:03 +0000 (GMT) Received: from d06av23.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 46D48A405D; Mon, 30 Sep 2019 14:51:03 +0000 (GMT) Received: from [9.152.222.55] (unknown [9.152.222.55]) by d06av23.portsmouth.uk.ibm.com (Postfix) with ESMTP; Mon, 30 Sep 2019 14:51:03 +0000 (GMT) Subject: Re: [PATCH v3 5/9] S/390: Implement vcond expander for V1TI,V1TF To: Ilya Leoshkevich References: <20190905111019.8951-1-iii@linux.ibm.com> <20190905111019.8951-6-iii@linux.ibm.com> Cc: gcc-patches@gcc.gnu.org From: Andreas Krebbel Date: Mon, 30 Sep 2019 14:51:00 -0000 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.8.0 MIME-Version: 1.0 In-Reply-To: <20190905111019.8951-6-iii@linux.ibm.com> Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit x-cbid: 19093014-0028-0000-0000-000003A40477 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19093014-0029-0000-0000-000024662E51 Message-Id: <3ee5fe30-985e-4129-2acd-03985f264766@linux.ibm.com> X-IsSubscribed: yes X-SW-Source: 2019-09/txt/msg01770.txt.bz2 On 05.09.19 13:10, Ilya Leoshkevich wrote: > Currently gcc does not emit wf{c,k}* instructions when comparing long > double values. Middle-end actually adds them in the first place, but > then veclower pass replaces them with floating point register pair > operations, because the corresponding expander is missing. > > gcc/ChangeLog: > > 2019-08-09 Ilya Leoshkevich > > PR target/77918 > * config/s390/vector.md (vcondv1tiv1tf): New variant of > vcond$a$b expander. Couldn't you just add V1TI to V_HW and V_HW2 instead? Andreas > --- > gcc/config/s390/vector.md | 15 +++++++++++++++ > 1 file changed, 15 insertions(+) > > diff --git a/gcc/config/s390/vector.md b/gcc/config/s390/vector.md > index d7a266c5605..ca5ec0dd3b0 100644 > --- a/gcc/config/s390/vector.md > +++ b/gcc/config/s390/vector.md > @@ -649,6 +649,21 @@ > DONE; > }) > > +(define_expand "vcondv1tiv1tf" > + [(set (match_operand:V1TI 0 "register_operand" "") > + (if_then_else:V1TI > + (match_operator 3 "vcond_comparison_operator" > + [(match_operand:V1TF 4 "register_operand" "") > + (match_operand:V1TF 5 "nonmemory_operand" "")]) > + (match_operand:V1TI 1 "nonmemory_operand" "") > + (match_operand:V1TI 2 "nonmemory_operand" "")))] > + "TARGET_VXE" > +{ > + s390_expand_vcond (operands[0], operands[1], operands[2], > + GET_CODE (operands[3]), operands[4], operands[5]); > + DONE; > +}) > + > (define_expand "vcondu" > [(set (match_operand:V_HW 0 "register_operand" "") > (if_then_else:V_HW >