diff options
author | Peter Bergner <bergner@linux.ibm.com> | 2024-02-09 10:51:30 -0600 |
---|---|---|
committer | Andreas K. Hüttel <dilfridge@gentoo.org> | 2024-02-16 00:50:29 +0100 |
commit | fb7f89b9a2bb958b7d3c9f30b87b3619c66f3b24 (patch) | |
tree | 6acc6af986b147658520530cb3b65bf4a0c16d0c | |
parent | x86-64: Add R_X86_64_CODE_6_GOTTPOFF (diff) | |
download | binutils-gdb-fb7f89b9a2bb958b7d3c9f30b87b3619c66f3b24.tar.gz binutils-gdb-fb7f89b9a2bb958b7d3c9f30b87b3619c66f3b24.tar.bz2 binutils-gdb-fb7f89b9a2bb958b7d3c9f30b87b3619c66f3b24.zip |
PowerPC: Add support for Power11 optionsgentoo/binutils-2.42-3
binutils/
* doc/binutils.texi (PowerPC -M option): Mention power11 and pwr11.
gas/
* config/tc-ppc.c: (md_show_usage): Mention -mpower11 and -mpwr11.
* doc/c-ppc.texi: Likewise.
opcodes/
* ppc-dis.c (ppc_opts): Add "power11" and "pwr11" entries.
(powerpc_init_dialect): Default to "power11".
(cherry picked from commit 4199cf1e152daab0460f08cc7dbd1f727ac3e4cc)
(cherry picked from commit 4f7d1d2d5ec2fa5070dc24503acd2961c5993a71)
-rw-r--r-- | binutils/doc/binutils.texi | 11 | ||||
-rw-r--r-- | gas/config/tc-ppc.c | 2 | ||||
-rw-r--r-- | gas/doc/c-ppc.texi | 3 | ||||
-rw-r--r-- | opcodes/ppc-dis.c | 12 |
4 files changed, 22 insertions, 6 deletions
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi index e0028ee0169..50cc4707e14 100644 --- a/binutils/doc/binutils.texi +++ b/binutils/doc/binutils.texi @@ -2662,11 +2662,12 @@ rather than @code{li}. All of the @option{-m} arguments for @option{e300}, @option{e500}, @option{e500mc}, @option{e500mc64}, @option{e500x2}, @option{e5500}, @option{e6500}, @option{efs}, @option{power4}, @option{power5}, @option{power6}, @option{power7}, -@option{power8}, @option{power9}, @option{power10}, @option{ppc}, -@option{ppc32}, @option{ppc64}, @option{ppc64bridge}, @option{ppcps}, -@option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5}, @option{pwr5x}, -@option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9}, @option{pwr10}, -@option{pwrx}, @option{titan}, @option{vle}, and @option{future}. +@option{power8}, @option{power9}, @option{power10}, @option{power11}, +@option{ppc}, @option{ppc32}, @option{ppc64}, @option{ppc64bridge}, +@option{ppcps}, @option{pwr}, @option{pwr2}, @option{pwr4}, @option{pwr5}, +@option{pwr5x}, @option{pwr6}, @option{pwr7}, @option{pwr8}, @option{pwr9}, +@option{pwr10}, @option{pwr11}, @option{pwrx}, @option{titan}, @option{vle}, +and @option{future}. @option{32} and @option{64} modify the default or a prior CPU selection, disabling and enabling 64-bit insns respectively. In addition, @option{altivec}, @option{any}, @option{lsp}, @option{htm}, diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 2e92d14ca85..8c00d01f6f2 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -1392,6 +1392,8 @@ PowerPC options:\n")); fprintf (stream, _("\ -mpower10, -mpwr10 generate code for Power10 architecture\n")); fprintf (stream, _("\ +-mpower11, -mpwr11 generate code for Power11 architecture\n")); + fprintf (stream, _("\ -mlibresoc generate code for Libre-SOC architecture\n")); fprintf (stream, _("\ -mfuture generate code for 'future' architecture\n")); diff --git a/gas/doc/c-ppc.texi b/gas/doc/c-ppc.texi index 428492f5f10..c8cabdebfef 100644 --- a/gas/doc/c-ppc.texi +++ b/gas/doc/c-ppc.texi @@ -156,6 +156,9 @@ Generate code for Power9 architecture. @item -mpower10, -mpwr10 Generate code for Power10 architecture. +@item -mpower11, -mpwr11 +Generate code for Power11 architecture. + @item -mfuture Generate code for 'future' architecture. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index a71874fa621..573fd3c4103 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -208,6 +208,11 @@ struct ppc_mopt ppc_opts[] = { | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), 0 }, + { "power11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 + | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 + | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), + 0 }, { "libresoc",(PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 @@ -267,6 +272,11 @@ struct ppc_mopt ppc_opts[] = { | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), 0 }, + { "pwr11", (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64 + | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 | PPC_OPCODE_POWER6 + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8 | PPC_OPCODE_POWER9 + | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX), + 0 }, { "pwrx", PPC_OPCODE_POWER | PPC_OPCODE_POWER2, 0 }, { "raw", PPC_OPCODE_PPC, @@ -396,7 +406,7 @@ powerpc_init_dialect (struct disassemble_info *info) break; default: if (info->arch == bfd_arch_powerpc) - dialect = ppc_parse_cpu (dialect, &sticky, "power10") | PPC_OPCODE_ANY; + dialect = ppc_parse_cpu (dialect, &sticky, "power11") | PPC_OPCODE_ANY; else dialect = ppc_parse_cpu (dialect, &sticky, "pwr"); break; |