gas/
authorDaniel Jacobowitz <drow@false.org>
Mon, 15 Aug 2005 15:37:15 +0000 (15:37 +0000)
committerDaniel Jacobowitz <drow@false.org>
Mon, 15 Aug 2005 15:37:15 +0000 (15:37 +0000)
* config/tc-ppc.c (parse_cpu): Add -me300 support.
(md_show_usage): Likewise.
* doc/c-ppc.texi (PowerPC-Opts): Document it.
include/opcode/
* ppc.h (PPC_OPCODE_E300): Define.
opcodes/
* ppc-dis.c (powerpc_dialect): Handle e300.
(print_ppc_disassembler_options): Likewise.
* ppc-opc.c (PPCE300): Define.
(powerpc_opcodes): Mark icbt as available for the e300.
binutils/
* doc/binutils.texi (objdump): Document -M e300.

binutils/ChangeLog
binutils/doc/binutils.texi
gas/ChangeLog
gas/config/tc-ppc.c
gas/doc/c-ppc.texi
include/opcode/ChangeLog
include/opcode/ppc.h
opcodes/ChangeLog
opcodes/ppc-dis.c
opcodes/ppc-opc.c

index 55d8ce9d4816062bef3fc1a9ef7f3c3bfea245f2..9624577fc3068d91a15e98259e1954744c9cb2c4 100644 (file)
@@ -1,3 +1,7 @@
+2005-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * doc/binutils.texi (objdump): Document -M e300.
+
 2005-08-14  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * readelf.c (slurp_hppa_unwind_table): Fix entry size on hppa64-hpux.
index 6222418b535ed55843592c6f6d06af1950cbf8ad..339c33c08da782ad446b704acdfd3cdf24c515e3 100644 (file)
@@ -1745,7 +1745,8 @@ suffix could be inferred by the operands.
 
 For PPC, @option{booke}, @option{booke32} and @option{booke64} select
 disassembly of BookE instructions.  @option{32} and @option{64} select
-PowerPC and PowerPC64 disassembly, respectively.
+PowerPC and PowerPC64 disassembly, respectively.  @option{e300} selects
+disassembly for the e300 family.
 
 For MIPS, this option controls the printing of instruction mneumonic
 names and register names in disassembled instructions.  Multiple
index fa0b749a32a0fdd3c545752f0dcce24f985beb31..f6ca310d8d9bd0bac444ca4897df7ca17b1b4784 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * config/tc-ppc.c (parse_cpu): Add -me300 support.
+       (md_show_usage): Likewise.
+       * doc/c-ppc.texi (PowerPC-Opts): Document it.
+
 2005-08-12 Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * config/tc-s390.c (md_parse_option):  Add cpu type z9-109.
index cea7f218b49ae7559582d388863764e8ee8e1495..e0031c6dced4efed21d7dc66bed7c22f859fa1c1 100644 (file)
@@ -858,6 +858,9 @@ parse_cpu (const char *arg)
           || strcmp (arg, "7455") == 0)
     ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC
               | PPC_OPCODE_ALTIVEC | PPC_OPCODE_32);
+  else if (strcmp (arg, "e300") == 0)
+    ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_32
+              | PPC_OPCODE_E300);
   else if (strcmp (arg, "altivec") == 0)
     {
       if (ppc_cpu == 0)
@@ -1111,6 +1114,7 @@ PowerPC options:\n\
 -many                  generate code for any architecture (PWR/PWRX/PPC)\n"));
   fprintf (stream, _("\
 -maltivec              generate code for AltiVec\n\
+-me300                 generate code for PowerPC e300 family\n\
 -me500, -me500x2       generate code for Motorola e500 core complex\n\
 -mspe                  generate code for Motorola SPE instructions\n\
 -mregnames             Allow symbolic names for registers\n\
index 63498e9b3ce6333a43e9b36616b60307e22c5077..4c9c096c055e828ab8187bc698643d93fa6b43ec 100644 (file)
@@ -1,4 +1,4 @@
-@c Copyright 2001, 2002, 2003
+@c Copyright 2001, 2002, 2003, 2005
 @c Free Software Foundation, Inc.
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
@@ -67,6 +67,9 @@ Generate code for 64-bit BookE.
 @item -mbooke, mbooke32
 Generate code for 32-bit BookE.
 
+@item -me300
+Generate code for PowerPC e300 family.
+
 @item -maltivec
 Generate code for processors with AltiVec instructions.
 
index 88c2c829bedcd3f3067c8a510c4a5991eb8f2458..0ebc464b583a298f9f9aed90b88d76baf8ebeb8a 100644 (file)
@@ -1,3 +1,7 @@
+2005-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * ppc.h (PPC_OPCODE_E300): Define.
+
 2005-08-12 Martin Schwidefsky  <schwidefsky@de.ibm.com>
 
        * s390.h (s390_opcode_cpu_val): Add enum for cpu type z9-109.
index 851b8bbab8245b9a6306bb3bd0fe8ff95122d2a1..f66263086165bd7f0735b578d5e928db71998e14 100644 (file)
@@ -1,5 +1,5 @@
 /* ppc.h -- Header file for PowerPC opcode table
-   Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004
+   Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
@@ -137,6 +137,9 @@ extern const int powerpc_num_opcodes;
 /* Opcode is only supported by Power5 architecture.  */
 #define PPC_OPCODE_POWER5          0x1000000
 
+/* Opcode is supported by PowerPC e300 family.  */
+#define PPC_OPCODE_E300           0x2000000
+
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
 \f
index 2426ecb98acde12e8867e8f58ce8c5268f139f92..951f0c39c1bf9610f6e61d6c0eb67a06392da611 100644 (file)
@@ -1,3 +1,10 @@
+2005-08-15  Daniel Jacobowitz  <dan@codesourcery.com>
+
+       * ppc-dis.c (powerpc_dialect): Handle e300.
+       (print_ppc_disassembler_options): Likewise.
+       * ppc-opc.c (PPCE300): Define.
+       (powerpc_opcodes): Mark icbt as available for the e300.
+
 2005-08-13  John David Anglin  <dave.anglin@nrc-cnrc.gc.ca>
 
        * hppa-dis.c (print_insn_hppa): Don't print '%' before register names.
index 03a008530b49559a15f86d287e17dfa33a116889..19efc142188c9cd4e36e88941671923554dc4d83 100644 (file)
@@ -63,6 +63,9 @@ powerpc_dialect (struct disassemble_info *info)
   else if (info->disassembler_options
           && strstr (info->disassembler_options, "efs") != NULL)
     dialect |= PPC_OPCODE_EFS;
+  else if (info->disassembler_options
+          && strstr (info->disassembler_options, "e300") != NULL)
+    dialect |= PPC_OPCODE_E300 | PPC_OPCODE_CLASSIC | PPC_OPCODE_COMMON;
   else
     dialect |= (PPC_OPCODE_403 | PPC_OPCODE_601 | PPC_OPCODE_CLASSIC
                | PPC_OPCODE_COMMON | PPC_OPCODE_ALTIVEC);
@@ -303,6 +306,7 @@ The following PPC specific disassembler options are supported for use with\n\
 the -M switch:\n");
 
   fprintf (stream, "  booke|booke32|booke64    Disassemble the BookE instructions\n");
+  fprintf (stream, "  e300                     Disassemble the e300 instructions\n");
   fprintf (stream, "  e500|e500x2              Disassemble the e500 instructions\n");
   fprintf (stream, "  efs                      Disassemble the EFS instructions\n");
   fprintf (stream, "  power4                   Disassemble the Power4 instructions\n");
index 910730ae1710e84867e9189b11b46b7c21889551..8e7c1347046d36eb969f7819bdd088aa9e8de5a8 100644 (file)
@@ -1844,6 +1844,7 @@ extract_tbr (unsigned long insn,
 #define BOOKE  PPC_OPCODE_BOOKE
 #define BOOKE64        PPC_OPCODE_BOOKE64
 #define CLASSIC        PPC_OPCODE_CLASSIC
+#define PPCE300 PPC_OPCODE_E300
 #define PPCSPE PPC_OPCODE_SPE
 #define PPCISEL        PPC_OPCODE_ISEL
 #define PPCEFS PPC_OPCODE_EFS
@@ -3327,7 +3328,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
 
 { "ldx",     X(31,21), X_MASK,         PPC64,          { RT, RA0, RB } },
 
-{ "icbt",    X(31,22), X_MASK,         BOOKE,          { CT, RA, RB } },
+{ "icbt",    X(31,22), X_MASK,         BOOKE|PPCE300,  { CT, RA, RB } },
 { "icbt",    X(31,262),        XRT_MASK,       PPC403,         { RA, RB } },
 
 { "lwzx",    X(31,23), X_MASK,         PPCCOM,         { RT, RA0, RB } },