OSDN Git Service

gas/
authorDaniel Jacobowitz <dan@debian.org>
Mon, 15 Aug 2005 15:37:15 +0000 (15:37 +0000)
committerDaniel Jacobowitz <dan@debian.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.

include/opcode/ChangeLog
include/opcode/ppc.h
opcodes/ChangeLog
opcodes/ppc-dis.c
opcodes/ppc-opc.c

index 88c2c82..0ebc464 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 851b8bb..f662630 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 2426ecb..951f0c3 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 03a0085..19efc14 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 910730a..8e7c134 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 } },