From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf1-x42a.google.com (mail-pf1-x42a.google.com [IPv6:2607:f8b0:4864:20::42a]) by sourceware.org (Postfix) with ESMTPS id 2FF78385559D for ; Fri, 21 Apr 2023 20:36:46 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 2FF78385559D Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gmail.com Received: by mail-pf1-x42a.google.com with SMTP id d2e1a72fcca58-63f273b219eso337643b3a.1 for ; Fri, 21 Apr 2023 13:36:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682109405; x=1684701405; 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=ClWUS55J6IZCJk9GoIKQesJSnnUnCr72tdnL9XPIf88=; b=hNLWx6NLb99HzSbvrG9BniMIMKcxgEL1S09iUt/nBwRUuyJhH2QMFswDas5L/bchMw brqmC8WI801BFqdmeHXdgTVy84T5W/euSs9DSCB+inj3x8LHMf21eD4XReRXR+RiGvXt /OXj5nUgK90Gbhtt9GYZ7xMSkJ50kjrWnmtt7Rxsr69Xl/q3INZvfhOvpdsUdRp1nnih CvCYNbBUzqt8o4mCEjsPv5eBz87DnOvh8BVGPNOdy3Xv0Rg/27mWhboE/ILKVQRGxRnC Fs9rj/MHWhbglgWDISYvKymXdQ2xiPyV76mLkczlMPdCxeLbY8W167kvQ2jQtuvJ3Hc6 tNdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682109405; x=1684701405; 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=ClWUS55J6IZCJk9GoIKQesJSnnUnCr72tdnL9XPIf88=; b=XIHyPf48xRq9fYG9zVeLUXa7EfRCLQ7OSoUxVN1uXA7w8DpfvyBoCj1VJ3nXfClv/W HcUjBULBYtHDS77+IMEuxmpTMoAzHHtztml+yXDeMYIpWf8tkozJWG8vOFXEIb4VmHD2 ewJZBZGZcmYzK0Mc2191oj3wCPpUUluizwhwWmQTIG2uzTUdTO1IKMXKNAtGv3Zue7lC o4hfhuCopKnBxuX/Q/min+Npqm4MXd3RCALykZ70M55IjDefwzotkOlWCu3jKCcCMS3o MjdEgcN/wQceRlG/4fi3/YdpAkEwr3ErvPebzkG7ie+ZP2yzb6Aa0Md2fTPbzBlvCtR7 AEDQ== X-Gm-Message-State: AAQBX9d7b3yR1lxo9/ss5kSZdBuPb4wQWI/9fNSKiOfmHH2SvBEJtQaX iu9U0kap6svEy1Ylxp8njQM= X-Google-Smtp-Source: AKy350aNzCxfd4lCrrvfQd39Ono8sPm+rk0gqOMxHl8ibAEj78FputuLCGReKqvdo+wNZ1oiNt4G6Q== X-Received: by 2002:a05:6a00:1801:b0:638:edbc:74ca with SMTP id y1-20020a056a00180100b00638edbc74camr9182678pfa.0.1682109405117; Fri, 21 Apr 2023 13:36:45 -0700 (PDT) Received: from ?IPV6:2601:681:8600:13d0::99f? ([2601:681:8600:13d0::99f]) by smtp.gmail.com with ESMTPSA id x28-20020a056a00189c00b0063b6cccd5dcsm3361772pfh.194.2023.04.21.13.36.44 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 21 Apr 2023 13:36:44 -0700 (PDT) Message-ID: <0c328c8e-21bc-5aee-af79-f53bd078c665@gmail.com> Date: Fri, 21 Apr 2023 14:36:43 -0600 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.9.1 Subject: Re: [PATCH] RISC-V: Fine tune gather load RA constraint Content-Language: en-US To: juzhe.zhong@rivai.ai, gcc-patches@gcc.gnu.org Cc: kito.cheng@gmail.com References: <20230313082855.248118-1-juzhe.zhong@rivai.ai> From: Jeff Law In-Reply-To: <20230313082855.248118-1-juzhe.zhong@rivai.ai> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Status: No, score=-4.4 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,KAM_SHORT,NICE_REPLY_A,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 3/13/23 02:28, juzhe.zhong@rivai.ai wrote: > From: Ju-Zhe Zhong > > For DEST EEW < SOURCE EEW, we can partial overlap register > according to RVV ISA. > > gcc/ChangeLog: > > * config/riscv/vector.md: Fix RA constraint. > > gcc/testsuite/ChangeLog: > > * gcc.target/riscv/rvv/base/narrow_constraint-12.c: New test. This is OK. The one question I keep having when I read these patterns is why we have the earlyclobber. Earlyclobber means that the output is potentially written before the inputs are consumed. Typically for a single instruction pattern such constraints wouldn't make a lot of sense as *usually* the inputs are consumed before the output is written. Just looking for a clarification as to why the earlyclobbers are needed at all, particularly for non-reduction patterns. jeff