OSDN Git Service

include/opcode/
authoramodra <amodra>
Wed, 7 Jun 2006 05:23:59 +0000 (05:23 +0000)
committeramodra <amodra>
Wed, 7 Jun 2006 05:23:59 +0000 (05:23 +0000)
* ppc.h (PPC_OPCODE_POWER6): Define.
Adjust whitespace.
gas/
* config/tc-ppc.c (parse_cpu): Handle "-mpower6".
(md_show_usage): Document it.
(ppc_setup_opcodes): Test power6 opcode flag bits.
* doc/c-ppc.texi (PowerPC-Opts): Document "-mpower6".
opcodes/
* ppc-dis.c (powerpc_dialect): Handle power6 option.
(print_ppc_disassembler_options): Mention power6.

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

index f608c7b..2690c5b 100644 (file)
@@ -1,3 +1,11 @@
+2006-06-06  Ben Elliston  <bje@au.ibm.com>
+           Anton Blanchard  <anton@samba.org>
+
+       * config/tc-ppc.c (parse_cpu): Handle "-mpower6".
+       (md_show_usage): Document it.
+       (ppc_setup_opcodes): Test power6 opcode flag bits.
+       * doc/c-ppc.texi (PowerPC-Opts): Document "-mpower6".
+
 2006-06-06  Thiemo Seufer  <ths@mips.com>
             Chao-ying Fu  <fu@mips.com>
 
index 3a7552b..8b59f3f 100644 (file)
@@ -1,6 +1,6 @@
 /* tc-ppc.c -- Assemble for the PowerPC or POWER (RS/6000)
    Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003,
-   2004, 2005 Free Software Foundation, Inc.
+   2004, 2005, 2006 Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support.
 
    This file is part of GAS, the GNU Assembler.
@@ -917,6 +917,12 @@ parse_cpu (const char *arg)
                 | PPC_OPCODE_64 | PPC_OPCODE_POWER4
                 | PPC_OPCODE_POWER5);
     }
+  else if (strcmp (arg, "power6") == 0)
+    {
+      ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC
+                | PPC_OPCODE_64 | PPC_OPCODE_POWER4
+                | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6);
+    }
   /* -mcom means assemble for the common intersection between Power
      and PowerPC.  At present, we just allow the union, rather
      than the intersection.  */
@@ -1112,6 +1118,7 @@ PowerPC options:\n\
 -mbooke, mbooke32      generate code for 32-bit PowerPC BookE\n\
 -mpower4               generate code for Power4 architecture\n\
 -mpower5               generate code for Power5 architecture\n\
+-mpower6               generate code for Power6 architecture\n\
 -mcom                  generate code Power/PowerPC common instructions\n\
 -many                  generate code for any architecture (PWR/PWRX/PPC)\n"));
   fprintf (stream, _("\
@@ -1270,7 +1277,10 @@ ppc_setup_opcodes (void)
                  == (ppc_cpu & PPC_OPCODE_POWER4)))
          && ((op->flags & PPC_OPCODE_POWER5) == 0
              || ((op->flags & PPC_OPCODE_POWER5)
-                 == (ppc_cpu & PPC_OPCODE_POWER5))))
+                 == (ppc_cpu & PPC_OPCODE_POWER5)))
+         && ((op->flags & PPC_OPCODE_POWER6) == 0
+             || ((op->flags & PPC_OPCODE_POWER6)
+                 == (ppc_cpu & PPC_OPCODE_POWER6))))
        {
          const char *retval;
 
index 4c9c096..08b2271 100644 (file)
@@ -1,4 +1,4 @@
-@c Copyright 2001, 2002, 2003, 2005
+@c Copyright 2001, 2002, 2003, 2005, 2006
 @c Free Software Foundation, Inc.
 @c This is part of the GAS manual.
 @c For copying conditions, see the file as.texinfo.
@@ -79,6 +79,9 @@ Generate code for Power4 architecture.
 @item -mpower5
 Generate code for Power5 architecture.
 
+@item -mpower6
+Generate code for Power6 architecture.
+
 @item -mcom
 Generate code Power/PowerPC common instructions.
 
index d79816d..ab1793e 100644 (file)
@@ -1,3 +1,9 @@
+2006-06-06  Ben Elliston  <bje@au.ibm.com>
+           Anton Blanchard  <anton@samba.org>
+
+       * ppc.h (PPC_OPCODE_POWER6): Define.
+       Adjust whitespace.
+
 2006-06-05  Thiemo Seufer  <ths@mips.com>
 
        * mips.h: Improve description of MT flags.      
index f662630..fc4d41f 100644 (file)
@@ -1,5 +1,5 @@
 /* ppc.h -- Header file for PowerPC opcode table
-   Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+   Copyright 1994, 1995, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
@@ -135,10 +135,14 @@ extern const int powerpc_num_opcodes;
 #define PPC_OPCODE_RFMCI         0x800000
 
 /* Opcode is only supported by Power5 architecture.  */
-#define PPC_OPCODE_POWER5          0x1000000
+#define PPC_OPCODE_POWER5       0x1000000
 
 /* Opcode is supported by PowerPC e300 family.  */
-#define PPC_OPCODE_E300           0x2000000
+#define PPC_OPCODE_E300          0x2000000
+
+/* Opcode is only supported by Power6 architecture.  */
+#define PPC_OPCODE_POWER6       0x4000000
+
 
 /* A macro to extract the major opcode from an instruction.  */
 #define PPC_OP(i) (((i) >> 26) & 0x3f)
index b167b61..44cf4a4 100644 (file)
@@ -1,3 +1,10 @@
+2006-06-06  Ben Elliston  <bje@au.ibm.com>
+           Anton Blanchard  <anton@samba.org>
+           Peter Bergner  <bergner@vnet.ibm.com>
+
+       * ppc-dis.c (powerpc_dialect): Handle power6 option.
+       (print_ppc_disassembler_options): Mention power6.
+
 2006-06-06  Thiemo Seufer  <ths@mips.com>
             Chao-ying Fu  <fu@mips.com>
 
index 35875d1..8b3996a 100644 (file)
@@ -1,5 +1,5 @@
 /* ppc-dis.c -- Disassemble PowerPC instructions
-   Copyright 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005
+   Copyright 1994, 1995, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    Free Software Foundation, Inc.
    Written by Ian Lance Taylor, Cygnus Support
 
@@ -74,6 +74,10 @@ powerpc_dialect (struct disassemble_info *info)
     dialect |= PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5;
 
   if (info->disassembler_options
+      && strstr (info->disassembler_options, "power6") != NULL)
+    dialect |= PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_ALTIVEC;
+
+  if (info->disassembler_options
       && strstr (info->disassembler_options, "any") != NULL)
     dialect |= PPC_OPCODE_ANY;
 
@@ -306,6 +310,7 @@ the -M switch:\n");
   fprintf (stream, "  efs                      Disassemble the EFS instructions\n");
   fprintf (stream, "  power4                   Disassemble the Power4 instructions\n");
   fprintf (stream, "  power5                   Disassemble the Power5 instructions\n");
+  fprintf (stream, "  power6                   Disassemble the Power6 instructions\n");
   fprintf (stream, "  32                       Do not disassemble 64-bit instructions\n");
   fprintf (stream, "  64                       Allow disassembly of 64-bit instructions\n");
 }