* 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.
+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.
/* -- 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. */
--- /dev/null
+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.
--- /dev/null
+/* 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 */
-/* 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>
#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))
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)
{
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
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)
{
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 */
/* 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
+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.
/* 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.
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.
/* 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 */
+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.
/* CGEN generic opcode support.
- Copyright 2002, 2005, 2007
+ Copyright 2002, 2005, 2007, 2009
Free Software Foundation, Inc.
This file is part of libopcodes.
/* 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)
{
+++ /dev/null
-/* 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 */
#ifndef FR30_CPU_H
#define FR30_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH fr30
/* Given symbol S, return fr30_cgen_<S>. */
#ifndef FRV_CPU_H
#define FRV_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH frv
/* Given symbol S, return frv_cgen_<S>. */
#ifndef IP2K_CPU_H
#define IP2K_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH ip2k
/* Given symbol S, return ip2k_cgen_<S>. */
#ifndef IQ2000_CPU_H
#define IQ2000_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH iq2000
/* Given symbol S, return iq2000_cgen_<S>. */
#ifndef LM32_CPU_H
#define LM32_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH lm32
/* Given symbol S, return lm32_cgen_<S>. */
#ifndef M32C_CPU_H
#define M32C_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH m32c
/* Given symbol S, return m32c_cgen_<S>. */
/* -- 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. */
#ifndef M32R_CPU_H
#define M32R_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH m32r
/* Given symbol S, return m32r_cgen_<S>. */
#ifndef MEP_CPU_H
#define MEP_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH mep
/* Given symbol S, return mep_cgen_<S>. */
#ifndef MT_CPU_H
#define MT_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH mt
/* Given symbol S, return mt_cgen_<S>. */
#ifndef OPENRISC_CPU_H
#define OPENRISC_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH openrisc
/* Given symbol S, return openrisc_cgen_<S>. */
#ifndef XC16X_CPU_H
#define XC16X_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH xc16x
/* Given symbol S, return xc16x_cgen_<S>. */
#ifndef XSTORMY16_CPU_H
#define XSTORMY16_CPU_H
-#include "opcode/cgen-bitset.h"
-
#define CGEN_ARCH xstormy16
/* Given symbol S, return xstormy16_cgen_<S>. */