From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-ot1-x331.google.com (mail-ot1-x331.google.com [IPv6:2607:f8b0:4864:20::331]) by sourceware.org (Postfix) with ESMTPS id 66855388458E for ; Sun, 19 Nov 2023 18:25:53 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 66855388458E Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 66855388458E Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::331 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700418354; cv=none; b=HxXL7bvox3yRAh6mLSrFAJRm7kO8RJRXHGgLs3yLsAqCmbwJ4SVbx1ygMlGojvsWrpL3NEYGb9iHM1gbDyjMKT71FU9OTlN0H+sUkbWWE38WbPWBHafXMCl9/sU+tcDiAim3OAu4nas5e6xeOewo+7dPfneApd3JXz2+Dd2m01s= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1700418354; c=relaxed/simple; bh=S+w4AAWWiH7h/hgjcaPe8J0+zvjinNqhrYnvFiquxKo=; h=DKIM-Signature:Message-ID:Date:MIME-Version:Subject:To:From; b=qn+VMuq6PAyj2VrVaTlQbgBogWmMWQu2JB3NSKW3gGouSRUJMtdi19z1k3BVugKhrRS8AS0h6V/7YnZ6ShEpzTl50HsHAjd4p85Ue80JrYRlz96i1Opcy2DHW2w2OUQ8KQCc7Ht6pPor5DEXbLVsBpt5kTR217kYOywxYQK9/8A= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-ot1-x331.google.com with SMTP id 46e09a7af769-6ce31c4a653so2147489a34.3 for ; Sun, 19 Nov 2023 10:25:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1700418352; x=1701023152; darn=gcc.gnu.org; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=ya6GP4OKF1NqGhIpxlihkPG4Ndz+SXU6nVIKrwwCr6k=; b=DJL6qMMDUAEfKuan1rkTZ9VZviBgtsrh4miRoAu4GVfohi4RNWLxtXKk12y37bfn+1 itPNQjAYlov0t3fYYQ86phfPyhkzNe3LNoz9YVnW1hErgqrvSBlfyv0qIW4EH/2hUGlQ 6vJwKJ0fJx0q71buA/HCB0FDW5szDOj4pzdc+95Y3ruqPVjaAzOR4rleYjzGPMQqz6y4 BK34N+93pNYOnGDr3z/Fq261C+YrXJ3bn4GofS0dbQdJKYHTGzLDcGpu3hP5k/Rhpnyu A0vh6OgSH4gzuvAxJLOMAg6cK0+UEjXXjdzap8ZgCLBeCLRgFLaXToSW87EqLc2X+lnY rlDA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1700418352; x=1701023152; h=content-transfer-encoding:in-reply-to:from:references:cc:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=ya6GP4OKF1NqGhIpxlihkPG4Ndz+SXU6nVIKrwwCr6k=; b=cauNR/L7RfcOr2R0wY2nBCvEMDnzg9S7c2MsweOAkYFXJNzkznU1QEIAJYRDdkgkDQ M8cQb7m73ctyevvZw/8ZJgJOr7UDgV9P8ZHLptqSBX+TXfeV08o0YUAxTsKItSZXELC4 kqElYoFqI1QY3HRnEvbSSAPVcCehsyDIU9Z9WWn4EEsBDdBcVt8a+zP5Icsc6jIHKOmi dxCjOxKtmI5jPtfO/WTdK02jabDroSBtb+Jz/rKdrJ/+wTzYNJVRUMtbxWP7xuY56z79 bdtZjZ7PLqKpKdv9UReabm2GHFCGT2VG9aHRC5OPkFtgQkWtDC3SkkQLFDNPTGTBV5TZ /t1Q== X-Gm-Message-State: AOJu0Yy+5eB3UMnOAEjVbMXgopNogdauEwv1gEd2EJmaIek9hzHTz6sG 4CYmu0n96WR04CDKCetPIieOuac7Mp0XFA== X-Google-Smtp-Source: AGHT+IHSRboMgRfZJ+VkKbTQ8jU/vvz62PMTDOvgFu8B9XBe96cTGZb5p7Ia1e2NNwCTPutKEPjGbA== X-Received: by 2002:a05:6870:788b:b0:1e9:d4fd:6552 with SMTP id hc11-20020a056870788b00b001e9d4fd6552mr6331077oab.32.1700418352584; Sun, 19 Nov 2023 10:25:52 -0800 (PST) Received: from [172.31.0.109] ([136.36.130.248]) by smtp.gmail.com with ESMTPSA id ef53-20020a0568701ab500b001efb3910402sm1082217oab.0.2023.11.19.10.25.51 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sun, 19 Nov 2023 10:25:52 -0800 (PST) Message-ID: <35a621ce-88dc-461e-86d4-bbd1e39f805c@gmail.com> Date: Sun, 19 Nov 2023 11:25:51 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 31/44] RISC-V/testsuite: Add branchless cases for generic integer cond adds Content-Language: en-US To: "Maciej W. Rozycki" , gcc-patches@gcc.gnu.org Cc: Andrew Waterman , Jim Wilson , Kito Cheng , Palmer Dabbelt References: From: Jeff Law In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,RCVD_IN_DNSWL_NONE,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 List-Id: On 11/18/23 22:41, Maciej W. Rozycki wrote: > Verify, for generic integer conditional-add operations, if-conversion > to trigger via `noce_try_addcc' at the respective sufficiently high > `-mbranch-cost=' settings that make branchless code sequences produced > by if-conversion cheaper than their original branched equivalents, and, > where applicable, that extraneous instructions such as SNEZ, etc. are > not present in output. Cover all integer relational operations to make > sure no corner case escapes. > > The reason to XFAIL SImode tests for RV64 targets is the compiler thinks > it has to sign-extend addends, which causes if-conversion to give up. WRT extension and causing if-conversion to give up. Yes, it's a real issue. In fact when we had Jivan do some analysis work on missed if-conversions, better handling of 32bit operations on rv64 was the biggest class of missed cases. We've got a bit of internal code to address that. But I've been having trouble finding the time to clean it up enough to post. > > gcc/testsuite/ > * gcc.target/riscv/adddieq.c: New test. > * gcc.target/riscv/adddige.c: New test. > * gcc.target/riscv/adddigeu.c: New test. > * gcc.target/riscv/adddigt.c: New test. > * gcc.target/riscv/adddigtu.c: New test. > * gcc.target/riscv/adddile.c: New test. > * gcc.target/riscv/adddileu.c: New test. > * gcc.target/riscv/adddilt.c: New test. > * gcc.target/riscv/adddiltu.c: New test. > * gcc.target/riscv/adddine.c: New test. > * gcc.target/riscv/addsieq.c: New test. > * gcc.target/riscv/addsige.c: New test. > * gcc.target/riscv/addsigeu.c: New test. > * gcc.target/riscv/addsigt.c: New test. > * gcc.target/riscv/addsigtu.c: New test. > * gcc.target/riscv/addsile.c: New test. > * gcc.target/riscv/addsileu.c: New test. > * gcc.target/riscv/addsilt.c: New test. > * gcc.target/riscv/addsiltu.c: New test. > * gcc.target/riscv/addsine.c: New test. OK jeff