Message ID | 20231026034327.3066443-1-juzhe.zhong@rivai.ai |
---|---|
State | Unresolved |
Headers |
Return-Path: <gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:d641:0:b0:403:3b70:6f57 with SMTP id cy1csp403625vqb; Wed, 25 Oct 2023 20:44:05 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEzauo4m2D7d+eTcFntktN8Bv2Q6JmVX+aMD34VUv7BRBZXN1u8dCeuHOUrr8INPvhNp93B X-Received: by 2002:ad4:5bec:0:b0:66d:1b88:c165 with SMTP id k12-20020ad45bec000000b0066d1b88c165mr22935359qvc.60.1698291845157; Wed, 25 Oct 2023 20:44:05 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1698291845; cv=pass; d=google.com; s=arc-20160816; b=O+Q5WKMd/GsYwkDZtpyovKDntavrAjOPZwboWxRYHwg9LoMeg8EkcNHtYk2mu9085m DMaNSuPZUt0eSw3nB/ngWpDk2snQYILGf0w6ldP7OGTuBw1d9o3T+9rF7o1Y3qMXxnVm VjbUSW4s/B9v+bpyBoGF4cX85aLQDqJ/hISuzdlyclO5ZpVAYpyOINnYv6W/tXz5pAFb bFqB6nliqbQ2eD/i1u14/YKjC6CjzNRHG/1EGxguVaka2y7doZBGyZRUIJkSaDqLwUrU gyaobCCiroCyNd4YcwqIRB6j4yJp613rnHyQ3amZwLBHw0Din33GBZqnWJQKfk8t5kA4 L1hw== 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:feedback-id :content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:arc-filter:dmarc-filter:delivered-to; bh=Ohd2ppGLRgm7qza2HpLgmGCv9pucyT403etFV+cO3pA=; fh=Hxj0cw/2jAkyitv6gv3v4BQlApRvZwleU4172JThTNQ=; b=a0YB5sNmrrCLB2KOF8DvdOEUiXAaZLMZxuSYHTJGs/EMwtA0tGnUzv/nYCkurth15P Rdn05xQ6bPwmj/+9nvG92u0kYcQ9c6zb51sJKtNRDNveaBNWqP3O5ZDg2fxLlvpewk/o CPKcFmCNzDeAibNG8KCuJmq0od19b2d2IPjsn1rh0wHVGzWhKGMBT/RQy7NTM+/3p+R5 fXe4ezm8EisUU1dMaeBACtEGD+OPW6+h3Y/dxyycnDPXVDYbQcl3SRLEhZscVXcBFxUc nlK+Fcfrrm5VdphzWH7LR8qmgodMaB8lT4NhR2C6eN7lUsHVBowWpHemkHliPMEAVcFt IHiQ== 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 bs15-20020a05620a470f00b00773fa71cbb8si5191361qkb.512.2023.10.25.20.44.05 for <ouuuleilei@gmail.com> (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 25 Oct 2023 20:44:05 -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; 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 DBBA23857036 for <ouuuleilei@gmail.com>; Thu, 26 Oct 2023 03:44:04 +0000 (GMT) X-Original-To: gcc-patches@gcc.gnu.org Delivered-To: gcc-patches@gcc.gnu.org Received: from smtpbgsg1.qq.com (smtpbgsg1.qq.com [54.254.200.92]) by sourceware.org (Postfix) with ESMTPS id BBCC03858D39 for <gcc-patches@gcc.gnu.org>; Thu, 26 Oct 2023 03:43:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org BBCC03858D39 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=rivai.ai Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=rivai.ai ARC-Filter: OpenARC Filter v1.0.0 sourceware.org BBCC03858D39 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=54.254.200.92 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698291820; cv=none; b=qNXT77vYGmRB3kb88e7/KuB/SWEySxHcDBpXUSoornsT+cXEgnhrSsTdsr7Uxb0gJ68G6rlK77N2hBDjlgxW1wmDwdF1yJCv1OpwRU6z5mO1Q23FfTt5eziocO8nTdK6bVRzS1FDyuvpaWPM/Am7QcxYyYfKxWghoX5oCC7bANg= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1698291820; c=relaxed/simple; bh=BjRNNz6DhEOa3Zji96yX5K18GsQ8YFT+ttH0j/5vIZQ=; h=From:To:Subject:Date:Message-Id:MIME-Version; b=A+Zh4jbWFmR9jORKxfy0VbkHEz7aea9rX+6UajCMW2x4OG04gBa+ulkBpPBEgXr0moXdI1zafOK5xdGCkpZZztFU9/fQn+AGKyrpH1jNTzjPSEj+u7jZpjSVL7U4pJqzaQ1P7udwfbG2lZ7oTtcS98d5rFANF5EngPhMbGbBHks= ARC-Authentication-Results: i=1; server2.sourceware.org X-QQ-mid: bizesmtp72t1698291809t69s3549 Received: from rios-cad121.hadoop.rioslab.org ( [58.60.1.9]) by bizesmtp.qq.com (ESMTP) with id ; Thu, 26 Oct 2023 11:43:28 +0800 (CST) X-QQ-SSF: 01400000000000G0V000000A0000000 X-QQ-FEAT: FUOdqzM3/tRJ+WG6qfdjNIENrV5trKr4khxT+C4EtiCM2LaGh7CeKZDqg9BjW 92LpjcGZJG+8TGUb25nKUrydNgUfJ8R7PeL535DazMLL57Ll7NGqvfBmdWR0iABG5pZeij4 zLFU0AC4NKNZcS3sGcqd/HeC/OUpxMJoHyMtiz2Zv1SFsEVT9Lr3Kq+HtT1NrLniunpa5mD SnRS9zkpM/PtoRQSxRyXWD0KjW7ZLCkAK1WrMdGPJf1lLFSqPGCTZAT4f9DgEEptqoSk2zQ w33cCvdGcF8ZoWwIbs+CPi7EiYcsNEuZPWe29zxd2q15bchtqhphMjXroRfFwI8Xph6Y6fi yNiB6fzrk8ApXxbDS2yAR2x5PY+QwKJzMfuFgWu0/HKPVMwEduuX1aS4sPa3Q== X-QQ-GoodBg: 2 X-BIZMAIL-ID: 14860488183088653449 From: Juzhe-Zhong <juzhe.zhong@rivai.ai> To: gcc-patches@gcc.gnu.org Cc: richard.sandiford@arm.com, rguenther@suse.de, Juzhe-Zhong <juzhe.zhong@rivai.ai> Subject: [PATCH] DOC: Update COND_LEN document Date: Thu, 26 Oct 2023 11:43:27 +0800 Message-Id: <20231026034327.3066443-1-juzhe.zhong@rivai.ai> X-Mailer: git-send-email 2.36.3 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-QQ-SENDSIZE: 520 Feedback-ID: bizesmtp:rivai.ai:qybglogicsvrgz:qybglogicsvrgz7a-one-0 X-Spam-Status: No, score=-12.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, KAM_DMARC_STATUS, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, 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 <gcc-patches.gcc.gnu.org> List-Unsubscribe: <https://gcc.gnu.org/mailman/options/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=unsubscribe> List-Archive: <https://gcc.gnu.org/pipermail/gcc-patches/> List-Post: <mailto:gcc-patches@gcc.gnu.org> List-Help: <mailto:gcc-patches-request@gcc.gnu.org?subject=help> List-Subscribe: <https://gcc.gnu.org/mailman/listinfo/gcc-patches>, <mailto:gcc-patches-request@gcc.gnu.org?subject=subscribe> Errors-To: gcc-patches-bounces+ouuuleilei=gmail.com@gcc.gnu.org X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1780788070018470843 X-GMAIL-MSGID: 1780788070018470843 |
Series |
DOC: Update COND_LEN document
|
|
Checks
Context | Check | Description |
---|---|---|
snail/gcc-patch-check | warning | Git am fail log |
Commit Message
juzhe.zhong@rivai.ai
Oct. 26, 2023, 3:43 a.m. UTC
As Richard's suggested. We need to adapt doc for cond_len operations. gcc/ChangeLog: * doc/md.texi: Update document. --- gcc/doc/md.texi | 2 ++ 1 file changed, 2 insertions(+)
Comments
Juzhe-Zhong <juzhe.zhong@rivai.ai> writes: > As Richard's suggested. We need to adapt doc for cond_len operations. > > gcc/ChangeLog: > > * doc/md.texi: Update document. Thanks for addressing my comment. I was thinking about the pseudo code though. Currently it is: for (i = 0; i < ops[4] + ops[5]; i++) op0[i] = op1[i] ? @var{op} op2[i] : op3[i]; but I think the outcome of the discussion was that it should instead be: for (i = 0; i < GET_MODE_NUNITS (@var{m}); i++) op0[i] = (i < ops[4] + ops[5] && op1[i] ? @var{op} op2[i] : op3[i]); to match internal-fn.cc. The binary and ternary optabs would need a similar update. Thanks, Richard > --- > gcc/doc/md.texi | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi > index daa318ee3da..dd2c26edf7b 100644 > --- a/gcc/doc/md.texi > +++ b/gcc/doc/md.texi > @@ -7400,6 +7400,8 @@ form of @samp{@var{op}@var{mode}2}. > @itemx @samp{cond_len_lshr@var{mode}} > When operand 1 is true and element index < operand 5 + operand 6, perform an operation on operands 2 and 3 and > store the result in operand 0, otherwise store operand 4 in operand 0. > +operand 4 should be well-defined value for reduction situation, and undefined value for some arithmetic operations > +e.g. integer division. > The operation only works for the operands are vectors. > > @smallexample
Hi, Richard. I tried your pseudo code, but report a warning: ../../../../gcc/gcc/doc/invoke.texi:20243: warning: `.' or `,' must follow @xref, not ) I have tried several changes, still failed to eliminate this warning. juzhe.zhong@rivai.ai From: Richard Sandiford Date: 2023-10-26 17:25 To: Juzhe-Zhong CC: gcc-patches; rguenther Subject: Re: [PATCH] DOC: Update COND_LEN document Juzhe-Zhong <juzhe.zhong@rivai.ai> writes: > As Richard's suggested. We need to adapt doc for cond_len operations. > > gcc/ChangeLog: > > * doc/md.texi: Update document. Thanks for addressing my comment. I was thinking about the pseudo code though. Currently it is: for (i = 0; i < ops[4] + ops[5]; i++) op0[i] = op1[i] ? @var{op} op2[i] : op3[i]; but I think the outcome of the discussion was that it should instead be: for (i = 0; i < GET_MODE_NUNITS (@var{m}); i++) op0[i] = (i < ops[4] + ops[5] && op1[i] ? @var{op} op2[i] : op3[i]); to match internal-fn.cc. The binary and ternary optabs would need a similar update. Thanks, Richard > --- > gcc/doc/md.texi | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi > index daa318ee3da..dd2c26edf7b 100644 > --- a/gcc/doc/md.texi > +++ b/gcc/doc/md.texi > @@ -7400,6 +7400,8 @@ form of @samp{@var{op}@var{mode}2}. > @itemx @samp{cond_len_lshr@var{mode}} > When operand 1 is true and element index < operand 5 + operand 6, perform an operation on operands 2 and 3 and > store the result in operand 0, otherwise store operand 4 in operand 0. > +operand 4 should be well-defined value for reduction situation, and undefined value for some arithmetic operations > +e.g. integer division. > The operation only works for the operands are vectors. > > @smallexample
Oh. I made a mistake here. Forget about my last email. https://gcc.gnu.org/pipermail/gcc-patches/2023-October/634376.html Here is the V2 address comments as you suggested. Could you take a look ? Thanks. juzhe.zhong@rivai.ai From: Richard Sandiford Date: 2023-10-26 17:25 To: Juzhe-Zhong CC: gcc-patches; rguenther Subject: Re: [PATCH] DOC: Update COND_LEN document Juzhe-Zhong <juzhe.zhong@rivai.ai> writes: > As Richard's suggested. We need to adapt doc for cond_len operations. > > gcc/ChangeLog: > > * doc/md.texi: Update document. Thanks for addressing my comment. I was thinking about the pseudo code though. Currently it is: for (i = 0; i < ops[4] + ops[5]; i++) op0[i] = op1[i] ? @var{op} op2[i] : op3[i]; but I think the outcome of the discussion was that it should instead be: for (i = 0; i < GET_MODE_NUNITS (@var{m}); i++) op0[i] = (i < ops[4] + ops[5] && op1[i] ? @var{op} op2[i] : op3[i]); to match internal-fn.cc. The binary and ternary optabs would need a similar update. Thanks, Richard > --- > gcc/doc/md.texi | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi > index daa318ee3da..dd2c26edf7b 100644 > --- a/gcc/doc/md.texi > +++ b/gcc/doc/md.texi > @@ -7400,6 +7400,8 @@ form of @samp{@var{op}@var{mode}2}. > @itemx @samp{cond_len_lshr@var{mode}} > When operand 1 is true and element index < operand 5 + operand 6, perform an operation on operands 2 and 3 and > store the result in operand 0, otherwise store operand 4 in operand 0. > +operand 4 should be well-defined value for reduction situation, and undefined value for some arithmetic operations > +e.g. integer division. > The operation only works for the operands are vectors. > > @smallexample
diff --git a/gcc/doc/md.texi b/gcc/doc/md.texi index daa318ee3da..dd2c26edf7b 100644 --- a/gcc/doc/md.texi +++ b/gcc/doc/md.texi @@ -7400,6 +7400,8 @@ form of @samp{@var{op}@var{mode}2}. @itemx @samp{cond_len_lshr@var{mode}} When operand 1 is true and element index < operand 5 + operand 6, perform an operation on operands 2 and 3 and store the result in operand 0, otherwise store operand 4 in operand 0. +operand 4 should be well-defined value for reduction situation, and undefined value for some arithmetic operations +e.g. integer division. The operation only works for the operands are vectors. @smallexample