From patchwork Wed Dec 20 01:23:52 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Mike Frysinger X-Patchwork-Id: 82537 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 653D13857437 for ; Wed, 20 Dec 2023 01:24:16 +0000 (GMT) X-Original-To: gdb-patches@sourceware.org Delivered-To: gdb-patches@sourceware.org Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183]) by sourceware.org (Postfix) with ESMTP id 601093858C2C for ; Wed, 20 Dec 2023 01:23:58 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 601093858C2C Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=gentoo.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=gentoo.org ARC-Filter: OpenARC Filter v1.0.0 sourceware.org 601093858C2C Authentication-Results: server2.sourceware.org; arc=none smtp.remote-ip=140.211.166.183 ARC-Seal: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703035440; cv=none; b=CEnBh7ugT4ZPCrScvF69x7zClmPygZaT0Rx12CNU/3z+uwbH75CcSGQVaVWsL1gPJuy4NeJJhDNJZtCicDTeGWbO3COTUkTzdRPXXnH/3lft9yhB5IpON9yyBXA+jVKc+TEOUl/VbA5WgfbONBGwZKvjbrTxIhVAM5+bDSE2IWs= ARC-Message-Signature: i=1; a=rsa-sha256; d=sourceware.org; s=key; t=1703035440; c=relaxed/simple; bh=VrVsYg6r9SQwqmxACxzzI5n5c5hjnrxlOoD3FSf8MRQ=; h=From:To:Subject:Date:Message-ID:MIME-Version; b=mqFwONKUSobRPfbodejbVUm0FGa7zH/pE0HQEsRyrWKRv+P2yeXmU5bu+WIK46nFt0wR1cR2KZ3Z+We3aVJBoScSxodejju7/+lvG6Jlbtbf5CcyRA7MFhSW90THxocpEinEwXTTtelMBuCPppAGmaBgzfWJVAySe+QA/Y6zCkc= ARC-Authentication-Results: i=1; server2.sourceware.org Received: by smtp.gentoo.org (Postfix, from userid 559) id 954B63406C2; Wed, 20 Dec 2023 01:23:57 +0000 (UTC) From: Mike Frysinger To: gdb-patches@sourceware.org Subject: [PATCH 1/3] sim: cgen: unify the genmloop logic a bit Date: Tue, 19 Dec 2023 20:23:52 -0500 Message-ID: <20231220012354.15032-1-vapier@gentoo.org> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 X-Spam-Status: No, score=-11.2 required=5.0 tests=BAYES_00, GIT_PATCH_0, JMQ_SPF_NEUTRAL, KAM_DMARC_STATUS, RCVD_IN_MSPIKE_H3, RCVD_IN_MSPIKE_WL, SPF_HELO_PASS, 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 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces+patchwork=sourceware.org@sourceware.org Pull out the common parts of the genmloop invocation into the common code. This will make it easier to add more, and make the per-port differences a little more obvious. --- sim/Makefile.in | 68 +++++++++++++++++++++------------------------ sim/common/local.mk | 5 ++++ sim/cris/local.mk | 14 ++++------ sim/frv/local.mk | 7 ++--- sim/iq2000/local.mk | 7 ++--- sim/lm32/local.mk | 7 ++--- sim/m32r/local.mk | 21 ++++++-------- sim/or1k/local.mk | 7 ++--- 8 files changed, 64 insertions(+), 72 deletions(-) diff --git a/sim/common/local.mk b/sim/common/local.mk index 08da2275b7dc..8124910ea182 100644 --- a/sim/common/local.mk +++ b/sim/common/local.mk @@ -232,3 +232,8 @@ CGEN_GEN_CPU_DESC = \ $(CGEN) $(cgendir) "$(CGENFLAGS)" \ $(@D) "$$FLAGS" $$cpu "$$isa" $$mach "$$SUFFIX" \ $(CGEN_ARCHFILE) ignored $$opcfile + +CGEN_GEN_MLOOP = \ + $(SHELL) $(srccom)/genmloop.sh \ + -shell $(SHELL) \ + -infile $< -outfile-prefix $(@D)/ diff --git a/sim/cris/local.mk b/sim/cris/local.mk index 66ebc99376c4..011f8029e49f 100644 --- a/sim/cris/local.mk +++ b/sim/cris/local.mk @@ -91,11 +91,10 @@ BUILT_SOURCES += \ ## FIXME: What is mono and what does "Use of `mono' is wip" mean (other ## than the apparent; some "mono" feature is work in progress)? %D%/mloopv10f.c %D%/engv10.h: %D%/stamp-mloop-v10f ; @true -%D%/stamp-mloop-v10f: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop-v10f: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -no-fast -pbb -switch semcrisv10f-switch.c \ - -cpu crisv10f \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ -outfile-suffix -v10f + -cpu crisv10f -outfile-suffix -v10f $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng-v10f.hin %D%/engv10.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop-v10f.cin %D%/mloopv10f.c $(AM_V_at)touch $@ @@ -103,11 +102,10 @@ BUILT_SOURCES += \ ## FIXME: What is mono and what does "Use of `mono' is wip" mean (other ## than the apparent; some "mono" feature is work in progress)? %D%/mloopv32f.c %D%/engv32.h: %D%/stamp-mloop-v32f ; @true -%D%/stamp-mloop-v32f: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop-v32f: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -no-fast -pbb -switch semcrisv32f-switch.c \ - -cpu crisv32f \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ -outfile-suffix -v32f + -cpu crisv32f -outfile-suffix -v32f $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng-v32f.hin %D%/engv32.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop-v32f.cin %D%/mloopv32f.c $(AM_V_at)touch $@ diff --git a/sim/frv/local.mk b/sim/frv/local.mk index e4940398fd76..287633b4f4c9 100644 --- a/sim/frv/local.mk +++ b/sim/frv/local.mk @@ -91,11 +91,10 @@ BUILT_SOURCES += %D%/eng.h ## FIXME: Use of `mono' is wip. %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true -%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -scache -parallel-generic-write -parallel-only \ - -cpu frvbf \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ + -cpu frvbf $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c $(AM_V_at)touch $@ diff --git a/sim/iq2000/local.mk b/sim/iq2000/local.mk index 99649ec7ad0c..9ed30f3a9bcf 100644 --- a/sim/iq2000/local.mk +++ b/sim/iq2000/local.mk @@ -67,11 +67,10 @@ BUILT_SOURCES += %D%/eng.h ## FIXME: Use of `mono' is wip. %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true -%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -fast -pbb -switch sem-switch.c \ - -cpu iq2000bf \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ + -cpu iq2000bf $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c $(AM_V_at)touch $@ diff --git a/sim/lm32/local.mk b/sim/lm32/local.mk index 917e6bb42ea6..11c6b10ff0c5 100644 --- a/sim/lm32/local.mk +++ b/sim/lm32/local.mk @@ -72,11 +72,10 @@ BUILT_SOURCES += %D%/eng.h ## FIXME: Use of `mono' is wip. %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true -%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -fast -pbb -switch sem-switch.c \ - -cpu lm32bf \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ + -cpu lm32bf $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c $(AM_V_at)touch $@ diff --git a/sim/m32r/local.mk b/sim/m32r/local.mk index 13f6ea5f9570..3bec547cb253 100644 --- a/sim/m32r/local.mk +++ b/sim/m32r/local.mk @@ -94,33 +94,30 @@ BUILT_SOURCES += \ ## FIXME: Use of `mono' is wip. %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true -%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -fast -pbb -switch sem-switch.c \ - -cpu m32rbf \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ + -cpu m32rbf $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c $(AM_V_at)touch $@ ## FIXME: Use of `mono' is wip. %D%/mloopx.c %D%/engx.h: %D%/stamp-mloop-x ; @true -%D%/stamp-mloop-x: $(srccom)/genmloop.sh %D%/mloopx.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop-x: %D%/mloopx.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -no-fast -pbb -parallel-write -switch semx-switch.c \ - -cpu m32rxf \ - -infile $(srcdir)/%D%/mloopx.in -outfile-prefix %D%/ -outfile-suffix x + -cpu m32rxf -outfile-suffix x $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/engx.hin %D%/engx.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloopx.cin %D%/mloopx.c $(AM_V_at)touch $@ ## FIXME: Use of `mono' is wip. %D%/mloop2.c %D%/eng2.h: %D%/stamp-mloop-2 ; @true -%D%/stamp-mloop-2: $(srccom)/genmloop.sh %D%/mloop2.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop-2: %D%/mloop2.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -no-fast -pbb -parallel-write -switch sem2-switch.c \ - -cpu m32r2f \ - -infile $(srcdir)/%D%/mloop2.in -outfile-prefix %D%/ -outfile-suffix 2 + -cpu m32r2f -outfile-suffix 2 $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng2.hin %D%/eng2.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop2.cin %D%/mloop2.c $(AM_V_at)touch $@ diff --git a/sim/or1k/local.mk b/sim/or1k/local.mk index cb48f821dcf1..979e0e349043 100644 --- a/sim/or1k/local.mk +++ b/sim/or1k/local.mk @@ -74,11 +74,10 @@ BUILT_SOURCES += %D%/eng.h ## FIXME: Use of `mono' is wip. %D%/mloop.c %D%/eng.h: %D%/stamp-mloop ; @true -%D%/stamp-mloop: $(srccom)/genmloop.sh %D%/mloop.in - $(AM_V_GEN)$(SHELL) $(srccom)/genmloop.sh -shell $(SHELL) \ +%D%/stamp-mloop: %D%/mloop.in $(srccom)/genmloop.sh + $(AM_V_GEN)$(CGEN_GEN_MLOOP) \ -mono -fast -pbb -switch sem-switch.c \ - -cpu or1k32bf \ - -infile $(srcdir)/%D%/mloop.in -outfile-prefix %D%/ + -cpu or1k32bf $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/eng.hin %D%/eng.h $(AM_V_at)$(SHELL) $(srcroot)/move-if-change %D%/mloop.cin %D%/mloop.c $(AM_V_at)touch $@