Message ID | 20240124173646.4025318-1-quic_apinski@quicinc.com |
---|---|
State | Unresolved |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7300:2553:b0:103:945f:af90 with SMTP id p19csp1145427dyi; Wed, 24 Jan 2024 09:37:41 -0800 (PST) X-Google-Smtp-Source: AGHT+IEJAW6UfCSTvIWr/Q+3hV4k+7jq4ivYSiCmWrOdsOD5OdKOsUxsYfHYOXBtWfFGgcfEollG X-Received: by 2002:a05:6214:20c3:b0:681:12f5:d5f5 with SMTP id 3-20020a05621420c300b0068112f5d5f5mr3873651qve.91.1706117861513; Wed, 24 Jan 2024 09:37:41 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1706117861; cv=pass; d=google.com; s=arc-20160816; b=Dak8nr1qgzlPQCwJncRlVrba+wllVblPZTFGeGZxrHGQjn1+KYn4iPu6jPeOXEz6r5 Wnqdk+UMyVitHRcexpsUprEBThCb6k8jswH1c+IXZSuT0kVPpSmgS5QJA+8hda5v8U2l u2gNu7hCsbv6BCVTxrcOvBO6nhiXoDp5rZIjRidLRSci6C1+Ig2R4blrg2MXmKqQw7y/ ZQMX+zgHEe3m+j1JaeG6be3nzsTt6//nP/UYi+v25CgOCFwvBvgR6cYIaC/N11VRUuPX wgCD3JJU4Iwe2p2nxvRB3Ak43NJzSfU8pia4l/vrsc8XzGLhva475T8nNGPW2J54RUlf 8ocg== 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=CUMWhiQypqtIB+awqoqI5FVv6NhtMf1q+12nHWkB4eo=; fh=o3CEdS3yGN/eIa89Zn0Kf01WYLxTE9IjKuSQGVPeOHI=; b=ie1dqyk2pUnvGa5DC4TwMT9ovqTBNEKdzObaeC7qVV01RfH8YAmDzMUTDR3k7F/cot b0gE3lKxTOOFr2QOnDa0gHS6v+VSzsAX1tbBEoneTKlyzb2y94lSWdkP36W064yS/NxE 4gL5mbufmHWYFdzNhw2/e5QOtu/qVH4vw6aMGzIE/I0TPkIE79kl3FA4qSxOzdfD8y5f 5/NUb+QUIsUHwUyG8rEDsMF1YFc1Qj+jcHsa35KMU6vrg6C7PioIilazMwOKOscUgWEf LmD19XtseDeqGIGVRamFPs+8OcV9rU/TyKgW3u0QbQU0Kg2L2vjlC87Z8QeRaUCMiWOd Cg6g== ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=H2yffwjM; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id r10-20020a0ce28a000000b00683c7a006bcsi10510677qvl.376.2024.01.24.09.37.41 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 24 Jan 2024 09:37:41 -0800 (PST) Received-SPF: pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) client-ip=2620:52:3:1:0:246e:9693:128c; Authentication-Results: mx.google.com; dkim=pass header.i=@quicinc.com header.s=qcppdkim1 header.b=H2yffwjM; arc=pass (i=1); spf=pass (google.com: domain of gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org designates 2620:52:3:1:0:246e:9693:128c as permitted sender) smtp.mailfrom="gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=quicinc.com Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 3683A3858C29 for <ouuuleilei@gmail.com>; Wed, 24 Jan 2024 17:37:41 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.131]) by sourceware.org (Postfix) with ESMTPS id 8CB8B3858D38 for <gcc-patches@gcc.gnu.org>; Wed, 24 Jan 2024 17:36:59 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 8CB8B3858D38 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=quicinc.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=quicinc.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 8CB8B3858D38 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706117822; cv=none; b=i6hkvYPCy9dIhQR2/yUfARew6ZkFIpW89cDCtR80jJKlMBJ28GioocoLZDUxGH5Zb68JwMTdwnuStP1PVdVAsk9Cglp0Pcosf1WE4wD1+7ytWvJ4oiAfm/3A1X6i41qjaoA5G3eXzd223YQfd23ShBvzOYFOmhM4zwJBjgYMFKE= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1706117822; c=relaxed/simple; bh=WtKyF8IgbzkZalYSmoowfctXlzQVk3XLEIbnaB+UgjY=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=TvZd63UB4fQUwpFopsbioOpX4+XMmZGCDz8yZWxJhFzcWYtvp/iwFr36rkyW+PV2aSMpFJwgKqQj/pcBnqa06Wp7JlPVezRj81P7yPpYzOi0Up/7EfIIivEnJT6j90MyXu8Fi1Goc+PD/UvDCYmupSlzFYrmBjkdbvaakfofMQI= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from pps.filterd (m0279870.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.17.1.24/8.17.1.24) with ESMTP id 40OD3gWt022106 for <gcc-patches@gcc.gnu.org>; Wed, 24 Jan 2024 17:36:59 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; h= from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding:content-type; s=qcppdkim1; bh=CUMWhiQ ypqtIB+awqoqI5FVv6NhtMf1q+12nHWkB4eo=; b=H2yffwjMExpbsRYlXycxOA4 1MDJsfJO3gIoy2RUnUA67LT3HT3COPKoGXsTODAIyomRPiwzzBMbYr8oeGAVeI4E 9dQSDmIL0hyYc0mmfZ6kO+OOzlG2K27j8VqiUOJB2Cg3AaVFblcuL/T1aTs8t3MV 7DFKq4DOz8G5ahuv/4u4lop1JUOXjJRQPcjHnC31U6yYkHyZkuLsLdDBt15sRcTi sYUu4s3ygDKh1qkE2PD/cg39EAyGFScsOFBURkdNuSy/i1x5BrwyqnKdFhC9Rt+M 0pefd9lb+gOGPaTREMEBDJaCCThd7XcPH/yCY3hhDHVcH5pQue6/WNtPzPeZCxQ= = Received: from nasanppmta02.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 3vtwd61h48-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Wed, 24 Jan 2024 17:36:58 +0000 (GMT) Received: from nasanex01c.na.qualcomm.com (nasanex01c.na.qualcomm.com [10.45.79.139]) by NASANPPMTA02.qualcomm.com (8.17.1.5/8.17.1.5) with ESMTPS id 40OHaw0L016121 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for <gcc-patches@gcc.gnu.org>; Wed, 24 Jan 2024 17:36:58 GMT Received: from hu-apinski-lv.qualcomm.com (10.49.16.6) by nasanex01c.na.qualcomm.com (10.45.79.139) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.40; Wed, 24 Jan 2024 09:36:57 -0800 From: Andrew Pinski <quic_apinski@quicinc.com> To: <gcc-patches@gcc.gnu.org> CC: Andrew Pinski <quic_apinski@quicinc.com> Subject: [PATCH] Fix vect_long_mult for aarch64 [PR109705] Date: Wed, 24 Jan 2024 09:36:46 -0800 Message-ID: <20240124173646.4025318-1-quic_apinski@quicinc.com> X-Mailer: git-send-email 2.34.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Content-Type: text/plain X-Originating-IP: [10.49.16.6] X-ClientProxiedBy: nalasex01c.na.qualcomm.com (10.47.97.35) To nasanex01c.na.qualcomm.com (10.45.79.139) X-QCInternal: smtphost X-Proofpoint-Virus-Version: vendor=nai engine=6200 definitions=5800 signatures=585085 X-Proofpoint-GUID: YyeJbDMkgfL9JJkPu6zVBD9feKu-wJ4K X-Proofpoint-ORIG-GUID: YyeJbDMkgfL9JJkPu6zVBD9feKu-wJ4K 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-01-24_06,2024-01-24_01,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 impostorscore=0 clxscore=1015 mlxscore=0 lowpriorityscore=0 priorityscore=1501 malwarescore=0 mlxlogscore=665 spamscore=0 adultscore=0 suspectscore=0 phishscore=0 bulkscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.19.0-2401190000 definitions=main-2401240127 X-Spam-Status: No, score=-13.2 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1788994242823170920 X-GMAIL-MSGID: 1788994242823170920 |
Series |
Fix vect_long_mult for aarch64 [PR109705]
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
Andrew Pinski (QUIC)
Jan. 24, 2024, 5:36 p.m. UTC
On aarch64, vectorization of `long` multiply can be done if SVE is enabled
or if long is 32bit (ILP32). It can also be done for constants too but there
is no effective target test for that just yet.
Build and tested on aarch64-linux-gnu with no regressions (also tested with SVE enabled).
gcc/testsuite/ChangeLog:
* lib/target-supports.exp (check_effective_target_vect_long_mult):
Fix aarch64*-*-* checks.
Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com>
---
gcc/testsuite/lib/target-supports.exp | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
Comments
Andrew Pinski <quic_apinski@quicinc.com> writes: > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > or if long is 32bit (ILP32). It can also be done for constants too but there > is no effective target test for that just yet. > > Build and tested on aarch64-linux-gnu with no regressions (also tested with SVE enabled). > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > Fix aarch64*-*-* checks. OK, thanks! Richard > Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> > --- > gcc/testsuite/lib/target-supports.exp | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp > index 9ca8355b3e1..178d1a73064 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > && [check_effective_target_has_arch_pwr10]) > || [is-effective-target arm_neon] > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > - || [istarget aarch64*-*-*] > + || ([istarget aarch64*-*-*] > + && ([check_effective_target_ilp32] > + || check_effective_target_aarch64_sve])) > || ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) > || ([istarget riscv*-*-*]
On Wed, Jan 24, 2024 at 9:37 AM Andrew Pinski <quic_apinski@quicinc.com> wrote: > > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > or if long is 32bit (ILP32). It can also be done for constants too but there > is no effective target test for that just yet. > > Build and tested on aarch64-linux-gnu with no regressions (also tested with SVE enabled). > > gcc/testsuite/ChangeLog: > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > Fix aarch64*-*-* checks. > > Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> > --- > gcc/testsuite/lib/target-supports.exp | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp > index 9ca8355b3e1..178d1a73064 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > && [check_effective_target_has_arch_pwr10]) > || [is-effective-target arm_neon] > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > - || [istarget aarch64*-*-*] > + || ([istarget aarch64*-*-*] > + && ([check_effective_target_ilp32] > + || check_effective_target_aarch64_sve])) ^ Missing [ I got ERROR: gcc.dg/vect/pr60656.c: error executing dg-final: invalid bareword "check_effective_target..." in expression "...e_target_ilp32] || check_effective_target...])) || ([istarget mi..."; should be "$check_effective_target..." or "{check_effective_target...}" or "check_effective_target...(...)" or ... ERROR: gcc.dg/vect/pr60656.c -flto -ffat-lto-objects: error executing dg-final: invalid bareword "check_effective_target..." in expression "...e_target_ilp32] || check_effective_target...])) || ([istarget mi..."; should be "$check_effective_target..." or "{check_effective_target...}" or "check_effective_target...(...)" or ... > || ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) > || ([istarget riscv*-*-*] > -- > 2.39.3 > I am checking in this to fix it.
On Wed, Jan 24, 2024 at 4:40 PM H.J. Lu <hjl.tools@gmail.com> wrote: > > On Wed, Jan 24, 2024 at 9:37 AM Andrew Pinski <quic_apinski@quicinc.com> wrote: > > > > On aarch64, vectorization of `long` multiply can be done if SVE is enabled > > or if long is 32bit (ILP32). It can also be done for constants too but there > > is no effective target test for that just yet. > > > > Build and tested on aarch64-linux-gnu with no regressions (also tested with SVE enabled). > > > > gcc/testsuite/ChangeLog: > > > > * lib/target-supports.exp (check_effective_target_vect_long_mult): > > Fix aarch64*-*-* checks. > > > > Signed-off-by: Andrew Pinski <quic_apinski@quicinc.com> > > --- > > gcc/testsuite/lib/target-supports.exp | 4 +++- > > 1 file changed, 3 insertions(+), 1 deletion(-) > > > > diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp > > index 9ca8355b3e1..178d1a73064 100644 > > --- a/gcc/testsuite/lib/target-supports.exp > > +++ b/gcc/testsuite/lib/target-supports.exp > > @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { > > && [check_effective_target_has_arch_pwr10]) > > || [is-effective-target arm_neon] > > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > > - || [istarget aarch64*-*-*] > > + || ([istarget aarch64*-*-*] > > + && ([check_effective_target_ilp32] > > + || check_effective_target_aarch64_sve])) > ^ Missing [ > > I got > > ERROR: gcc.dg/vect/pr60656.c: error executing dg-final: invalid > bareword "check_effective_target..." > in expression "...e_target_ilp32] > || check_effective_target...])) > || ([istarget mi..."; > should be "$check_effective_target..." or > "{check_effective_target...}" or "check_effective_target...(...)" or > ... > ERROR: gcc.dg/vect/pr60656.c -flto -ffat-lto-objects: error executing > dg-final: invalid bareword "check_effective_target..." > in expression "...e_target_ilp32] > || check_effective_target...])) > || ([istarget mi..."; > should be "$check_effective_target..." or > "{check_effective_target...}" or "check_effective_target...(...)" or > ... > > > > || ([istarget mips*-*-*] > > && [et-is-effective-target mips_msa]) > > || ([istarget riscv*-*-*] > > -- > > 2.39.3 > > > > I am checking in this to fix it. I actually just checked in that same fix :) Thanks, Andrew > > -- > H.J. > --- > diff --git a/gcc/testsuite/lib/target-supports.exp > b/gcc/testsuite/lib/target-supports.exp > index 82520119026..49e748caf17 100644 > --- a/gcc/testsuite/lib/target-supports.exp > +++ b/gcc/testsuite/lib/target-supports.exp > @@ -9092,7 +9092,7 @@ proc check_effective_target_vect_long_mult { } { > || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) > || ([istarget aarch64*-*-*] > && ([check_effective_target_ilp32] > - || check_effective_target_aarch64_sve])) > + || [check_effective_target_aarch64_sve])) > || ([istarget mips*-*-*] > && [et-is-effective-target mips_msa]) > || ([istarget riscv*-*-*]
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 9ca8355b3e1..178d1a73064 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -9090,7 +9090,9 @@ proc check_effective_target_vect_long_mult { } { && [check_effective_target_has_arch_pwr10]) || [is-effective-target arm_neon] || ([istarget sparc*-*-*] && [check_effective_target_ilp32]) - || [istarget aarch64*-*-*] + || ([istarget aarch64*-*-*] + && ([check_effective_target_ilp32] + || check_effective_target_aarch64_sve])) || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) || ([istarget riscv*-*-*]