From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg1-x533.google.com (mail-pg1-x533.google.com [IPv6:2607:f8b0:4864:20::533]) by sourceware.org (Postfix) with ESMTPS id 9B43A3858C53 for ; Wed, 10 Jan 2024 17:56:45 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 9B43A3858C53 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=vrull.eu Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=vrull.eu ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 9B43A3858C53 Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=2607:f8b0:4864:20::533 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704909408; cv=none; b=gu+QTPmzX0SWlzDIEdp6g7PGYzh6RwRf+pox8G3c1z3GROIFEYE1nJAlvMLGxeXbmsbBjU8olrgn4FU1vriu1fud1ljSg13erKyR+tH1ahq7GyM3X3iRmJt0WStAuYcf4hdDNUKy1hLJefffer4OhnrIcwSNXPffMjHNzsY/jh4= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1704909408; c=relaxed/simple; bh=RZZRXpyq5cpPHSyTjDzK5ZKxptOQzrrOs5pC/wk+RF0=; h=DKIM-Signature:MIME-Version:From:Date:Message-ID:Subject:To; b=salCNHN3CzmxD3osKQK5pfIPvMwi5ZenHxd24wlzyQffkyFGP6XNI4iFENb8HtHD6NZ3MLDSj6v/ZqQLDeTvhtx46+rHQCg8NsnuEs1X8hyOXEt52KqO9d4i/P4yxpv/9j+qDmbLqX9H5TA3ygkHVVe1P7gX0qf2G/CiATSRyyM= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by mail-pg1-x533.google.com with SMTP id 41be03b00d2f7-5cde7afa1d7so2209753a12.1 for ; Wed, 10 Jan 2024 09:56:45 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vrull.eu; s=google; t=1704909404; x=1705514204; darn=gcc.gnu.org; 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=7MllpDQAU97ZTKR+95uwgj2MBte1D78qCwiss4JVTMA=; b=MK86MkuHjxuLEyW0Qptg+SKZqehoErckSxwLFwM2UFlNxGAB1gD841DrnvledyQnBv 5ceDdRgkAj53rV7lHOkaYuEwiBqf7kZP2FEw4TnJR26MT0c3d+wu0fG3l6lxVGPYfIoe eIhHsnolqcb3j95JA4LVbfXp16YaXe8P3yR1YRHzJb1IdiQW8qPsBI4VCsSwZf/fxj7B PIJxvP610qOmuGY/otDCcIZBzkISRNKwJJKdNBfT/3fWZEAitE/LSWfFE7sYZkPXoTnj uwsMrVXZqQxlouOVmWrc4PerEkruxlFPZVX2ybDCw/BVjtFGNbJ/gio6w7YTU0ZvKv2k CvHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1704909404; x=1705514204; 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=7MllpDQAU97ZTKR+95uwgj2MBte1D78qCwiss4JVTMA=; b=iB83fM+Err/FQ/Lo36JFUyAsfdgvXvkoOkbtrZK6oR35vQwcGBW/aBQheP08y9aFhJ /8xuTlH8BBEZKFCitOiDx4KHaSTYKgJm3pjoE6TGGCCQaMY+4+MZ+SGkDCNVg2KipeSc cRPYxEZZ0+DKbLWdIya7DqsZTxX2ovkNcN671XP/KXpQG11R92J8x/IhWkXghjWbgHn0 RqCv2D+1BbeUUWcszVKHnMUEpDNStCV+qTQJcV5u6QQHW+uvPb11oJkjQCPz1DHkUx0i 2Ob6v2ucYgJKlySHUyESWwHRaAaknJHsDOGOk/8Hy9scO8Lodeobo2y4vqNOU/vD+hab qb3A== X-Gm-Message-State: AOJu0YzafqunwFN+bkenb6J3/qa+IqEdJKP9LKDb4DiqNSeNaveuF1rG lNCq+Pk5/rOOnqbg+4+maO8quaNdK7eJPEjoD9aKJiQLtJOovA== X-Google-Smtp-Source: AGHT+IGTbulW4zb+Fow9tNHNDSmZuL4VNHVsujj2RuiyQkBYP3Yo3YGVHyFEimQ6CYfYpwLJ6H+/wqV3VWPttyInkqU= X-Received: by 2002:a17:90a:c398:b0:28b:955b:f9f5 with SMTP id h24-20020a17090ac39800b0028b955bf9f5mr998576pjt.67.1704909404535; Wed, 10 Jan 2024 09:56:44 -0800 (PST) MIME-Version: 1.0 References: <20231107030415.1105-1-jinma@linux.alibaba.com> <20231117073325.1959-1-jinma@linux.alibaba.com> <0b3ac135-7ccf-4aa7-86ac-970e6b3213fe@gmail.com> In-Reply-To: <0b3ac135-7ccf-4aa7-86ac-970e6b3213fe@gmail.com> From: =?UTF-8?Q?Christoph_M=C3=BCllner?= Date: Wed, 10 Jan 2024 18:56:33 +0100 Message-ID: Subject: Re: [PATCH v2] RISC-V: T-HEAD: Add support for the XTheadInt ISA extension To: Jeff Law Cc: Jin Ma , gcc-patches@gcc.gnu.org, kito.cheng@gmail.com, jinma.contrib@gmail.com, Philipp Tomsich Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-10.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,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 Tue, Jan 9, 2024 at 6:59=E2=80=AFPM Jeff Law wro= te: > > > > On 11/17/23 00:33, Jin Ma wrote: > > The XTheadInt ISA extension provides acceleration interruption > > instructions as defined in T-Head-specific: > > * th.ipush > > * th.ipop > > > > Ref: > > https://github.com/T-head-Semi/thead-extension-spec/releases/download/2= .3.0/xthead-2023-11-10-2.3.0.pdf > > > > gcc/ChangeLog: > > > > * config/riscv/riscv-protos.h (th_int_get_mask): New prototype. > > (th_int_get_save_adjustment): Likewise. > > (th_int_adjust_cfi_prologue): Likewise. > > * config/riscv/riscv.cc (TH_INT_INTERRUPT): New macro. > > (riscv_expand_prologue): Add the processing of XTheadInt. > > (riscv_expand_epilogue): Likewise. > > * config/riscv/riscv.md: New unspec. > > * config/riscv/thead.cc (BITSET_P): New macro. > > * config/riscv/thead.md (th_int_push): New pattern. > > (th_int_pop): New pattern. > > > > gcc/testsuite/ChangeLog: > > > > * gcc.target/riscv/xtheadint-push-pop.c: New test. > Thanks for the ping earlier today. I've looked at this patch repeatedly > over the last few weeks, but never enough to give it a full review. > > > > diff --git a/gcc/config/riscv/thead.md b/gcc/config/riscv/thead.md > > index 2babfafb23c..4d6e16c0edc 100644 > > --- a/gcc/config/riscv/thead.md > > +++ b/gcc/config/riscv/thead.md > > > +(define_insn "th_int_pop" > > + [(unspec_volatile [(const_int 0)] UNSPECV_XTHEADINT_POP) > > + (clobber (reg:SI RETURN_ADDR_REGNUM)) > > + (clobber (reg:SI T0_REGNUM)) > > + (clobber (reg:SI T1_REGNUM)) > > + (clobber (reg:SI T2_REGNUM)) > > + (clobber (reg:SI A0_REGNUM)) > > + (clobber (reg:SI A1_REGNUM)) > > + (clobber (reg:SI A2_REGNUM)) > > + (clobber (reg:SI A3_REGNUM)) > > + (clobber (reg:SI A4_REGNUM)) > > + (clobber (reg:SI A5_REGNUM)) > > + (clobber (reg:SI A6_REGNUM)) > > + (clobber (reg:SI A7_REGNUM)) > > + (clobber (reg:SI T3_REGNUM)) > > + (clobber (reg:SI T4_REGNUM)) > > + (clobber (reg:SI T5_REGNUM)) > > + (clobber (reg:SI T6_REGNUM)) > > + (return)] > > + "TARGET_XTHEADINT && !TARGET_64BIT" > > + "th.ipop" > > + [(set_attr "type" "ret") > > + (set_attr "mode" "SI")]) > I probably would have gone with a load type since its the loads that are > most likely to interact existing code in the pipeline. But I doubt it > really matters in practice. > > > OK for the trunk. Thanks for your patience. I've retested this locally (no regressions), completed the ChangeLog in the commit message and committed. Thanks, Christoph