From fb067cad5a9db4b965304bcd276c2f18a8cf2cbb Mon Sep 17 00:00:00 2001 From: Doug Evans Date: Wed, 4 Nov 2009 05:42:21 +0000 Subject: [PATCH] * arch.c: Regenerate. * arch.h: Regenerate. * cpu.c: Regenerate. * cpu.h: Regenerate. * cpuall.h: Regenerate. * decode.c: Regenerate. * decode.h: Regenerate. * model.c: Regenerate. * sem-switch.c: Regenerate. * sem.c: Regenerate. --- sim/lm32/ChangeLog | 13 +++ sim/lm32/arch.c | 24 ++--- sim/lm32/arch.h | 24 ++--- sim/lm32/cpu.c | 24 ++--- sim/lm32/cpu.h | 24 ++--- sim/lm32/cpuall.h | 24 ++--- sim/lm32/decode.c | 234 ++++++++++-------------------------------- sim/lm32/decode.h | 28 ++--- sim/lm32/model.c | 24 ++--- sim/lm32/sem-switch.c | 24 ++--- sim/lm32/sem.c | 24 ++--- 11 files changed, 176 insertions(+), 291 deletions(-) diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog index e97dd42356..b0eab3b874 100755 --- a/sim/lm32/ChangeLog +++ b/sim/lm32/ChangeLog @@ -1,3 +1,16 @@ +2009-11-03 Doug Evans + + * arch.c: Regenerate. + * arch.h: Regenerate. + * cpu.c: Regenerate. + * cpu.h: Regenerate. + * cpuall.h: Regenerate. + * decode.c: Regenerate. + * decode.h: Regenerate. + * model.c: Regenerate. + * sem-switch.c: Regenerate. + * sem.c: Regenerate. + 2009-10-27 Doug Evans * Makefile.in (stamp-arch): Update path to lm32.cpu. diff --git a/sim/lm32/arch.c b/sim/lm32/arch.c index c4332c74fc..68c8c677d5 100644 --- a/sim/lm32/arch.c +++ b/sim/lm32/arch.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/arch.h b/sim/lm32/arch.h index 4bd49263f9..1738502a2f 100644 --- a/sim/lm32/arch.h +++ b/sim/lm32/arch.h @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/cpu.c b/sim/lm32/cpu.c index 75ce15f188..52f5a08d84 100644 --- a/sim/lm32/cpu.c +++ b/sim/lm32/cpu.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/cpu.h b/sim/lm32/cpu.h index 54146f40af..8b44fa37d6 100644 --- a/sim/lm32/cpu.h +++ b/sim/lm32/cpu.h @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/cpuall.h b/sim/lm32/cpuall.h index a327d01d09..1bd6404ff3 100644 --- a/sim/lm32/cpuall.h +++ b/sim/lm32/cpuall.h @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/decode.c b/sim/lm32/decode.c index 66a326d6d9..f7f2506246 100644 --- a/sim/lm32/decode.c +++ b/sim/lm32/decode.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ @@ -92,11 +92,11 @@ static const struct insn_sem lm32bf_insn_sem[] = { LM32_INSN_SEXTB, LM32BF_INSN_SEXTB, LM32BF_SFMT_SEXTB }, { LM32_INSN_SEXTH, LM32BF_INSN_SEXTH, LM32BF_SFMT_SEXTB }, { LM32_INSN_SH, LM32BF_INSN_SH, LM32BF_SFMT_SH }, - { LM32_INSN_SL, LM32BF_INSN_SL, LM32BF_SFMT_SL }, + { LM32_INSN_SL, LM32BF_INSN_SL, LM32BF_SFMT_ADD }, { LM32_INSN_SLI, LM32BF_INSN_SLI, LM32BF_SFMT_ADDI }, - { LM32_INSN_SR, LM32BF_INSN_SR, LM32BF_SFMT_SL }, + { LM32_INSN_SR, LM32BF_INSN_SR, LM32BF_SFMT_ADD }, { LM32_INSN_SRI, LM32BF_INSN_SRI, LM32BF_SFMT_ADDI }, - { LM32_INSN_SRU, LM32BF_INSN_SRU, LM32BF_SFMT_SL }, + { LM32_INSN_SRU, LM32BF_INSN_SRU, LM32BF_SFMT_ADD }, { LM32_INSN_SRUI, LM32BF_INSN_SRUI, LM32BF_SFMT_ADDI }, { LM32_INSN_SUB, LM32BF_INSN_SUB, LM32BF_SFMT_ADD }, { LM32_INSN_SW, LM32BF_INSN_SW, LM32BF_SFMT_SW }, @@ -187,137 +187,41 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, unsigned int val = (((insn >> 26) & (63 << 0))); switch (val) { - case 0 : - if ((entire_insn & 0xfc000000) == 0x0) - { itype = LM32BF_INSN_SRUI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 1 : - if ((entire_insn & 0xfc000000) == 0x4000000) - { itype = LM32BF_INSN_NORI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 2 : - if ((entire_insn & 0xfc000000) == 0x8000000) - { itype = LM32BF_INSN_MULI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 3 : - if ((entire_insn & 0xfc000000) == 0xc000000) - { itype = LM32BF_INSN_SH; goto extract_sfmt_sh; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 4 : - if ((entire_insn & 0xfc000000) == 0x10000000) - { itype = LM32BF_INSN_LB; goto extract_sfmt_lb; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 5 : - if ((entire_insn & 0xfc000000) == 0x14000000) - { itype = LM32BF_INSN_SRI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 6 : - if ((entire_insn & 0xfc000000) == 0x18000000) - { itype = LM32BF_INSN_XORI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 7 : - if ((entire_insn & 0xfc000000) == 0x1c000000) - { itype = LM32BF_INSN_LH; goto extract_sfmt_lh; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 8 : - if ((entire_insn & 0xfc000000) == 0x20000000) - { itype = LM32BF_INSN_ANDI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 9 : - if ((entire_insn & 0xfc000000) == 0x24000000) - { itype = LM32BF_INSN_XNORI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 10 : - if ((entire_insn & 0xfc000000) == 0x28000000) - { itype = LM32BF_INSN_LW; goto extract_sfmt_lw; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 11 : - if ((entire_insn & 0xfc000000) == 0x2c000000) - { itype = LM32BF_INSN_LHU; goto extract_sfmt_lh; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 12 : - if ((entire_insn & 0xfc000000) == 0x30000000) - { itype = LM32BF_INSN_SB; goto extract_sfmt_sb; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 13 : - if ((entire_insn & 0xfc000000) == 0x34000000) - { itype = LM32BF_INSN_ADDI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 14 : - if ((entire_insn & 0xfc000000) == 0x38000000) - { itype = LM32BF_INSN_ORI; goto extract_sfmt_ori; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 15 : - if ((entire_insn & 0xfc000000) == 0x3c000000) - { itype = LM32BF_INSN_SLI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 16 : - if ((entire_insn & 0xfc000000) == 0x40000000) - { itype = LM32BF_INSN_LBU; goto extract_sfmt_lb; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 17 : - if ((entire_insn & 0xfc000000) == 0x44000000) - { itype = LM32BF_INSN_BE; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 18 : - if ((entire_insn & 0xfc000000) == 0x48000000) - { itype = LM32BF_INSN_BG; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 19 : - if ((entire_insn & 0xfc000000) == 0x4c000000) - { itype = LM32BF_INSN_BGE; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 20 : - if ((entire_insn & 0xfc000000) == 0x50000000) - { itype = LM32BF_INSN_BGEU; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 21 : - if ((entire_insn & 0xfc000000) == 0x54000000) - { itype = LM32BF_INSN_BGU; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 22 : - if ((entire_insn & 0xfc000000) == 0x58000000) - { itype = LM32BF_INSN_SW; goto extract_sfmt_sw; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 23 : - if ((entire_insn & 0xfc000000) == 0x5c000000) - { itype = LM32BF_INSN_BNE; goto extract_sfmt_be; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 24 : - if ((entire_insn & 0xfc000000) == 0x60000000) - { itype = LM32BF_INSN_ANDHII; goto extract_sfmt_andhii; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 25 : - if ((entire_insn & 0xfc000000) == 0x64000000) - { itype = LM32BF_INSN_CMPEI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 26 : - if ((entire_insn & 0xfc000000) == 0x68000000) - { itype = LM32BF_INSN_CMPGI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 27 : - if ((entire_insn & 0xfc000000) == 0x6c000000) - { itype = LM32BF_INSN_CMPGEI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 28 : - if ((entire_insn & 0xfc000000) == 0x70000000) - { itype = LM32BF_INSN_CMPGEUI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 29 : - if ((entire_insn & 0xfc000000) == 0x74000000) - { itype = LM32BF_INSN_CMPGUI; goto extract_sfmt_andi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 30 : - if ((entire_insn & 0xfc000000) == 0x78000000) - { itype = LM32BF_INSN_ORHII; goto extract_sfmt_andhii; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 31 : - if ((entire_insn & 0xfc000000) == 0x7c000000) - { itype = LM32BF_INSN_CMPNEI; goto extract_sfmt_addi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; + case 0 : itype = LM32BF_INSN_SRUI; goto extract_sfmt_addi; + case 1 : itype = LM32BF_INSN_NORI; goto extract_sfmt_andi; + case 2 : itype = LM32BF_INSN_MULI; goto extract_sfmt_addi; + case 3 : itype = LM32BF_INSN_SH; goto extract_sfmt_sh; + case 4 : itype = LM32BF_INSN_LB; goto extract_sfmt_lb; + case 5 : itype = LM32BF_INSN_SRI; goto extract_sfmt_addi; + case 6 : itype = LM32BF_INSN_XORI; goto extract_sfmt_andi; + case 7 : itype = LM32BF_INSN_LH; goto extract_sfmt_lh; + case 8 : itype = LM32BF_INSN_ANDI; goto extract_sfmt_andi; + case 9 : itype = LM32BF_INSN_XNORI; goto extract_sfmt_andi; + case 10 : itype = LM32BF_INSN_LW; goto extract_sfmt_lw; + case 11 : itype = LM32BF_INSN_LHU; goto extract_sfmt_lh; + case 12 : itype = LM32BF_INSN_SB; goto extract_sfmt_sb; + case 13 : itype = LM32BF_INSN_ADDI; goto extract_sfmt_addi; + case 14 : itype = LM32BF_INSN_ORI; goto extract_sfmt_ori; + case 15 : itype = LM32BF_INSN_SLI; goto extract_sfmt_addi; + case 16 : itype = LM32BF_INSN_LBU; goto extract_sfmt_lb; + case 17 : itype = LM32BF_INSN_BE; goto extract_sfmt_be; + case 18 : itype = LM32BF_INSN_BG; goto extract_sfmt_be; + case 19 : itype = LM32BF_INSN_BGE; goto extract_sfmt_be; + case 20 : itype = LM32BF_INSN_BGEU; goto extract_sfmt_be; + case 21 : itype = LM32BF_INSN_BGU; goto extract_sfmt_be; + case 22 : itype = LM32BF_INSN_SW; goto extract_sfmt_sw; + case 23 : itype = LM32BF_INSN_BNE; goto extract_sfmt_be; + case 24 : itype = LM32BF_INSN_ANDHII; goto extract_sfmt_andhii; + case 25 : itype = LM32BF_INSN_CMPEI; goto extract_sfmt_addi; + case 26 : itype = LM32BF_INSN_CMPGI; goto extract_sfmt_addi; + case 27 : itype = LM32BF_INSN_CMPGEI; goto extract_sfmt_addi; + case 28 : itype = LM32BF_INSN_CMPGEUI; goto extract_sfmt_andi; + case 29 : itype = LM32BF_INSN_CMPGUI; goto extract_sfmt_andi; + case 30 : itype = LM32BF_INSN_ORHII; goto extract_sfmt_andhii; + case 31 : itype = LM32BF_INSN_CMPNEI; goto extract_sfmt_addi; case 32 : if ((entire_insn & 0xfc0007ff) == 0x80000000) - { itype = LM32BF_INSN_SRU; goto extract_sfmt_sl; } + { itype = LM32BF_INSN_SRU; goto extract_sfmt_add; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 33 : if ((entire_insn & 0xfc0007ff) == 0x84000000) @@ -337,7 +241,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 37 : if ((entire_insn & 0xfc0007ff) == 0x94000000) - { itype = LM32BF_INSN_SR; goto extract_sfmt_sl; } + { itype = LM32BF_INSN_SR; goto extract_sfmt_add; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 38 : if ((entire_insn & 0xfc0007ff) == 0x98000000) @@ -381,7 +285,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 47 : if ((entire_insn & 0xfc0007ff) == 0xbc000000) - { itype = LM32BF_INSN_SL; goto extract_sfmt_sl; } + { itype = LM32BF_INSN_SL; goto extract_sfmt_add; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 48 : if ((entire_insn & 0xfc1fffff) == 0xc0000000) @@ -395,10 +299,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, if ((entire_insn & 0xfc0007ff) == 0xc8000000) { itype = LM32BF_INSN_SUB; goto extract_sfmt_add; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 51 : - if ((entire_insn & 0xfc000000) == 0xcc000000) - { itype = LM32BF_INSN_USER; goto extract_sfmt_user; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; + case 51 : itype = LM32BF_INSN_USER; goto extract_sfmt_user; case 52 : if ((entire_insn & 0xfc00ffff) == 0xd0000000) { itype = LM32BF_INSN_WCSR; goto extract_sfmt_wcsr; } @@ -411,10 +312,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, if ((entire_insn & 0xfc1f07ff) == 0xdc000000) { itype = LM32BF_INSN_SEXTH; goto extract_sfmt_sextb; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 56 : - if ((entire_insn & 0xfc000000) == 0xe0000000) - { itype = LM32BF_INSN_BI; goto extract_sfmt_bi; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; + case 56 : itype = LM32BF_INSN_BI; goto extract_sfmt_bi; case 57 : if ((entire_insn & 0xfc0007ff) == 0xe4000000) { itype = LM32BF_INSN_CMPE; goto extract_sfmt_add; } @@ -435,10 +333,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, if ((entire_insn & 0xfc0007ff) == 0xf4000000) { itype = LM32BF_INSN_CMPGU; goto extract_sfmt_add; } itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; - case 62 : - if ((entire_insn & 0xfc000000) == 0xf8000000) - { itype = LM32BF_INSN_CALLI; goto extract_sfmt_calli; } - itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; + case 62 : itype = LM32BF_INSN_CALLI; goto extract_sfmt_calli; case 63 : if ((entire_insn & 0xfc0007ff) == 0xfc000000) { itype = LM32BF_INSN_CMPNE; goto extract_sfmt_add; } @@ -843,29 +738,6 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc, FLD (f_r1) = f_r1; TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sh", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0)); -#undef FLD - return idesc; - } - - extract_sfmt_sl: - { - const IDESC *idesc = &lm32bf_insn_data[itype]; - CGEN_INSN_INT insn = entire_insn; -#define FLD(f) abuf->fields.sfmt_user.f - UINT f_r0; - UINT f_r1; - UINT f_r2; - - f_r0 = EXTRACT_LSB0_UINT (insn, 32, 25, 5); - f_r1 = EXTRACT_LSB0_UINT (insn, 32, 20, 5); - f_r2 = EXTRACT_LSB0_UINT (insn, 32, 15, 5); - - /* Record the fields for the semantic handler. */ - FLD (f_r0) = f_r0; - FLD (f_r1) = f_r1; - FLD (f_r2) = f_r2; - TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sl", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, (char *) 0)); - #undef FLD return idesc; } diff --git a/sim/lm32/decode.h b/sim/lm32/decode.h index 31b697185f..5327fbf1a4 100644 --- a/sim/lm32/decode.h +++ b/sim/lm32/decode.h @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ @@ -60,8 +60,8 @@ typedef enum lm32bf_sfmt_type { , LM32BF_SFMT_ANDHII, LM32BF_SFMT_B, LM32BF_SFMT_BI, LM32BF_SFMT_BE , LM32BF_SFMT_CALL, LM32BF_SFMT_CALLI, LM32BF_SFMT_DIVU, LM32BF_SFMT_LB , LM32BF_SFMT_LH, LM32BF_SFMT_LW, LM32BF_SFMT_ORI, LM32BF_SFMT_RCSR - , LM32BF_SFMT_SB, LM32BF_SFMT_SEXTB, LM32BF_SFMT_SH, LM32BF_SFMT_SL - , LM32BF_SFMT_SW, LM32BF_SFMT_USER, LM32BF_SFMT_WCSR, LM32BF_SFMT_BREAK + , LM32BF_SFMT_SB, LM32BF_SFMT_SEXTB, LM32BF_SFMT_SH, LM32BF_SFMT_SW + , LM32BF_SFMT_USER, LM32BF_SFMT_WCSR, LM32BF_SFMT_BREAK } LM32BF_SFMT_TYPE; /* Function unit handlers (user written). */ diff --git a/sim/lm32/model.c b/sim/lm32/model.c index 02dd229d56..6337ec6c77 100644 --- a/sim/lm32/model.c +++ b/sim/lm32/model.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/sem-switch.c b/sim/lm32/sem-switch.c index ff68b1cce5..5d911923a0 100644 --- a/sim/lm32/sem-switch.c +++ b/sim/lm32/sem-switch.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ diff --git a/sim/lm32/sem.c b/sim/lm32/sem.c index d72d812818..a4c2e7c44a 100644 --- a/sim/lm32/sem.c +++ b/sim/lm32/sem.c @@ -2,23 +2,23 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996-2005 Free Software Foundation, Inc. +Copyright 1996-2009 Free Software Foundation, Inc. This file is part of the GNU simulators. -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, or (at your option) -any later version. + This file 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 3, 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. + It 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., -51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + 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., + 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -- 2.34.1