From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 41AAE3858D20 for ; Mon, 15 Jan 2024 01:29:36 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 41AAE3858D20 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: sourceware.org; spf=fail smtp.mailfrom=loongson.cn ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 41AAE3858D20 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2001:470:142:3::10 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705282178; cv=none; b=Bb4FCCTsceZe4PWC2gY0QCnPGstWnsT6z4fZx2hiQUdlQWZncrxpHBXesiV/v0Se2nT+wISvg6pm34Kk2Bpne7Zbgs1Huq6vitzE1hpXqU4eol6MuQLTXuJUGp9K+s9RuTtzKSp4Ym5nTcMtdTayPkwTCX+ZDacQx9jsRRUBWwc= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1705282178; c=relaxed/simple; bh=htInhnDgY9ri62xJV45deftCAcAFHsStXLhQYkH5vfU=; h=Message-ID:Subject:From:To:Date:MIME-Version; b=IyaVP9TUtWzMSKmm3rtPh9Zf2Xv7JMXHxjaz+uR3zGePcuD0rR2w94iFccMvCP2OAcOoN/u7FhY/qUainYIbk5ZflMBU7vrDSSl4VfPsmkc6qZ0pcMwG//e3yNSFjJspnMCJpgcoZGL6TMGYZwscPDfULOU5vH3qcptlgg7/hzQ= ARC-Authentication-Results: i=1; server2.sourceware.org Received: from mail.loongson.cn ([114.242.206.163]) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rPBnB-0004u9-Ct for gcc-patches@gcc.gnu.org; Sun, 14 Jan 2024 20:29:35 -0500 Received: from loongson.cn (unknown [10.20.4.86]) by gateway (Coremail) with SMTP id _____8DxfetyiqRlKjAAAA--.591S3; Mon, 15 Jan 2024 09:29:23 +0800 (CST) Received: from [10.20.4.86] (unknown [10.20.4.86]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Cxbs1yiqRlOUUBAA--.4490S3; Mon, 15 Jan 2024 09:29:22 +0800 (CST) Message-ID: <8654a1de861c86eda083dced141bc928df3930f4.camel@loongson.cn> Subject: Re: [PATCH v2] LoongArch: testsuite:Added additional vectorization "-mlsx" option. From: chenxiaolong To: Xi Ruoyao , gcc-patches@gcc.gnu.org Cc: i@xen0n.name, xuchenghua@loongson.cn, chenglulu@loongson.cn, schwab@linux-m68k.org, ci_notify@linaro.org Date: Mon, 15 Jan 2024 09:29:22 +0800 In-Reply-To: <36fa3e47dfb106a150f113a300ecff6a7c869237.camel@xry111.site> References: <20240113072817.31932-1-chenxiaolong@loongson.cn> <36fa3e47dfb106a150f113a300ecff6a7c869237.camel@xry111.site> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.30.5-1.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-CM-TRANSID:AQAAf8Cxbs1yiqRlOUUBAA--.4490S3 X-CM-SenderInfo: hfkh05xldrz0tqj6z05rqj20fqof0/1tbiAQAPBWWh4SoAzQACsL X-Coremail-Antispam: 1Uk129KBj93XoWxCr45JrWkKr1kAr1rZFy8tFc_yoWruFy3pw n8CFWxKw48GF1kWF17X3yxtr4rWas7KFW5uryxKw4Ivw17J3s2q3WrtrWfJ3W3WFsrZr1f Zw4ku345Za1a9rcCm3ZEXasCq-sJn29KB7ZKAUJUUUU7529EdanIXcx71UUUUU7KY7ZEXa sCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29KBjDU 0xBIdaVrnRJUUUvGb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26cxKx2 IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vEj48v e4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxVAFwI 0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVW8JVWxJwA2z4x0Y4vEx4A2jsIEc7CjxVAFwI0_ Gr0_Gr1UM2kKe7AKxVWUXVWUAwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07AIYI kI8VC2zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWUAVWU twAv7VC2z280aVAFwI0_Jr0_Gr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcVAKI48JMx AIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMxCIbckI1I0E14v26r1Y6r17 MI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67 AKxVWUAVWUtwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0 cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z2 80aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIF yTuYvjxU7fMaUUUUU Received-SPF: pass client-ip=114.242.206.163; envelope-from=chenxiaolong@loongson.cn; helo=mail.loongson.cn X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9,SPF_HELO_NONE=0.001,SPF_PASS=-0.001,T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Status: No, score=-13.5 required=5.0 tests=BAYES_00,GIT_PATCH_0,KAM_DMARC_STATUS,SPF_FAIL,SPF_HELO_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 List-Id: At 21:13 +0800 on Saturday, 2024-01-13, Xi Ruoyao wrote: > At 15:28 +0800 on Saturday 2024-01-13, chenxiaolong wrote: > > gcc/testsuite/ChangeLog: > > > > * gcc.dg/pr104992.c: Added additional "-mlsx" compilation > > options. > > * gcc.dg/signbit-2.c: Dito. > > * gcc.dg/tree-ssa/scev-16.c: Dito. > > * gfortran.dg/graphite/vect-pr40979.f90: Dito. > > * gfortran.dg/vect/fast-math-mgrid-resid.f: Dito. > > I don't feel it right about the changes to pr104992.c and scev-16.c > because no other architectures add special options there. Why are we > so special? > > > --- > > gcc/testsuite/gcc.dg/pr104992.c | 1 + > > gcc/testsuite/gcc.dg/signbit-2.c | 1 + > > gcc/testsuite/gcc.dg/tree-ssa/scev-16.c | 1 + > > gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 | 1 + > > gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f | 1 + > > 5 files changed, 5 insertions(+) > > > > diff --git a/gcc/testsuite/gcc.dg/pr104992.c > > b/gcc/testsuite/gcc.dg/pr104992.c > > index 82f8c75559c..a77992fa491 100644 > > --- a/gcc/testsuite/gcc.dg/pr104992.c > > +++ b/gcc/testsuite/gcc.dg/pr104992.c > > @@ -1,6 +1,7 @@ > > /* PR tree-optimization/104992 */ > > /* { dg-do compile } */ > > /* { dg-options "-O2 -Wno-psabi -fdump-tree-optimized" } */ > > +/* { dg-additional-options "-mlsx" { target loongarch_sx } } */ > > > > #define vector __attribute__((vector_size(4*sizeof(int)))) > > > > diff --git a/gcc/testsuite/gcc.dg/signbit-2.c > > b/gcc/testsuite/gcc.dg/signbit-2.c > > index 62bb4047d74..5511bb78149 100644 > > --- a/gcc/testsuite/gcc.dg/signbit-2.c > > +++ b/gcc/testsuite/gcc.dg/signbit-2.c > > @@ -5,6 +5,7 @@ > > /* { dg-additional-options "-msse2 -mno-avx512f" { target { i?86- > > *-* x86_64-*-* } } } */ > > /* { dg-additional-options "-march=armv8-a" { target aarch64_sve } > > } */ > > /* { dg-additional-options "-maltivec" { target powerpc_altivec_ok > > } } */ > > +/* { dg-additional-options "-mlsx" { target loongarch_sx } } */ > > /* { dg-skip-if "no fallback for MVE" { arm_mve } } */ > > > > #include > > diff --git a/gcc/testsuite/gcc.dg/tree-ssa/scev-16.c > > b/gcc/testsuite/gcc.dg/tree-ssa/scev-16.c > > index 120f40c0b6c..06cfbbcfae5 100644 > > --- a/gcc/testsuite/gcc.dg/tree-ssa/scev-16.c > > +++ b/gcc/testsuite/gcc.dg/tree-ssa/scev-16.c > > @@ -1,6 +1,7 @@ > > /* { dg-do compile } */ > > /* { dg-require-effective-target vect_int } */ > > /* { dg-options "-O2 -ftree-vectorize -fdump-tree-vect-details" } > > */ > > +/* { dg-additional-options "-mlsx" { target { loongarch*-*-* } } } > > */ > > > > int A[1024 * 2]; > > > > diff --git a/gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 > > b/gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 > > index a42290948c4..6f2ad1166a4 100644 > > --- a/gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 > > +++ b/gcc/testsuite/gfortran.dg/graphite/vect-pr40979.f90 > > @@ -1,6 +1,7 @@ > > ! { dg-do compile } > > ! { dg-require-effective-target vect_double } > > ! { dg-additional-options "-msse2" { target { { i?86-*-* x86_64-*- > > * } && ilp32 } } } > > +! { dg-additional-options "-mlsx" { target { loongarch*-*-* } } } > > > > module mqc_m > > integer, parameter, private :: longreal = > > selected_real_kind(15,90) > > diff --git a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f > > b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f > > index 08965cc5e20..97b88821731 100644 > > --- a/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f > > +++ b/gcc/testsuite/gfortran.dg/vect/fast-math-mgrid-resid.f > > @@ -2,6 +2,7 @@ > > ! { dg-require-effective-target vect_double } > > ! { dg-options "-O3 --param vect-max-peeling-for-alignment=0 > > -fpredictive-commoning -fdump-tree-pcom-details -std=legacy" } > > ! { dg-additional-options "-mprefer-avx128" { target { i?86-*-* > > x86_64-*-* } } } > > +! { dg-additional-options "-mlsx" { target { loongarch*-*-* } } } > > ! { dg-additional-options "-mzarch" { target { s390*-*-* } } } > > > > ******* RESID COMPUTES THE RESIDUAL: R = V - AU Because on the LoongArch architecture, GCC requires the addition of vectorization options in order to generate vector code. Use the check_effective_target_vect_cmdline_needed command in the lib/target- supports.exp file to set whether the command line option is needed to enable vectorizations. For example, ia64,x86,aarch64, and riscv architectures, vectorization is enabled by default.