From patchwork Fri Jan 5 03:43:22 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: chenxiaolong X-Patchwork-Id: 18742 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a05:7301:6f82:b0:100:9c79:88ff with SMTP id tb2csp6007443dyb; Thu, 4 Jan 2024 19:44:57 -0800 (PST) X-Google-Smtp-Source: AGHT+IFMOXEko3JhaI9JkLbfyhkNu9QXsiDNRHb/BfXkNFfymmRI5AgzffsgPKXPGPir5BriEWUu X-Received: by 2002:a05:620a:3199:b0:781:30b0:4f37 with SMTP id bi25-20020a05620a319900b0078130b04f37mr1930531qkb.15.1704426296924; Thu, 04 Jan 2024 19:44:56 -0800 (PST) ARC-Seal: i=2; a=rsa-sha256; t=1704426296; cv=pass; d=google.com; s=arc-20160816; b=t0z+JajbBTkmsl6+hqgvCVIobqRKh5Q75HjneLhOY7pKFw0UJW3H6h70Zln5narv+P GnwCPCECSRAztWoOmutfOV/JRu6FJP4THfEtceQGtyu+i/O8dGyFFGV4aCLTjNsmYfNq YIwv3l01M17JfFm+3AbMTfjJ1bZ/+TDv0L4jYMfRSD7QT9pOk5FlUwCBObS/UYXZZ9y3 L2aw5BBF8K6TocrlXoaJ0WIkWERvaCboe4QL3IkIXZn1bsekot+jB/uYK1keuGC5V+qM CXSL2E2Rpb4nJt/l3jfbN/FdyyX+MK70iknjLvHknjBPRi8IKDezeuasFqAqPU16FkBB SSfw== 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:arc-filter :dmarc-filter:delivered-to; bh=/1KHJb9ai+xQ/0GpCTtZwDcr9qlSg7ifNRKsao4APfI=; fh=FZUwle8+72fCZy+/zioADwckSVaPYtJTkTncWlIM74g=; b=Wbx0E2prx/F1u3d14PoP/OUl1bO35RPp9xnegTfkh1dEqEz0q899mPcXENLgwN73xY s2vpmY1Rz208gSWVg7MR8gwBhsEXAW/DVJNeY28kYj6tfLsfN1Uj55bkNssxiBPEs/dA Dddnr5bm62lbf+k8sxdOPvl+yi4nvlrGb27pav0DBzkpn8V5Q+jCWRIlulEYZGh0Pt7b VQW6Lo4kPZ/5Mjd6cJkrLfm0Q2EoAH8zK2gDmTT5iXYtqiN4XEzVizo3pmiu4ASwqj35 pSELqUjxZH49IIQ3ijgnRl2ZSMxFrwJrcoKMxpkFJfeEqZwP9mGm0IBWefskm35cuXyg cozQ== ARC-Authentication-Results: i=2; mx.google.com; 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" Received: from server2.sourceware.org (server2.sourceware.org. [2620:52:3:1:0:246e:9693:128c]) by mx.google.com with ESMTPS id f7-20020a05620a408700b007813961ff86si975485qko.306.2024.01.04.19.44.56 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 04 Jan 2024 19:44:56 -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; 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" Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 98A063857B95 for ; Fri, 5 Jan 2024 03:44:56 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from eggs.gnu.org (eggs.gnu.org [IPv6:2001:470:142:3::10]) by sourceware.org (Postfix) with ESMTPS id 26F5E3858D32 for ; Fri, 5 Jan 2024 03:43:55 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 26F5E3858D32 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 26F5E3858D32 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=1704426238; cv=none; b=ZfqI9ANPsznmjZBuqSZY4by12u2OW/2rHrprlrC/8sbHoUK9o6OiA0N9xqW6qXcenlvAXBXQCH8XraIyVIPHg6RrB69m4V11cB9p7PYCz6fMhTUvoikmnTKKKHFE26tCrKOJIMxZnT+ckaqqwazQCSBDw1jl0ThV+Cw4r0CWv08= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704426238; c=relaxed/simple; bh=A7mkw7EKIcJcsiBA53AfUIGBtSV/1JrZpKG/lBF1OF0=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=a8IXoRD7j95YreDebV6Y3Af2GkRrPEaWcP+dSyU5JHuAcVNUuXlKvlcvl/TEqDOyrkhyuqBPmdmpDiU8YTK+bJC5km/RkD69W9VGwTVMxjSGSDO4YcLUAGbNjEMdlfiwjvMJt+KipXqDA3nPOIRiGqK+CR3fUHauNTKvSrFsVoM= 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 1rLb7g-0003Le-RN for gcc-patches@gcc.gnu.org; Thu, 04 Jan 2024 22:43:54 -0500 Received: from loongson.cn (unknown [10.10.130.252]) by gateway (Coremail) with SMTP id _____8CxqurxepdlSC0CAA--.7387S3; Fri, 05 Jan 2024 11:43:46 +0800 (CST) Received: from slurm-master.loongson.cn (unknown [10.10.130.252]) by localhost.localdomain (Coremail) with SMTP id AQAAf8Bxut3vepdlO8oCAA--.7318S4; Fri, 05 Jan 2024 11:43:44 +0800 (CST) From: chenxiaolong To: gcc-patches@gcc.gnu.org Cc: xry111@xry111.site, i@xen0n.name, xuchenghua@loongson.cn, chenglulu@loongson.cn, chenxiaolong Subject: [PATCH v2 0/7] LoongArch:Enable testing for common Date: Fri, 5 Jan 2024 11:43:22 +0800 Message-Id: <20240105034329.21117-1-chenxiaolong@loongson.cn> X-Mailer: git-send-email 2.20.1 MIME-Version: 1.0 X-CM-TRANSID: AQAAf8Bxut3vepdlO8oCAA--.7318S4 X-CM-SenderInfo: hfkh05xldrz0tqj6z05rqj20fqof0/1tbiAQAHBWWXVSgCmAAXsB X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3Ic02F40EFcxC0VAKzVAqx4xG6I80ebIjqfuFe4nvWSU5nxnvy29K BjDU0xBIdaVrnRJUUU9vb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I20VC2zVCF04k26c xKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rwA2F7IY1VAKz4vE j48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Gr0_Xr1l84ACjcxK6xIIjxv20xvEc7CjxV AFwI0_Gr0_Cr1l84ACjcxK6I8E87Iv67AKxVWxJVW8Jr1l84ACjcxK6I8E87Iv6xkF7I0E 14v26r4UJVWxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wASzI0E04IjxsIE14AKx2xKxw AqjxCEc2xF0cIa020Ex4CE44I27wAqx4xG64xvF2IEw4CE5I8CrVC2j2WlYx0E2Ix0cI8I cVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjc xG0xvY0x0EwIxGrwAKzVC20s0267AEwI8IwI0ExsIj0wCF04k20xvY0x0EwIxGrwCFx2Iq xVCFs4IE7xkEbVWUJVW8JwC20s026c02F40E14v26r1j6r18MI8I3I0E7480Y4vE14v26r 1j6r18MI8E67AF67kF1VAFwI0_JF0_Jw1lIxkGc2Ij64vIr41lIxAIcVC0I7IYx2IY67AK xVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04k26cxKx2IYs7 xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7CjxVAFwI0_Jr0_ GrUvcSsGvfC2KfnxnUUI43ZEXa7IU1QVy3UUUUU== 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=-7.5 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_FAIL, SPF_HELO_PASS, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no 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: 1787220509054137164 X-GMAIL-MSGID: 1787220509054137164 v1->v2: On the basis of v1, the reason of the analysis problem is described in detail. When using binutils, which does not support vectorization, and the gcc compiler toolchain, which does support vectorization, the following two types of error problems occur in gcc regression testing. 1.Failure of common tests in the gcc.dg/vect directory. Regression testing of GCC has found that vect-bic-bitmask-{12/23}.c has errors at compile time, and similar problems exist on various architectures (e.g. x86, aarch64,riscv, etc.). The reason is that the behavior of the program is the assembly state, and the vector instruction cannot be recognized in the assembly stage and an error occurs. 2.FAIL items of common vectorization tests are supported. When LoongArch architecture supports common vector test cases, GCC regression testing has many failures. Reasons include a lack of detection of targets Rules, lack of vectorization options, lack of specific compilation options, check for instruction set differences and test behavior for program Settings, etc. For details, see the following patches: chenxiaolong (7): LoongArch: testsuite:Added support for vector object detection. LoongArch: testsuite:Modify the test behavior of the vect-bic-bitmask-{12,23}.c file. LoongArch: testsuite:Added detection support for LoongArch architecture in vect-{82,83}.c. LoongArch: testsuite:Fix FAIL in file bind_c_array_params_2.f90. LoongArch: testsuite:Delete the default run behavior in pr60510.f. LoongArch: testsuite:Added additional vectorization "-mlasx" compilation option. LoongArch: testsuite:Give up the detection of the gcc.dg/fma-{3,4,6,7}.c file. gcc/testsuite/gcc.dg/fma-3.c | 2 +- gcc/testsuite/gcc.dg/fma-4.c | 2 +- gcc/testsuite/gcc.dg/fma-6.c | 2 +- gcc/testsuite/gcc.dg/fma-7.c | 2 +- gcc/testsuite/gcc.dg/vect/bb-slp-pattern-1.c | 1 + .../gcc.dg/vect/slp-widen-mult-half.c | 1 + gcc/testsuite/gcc.dg/vect/vect-82.c | 2 +- gcc/testsuite/gcc.dg/vect/vect-83.c | 2 +- .../gcc.dg/vect/vect-bic-bitmask-12.c | 2 +- .../gcc.dg/vect/vect-bic-bitmask-23.c | 2 +- .../gcc.dg/vect/vect-widen-mult-const-s16.c | 1 + .../gcc.dg/vect/vect-widen-mult-const-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-half-u8.c | 1 + .../gcc.dg/vect/vect-widen-mult-half.c | 1 + .../gcc.dg/vect/vect-widen-mult-u16.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8-s16-s32.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8-u32.c | 1 + .../gcc.dg/vect/vect-widen-mult-u8.c | 1 + .../gfortran.dg/bind_c_array_params_2.f90 | 4 +- gcc/testsuite/gfortran.dg/vect/pr60510.f | 1 - gcc/testsuite/lib/target-supports.exp | 217 +++++++++++++----- 21 files changed, 183 insertions(+), 65 deletions(-)