From patchwork Fri Mar 1 15:18:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stefan Schulze Frielinghaus X-Patchwork-Id: 208893 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:2097:b0:108:e6aa:91d0 with SMTP id gs23csp1149856dyb; Fri, 1 Mar 2024 07:19:58 -0800 (PST) X-Forwarded-Encrypted: i=3; AJvYcCUCqoFMuDHpCO0/rSpEBn+doT6cVhCKVrl8T1lpNdhYjE42WqsajBD06D2xnsgzetPkqxlK/eLAHYV4invRyB9TQieL1A== X-Google-Smtp-Source: AGHT+IHqlGAA+JDXHzR44YZ8MP10uPPxvZ1/KQCkL3sULsp2EnsCsc0oHaHwzbQJTKyT50cQND2D X-Received: by 2002:ac8:5c55:0:b0:42e:752d:f3bd with SMTP id j21-20020ac85c55000000b0042e752df3bdmr2217635qtj.27.1709306398248; Fri, 01 Mar 2024 07:19:58 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1709306398; cv=pass; d=google.com; s=arc-20160816; b=YJEbCAKI0FPFccNjIwTceRWT/lsspCCH1GNmE5XnAxW8AK2h+e6CFHDLmMSELU4NYe TDnfAbJNfaS2dJy+7NBOV0dxOFGMWSp8hNpbpPZyzUDJHnZNOvYcQayjmDi+z/S96ULC MsXR25hbzwhHV2hfDIs6PdPmNt1AOblvyccJqYV6khWADjjEDPxvALkItdKVOly9aRkU cEusg3ck7ZacZHwJquFVmIS0Ddy2bjwA+yUmBnHuY0+agtmVXXjGsyqLMkW1fPoAC1kg Xpem27soN0bc+2yjQxqIKS3SyJEvRSnkvo1vLuUE6FoK3wRB2D1Kja6rV/EFTdIR1Gzc YygA== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=errors-to:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:content-transfer-encoding :mime-version:message-id:date:subject:cc:to:from:dkim-signature :arc-filter:dmarc-filter:delivered-to; bh=EXDSEZewXKIpkqA/a1kJLEIfaBtOjdY7YarUxONpr4g=; fh=mfXTfv1U5fjiVE2gnMQVHhc0TdjeuuJsJDeUmrkU88w=; b=GpqNCr2Kj7NYWVRc16JaIY4aKP3REPKnJYY2CffaZqJu27L3Nt4fIMjB0QMqsOKW9f PuQSdgjal0A7WYIEm6c5J2atDXWCCut1BS8w/KrUy1hOv40QEtx7Yol++xmI8jjmWANS +IOGTtvHbD3+HZ6hsMlnxotNoS26U+62j2+lmly9R0SDaWwaka/qBni8lqL/5qYheNi1 scOWiEU9YzgfUVdK0vFmzLx1GqIYSEhpz5jIGLZsFslBk/1m7Gi/OFymjjhkzSlUcPSn EwTAaIt1VgaIwhfpjoKScukAbpdZHm8Whj0MFPwSuDMgpjlDlESqQWhtUHWdUiNATvC+ uYPw==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=KS7H8jHa; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (server2.sourceware.org. [8.43.85.97]) by mx.google.com with ESMTPS id d7-20020ac851c7000000b0042e895b20c7si3386643qtn.129.2024.03.01.07.19.58 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Mar 2024 07:19:58 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) client-ip=8.43.85.97; Authentication-Results: mx.google.com; dkim=pass header.i=@ibm.com header.s=pp1 header.b=KS7H8jHa; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 8.43.85.97 as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=REJECT sp=NONE dis=NONE) header.from=ibm.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id E6CBB385840C for ; Fri, 1 Mar 2024 15:19:57 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com [148.163.156.1]) by sourceware.org (Postfix) with ESMTPS id 98D1D3858401 for ; Fri, 1 Mar 2024 15:18:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 98D1D3858401 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=linux.ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=linux.ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 98D1D3858401 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=148.163.156.1 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709306345; cv=none; b=MmKn7Gr4xQIS6AbQn3bgihtKJobM8tgu6e88BhSocKwNv+nfxWnW3l8HKSM9yw3Vg1pTXiMnbSTFul7emARz6DwEQhUUGYpYll0mD1Zcy3nnIEuE0XAEH0oav2zt07ouUN47H068kSIZlJUpaOQmdfFbRaPeVo6p26dqy7CEgnY= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1709306345; c=relaxed/simple; bh=8lA6gHBsQknEvrqfqejqVfM1hfYLek9KOkOMvkeudZI=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=S8A6Vq6HSUfMVX4lHsSIhwEjoIci+/DHW+wLsDCuGUTzO8kcRnw6Ug8wc6FKjwqS/6lR1JdmljphKSNXpo+mSRjT5af/IKiW3Jf5PsDUIBvvaoA/hHiFSyYHlKw+8C79Nm7WJ/C5RpnLX5OJUKjD4dmfequz50FPCqb3Q4Q1+Vo= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 421F2Iu3031732 for ; Fri, 1 Mar 2024 15:18:54 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : subject : date : message-id : mime-version : content-transfer-encoding; s=pp1; bh=EXDSEZewXKIpkqA/a1kJLEIfaBtOjdY7YarUxONpr4g=; b=KS7H8jHaCYN5p48CZyNGDsBQ+31UaCKiI4wUQaaXy0VALGDg+1wTPRyCuKRd7DqkmYhJ kJiEjubx9yppLod4zmk4MgwY0NTHXmT6vYRd5SurJFpuuFPCxCLTZBWoL4IVrm/Xskvb 8cflffUF41CPUk/OJiX4AwCvT7fp1VJ/t1mDk8S3PQgIi1TC+iB3xNPjA+KKDdmt7D5Y mE/CCtXXR0bhJQ+UJRQbnrau4kCIgDYn2PN2CtOz5x+lj2uB3ZFMLBn4V+2TRZfFzATv Ot89KWoogYC9XKKKCu+d2QbnA3obtolIbssNF882CLR86hRVYFkvizx22XmdC9Ca1PQI qw== Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3wkhad0ehm-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 01 Mar 2024 15:18:54 +0000 Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.17.1.19/8.17.1.19) with ESMTP id 421CUFTZ008164 for ; Fri, 1 Mar 2024 15:18:53 GMT Received: from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 3wfv9mw0x8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Fri, 01 Mar 2024 15:18:53 +0000 Received: from smtpav05.fra02v.mail.ibm.com (smtpav05.fra02v.mail.ibm.com [10.20.54.104]) by smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 421FIige24314474 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 1 Mar 2024 15:18:46 GMT Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 13E9F2004B; Fri, 1 Mar 2024 15:18:44 +0000 (GMT) Received: from smtpav05.fra02v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id DD38520043; Fri, 1 Mar 2024 15:18:43 +0000 (GMT) Received: from a8345010.lnxne.boe (unknown [9.152.108.100]) by smtpav05.fra02v.mail.ibm.com (Postfix) with ESMTPS; Fri, 1 Mar 2024 15:18:43 +0000 (GMT) From: Stefan Schulze Frielinghaus To: krebbel@linux.ibm.com, gcc-patches@gcc.gnu.org Cc: ulrich.weigand@de.ibm.com, Stefan Schulze Frielinghaus Subject: [PATCH] s390: Streamline NNPA builtins with POP mnemonics Date: Fri, 1 Mar 2024 16:18:31 +0100 Message-ID: <20240301151831.1785057-1-stefansf@linux.ibm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: RWdXSM7gvl_Mr5oSmG9pQ8_zc6B1apFt X-Proofpoint-GUID: RWdXSM7gvl_Mr5oSmG9pQ8_zc6B1apFt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.272,Aquarius:18.0.1011,Hydra:6.0.619,FMLib:17.11.176.26 definitions=2024-03-01_14,2024-03-01_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 mlxscore=0 bulkscore=0 lowpriorityscore=0 malwarescore=0 adultscore=0 mlxlogscore=942 priorityscore=1501 impostorscore=0 spamscore=0 clxscore=1015 phishscore=0 suspectscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2311290000 definitions=main-2403010127 X-Spam-Status: No, score=-8.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1792337666320735692 X-GMAIL-MSGID: 1792337666320735692 At the moment there are no extended mnemonics for vclfn(h,l) and vcrnf defined in the Principles of Operation. Thus, remove the suffix "s" from the builtins and expanders and introduce a further operand for the data type. gcc/ChangeLog: * config/s390/s390-builtin-types.def: Update to reflect latest changes. * config/s390/s390-builtins.def: Remove suffix s from s390_vclfn(h,l)s and s390_vcrnfs. * config/s390/s390.md: Similar, remove suffix s from unspec definitions. * config/s390/vecintrin.h (vec_extend_to_fp32_hi): Redefine. (vec_extend_to_fp32_lo): Redefine. (vec_round_from_fp32): Redefine. * config/s390/vx-builtins.md (vclfnhs_v8hi): Remove suffix s. (vclfnh_v8hi): Add with extra operand. (vclfnls_v8hi): Remove suffix s. (vclfnl_v8hi): Add with extra operand. (vcrnfs_v8hi): Remove suffix s. (vcrnf_v8hi): Add with extra operand. --- OK for mainline? gcc/config/s390/s390-builtin-types.def | 4 ++-- gcc/config/s390/s390-builtins.def | 6 +++--- gcc/config/s390/s390.md | 6 +++--- gcc/config/s390/vecintrin.h | 6 +++--- gcc/config/s390/vx-builtins.md | 27 ++++++++++++++------------ 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/gcc/config/s390/s390-builtin-types.def b/gcc/config/s390/s390-builtin-types.def index ce51ae8cd3f..c3d09b42835 100644 --- a/gcc/config/s390/s390-builtin-types.def +++ b/gcc/config/s390/s390-builtin-types.def @@ -273,7 +273,6 @@ DEF_FN_TYPE_2 (BT_FN_V2DI_V2DF_V2DF, BT_V2DI, BT_V2DF, BT_V2DF) DEF_FN_TYPE_2 (BT_FN_V2DI_V2DI_V2DI, BT_V2DI, BT_V2DI, BT_V2DI) DEF_FN_TYPE_2 (BT_FN_V2DI_V4SI_V4SI, BT_V2DI, BT_V4SI, BT_V4SI) DEF_FN_TYPE_2 (BT_FN_V4SF_FLT_INT, BT_V4SF, BT_FLT, BT_INT) -DEF_FN_TYPE_2 (BT_FN_V4SF_UV8HI_UINT, BT_V4SF, BT_UV8HI, BT_UINT) DEF_FN_TYPE_2 (BT_FN_V4SF_V4SF_UCHAR, BT_V4SF, BT_V4SF, BT_UCHAR) DEF_FN_TYPE_2 (BT_FN_V4SF_V4SF_V4SF, BT_V4SF, BT_V4SF, BT_V4SF) DEF_FN_TYPE_2 (BT_FN_V4SI_BV4SI_V4SI, BT_V4SI, BT_BV4SI, BT_V4SI) @@ -324,7 +323,6 @@ DEF_FN_TYPE_3 (BT_FN_UV8HI_UV8HI_USHORT_INT, BT_UV8HI, BT_UV8HI, BT_USHORT, BT_I DEF_FN_TYPE_3 (BT_FN_UV8HI_UV8HI_UV8HI_INT, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_INT) DEF_FN_TYPE_3 (BT_FN_UV8HI_UV8HI_UV8HI_INTPTR, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_UV8HI_UV8HI_UV8HI_UV8HI, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_UV8HI) -DEF_FN_TYPE_3 (BT_FN_UV8HI_V4SF_V4SF_UINT, BT_UV8HI, BT_V4SF, BT_V4SF, BT_UINT) DEF_FN_TYPE_3 (BT_FN_V16QI_UV16QI_UV16QI_INTPTR, BT_V16QI, BT_UV16QI, BT_UV16QI, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_V16QI_V16QI_V16QI_INTPTR, BT_V16QI, BT_V16QI, BT_V16QI, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_V16QI_V16QI_V16QI_V16QI, BT_V16QI, BT_V16QI, BT_V16QI, BT_V16QI) @@ -340,6 +338,7 @@ DEF_FN_TYPE_3 (BT_FN_V2DI_V2DF_INT_INTPTR, BT_V2DI, BT_V2DF, BT_INT, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_V2DI_V2DF_V2DF_INTPTR, BT_V2DI, BT_V2DF, BT_V2DF, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_V2DI_V2DI_V2DI_INTPTR, BT_V2DI, BT_V2DI, BT_V2DI, BT_INTPTR) DEF_FN_TYPE_3 (BT_FN_V2DI_V4SI_V4SI_V2DI, BT_V2DI, BT_V4SI, BT_V4SI, BT_V2DI) +DEF_FN_TYPE_3 (BT_FN_V4SF_UV8HI_UINT_UINT, BT_V4SF, BT_UV8HI, BT_UINT, BT_UINT) DEF_FN_TYPE_3 (BT_FN_V4SF_V2DF_INT_INT, BT_V4SF, BT_V2DF, BT_INT, BT_INT) DEF_FN_TYPE_3 (BT_FN_V4SF_V4SF_FLT_INT, BT_V4SF, BT_V4SF, BT_FLT, BT_INT) DEF_FN_TYPE_3 (BT_FN_V4SF_V4SF_UCHAR_UCHAR, BT_V4SF, BT_V4SF, BT_UCHAR, BT_UCHAR) @@ -377,6 +376,7 @@ DEF_FN_TYPE_4 (BT_FN_UV4SI_UV4SI_UV4SI_UINTCONSTPTR_UCHAR, BT_UV4SI, BT_UV4SI, B DEF_FN_TYPE_4 (BT_FN_UV4SI_UV4SI_UV4SI_UV4SI_INT, BT_UV4SI, BT_UV4SI, BT_UV4SI, BT_UV4SI, BT_INT) DEF_FN_TYPE_4 (BT_FN_UV8HI_UV8HI_UV8HI_INT_INTPTR, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_INT, BT_INTPTR) DEF_FN_TYPE_4 (BT_FN_UV8HI_UV8HI_UV8HI_UV8HI_INT, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_UV8HI, BT_INT) +DEF_FN_TYPE_4 (BT_FN_UV8HI_V4SF_V4SF_UINT_UINT, BT_UV8HI, BT_V4SF, BT_V4SF, BT_UINT, BT_UINT) DEF_FN_TYPE_4 (BT_FN_VOID_UV2DI_UV2DI_ULONGLONGPTR_ULONGLONG, BT_VOID, BT_UV2DI, BT_UV2DI, BT_ULONGLONGPTR, BT_ULONGLONG) DEF_FN_TYPE_4 (BT_FN_VOID_UV4SI_UV4SI_UINTPTR_ULONGLONG, BT_VOID, BT_UV4SI, BT_UV4SI, BT_UINTPTR, BT_ULONGLONG) DEF_FN_TYPE_4 (BT_FN_VOID_V4SI_V4SI_INTPTR_ULONGLONG, BT_VOID, BT_V4SI, BT_V4SI, BT_INTPTR, BT_ULONGLONG) diff --git a/gcc/config/s390/s390-builtins.def b/gcc/config/s390/s390-builtins.def index 02ff516c677..0d4e20ea425 100644 --- a/gcc/config/s390/s390-builtins.def +++ b/gcc/config/s390/s390-builtins.def @@ -3025,10 +3025,10 @@ B_DEF (s390_vstrszf, vstrszv4si, 0, /* arch 14 builtins */ -B_DEF (s390_vclfnhs, vclfnhs_v8hi, 0, B_NNPA, O2_U4, BT_FN_V4SF_UV8HI_UINT) -B_DEF (s390_vclfnls, vclfnls_v8hi, 0, B_NNPA, O2_U4, BT_FN_V4SF_UV8HI_UINT) +B_DEF (s390_vclfnh, vclfnh_v8hi, 0, B_NNPA, O2_U4 | O3_U4, BT_FN_V4SF_UV8HI_UINT_UINT) +B_DEF (s390_vclfnl, vclfnl_v8hi, 0, B_NNPA, O2_U4 | O3_U4, BT_FN_V4SF_UV8HI_UINT_UINT) -B_DEF (s390_vcrnfs, vcrnfs_v8hi, 0, B_NNPA, O3_U4, BT_FN_UV8HI_V4SF_V4SF_UINT) +B_DEF (s390_vcrnf, vcrnf_v8hi, 0, B_NNPA, O3_U4 | O4_U4, BT_FN_UV8HI_V4SF_V4SF_UINT_UINT) B_DEF (s390_vcfn, vcfn_v8hi, 0, B_NNPA, O2_U4, BT_FN_UV8HI_UV8HI_UINT) B_DEF (s390_vcnf, vcnf_v8hi, 0, B_NNPA, O2_U4, BT_FN_UV8HI_UV8HI_UINT) diff --git a/gcc/config/s390/s390.md b/gcc/config/s390/s390.md index 8aa40ba5b7f..65d98163193 100644 --- a/gcc/config/s390/s390.md +++ b/gcc/config/s390/s390.md @@ -241,9 +241,9 @@ UNSPEC_VEC_VFMIN UNSPEC_VEC_VFMAX - UNSPEC_NNPA_VCLFNHS_V8HI - UNSPEC_NNPA_VCLFNLS_V8HI - UNSPEC_NNPA_VCRNFS_V8HI + UNSPEC_NNPA_VCLFNH_V8HI + UNSPEC_NNPA_VCLFNL_V8HI + UNSPEC_NNPA_VCRNF_V8HI UNSPEC_NNPA_VCFN_V8HI UNSPEC_NNPA_VCNF_V8HI diff --git a/gcc/config/s390/vecintrin.h b/gcc/config/s390/vecintrin.h index 9abbd761067..c690c41d8e4 100644 --- a/gcc/config/s390/vecintrin.h +++ b/gcc/config/s390/vecintrin.h @@ -174,9 +174,9 @@ __lcbb(const void *ptr, int bndry) #define vec_vsterf_flt vec_vlerf_flt #define vec_vsterg_dbl vec_vlerg_dbl -#define vec_extend_to_fp32_hi __builtin_s390_vclfnhs -#define vec_extend_to_fp32_lo __builtin_s390_vclfnls -#define vec_round_from_fp32 __builtin_s390_vcrnfs +#define vec_extend_to_fp32_hi(X, Y) __builtin_s390_vclfnh((X), 2, (Y)) +#define vec_extend_to_fp32_lo(X, Y) __builtin_s390_vclfnl((X), 2, (Y)) +#define vec_round_from_fp32(X, Y, Z) __builtin_s390_vcrnf((X), (Y), (Z), 2) #define vec_convert_to_fp16 __builtin_s390_vcfn #define vec_convert_from_fp16 __builtin_s390_vcnf #define vec_gather_element __builtin_s390_vec_gather_element diff --git a/gcc/config/s390/vx-builtins.md b/gcc/config/s390/vx-builtins.md index 432d81a719f..322756f6d36 100644 --- a/gcc/config/s390/vx-builtins.md +++ b/gcc/config/s390/vx-builtins.md @@ -2220,36 +2220,39 @@ ;; NNPA Facility ;; -(define_insn "vclfnhs_v8hi" +(define_insn "vclfnh_v8hi" [(set (match_operand:V4SF 0 "register_operand" "=v") (unspec:V4SF [(vec_select:V4HI (match_operand:V8HI 1 "register_operand" "v") (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)])) - (match_operand:QI 2 "const_mask_operand" "C")] - UNSPEC_NNPA_VCLFNHS_V8HI))] + (match_operand:QI 2 "const_mask_operand" "C") + (match_operand:QI 3 "const_mask_operand" "C")] + UNSPEC_NNPA_VCLFNH_V8HI))] "TARGET_NNPA" - "vclfnh\t%v0,%v1,2,%2" + "vclfnh\t%v0,%v1,%2,%3" [(set_attr "op_type" "VRR")]) -(define_insn "vclfnls_v8hi" +(define_insn "vclfnl_v8hi" [(set (match_operand:V4SF 0 "register_operand" "=v") (unspec:V4SF [(vec_select:V4HI (match_operand:V8HI 1 "register_operand" "v") (parallel [(const_int 4) (const_int 5) (const_int 6) (const_int 7)])) - (match_operand:QI 2 "const_mask_operand" "C")] - UNSPEC_NNPA_VCLFNLS_V8HI))] + (match_operand:QI 2 "const_mask_operand" "C") + (match_operand:QI 3 "const_mask_operand" "C")] + UNSPEC_NNPA_VCLFNL_V8HI))] "TARGET_NNPA" - "vclfnl\t%v0,%v1,2,%2" + "vclfnl\t%v0,%v1,%2,%3" [(set_attr "op_type" "VRR")]) -(define_insn "vcrnfs_v8hi" +(define_insn "vcrnf_v8hi" [(set (match_operand:V8HI 0 "register_operand" "=v") (unspec:V8HI [(match_operand:V4SF 1 "register_operand" "v") (match_operand:V4SF 2 "register_operand" "v") - (match_operand:QI 3 "const_mask_operand" "C")] - UNSPEC_NNPA_VCRNFS_V8HI))] + (match_operand:QI 3 "const_mask_operand" "C") + (match_operand:QI 4 "const_mask_operand" "C")] + UNSPEC_NNPA_VCRNF_V8HI))] "TARGET_NNPA" - "vcrnf\t%v0,%v1,%v2,%3,2" + "vcrnf\t%v0,%v1,%v2,%3,%4" [(set_attr "op_type" "VRR")]) (define_insn "vcfn_v8hi"