mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-19 13:53:29 +08:00
* 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:
@ -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.
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -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). */
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user