include/opcode/

* 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.
This commit is contained in:
Alan Modra 2006-06-07 05:23:59 +00:00
parent 02a38f9286
commit 9622b051cf
7 changed files with 50 additions and 7 deletions

View 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>

View 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;

View 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.

View 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.

View 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)

View 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>

View 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
@ -73,6 +73,10 @@ powerpc_dialect (struct disassemble_info *info)
&& strstr (info->disassembler_options, "power5") != NULL)
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");
}