* m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
	cgen-ops.h -> cgen/basic-ops.h.

	include/opcode/
	* cgen-bitset.h: Delete, moved to ../cgen/bitset.h.
	* cgen.h: Update.  Improve multi-inclusion macro name.

	include/cgen/
	* basic-modes.h: New file.  Moved here from opcodes/cgen-types.h.
	* basic-ops.h: New file.  Moved here from opcodes/cgen-ops.h.
	* bitset.h: New file.  Moved here from ../opcode/cgen-bitset.h.
	Update license to GPL v3.

	opcodes/
	* cgen-ops.h: Delete, moved to ../include/cgen/basic-ops.h.
	* cgen-types.h: Delete, moved to ../include/cgen/basic-modes.h.
	* cgen-bitset.c: Update.
	* fr30-desc.h: Regenerate.
	* frv-desc.h: Regenerate.
	* ip2k-desc.h: Regenerate.
	* iq2000-desc.h: Regenerate.
	* lm32-desc.h: Regenerate.
	* m32c-desc.h: Regenerate.
	* m32c-opc.h: Regenerate.
	* m32r-desc.h: Regenerate.
	* mep-desc.h: Regenerate.
	* mt-desc.h: Regenerate.
	* openrisc-desc.h: Regenerate.
	* xc16x-desc.h: Regenerate.
	* xstormy16-desc.h: Regenerate.
This commit is contained in:
Doug Evans 2009-10-24 00:17:08 +00:00
parent 3f67a01471
commit ac1e9eca70
24 changed files with 131 additions and 195 deletions

View File

@ -1,3 +1,8 @@
2009-10-23 Doug Evans <dje@sebabeach.org>
* m32c.opc (opc.h): cgen-types.h -> cgen/basic-modes.h.
cgen-ops.h -> cgen/basic-ops.h.
2009-09-25 Alan Modra <amodra@bigpond.net.au>
* m32r.cpu (stb-plus): Typo fix.

View File

@ -40,8 +40,8 @@
/* -- opc.h */
/* Needed for RTL's 'ext' and 'trunc' operators. */
#include "cgen-types.h"
#include "cgen-ops.h"
#include "cgen/basic-modes.h"
#include "cgen/basic-ops.h"
/* We can't use the default hash size because many bits are used by
operands. */

6
include/cgen/ChangeLog Normal file
View File

@ -0,0 +1,6 @@
2009-10-23 Doug Evans <dje@sebabeach.org>
* basic-modes.h: New file. Moved here from opcodes/cgen-types.h.
* basic-ops.h: New file. Moved here from opcodes/cgen-ops.h.
* bitset.h: New file. Moved here from ../opcode/cgen-bitset.h.
Update license to GPL v3.

View File

@ -0,0 +1,49 @@
/* Basic CGEN modes.
Copyright 2005, 2007, 2009 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of the GNU opcodes library.
This library 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.
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 library; see the file COPYING3. If not, write to the
Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
#ifndef CGEN_BASIC_MODES_H
#define CGEN_BASIC_MODES_H
/* This file doesn't contain all modes,
just the basic/portable ones.
It also provides access to stdint.h (*1) so the includer doesn't have
to deal with the portability issues.
(*1): To the extent that bfd_stdint.h does for now. */
/* IWBN to avoid unnecessary dependencies on bfd-anything. */
#include "bfd_stdint.h"
typedef int8_t QI;
typedef uint8_t UQI;
typedef int16_t HI;
typedef uint16_t UHI;
typedef int32_t SI;
typedef uint32_t USI;
typedef int64_t DI;
typedef uint64_t UDI;
typedef int INT;
typedef unsigned int UINT;
#endif /* CGEN_BASIC_MODES_H */

View File

@ -1,25 +1,26 @@
/* Semantics ops support for CGEN-based opcode libraries.
Copyright (C) 2005, 2007 Free Software Foundation, Inc.
/* Basic semantics ops support for CGEN.
Copyright 2005, 2007, 2009 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of the GNU opcodes library.
This program is free software; you can redistribute it and/or modify
This library 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.
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.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
You should have received a copy of the GNU General Public License
along with this library; see the file COPYING3. If not, write to the
Free Software Foundation, 51 Franklin Street - Fifth Floor, Boston, MA
02110-1301, USA. */
#ifndef CGEN_SEM_OPS_H
#define CGEN_SEM_OPS_H
#ifndef CGEN_BASIC_OPS_H
#define CGEN_BASIC_OPS_H
#include <assert.h>
@ -30,8 +31,6 @@
#define SEMOPS_INLINE
#endif
/* TODO: Lazy encoding/decoding of fp values. */
/* These don't really have a mode. */
#define ANDIF(x, y) ((x) && (y))
#define ORIF(x, y) ((x) || (y))
@ -298,38 +297,12 @@ extern SI TRUNCDISI (DI);
QI SUBWORDSIQI (SI, int);
HI SUBWORDSIHI (SI, int);
SI SUBWORDSFSI (SF);
SF SUBWORDSISF (SI);
DI SUBWORDDFDI (DF);
DF SUBWORDDIDF (DI);
QI SUBWORDDIQI (DI, int);
HI SUBWORDDIHI (DI, int);
SI SUBWORDDISI (DI, int);
SI SUBWORDDFSI (DF, int);
SI SUBWORDXFSI (XF, int);
SI SUBWORDTFSI (TF, int);
UQI SUBWORDSIUQI (SI, int);
UQI SUBWORDDIUQI (DI, int);
#ifdef SEMOPS_DEFINE_INLINE
SEMOPS_INLINE SF
SUBWORDSISF (SI in)
{
union { SI in; SF out; } x;
x.in = in;
return x.out;
}
SEMOPS_INLINE DF
SUBWORDDIDF (DI in)
{
union { DI in; DF out; } x;
x.in = in;
return x.out;
}
SEMOPS_INLINE QI
SUBWORDSIQI (SI in, int byte)
{
@ -337,11 +310,13 @@ SUBWORDSIQI (SI in, int byte)
return (UQI) (in >> (8 * (3 - byte))) & 0xFF;
}
SEMOPS_INLINE UQI
SUBWORDSIUQI (SI in, int byte)
SEMOPS_INLINE HI
SUBWORDSIHI (SI in, int word)
{
assert (byte >= 0 && byte <= 3);
return (UQI) (in >> (8 * (3 - byte))) & 0xFF;
if (word == 0)
return (USI) in >> 16;
else
return in;
}
SEMOPS_INLINE QI
@ -358,38 +333,6 @@ SUBWORDDIHI (DI in, int word)
return (UHI) (in >> (16 * (3 - word))) & 0xFFFF;
}
SEMOPS_INLINE HI
SUBWORDSIHI (SI in, int word)
{
if (word == 0)
return (USI) in >> 16;
else
return in;
}
SEMOPS_INLINE SI
SUBWORDSFSI (SF in)
{
union { SF in; SI out; } x;
x.in = in;
return x.out;
}
SEMOPS_INLINE DI
SUBWORDDFDI (DF in)
{
union { DF in; DI out; } x;
x.in = in;
return x.out;
}
SEMOPS_INLINE UQI
SUBWORDDIUQI (DI in, int byte)
{
assert (byte >= 0 && byte <= 7);
return (UQI) (in >> (8 * (7 - byte)));
}
SEMOPS_INLINE SI
SUBWORDDISI (DI in, int word)
{
@ -399,34 +342,6 @@ SUBWORDDISI (DI in, int word)
return in;
}
SEMOPS_INLINE SI
SUBWORDDFSI (DF in, int word)
{
/* Note: typedef UDI DF; */
if (word == 0)
return (UDI) in >> 32;
else
return in;
}
SEMOPS_INLINE SI
SUBWORDXFSI (XF in, int word)
{
/* Note: typedef struct { SI parts[3]; } XF; */
union { XF in; SI out[3]; } x;
x.in = in;
return x.out[word];
}
SEMOPS_INLINE SI
SUBWORDTFSI (TF in, int word)
{
/* Note: typedef struct { SI parts[4]; } TF; */
union { TF in; SI out[4]; } x;
x.in = in;
return x.out[word];
}
#endif /* SUBWORD,JOIN */
#endif /* CGEN_SEM_OPS_H */
#endif /* CGEN_BASIC_OPS_H */

View File

@ -1,22 +1,23 @@
/* Header file the type CGEN_BITSET.
Copyright 2002, 2005, 2009 Free Software Foundation, Inc.
Copyright 2002, 2005 Free Software Foundation, Inc.
This file is part of the GNU opcodes library.
This file is part of GDB, the GNU debugger, and the GNU Binutils.
This library 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 free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
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.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this library; see the file COPYING3. If not, write to the
Free Software Foundation, 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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef CGEN_BITSET_H
#define CGEN_BITSET_H

View File

@ -1,3 +1,8 @@
2009-10-23 Doug Evans <dje@sebabeach.org>
* cgen-bitset.h: Delete, moved to ../cgen/bitset.h.
* cgen.h: Update. Improve multi-inclusion macro name.
2009-10-02 Peter Bergner <bergner@vnet.ibm.com>
* ppc.h (PPC_OPCODE_476): Define.

View File

@ -1,6 +1,6 @@
/* Header file for targets using CGEN: Cpu tools GENerator.
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005, 2009
Free Software Foundation, Inc.
This file is part of GDB, the GNU debugger, and the GNU Binutils.
@ -19,11 +19,12 @@ 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. */
#ifndef CGEN_H
#define CGEN_H
#ifndef OPCODE_CGEN_H
#define OPCODE_CGEN_H
#include "symcat.h"
#include "cgen-bitset.h"
#include "cgen/bitset.h"
/* ??? This file requires bfd.h but only to get bfd_vma.
Seems like an awful lot to require just to get such a fundamental type.
Perhaps the definition of bfd_vma can be moved outside of bfd.h.
@ -1470,4 +1471,4 @@ extern void cgen_clear_signed_overflow_ok (CGEN_CPU_DESC);
/* Will an error message be generated if a signed field in an instruction overflows ? */
extern unsigned int cgen_signed_overflow_ok_p (CGEN_CPU_DESC);
#endif /* CGEN_H */
#endif /* OPCODE_CGEN_H */

View File

@ -1,3 +1,22 @@
2009-10-23 Doug Evans <dje@sebabeach.org>
* cgen-ops.h: Delete, moved to ../include/cgen/basic-ops.h.
* cgen-types.h: Delete, moved to ../include/cgen/basic-modes.h.
* cgen-bitset.c: Update.
* fr30-desc.h: Regenerate.
* frv-desc.h: Regenerate.
* ip2k-desc.h: Regenerate.
* iq2000-desc.h: Regenerate.
* lm32-desc.h: Regenerate.
* m32c-desc.h: Regenerate.
* m32c-opc.h: Regenerate.
* m32r-desc.h: Regenerate.
* mep-desc.h: Regenerate.
* mt-desc.h: Regenerate.
* openrisc-desc.h: Regenerate.
* xc16x-desc.h: Regenerate.
* xstormy16-desc.h: Regenerate.
2009-10-22 DJ Delorie <dj@redhat.com>
* rx-decode.opc (decode_opcode): Fix flags for MUL, SUNTIL, and SWHILE.

View File

@ -1,5 +1,5 @@
/* CGEN generic opcode support.
Copyright 2002, 2005, 2007
Copyright 2002, 2005, 2007, 2009
Free Software Foundation, Inc.
This file is part of libopcodes.
@ -21,10 +21,11 @@
/* Functions for manipulating CGEN_BITSET. */
#include "libiberty.h"
#include "opcode/cgen-bitset.h"
#include "cgen/bitset.h"
#include <string.h>
/* Create a bit mask. */
CGEN_BITSET *
cgen_bitset_create (unsigned bit_count)
{

View File

@ -1,42 +0,0 @@
/* Type definitions for CGEN-based opcode libraries.
Copyright (C) 2005, 2007 Free Software Foundation, Inc.
Contributed by Red Hat.
This file is part of the GNU opcodes library.
This library 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.
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.,
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
#ifndef CGEN_TYPES_H
#define CGEN_TYPES_H
#include "../bfd/bfd_stdint.h"
typedef int8_t QI;
typedef uint8_t UQI;
typedef int16_t HI;
typedef uint16_t UHI;
typedef int32_t SI;
typedef uint32_t USI;
typedef int64_t DI;
typedef uint64_t UDI;
typedef int INT;
typedef unsigned int UINT;
typedef float SF;
typedef double DF;
typedef long double XF, TF;
#endif /* CGEN_TYPES_H */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef FR30_CPU_H
#define FR30_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH fr30
/* Given symbol S, return fr30_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef FRV_CPU_H
#define FRV_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH frv
/* Given symbol S, return frv_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef IP2K_CPU_H
#define IP2K_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH ip2k
/* Given symbol S, return ip2k_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef IQ2000_CPU_H
#define IQ2000_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH iq2000
/* Given symbol S, return iq2000_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef LM32_CPU_H
#define LM32_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH lm32
/* Given symbol S, return lm32_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef M32C_CPU_H
#define M32C_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH m32c
/* Given symbol S, return m32c_cgen_<S>. */

View File

@ -28,8 +28,8 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
/* -- opc.h */
/* Needed for RTL's 'ext' and 'trunc' operators. */
#include "cgen-types.h"
#include "cgen-ops.h"
#include "cgen/basic-modes.h"
#include "cgen/basic-ops.h"
/* We can't use the default hash size because many bits are used by
operands. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef M32R_CPU_H
#define M32R_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH m32r
/* Given symbol S, return m32r_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef MEP_CPU_H
#define MEP_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH mep
/* Given symbol S, return mep_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef MT_CPU_H
#define MT_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH mt
/* Given symbol S, return mt_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef OPENRISC_CPU_H
#define OPENRISC_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH openrisc
/* Given symbol S, return openrisc_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef XC16X_CPU_H
#define XC16X_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH xc16x
/* Given symbol S, return xc16x_cgen_<S>. */

View File

@ -25,8 +25,6 @@ This file is part of the GNU Binutils and/or GDB, the GNU debugger.
#ifndef XSTORMY16_CPU_H
#define XSTORMY16_CPU_H
#include "opcode/cgen-bitset.h"
#define CGEN_ARCH xstormy16
/* Given symbol S, return xstormy16_cgen_<S>. */