From cdd3120398a10c629c3eec4d9159390819e688c1 Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Fri, 14 Feb 1997 19:06:08 +0000 Subject: [PATCH] PR 11678 - rename long decode-rule files to shorter ones, eliminate need for multiple almost identical decode-rule files --- sim/ppc/configure.in | 25 ++++++++++++++--- sim/ppc/{ppc-opcode-complex => dc-complex} | 0 sim/ppc/{ppc-opcode-simple => dc-simple} | 0 sim/ppc/{ppc-opcode-stupid => dc-stupid} | 0 sim/ppc/{ppc-opcode-test-1 => dc-test.01} | 0 sim/ppc/{ppc-opcode-test-2 => dc-test.02} | 0 sim/ppc/ppc-opcode-complex-array | 22 --------------- sim/ppc/ppc-opcode-complex-goto | 27 ------------------- sim/ppc/ppc-opcode-complex-switch | 29 -------------------- sim/ppc/ppc-opcode-flat | 29 -------------------- sim/ppc/ppc-opcode-goto | 31 ---------------------- sim/ppc/ppc-opcode-jump | 21 --------------- sim/ppc/ppc-opcode-simple-array | 25 ----------------- sim/ppc/ppc-opcode-simple-goto | 25 ----------------- sim/ppc/ppc-opcode-simple-switch | 25 ----------------- 15 files changed, 21 insertions(+), 238 deletions(-) rename sim/ppc/{ppc-opcode-complex => dc-complex} (100%) rename sim/ppc/{ppc-opcode-simple => dc-simple} (100%) rename sim/ppc/{ppc-opcode-stupid => dc-stupid} (100%) rename sim/ppc/{ppc-opcode-test-1 => dc-test.01} (100%) rename sim/ppc/{ppc-opcode-test-2 => dc-test.02} (100%) delete mode 100644 sim/ppc/ppc-opcode-complex-array delete mode 100644 sim/ppc/ppc-opcode-complex-goto delete mode 100644 sim/ppc/ppc-opcode-complex-switch delete mode 100644 sim/ppc/ppc-opcode-flat delete mode 100644 sim/ppc/ppc-opcode-goto delete mode 100644 sim/ppc/ppc-opcode-jump delete mode 100644 sim/ppc/ppc-opcode-simple-array delete mode 100644 sim/ppc/ppc-opcode-simple-goto delete mode 100644 sim/ppc/ppc-opcode-simple-switch diff --git a/sim/ppc/configure.in b/sim/ppc/configure.in index 0a033c389b5..04fafc3329a 100644 --- a/sim/ppc/configure.in +++ b/sim/ppc/configure.in @@ -95,6 +95,22 @@ if test x"$silent" != x"yes"; then fi])dnl +AC_ARG_ENABLE(sim-decode-mechanism, +[ --enable-sim-decode-mechanism=which Specify the instruction decode mechanism.], +[case "${enableval}" in + yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-decode-mechanism=file");; + array|switch|padded-switch|goto-switch) sim_decode_mechanism="-T ${enableval}";; + *) AC_MSG_ERROR("File $enableval is not an opcode rules file"); + sim_decode_mechanism="switch";; +esac +if test x"$silent" != x"yes" && test x"$sim_decode_mechanism" != x""; then + echo "Setting decode mechanism flags = $sim_decode_mechanism" 6>&1 +fi],[sim_decode_mechanism="" +if test x"$silent" != x"yes"; then + echo "Setting decode mechanism flags = $sim_decode_mechanism" +fi])dnl + + AC_ARG_ENABLE(sim-default-model, [ --enable-sim-default-model=which Specify default PowerPC to model.], [case "${enableval}" in @@ -368,16 +384,16 @@ AC_ARG_ENABLE(sim-opcode, yes|no) AC_MSG_ERROR("No value supplied for --enable-sim-opcode=file");; *) if test -f "${srcdir}/${enableval}"; then sim_opcode="${enableval}" - elif test -f "${srcdir}/ppc-opcode-${enableval}"; then - sim_opcode="ppc-opcode-${enableval}" + elif test -f "${srcdir}/dc-${enableval}"; then + sim_opcode="dc-${enableval}" else AC_MSG_ERROR("File $enableval is not an opcode rules file"); - sim_opcode="ppc-opcode-complex" + sim_opcode="dc-complex" fi;; esac if test x"$silent" != x"yes" && test x"$sim_opcode" != x""; then echo "Setting opcode flags = $sim_opcode" 6>&1 -fi],[sim_opcode="ppc-opcode-complex" +fi],[sim_opcode="dc-complex" if test x"$silent" != x"yes"; then echo "Setting opcode flags = $sim_opcode" fi])dnl @@ -681,6 +697,7 @@ AC_SUBST(sim_config) AC_SUBST(sim_opcode) AC_SUBST(sim_switch) AC_SUBST(sim_dup) +AC_SUBST(sim_decode_mechanism) AC_SUBST(sim_jump) AC_SUBST(sim_filter) AC_SUBST(sim_icache) diff --git a/sim/ppc/ppc-opcode-complex b/sim/ppc/dc-complex similarity index 100% rename from sim/ppc/ppc-opcode-complex rename to sim/ppc/dc-complex diff --git a/sim/ppc/ppc-opcode-simple b/sim/ppc/dc-simple similarity index 100% rename from sim/ppc/ppc-opcode-simple rename to sim/ppc/dc-simple diff --git a/sim/ppc/ppc-opcode-stupid b/sim/ppc/dc-stupid similarity index 100% rename from sim/ppc/ppc-opcode-stupid rename to sim/ppc/dc-stupid diff --git a/sim/ppc/ppc-opcode-test-1 b/sim/ppc/dc-test.01 similarity index 100% rename from sim/ppc/ppc-opcode-test-1 rename to sim/ppc/dc-test.01 diff --git a/sim/ppc/ppc-opcode-test-2 b/sim/ppc/dc-test.02 similarity index 100% rename from sim/ppc/ppc-opcode-test-2 rename to sim/ppc/dc-test.02 diff --git a/sim/ppc/ppc-opcode-complex-array b/sim/ppc/ppc-opcode-complex-array deleted file mode 100644 index 0ff43b80c19..00000000000 --- a/sim/ppc/ppc-opcode-complex-array +++ /dev/null @@ -1,22 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -array,normal: 0: 5: 0: 5: -array,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: -#array,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000 diff --git a/sim/ppc/ppc-opcode-complex-goto b/sim/ppc/ppc-opcode-complex-goto deleted file mode 100644 index 73e8d13d483..00000000000 --- a/sim/ppc/ppc-opcode-complex-goto +++ /dev/null @@ -1,27 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -goto-switch,normal: 0: 5: 0: 5: -goto-switch,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: -goto-switch,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000 -goto-switch,boolean: 11:15:11:15:RA: 0xfc000000:0x38000000:0 -goto-switch,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0 -# BLR instruction - LR=8 is munged into 0x100 == 256 -goto-switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:256 -goto-switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:256 diff --git a/sim/ppc/ppc-opcode-complex-switch b/sim/ppc/ppc-opcode-complex-switch deleted file mode 100644 index 9c68d8ba17f..00000000000 --- a/sim/ppc/ppc-opcode-complex-switch +++ /dev/null @@ -1,29 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# sed < ppc-opcode-complex > ppc-opcode-flat -e 's/array/switch/' -# -padded-switch,normal: 0: 5: 0: 5: -padded-switch,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: -padded-switch,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000 -switch,boolean: 11:15:11:15:RA: 0xfc000000:0x38000000:0 -switch,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0 -# BLR instruction -switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:0x100 -switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:0x100 diff --git a/sim/ppc/ppc-opcode-flat b/sim/ppc/ppc-opcode-flat deleted file mode 100644 index 54a84339577..00000000000 --- a/sim/ppc/ppc-opcode-flat +++ /dev/null @@ -1,29 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# sed < ppc-opcode-complex > ppc-opcode-flat -e 's/array/switch/' -# -padded-switch,normal: 0: 5: 0: 5: -padded-switch,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: -padded-switch,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000 -switch,boolean: 11:15:11:15:0RA: 0xfc000000:0x38000000:0 -switch,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0 -# BLR instruction -switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:0x100 -switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:0x100 diff --git a/sim/ppc/ppc-opcode-goto b/sim/ppc/ppc-opcode-goto deleted file mode 100644 index 49f240280ac..00000000000 --- a/sim/ppc/ppc-opcode-goto +++ /dev/null @@ -1,31 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# sed < ppc-opcode-simple > ppc-opcode-goto -e 's/array/goto-switch/' -# -goto-switch: 0: 5 -goto-switch:21:31 -# -#goto-switch,normal: 21:31:32:-1:OE,LR,AA,Rc,LK: -#goto-switch,expand-forced: 6: 9: 6: 9:BO: 0xfc000000:0x40000000 -#goto-switch,boolean: 11:15:11:15:0RA: 0xfc000000:0x38000000:0 -#goto-switch,boolean: 11:15:11:15:RA: 0xfc000000:0x3c000000:0 -## BLR instruction - LR=8 is munged into 0x100 == 256 -#goto-switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0003a6:255 -#goto-switch,boolean: 11:20:11:20:SPR: 0xfc0007ff:0x7c0002a6:255 diff --git a/sim/ppc/ppc-opcode-jump b/sim/ppc/ppc-opcode-jump deleted file mode 100644 index 1851887bfc6..00000000000 --- a/sim/ppc/ppc-opcode-jump +++ /dev/null @@ -1,21 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -array: 0: 5: 0: 5 -array:21:31 diff --git a/sim/ppc/ppc-opcode-simple-array b/sim/ppc/ppc-opcode-simple-array deleted file mode 100644 index 5a64405583b..00000000000 --- a/sim/ppc/ppc-opcode-simple-array +++ /dev/null @@ -1,25 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# Create a two level switch statement. The first level branches on bits -# 0..5 while the second level branches on bits 21..31 -# -array: 0: 5: 0: 5 -array:21:31 diff --git a/sim/ppc/ppc-opcode-simple-goto b/sim/ppc/ppc-opcode-simple-goto deleted file mode 100644 index c42bc49646f..00000000000 --- a/sim/ppc/ppc-opcode-simple-goto +++ /dev/null @@ -1,25 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# Create a two level switch statement. The first level branches on bits -# 0..5 while the second level branches on bits 21..31 -# -goto-switch: 0: 5: 0: 5 -goto-switch:21:31 diff --git a/sim/ppc/ppc-opcode-simple-switch b/sim/ppc/ppc-opcode-simple-switch deleted file mode 100644 index 3909eb77350..00000000000 --- a/sim/ppc/ppc-opcode-simple-switch +++ /dev/null @@ -1,25 +0,0 @@ -# -# This file is part of the program psim. -# -# Copyright (C) 1994-1995, Andrew Cagney -# -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -# -# -# Create a two level switch statement. The first level branches on bits -# 0..5 while the second level branches on bits 21..31 -# -padded-switch: 0: 5 -padded-switch:21:31 -- 2.30.2