[1/3] sim: cgen: unify the genmloop logic a bit

Message ID 20231220012354.15032-1-vapier@gentoo.org
State New
Headers
Series [1/3] sim: cgen: unify the genmloop logic a bit |

Checks

Context Check Description
linaro-tcwg-bot/tcwg_gdb_build--master-aarch64 success Testing passed
linaro-tcwg-bot/tcwg_gdb_build--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-arm success Testing passed
linaro-tcwg-bot/tcwg_gdb_check--master-aarch64 success Testing passed

Commit Message

Mike Frysinger Dec. 20, 2023, 1:23 a.m. UTC
  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(-)
  

Patch

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 $@