From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk1-xa34.google.com (mail-vk1-xa34.google.com [IPv6:2607:f8b0:4864:20::a34]) by sourceware.org (Postfix) with ESMTPS id CD88D3858C20 for ; Wed, 26 Apr 2023 04:22:26 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org CD88D3858C20 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-vk1-xa34.google.com with SMTP id 71dfb90a1353d-4404923f303so2326664e0c.3 for ; Tue, 25 Apr 2023 21:22:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1682482946; x=1685074946; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=ELnAPw5iUoe+apJ7N5+crJJpb91DsoxeNiRrIEwn5no=; b=S5Y5WTiyeF5GmTZwV0+k2y8cN3ELQFzyXqEXgOHbjwowDUDwIJIEBLUL2lkBJB2zog /dhxcM0DxHrrvFfrAipejQC23qQWdqwIInS6+wxD8LsfE5t8KCdaa51tVdamyhS470od OvbBg+nFcQIXDdX1bCx2YUl25/UalUClZy0q/RueQlBzTBL7+Z8I9S4HIY6AWqIl4GEG RbrxYQ0L0I6+BgVk3zLyby/eXXZwnuYjqICQ4tidLvq6tkMOy6YIQ/61XmLpfy+gsSzr Pc81p33zxePtRkqX/6PDFXwheG/ykDOZr2WbdI5OngCZWbGJB9Q7LMXmHjPq2k4zN3B/ UD2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1682482946; x=1685074946; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=ELnAPw5iUoe+apJ7N5+crJJpb91DsoxeNiRrIEwn5no=; b=S/fR1gCV91yMASQamKhxxUAL/CeAvDnBIXTxet4v84kyCDrW0OYMDJ80GHnuZqparL s7Yr0jBK9eTj2CE7IjQkeqlJJQ/9R6dfbz/R8qR2rwmhpItB5q9meWmMHt0Xo2fwsQw9 RVoSVtNQ/EphoB/kVSoV0NCEZL+aJ/KjTtTnLEVc5mf7Zh00zXQ6ABOf4764C8wECXFf hCWH7yLlsBLkNieBJa+OC6iYreVJk+w69+uT33BU+9bPn+kRHG1wVc+j57aVGjilTGej vkGRLpaWc+//SSVQ0l3LrUOPeVTp9Ud80r2FSe1DBhE20L1BeG5tRtneSPp5rAZzyE90 EXBQ== X-Gm-Message-State: AAQBX9fQj6Fl9G6U67yVPFbr8mmFlxlU4vrUqBJzE7AnLfoQpek6Y8II mqqNHR0Os8r3BKvbgMIsTVVKtdIlasJC3sC8EcA= X-Google-Smtp-Source: AKy350YlLrbQVbtH4F+kfzZ2V1JyaHsuTCuCX8X1ZkNBooBYjcGItAHpyfqlj+hAPBfuVpv3tArQUSPY+PwnuQqdSSk= X-Received: by 2002:a1f:3f44:0:b0:43b:ef4d:f6c0 with SMTP id m65-20020a1f3f44000000b0043bef4df6c0mr5270219vka.0.1682482945944; Tue, 25 Apr 2023 21:22:25 -0700 (PDT) MIME-Version: 1.0 References: <20230322121556.94496-1-juzhe.zhong@rivai.ai> In-Reply-To: From: Kito Cheng Date: Wed, 26 Apr 2023 12:22:15 +0800 Message-ID: Subject: Re: Re: [PATCH] RISC-V: Fix redundant vmv1r.v instruction in vmsge.vx codegen To: "juzhe.zhong@rivai.ai" Cc: jeffreyalaw , gcc-patches , palmer Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-2.7 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: Committed to trunk On Mon, Apr 24, 2023 at 11:09=E2=80=AFAM juzhe.zhong@rivai.ai wrote: > > I can push codes yet. Can you push them for me? > > > > juzhe.zhong@rivai.ai > > From: Jeff Law > Date: 2023-04-22 04:42 > To: juzhe.zhong; gcc-patches > CC: kito.cheng; palmer > Subject: Re: [PATCH] RISC-V: Fix redundant vmv1r.v instruction in vmsge.v= x codegen > > > On 3/22/23 06:15, juzhe.zhong@rivai.ai wrote: > > From: Ju-Zhe Zhong > > > > Current expansion of vmsge will make RA produce redundant vmv1r.v. > > > > testcase: > > void f1 (void * in, void *out, int32_t x) > > { > > vbool32_t mask =3D *(vbool32_t*)in; > > asm volatile ("":::"memory"); > > vint32m1_t v =3D __riscv_vle32_v_i32m1 (in, 4); > > vint32m1_t v2 =3D __riscv_vle32_v_i32m1_m (mask, in, 4); > > vbool32_t m3 =3D __riscv_vmsge_vx_i32m1_b32 (v, x, 4); > > vbool32_t m4 =3D __riscv_vmsge_vx_i32m1_b32_mu (mask, m3, v, x, 4)= ; > > m4 =3D __riscv_vmsge_vv_i32m1_b32_m (m4, v2, v2, 4); > > __riscv_vsm_v_b32 (out, m4, 4); > > } > > > > Before this patch: > > f1: > > vsetvli a5,zero,e8,mf4,ta,ma > > vlm.v v0,0(a0) > > vsetivli zero,4,e32,m1,ta,mu > > vle32.v v3,0(a0) > > vle32.v v2,0(a0),v0.t > > vmslt.vx v1,v3,a2 > > vmnot.m v1,v1 > > vmslt.vx v1,v3,a2,v0.t > > vmxor.mm v1,v1,v0 > > vmv1r.v v0,v1 > > vmsge.vv v2,v2,v2,v0.t > > vsm.v v2,0(a1) > > ret > > > > After this patch: > > f1: > > vsetvli a5,zero,e8,mf4,ta,ma > > vlm.v v0,0(a0) > > vsetivli zero,4,e32,m1,ta,mu > > vle32.v v3,0(a0) > > vle32.v v2,0(a0),v0.t > > vmslt.vx v1,v3,a2 > > vmnot.m v1,v1 > > vmslt.vx v1,v3,a2,v0.t > > vmxor.mm v0,v1,v0 > > vmsge.vv v2,v2,v2,v0.t > > vsm.v v2,0(a1) > > ret > > > > > > gcc/ChangeLog: > > > > * config/riscv/vector.md: Fix redundant vmv1r.v. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/riscv/rvv/base/binop_vx_constraint-150.c: Adapt a= ssembly check. > OK. Please push this to the trunk. > > jeff >