From patchwork Wed Aug 30 07:56:53 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "juzhe.zhong@rivai.ai" X-Patchwork-Id: 137149 Return-Path: Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:a7d1:0:b0:3f2:4152:657d with SMTP id p17csp4389203vqm; Wed, 30 Aug 2023 00:58:02 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEu1SEIvrK8ckV+1oqIq38Xoz8oMlt6eRu54zggkTKMbI33DV6JKj1i8uqZN+dnYAJt8VOf X-Received: by 2002:a05:6402:b11:b0:523:d1e0:7079 with SMTP id bm17-20020a0564020b1100b00523d1e07079mr1123277edb.21.1693382281945; Wed, 30 Aug 2023 00:58:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1693382281; cv=none; d=google.com; s=arc-20160816; b=hIEF+8OqCjpmQrtWwyV5MhOe3rtFooqq6tK4LN0PjcnYX3ajHB68Necm5xXME9KQOo gvOez93TtpmkjT10/MZuAoluFLvcqJGG/HyWJZnGIcAFbW5Pijlp7TC2HBGt8h02ZgvE Dcblmvp+wcA6EfwHiM/6mvLlmihegKIfMddG1EF3eX3omEePK4PagGI+yaGNJtmdKl3q r3LsQfX6JPq2jZqy18LysbL2MnPsEEIa8LOR71li1lvix/9RVoWzT8rzMjR2j9GRYxhN dL9G0IJmkVbcwRqNIM4GNDXOR1pAsdKu9xJWxoQiuH26oWiq06z7BeBrea4log6phFYN 7Tag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:cc:list-subscribe:list-help:list-post:list-archive :list-unsubscribe:list-id:precedence:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:to :from:dmarc-filter:delivered-to; bh=vMMv71aO+aFU3U5fdme3V08DvEczRkgRaDgJsYr+lss=; fh=rY5y8RF1UCexYeh2NNHeiGM52DalQoqJV02UvTbSbeg=; b=qhOXftdxvDVzZ9P6JAL9S//UqJU3ZrdVnd6xyaALlFPaVWSMgtETW+RIkhHDrR2zeS kFNMTYqwMfI+cZvOiv7ncC65P4NUhFksMX8hBXxZcYBTOuymL3p16sHXYC0zKQiQjFBg 3HLn5KPyJxrpxE2rImb0IlzV1VhiYEicq2Ii7SOTJWPxjev1HqoprSzToZC+HNkuw8cA onzvToX7BADa/YLyJm0qqxPvyJUraJ3t0+ZumiSsmypqfQ9RzwKhGxo2ZmopkMgNjGxL qwogJORpwODmIonDwZsO/91b700drK+zzGc3pOG7eeyFXamfnhVHygMeJH4eSoO8BRul 5uAw== ARC-Authentication-Results: i=1; mx.google.com; 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 n24-20020a056402515800b00523368284a9si6990826edd.189.2023.08.30.00.58.01 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 30 Aug 2023 00:58:01 -0700 (PDT) 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; 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 70A49385701B for ; Wed, 30 Aug 2023 07:57:35 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgsg2.qq.com (smtpbgsg2.qq.com [54.254.200.128]) by sourceware.org (Postfix) with ESMTPS id 1911E385842C for ; Wed, 30 Aug 2023 07:57:00 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 1911E385842C Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai X-QQ-mid: bizesmtp83t1693382215t9ehcn6k Received: from rios-cad122.hadoop.rioslab.org ( [58.60.1.26]) by bizesmtp.qq.com (ESMTP) with id ; Wed, 30 Aug 2023 15:56:54 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: FnSO6BqblfSD38h2DN6GK+PSI9HcfHQ0j21f/4vS1iL7eAhVY0cbuYbPvVseg +MSuCojWjuwqEC1cnbvENuUr6Fn6KGo5ST+CRrX5NF9rlLxdl/JdD8EjWPU5fpma2MVqxqx 2UXt/b7btYVrnv0RVjWDO4XL2HvljTHTAdABAmeWChC4h/rNpz0sCFfXmyvUx2vEMv3pzsn S1mrGqy1XDVF79WEPag4OUgzQBSsS/26m2vYRl/neHKKxBHSNIHk81UV65Qaf/ppAAHsqB+ vRccJ2ClC7+1+mzuPpyiTopWsMB5Nf1Vq6syDbcm5guwlvJ6I7aesJEWL6gdZQ1vwAtS1xA 22DY/Fq5S7OCNQEbSrJ3kSo5RmVG+Prapgay1yVFuIdcNL+5+6I19n3GI6QyEbd5WxuFfTz X-QQ-GoodBg: 2 X-BIZMAIL-ID: 11245474971119994014 From: Juzhe-Zhong To: gcc-patches@gcc.gnu.org Subject: [PATCH V5] RISC-V: Enable vec_int testsuite for RVV VLA vectorization Date: Wed, 30 Aug 2023 15:56:53 +0800 Message-Id: <20230830075653.356338-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-10.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_BARRACUDACENTRAL, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, SPF_PASS, TXREP 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: , Cc: kito.cheng@gmail.com, Juzhe-Zhong , kito.cheng@sifive.com Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org Sender: "Gcc-patches" X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1775640019727139699 X-GMAIL-MSGID: 1775640019727139699 Add vect_strided and vect_widen so that we will remove these following failures: FAIL: gcc.dg/vect/vect-reduc-pattern-1c-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1c-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1c.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/wrapv-vect-reduc-pattern-2c.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/slp-19a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-19a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-19a.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-19a.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-19b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-19b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-19b.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-19b.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/slp-21.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-23.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/slp-23.c scan-tree-dump-times vect "vectorized 1 loops" 1 XPASS: gcc.dg/vect/slp-reduc-6.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 2 XPASS: gcc.dg/vect/slp-reduc-6.c scan-tree-dump-times vect "vectorized 1 loops" 2 XPASS: gcc.dg/vect/vect-10-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 XPASS: gcc.dg/vect/vect-10-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 1 XPASS: gcc.dg/vect/vect-10.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 XPASS: gcc.dg/vect/vect-10.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-98-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-98-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-98.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-98.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-strided-store-u32-i2.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/vect-strided-store-u32-i2.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/vect-vfa-03.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-vfa-03.c scan-tree-dump-times vect "vectorized 1 loops" 0 With patch, the failures report (236 now original 270): XPASS: gcc.dg/vect/no-scevccp-outer-16.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1 XPASS: gcc.dg/vect/no-scevccp-outer-17.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1 XPASS: gcc.dg/vect/no-scevccp-outer-19.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1 XPASS: gcc.dg/vect/no-scevccp-outer-21.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED." 1 FAIL: gcc.dg/vect/no-scevccp-outer-7.c scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 FAIL: gcc.dg/vect/no-section-anchors-vect-31.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/no-section-anchors-vect-64.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/no-vfa-vect-101.c scan-tree-dump-times vect "can't determine dependence" 1 FAIL: gcc.dg/vect/no-vfa-vect-102.c scan-tree-dump-times vect "possible dependence between data-refs" 1 FAIL: gcc.dg/vect/no-vfa-vect-102a.c scan-tree-dump-times vect "possible dependence between data-refs" 1 FAIL: gcc.dg/vect/no-vfa-vect-37.c scan-tree-dump-times vect "can't determine dependence" 2 FAIL: gcc.dg/vect/pr57705.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loop" 2 FAIL: gcc.dg/vect/pr57705.c scan-tree-dump-times vect "vectorized 1 loop" 2 FAIL: gcc.dg/vect/pr65310.c -flto -ffat-lto-objects scan-tree-dump vect "can't force alignment" FAIL: gcc.dg/vect/pr65310.c -flto -ffat-lto-objects scan-tree-dump-not vect "misalign = 0" FAIL: gcc.dg/vect/pr65310.c scan-tree-dump vect "can't force alignment" FAIL: gcc.dg/vect/pr65310.c scan-tree-dump-not vect "misalign = 0" FAIL: gcc.dg/vect/pr65518.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops in function" 2 FAIL: gcc.dg/vect/pr65518.c scan-tree-dump-times vect "vectorized 0 loops in function" 2 FAIL: gcc.dg/vect/pr68445.c -flto -ffat-lto-objects scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/pr68445.c scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/pr88598-1.c -flto -ffat-lto-objects scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr88598-1.c scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr88598-2.c -flto -ffat-lto-objects scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr88598-2.c scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr88598-3.c -flto -ffat-lto-objects scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr88598-3.c scan-tree-dump-not optimized "REDUC_PLUS" FAIL: gcc.dg/vect/pr97835.c -flto -ffat-lto-objects scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/pr97835.c scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/slp-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 4 FAIL: gcc.dg/vect/slp-1.c scan-tree-dump-times vect "vectorizing stmts using SLP" 4 FAIL: gcc.dg/vect/slp-11a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-11a.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-12a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-12a.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-12c.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-12c.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-12c.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-12c.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-15.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-15.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-15.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-15.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-2.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 4 FAIL: gcc.dg/vect/slp-2.c scan-tree-dump-times vect "vectorizing stmts using SLP" 4 FAIL: gcc.dg/vect/slp-25.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/slp-25.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/slp-26.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-26.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-26.c scan-tree-dump-times vect "vectorized 0 loops" 1 FAIL: gcc.dg/vect/slp-26.c scan-tree-dump-times vect "vectorizing stmts using SLP" 0 FAIL: gcc.dg/vect/slp-28.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/slp-28.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-28.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/slp-28.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 3 loops" 1 FAIL: gcc.dg/vect/slp-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 3 FAIL: gcc.dg/vect/slp-3.c scan-tree-dump-times vect "vectorized 3 loops" 1 FAIL: gcc.dg/vect/slp-3.c scan-tree-dump-times vect "vectorizing stmts using SLP" 3 FAIL: gcc.dg/vect/slp-34-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-34-big-array.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-34.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-34.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-35.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-35.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-42.c -flto -ffat-lto-objects scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/slp-42.c scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/slp-43.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 13 FAIL: gcc.dg/vect/slp-43.c scan-tree-dump-times vect "vectorized 1 loops" 13 FAIL: gcc.dg/vect/slp-45.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 13 FAIL: gcc.dg/vect/slp-45.c scan-tree-dump-times vect "vectorized 1 loops" 13 FAIL: gcc.dg/vect/slp-47.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-47.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-48.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-48.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-49.c -flto -ffat-lto-objects scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/slp-49.c scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/slp-6.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 2 loops" 1 FAIL: gcc.dg/vect/slp-6.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-6.c scan-tree-dump-times vect "vectorized 2 loops" 1 FAIL: gcc.dg/vect/slp-6.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-7.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 2 loops" 1 FAIL: gcc.dg/vect/slp-7.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-7.c scan-tree-dump-times vect "vectorized 2 loops" 1 FAIL: gcc.dg/vect/slp-7.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/slp-perm-9.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 0 loops" 2 FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorized 0 loops" 2 XPASS: gcc.dg/vect/slp-reduc-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 1 XPASS: gcc.dg/vect/slp-reduc-3.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-reduc-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-reduc-4.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/slp-reduc-7.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/slp-reduc-7.c execution test FAIL: gcc.dg/vect/slp-reduc-7.c scan-tree-dump-times vect "vectorizing stmts using SLP" 1 FAIL: gcc.dg/vect/trapv-vect-reduc-4.c scan-tree-dump-times vect "Detected reduction\\." 3 FAIL: gcc.dg/vect/vect-104.c -flto -ffat-lto-objects scan-tree-dump-times vect "possible dependence between data-refs" 1 FAIL: gcc.dg/vect/vect-104.c scan-tree-dump-times vect "possible dependence between data-refs" 1 FAIL: gcc.dg/vect/vect-109.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 3 FAIL: gcc.dg/vect/vect-109.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3 XPASS: gcc.dg/vect/vect-24.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 3 loops" 1 XPASS: gcc.dg/vect/vect-24.c scan-tree-dump-times vect "vectorized 3 loops" 1 FAIL: gcc.dg/vect/vect-26.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-26.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-27.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-27.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-29.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-29.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-33.c -flto -ffat-lto-objects scan-tree-dump vect "Vectorizing an unaligned access" FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Vectorizing an unaligned access" FAIL: gcc.dg/vect/vect-72.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-72.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-75-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-75-big-array.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-75.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-75.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-77-alignchecks.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-77-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-77-global.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-77-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-78-alignchecks.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-78-alignchecks.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-78-global.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-78-global.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-89-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-89-big-array.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-89.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-89.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-96.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-96.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-alias-check-10.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/vect-alias-check-10.c execution test FAIL: gcc.dg/vect/vect-alias-check-11.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/vect-alias-check-11.c execution test FAIL: gcc.dg/vect/vect-alias-check-12.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/vect-alias-check-12.c execution test FAIL: gcc.dg/vect/vect-alias-check-14.c -flto -ffat-lto-objects execution test FAIL: gcc.dg/vect/vect-alias-check-14.c execution test FAIL: gcc.dg/vect/vect-alias-check-4.c (test for warnings, line 34) FAIL: gcc.dg/vect/vect-alias-check-4.c at line 19 (test for warnings, line 17) FAIL: gcc.dg/vect/vect-alias-check-4.c at line 27 (test for warnings, line 25) FAIL: gcc.dg/vect/vect-alias-check-4.c (test for excess errors) FAIL: gcc.dg/vect/vect-alias-check-4.c -flto -ffat-lto-objects (test for warnings, line 34) FAIL: gcc.dg/vect/vect-alias-check-4.c -flto -ffat-lto-objects at line 19 (test for warnings, line 17) FAIL: gcc.dg/vect/vect-alias-check-4.c -flto -ffat-lto-objects at line 27 (test for warnings, line 25) FAIL: gcc.dg/vect/vect-alias-check-4.c -flto -ffat-lto-objects (test for excess errors) FAIL: gcc.dg/vect/vect-alias-check-5.c -flto -ffat-lto-objects scan-tree-dump-times vect "improved number of alias checks from 1 to 0" 1 FAIL: gcc.dg/vect/vect-alias-check-5.c scan-tree-dump-times vect "improved number of alias checks from 1 to 0" 1 FAIL: gcc.dg/vect/vect-bic-bitmask-12.c -flto -ffat-lto-objects scan-tree-dump dce7 "<=\\s*.+{ 255,.+}" FAIL: gcc.dg/vect/vect-bic-bitmask-12.c scan-tree-dump dce7 "<=\\s*.+{ 255,.+}" FAIL: gcc.dg/vect/vect-bic-bitmask-23.c -flto -ffat-lto-objects scan-tree-dump dce7 "<=\\s*.+{ 255, 15, 1, 65535 }" FAIL: gcc.dg/vect/vect-bic-bitmask-23.c scan-tree-dump dce7 "<=\\s*.+{ 255, 15, 1, 65535 }" FAIL: gcc.dg/vect/vect-complex-5.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/vect-complex-5.c scan-tree-dump-times vect "vectorizing stmts using SLP" 2 FAIL: gcc.dg/vect/vect-cost-model-6.c -flto -ffat-lto-objects scan-tree-dump-not vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cost-model-6.c scan-tree-dump-not vect "LOOP VECTORIZED" FAIL: gcc.dg/vect/vect-cselim-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-cselim-1.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-live-6.c (internal compiler error: in force_align_down_and_div, at poly-int.h:1903) FAIL: gcc.dg/vect/vect-live-6.c (test for excess errors) FAIL: gcc.dg/vect/vect-live-6.c -flto -ffat-lto-objects (internal compiler error: in force_align_down_and_div, at poly-int.h:1903) FAIL: gcc.dg/vect/vect-live-6.c -flto -ffat-lto-objects (test for excess errors) FAIL: gcc.dg/vect/vect-multitypes-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/vect-multitypes-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 2 FAIL: gcc.dg/vect/vect-multitypes-11.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-multitypes-11.c scan-tree-dump-times vect "vectorized 1 loops" 1 FAIL: gcc.dg/vect/vect-multitypes-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 3 FAIL: gcc.dg/vect/vect-multitypes-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 3 FAIL: gcc.dg/vect/vect-multitypes-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 4 FAIL: gcc.dg/vect/vect-multitypes-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 4 FAIL: gcc.dg/vect/vect-multitypes-6.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 6 FAIL: gcc.dg/vect/vect-multitypes-6.c scan-tree-dump-times vect "Vectorizing an unaligned access" 6 FAIL: gcc.dg/vect/vect-outer-4c-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "zero step in outer loop." 1 FAIL: gcc.dg/vect/vect-outer-4c-big-array.c scan-tree-dump-times vect "zero step in outer loop." 1 XPASS: gcc.dg/vect/vect-outer-4e.c -flto -ffat-lto-objects scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4e.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4f.c -flto -ffat-lto-objects scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4f.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4g.c -flto -ffat-lto-objects scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4g.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4k.c -flto -ffat-lto-objects scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4k.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4l.c -flto -ffat-lto-objects scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 XPASS: gcc.dg/vect/vect-outer-4l.c scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1 FAIL: gcc.dg/vect/vect-outer-slp-1.c -flto -ffat-lto-objects scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/vect-outer-slp-1.c scan-tree-dump vect "vectorizing stmts using SLP" FAIL: gcc.dg/vect/vect-peel-1.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-1.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-3.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Alignment of access forced using peeling" 1 FAIL: gcc.dg/vect/vect-peel-3.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-peel-4.c -flto -ffat-lto-objects scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-peel-4.c scan-tree-dump-times vect "Vectorizing an unaligned access" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s16a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s16a.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-dot-s16b.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-dot-s8a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s8a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s8a.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s8a.c scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s8b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-s8b.c scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u16b.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u8a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u8a.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u8b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-dot-u8b.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1a.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1b-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1b.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-1c-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-1c-big-array.c scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-2a.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-2b-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-2b-big-array.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-2b-big-array.c scan-tree-dump-times vect "vect_recog_widen_sum_pattern: detected" 1 FAIL: gcc.dg/vect/vect-reduc-pattern-2b-big-array.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-2b.c -flto -ffat-lto-objects scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/vect-reduc-pattern-2b.c scan-tree-dump-times vect "vectorized 1 loops" 0 FAIL: gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c scan-tree-dump-times vect "vect_recog_dot_prod_pattern: detected" 1 FAIL: gcc.dg/vect/wrapv-vect-reduc-dot-s8b.c scan-tree-dump-times vect "vect_recog_widen_mult_pattern: detected" 1 gcc/testsuite/ChangeLog: * lib/target-supports.exp: Add RISCV. --- gcc/testsuite/lib/target-supports.exp | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index d353cc0aaf0..67525878af9 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -1820,14 +1820,14 @@ proc check_effective_target_riscv_vector_hw { } { asm ("vadd.vv v8,v8,v16" : : : "v8"); return 0; } - } "-march=rv32gcv -mabi=ilp32d"] || [check_runtime riscv_vector_hw64 { + } ""] || [check_runtime riscv_vector_hw64 { int main (void) { asm ("vsetivli zero,8,e16,m1,ta,ma"); asm ("vadd.vv v8,v8,v16" : : : "v8"); return 0; } - } "-march=rv64gcv -mabi=lp64d"] + } ""] } # Return 1 if the we can build a Zvfh vector example with proper -march flags @@ -3778,6 +3778,7 @@ proc check_effective_target_vect_int { } { || [et-is-effective-target mips_msa])) || ([istarget s390*-*-*] && [check_effective_target_s390_vx]) + || [istarget riscv*-*-*] }}] } @@ -7506,7 +7507,8 @@ proc check_effective_target_vect_widen_sum_qi_to_hi { } { return [check_cached_effective_target_indexed vect_widen_sum_qi_to_hi { expr { [check_effective_target_vect_unpack] || [is-effective-target arm_neon] - || [istarget ia64-*-*] }}] + || [istarget ia64-*-*] + || [istarget riscv*-*-*] }}] } # Return 1 if the target plus current options supports a vector @@ -7805,7 +7807,8 @@ proc check_effective_target_vect_hw_misalign { } { || [istarget aarch64*-*-*] || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) || ([istarget s390*-*-*] - && [check_effective_target_s390_vx]) } { + && [check_effective_target_s390_vx]) + || ([istarget riscv*-*-*]) } { return 1 } if { [istarget arm*-*-*] @@ -8580,6 +8583,9 @@ foreach N {2 3 4 8} { || [istarget aarch64*-*-*]) && N >= 2 && N <= 4 } { return 1 } + if { ([istarget riscv*-*-*]) && N >= 2 && N <= 8 } { + return 1 + } if [check_effective_target_vect_fully_masked] { return 1 } @@ -11100,6 +11106,17 @@ proc check_vect_support_and_set_flags { } { } } elseif [istarget amdgcn-*-*] { set dg-do-what-default run + } elseif [istarget riscv64-*-*] { + if [check_effective_target_riscv_vector_hw] { + lappend DEFAULT_VECTCFLAGS "--param" "riscv-autovec-preference=scalable" + lappend DEFAULT_VECTCFLAGS "-Wno-psabi" + set dg-do-what-default run + } else { + lappend DEFAULT_VECTCFLAGS "-march=rv64gcv_zvfh" "-mabi=lp64d" + lappend DEFAULT_VECTCFLAGS "--param" "riscv-autovec-preference=scalable" + lappend DEFAULT_VECTCFLAGS "-Wno-psabi" + set dg-do-what-default compile + } } else { return 0 }