Re: sim/mips patch: add support for more NEC VR targets

Richard Sandiford
2003-01-05T11:51:29Z

Thanks for applying the patch ;)

cgd@broadcom.com writes:
> I believe there are two relatively minor issues with this patch
> remaining:
>
> * Andrew wants to avoid explicit architecture checks in the mips.igen
> file. That seems sensible enough, I guess. Without the code in
> mips.igen:check_mf_cycles that he objects to, the vr5500 won't work
> correctly but the rest of the new architectures being added should.
>
> I've mentioned previously to you that i'd look into this. I've not
> yet had much time yet, but hope to in the next week or two.

OK. One way (I think I mentioned it privately, maybe it's what you
had in mind anyway) would be to add some sort of exclusion filter
to igen. As well as "*FOO" to include something for architecture
FOO there could be "!FOO" (or whatever) to exclude it.

Then we could have something like:

:function:::int:check_mt_hilo:hilo_history *history
...
*mipsIV:
...
!vr5500:
... version that calls check_mf_cycles ...

:function:::int:check_mt_hilo:hilo_history *history
*mips32:
*mips64:
*r3900:
*vr5500:
... version that doesn't ...

Would it be OK to change igen along these lines? I'll volunteer
to try it if so...

> * I believe that there are still a couple of files not cleaned
> properly by 'make distclean'.
>
> Could you look into this?

Heh, that was very sloppy of me, sorry. The files in question
(m16m32*_run.c) should never have been created in the first place.
The patch below gets rid of them and causes no change in the
executable (except for a timestamp). Please install if OK.

Richard

* Makefile.in (tmp-run-multi): Fix mips16 filter.

Index: sim/mips/Makefile.in
===================================================================
RCS file: /cvs/src/src/sim/mips/Makefile.in,v
retrieving revision 1.8
diff -u -d -p -F^\([(a-zA-Z0-9_]\|#define\) -r1.8 Makefile.in
--- sim/mips/Makefile.in 5 Jan 2003 07:56:59 -0000 1.8
+++ sim/mips/Makefile.in 5 Jan 2003 11:28:14 -0000
@@ -371,7 +371,7 @@ tmp-itable-multi: $(IGEN_INSN) $(IGEN_DC
tmp-run-multi: $(srcdir)/m16run.c
for t in $(SIM_MULTI_IGEN_CONFIGS); do \
case $${t} in \
- *:*mips16*:*) \
+ m16*) \
m=`echo $${t} | sed -e 's/^m16//' -e 's/:.*//'`; \
sed < $(srcdir)/m16run.c > tmp-run \
-e "s/^sim_/m16$${m}_/" \