* 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.
This commit is contained in:
Doug Evans
2009-11-04 05:42:21 +00:00
parent 1a5691a5c5
commit fb067cad5a
11 changed files with 176 additions and 291 deletions

View File

@ -1,3 +1,16 @@
2009-11-03 Doug Evans <dje@sebabeach.org>
* 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 <dje@sebabeach.org> 2009-10-27 Doug Evans <dje@sebabeach.org>
* Makefile.in (stamp-arch): Update path to lm32.cpu. * Makefile.in (stamp-arch): Update path to lm32.cpu.

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 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_SEXTB, LM32BF_INSN_SEXTB, LM32BF_SFMT_SEXTB },
{ LM32_INSN_SEXTH, LM32BF_INSN_SEXTH, LM32BF_SFMT_SEXTB }, { LM32_INSN_SEXTH, LM32BF_INSN_SEXTH, LM32BF_SFMT_SEXTB },
{ LM32_INSN_SH, LM32BF_INSN_SH, LM32BF_SFMT_SH }, { 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_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_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_SRUI, LM32BF_INSN_SRUI, LM32BF_SFMT_ADDI },
{ LM32_INSN_SUB, LM32BF_INSN_SUB, LM32BF_SFMT_ADD }, { LM32_INSN_SUB, LM32BF_INSN_SUB, LM32BF_SFMT_ADD },
{ LM32_INSN_SW, LM32BF_INSN_SW, LM32BF_SFMT_SW }, { 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))); unsigned int val = (((insn >> 26) & (63 << 0)));
switch (val) switch (val)
{ {
case 0 : case 0 : itype = LM32BF_INSN_SRUI; goto extract_sfmt_addi;
if ((entire_insn & 0xfc000000) == 0x0) case 1 : itype = LM32BF_INSN_NORI; goto extract_sfmt_andi;
{ itype = LM32BF_INSN_SRUI; goto extract_sfmt_addi; } case 2 : itype = LM32BF_INSN_MULI; goto extract_sfmt_addi;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 3 : itype = LM32BF_INSN_SH; goto extract_sfmt_sh;
case 1 : case 4 : itype = LM32BF_INSN_LB; goto extract_sfmt_lb;
if ((entire_insn & 0xfc000000) == 0x4000000) case 5 : itype = LM32BF_INSN_SRI; goto extract_sfmt_addi;
{ itype = LM32BF_INSN_NORI; goto extract_sfmt_andi; } case 6 : itype = LM32BF_INSN_XORI; goto extract_sfmt_andi;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 7 : itype = LM32BF_INSN_LH; goto extract_sfmt_lh;
case 2 : case 8 : itype = LM32BF_INSN_ANDI; goto extract_sfmt_andi;
if ((entire_insn & 0xfc000000) == 0x8000000) case 9 : itype = LM32BF_INSN_XNORI; goto extract_sfmt_andi;
{ itype = LM32BF_INSN_MULI; goto extract_sfmt_addi; } case 10 : itype = LM32BF_INSN_LW; goto extract_sfmt_lw;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 11 : itype = LM32BF_INSN_LHU; goto extract_sfmt_lh;
case 3 : case 12 : itype = LM32BF_INSN_SB; goto extract_sfmt_sb;
if ((entire_insn & 0xfc000000) == 0xc000000) case 13 : itype = LM32BF_INSN_ADDI; goto extract_sfmt_addi;
{ itype = LM32BF_INSN_SH; goto extract_sfmt_sh; } case 14 : itype = LM32BF_INSN_ORI; goto extract_sfmt_ori;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 15 : itype = LM32BF_INSN_SLI; goto extract_sfmt_addi;
case 4 : case 16 : itype = LM32BF_INSN_LBU; goto extract_sfmt_lb;
if ((entire_insn & 0xfc000000) == 0x10000000) case 17 : itype = LM32BF_INSN_BE; goto extract_sfmt_be;
{ itype = LM32BF_INSN_LB; goto extract_sfmt_lb; } case 18 : itype = LM32BF_INSN_BG; goto extract_sfmt_be;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 19 : itype = LM32BF_INSN_BGE; goto extract_sfmt_be;
case 5 : case 20 : itype = LM32BF_INSN_BGEU; goto extract_sfmt_be;
if ((entire_insn & 0xfc000000) == 0x14000000) case 21 : itype = LM32BF_INSN_BGU; goto extract_sfmt_be;
{ itype = LM32BF_INSN_SRI; goto extract_sfmt_addi; } case 22 : itype = LM32BF_INSN_SW; goto extract_sfmt_sw;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 23 : itype = LM32BF_INSN_BNE; goto extract_sfmt_be;
case 6 : case 24 : itype = LM32BF_INSN_ANDHII; goto extract_sfmt_andhii;
if ((entire_insn & 0xfc000000) == 0x18000000) case 25 : itype = LM32BF_INSN_CMPEI; goto extract_sfmt_addi;
{ itype = LM32BF_INSN_XORI; goto extract_sfmt_andi; } case 26 : itype = LM32BF_INSN_CMPGI; goto extract_sfmt_addi;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 27 : itype = LM32BF_INSN_CMPGEI; goto extract_sfmt_addi;
case 7 : case 28 : itype = LM32BF_INSN_CMPGEUI; goto extract_sfmt_andi;
if ((entire_insn & 0xfc000000) == 0x1c000000) case 29 : itype = LM32BF_INSN_CMPGUI; goto extract_sfmt_andi;
{ itype = LM32BF_INSN_LH; goto extract_sfmt_lh; } case 30 : itype = LM32BF_INSN_ORHII; goto extract_sfmt_andhii;
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; case 31 : itype = LM32BF_INSN_CMPNEI; goto extract_sfmt_addi;
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 32 : case 32 :
if ((entire_insn & 0xfc0007ff) == 0x80000000) 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; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 33 : case 33 :
if ((entire_insn & 0xfc0007ff) == 0x84000000) 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; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 37 : case 37 :
if ((entire_insn & 0xfc0007ff) == 0x94000000) 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; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 38 : case 38 :
if ((entire_insn & 0xfc0007ff) == 0x98000000) 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; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 47 : case 47 :
if ((entire_insn & 0xfc0007ff) == 0xbc000000) 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; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 48 : case 48 :
if ((entire_insn & 0xfc1fffff) == 0xc0000000) if ((entire_insn & 0xfc1fffff) == 0xc0000000)
@ -395,10 +299,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
if ((entire_insn & 0xfc0007ff) == 0xc8000000) if ((entire_insn & 0xfc0007ff) == 0xc8000000)
{ itype = LM32BF_INSN_SUB; goto extract_sfmt_add; } { itype = LM32BF_INSN_SUB; goto extract_sfmt_add; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 51 : case 51 : itype = LM32BF_INSN_USER; goto extract_sfmt_user;
if ((entire_insn & 0xfc000000) == 0xcc000000)
{ itype = LM32BF_INSN_USER; goto extract_sfmt_user; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 52 : case 52 :
if ((entire_insn & 0xfc00ffff) == 0xd0000000) if ((entire_insn & 0xfc00ffff) == 0xd0000000)
{ itype = LM32BF_INSN_WCSR; goto extract_sfmt_wcsr; } { 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) if ((entire_insn & 0xfc1f07ff) == 0xdc000000)
{ itype = LM32BF_INSN_SEXTH; goto extract_sfmt_sextb; } { itype = LM32BF_INSN_SEXTH; goto extract_sfmt_sextb; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 56 : case 56 : itype = LM32BF_INSN_BI; goto extract_sfmt_bi;
if ((entire_insn & 0xfc000000) == 0xe0000000)
{ itype = LM32BF_INSN_BI; goto extract_sfmt_bi; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 57 : case 57 :
if ((entire_insn & 0xfc0007ff) == 0xe4000000) if ((entire_insn & 0xfc0007ff) == 0xe4000000)
{ itype = LM32BF_INSN_CMPE; goto extract_sfmt_add; } { 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) if ((entire_insn & 0xfc0007ff) == 0xf4000000)
{ itype = LM32BF_INSN_CMPGU; goto extract_sfmt_add; } { itype = LM32BF_INSN_CMPGU; goto extract_sfmt_add; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty; itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 62 : case 62 : itype = LM32BF_INSN_CALLI; goto extract_sfmt_calli;
if ((entire_insn & 0xfc000000) == 0xf8000000)
{ itype = LM32BF_INSN_CALLI; goto extract_sfmt_calli; }
itype = LM32BF_INSN_X_INVALID; goto extract_sfmt_empty;
case 63 : case 63 :
if ((entire_insn & 0xfc0007ff) == 0xfc000000) if ((entire_insn & 0xfc0007ff) == 0xfc000000)
{ itype = LM32BF_INSN_CMPNE; goto extract_sfmt_add; } { 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; 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)); 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 #undef FLD
return idesc; return idesc;
} }

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 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_ANDHII, LM32BF_SFMT_B, LM32BF_SFMT_BI, LM32BF_SFMT_BE
, LM32BF_SFMT_CALL, LM32BF_SFMT_CALLI, LM32BF_SFMT_DIVU, LM32BF_SFMT_LB , 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_LH, LM32BF_SFMT_LW, LM32BF_SFMT_ORI, LM32BF_SFMT_RCSR
, LM32BF_SFMT_SB, LM32BF_SFMT_SEXTB, LM32BF_SFMT_SH, LM32BF_SFMT_SL , LM32BF_SFMT_SB, LM32BF_SFMT_SEXTB, LM32BF_SFMT_SH, LM32BF_SFMT_SW
, LM32BF_SFMT_SW, LM32BF_SFMT_USER, LM32BF_SFMT_WCSR, LM32BF_SFMT_BREAK , LM32BF_SFMT_USER, LM32BF_SFMT_WCSR, LM32BF_SFMT_BREAK
} LM32BF_SFMT_TYPE; } LM32BF_SFMT_TYPE;
/* Function unit handlers (user written). */ /* Function unit handlers (user written). */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */

View File

@ -2,23 +2,23 @@
THIS FILE IS MACHINE GENERATED WITH CGEN. 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 file is part of the GNU simulators.
This program is free software; you can redistribute it and/or modify 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 it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option) the Free Software Foundation; either version 3, or (at your option)
any later version. any later version.
This program is distributed in the hope that it will be useful, It is distributed in the hope that it will be useful, but WITHOUT
but WITHOUT ANY WARRANTY; without even the implied warranty of ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public
GNU General Public License for more details. License for more details.
You should have received a copy of the GNU General Public License along 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., with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/ */