binutils/PPC-gas-supported-c2000.patch

922 lines
28 KiB
Diff
Raw Normal View History

2024-02-27 10:32:09 +08:00
From efa66fcdad9c88db3244ec12e1a64db553a9484c Mon Sep 17 00:00:00 2001
2024-01-04 20:54:54 -05:00
From: chenyuanfeng <yuanfeng.chen@shingroup.cn>
2024-02-27 10:32:09 +08:00
Date: Tue, 27 Feb 2024 09:53:29 +0800
2024-01-04 20:54:54 -05:00
Subject: [PATCH] PPC-gas-supported-c2000
---
binutils/ChangeLog-2024 | 29 +++++
binutils/doc/binutils.info | 2 +-
binutils/doc/binutils.texi | 2 +-
gas/config/tc-ppc.c | 2 +
gas/doc/as.info | 5 +-
gas/doc/as.texi | 2 +-
gas/doc/c-ppc.texi | 3 +
2024-02-27 10:32:09 +08:00
gas/po/gas.pot | 233 +++++++++++++++++++------------------
2024-01-04 20:54:54 -05:00
include/opcode/ppc.h | 7 ++
opcodes/ppc-dis.c | 21 ++--
opcodes/ppc-opc.c | 2 +-
2024-02-27 10:32:09 +08:00
11 files changed, 181 insertions(+), 127 deletions(-)
2024-01-04 20:54:54 -05:00
create mode 100644 binutils/ChangeLog-2024
diff --git a/binutils/ChangeLog-2024 b/binutils/ChangeLog-2024
new file mode 100644
2024-02-27 10:32:09 +08:00
index 00000000..db429887
2024-01-04 20:54:54 -05:00
--- /dev/null
+++ b/binutils/ChangeLog-2024
@@ -0,0 +1,29 @@
+2024-01-03 YuanFeng Chen <yuanfeng.chen@shingroup.cn>
+
+ * config/tc-ppc.c (md_show_usage): Add -mc2000 options.
+ * ppc.h : (PPC_OPCODE_HTM): Define.
+ (PPC_OPCODE_C2000): Likewise.
+ * ppc-dis.c (PPCHTM): Define as PPC_OPCODE_HTM.
+ (ppc_opts): Add "c2000" entry.
+ (ppc_opts): "power8","power9","power10", "libresoc", "future" entries add PPC_OPCODE_HTM flag.
+ * ppc-opc.c : PPCHTM defined as PPC_OPCODE_HTM instead of PPC_OPCODE_POWER8.
+ * doc/binutils.texi (PowerPC -M option): Mention c2000.
+ * doc/as.texi (Target PowerPC optins): Mention c2000.
+ * doc/c-ppc.texi (PowerPC-Opts): Document "-mc2000".
+ * po/gas.pot: Regenerate.
+
+
+For older changes see ChangeLog-2020
+
+Copyright (C) 2024 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.
+
+Local Variables:
+mode: change-log
+left-margin: 8
+fill-column: 74
+version-control: never
+End:
\ No newline at end of file
diff --git a/binutils/doc/binutils.info b/binutils/doc/binutils.info
2024-02-27 10:32:09 +08:00
index c9446db8..0fea501d 100644
2024-01-04 20:54:54 -05:00
--- a/binutils/doc/binutils.info
+++ b/binutils/doc/binutils.info
2024-02-27 10:32:09 +08:00
@@ -2343,7 +2343,7 @@ given.
efs, power4, power5, power6, power7, power8, power9,
power10, ppc, ppc32, ppc64, ppc64bridge, ppcps, pwr,
pwr2, pwr4, pwr5, pwr5x, pwr6, pwr7, pwr8, pwr9,
- pwr10, pwrx, titan, vle, and future. 32 and 64
+ pwr10, pwrx, titan, c2000, vle, and future. 32 and 64
2024-01-04 20:54:54 -05:00
modify the default or a prior CPU selection, disabling and enabling
2024-02-27 10:32:09 +08:00
64-bit insns respectively. In addition, altivec, any, lsp,
htm, vsx, spe and spe2 add capabilities to a previous _or
2024-01-04 20:54:54 -05:00
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
2024-02-27 10:32:09 +08:00
index 8314cb57..e94ec504 100644
2024-01-04 20:54:54 -05:00
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
2024-02-27 10:32:09 +08:00
@@ -2655,7 +2655,7 @@ rather than @code{li}. All of the @option{-m} arguments for
2024-01-04 20:54:54 -05:00
@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{pwrx}, @option{titan}, @option{c2000}, @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
2024-02-27 10:32:09 +08:00
index a8b034c8..d99a6091 100644
2024-01-04 20:54:54 -05:00
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1426,6 +1426,8 @@ PowerPC options:\n"));
fprintf (stream, _("\
-mtitan generate code for AppliedMicro Titan core complex\n"));
fprintf (stream, _("\
+-mc2000 generate code for Hexin C2000 architecture\n"));
+ fprintf (stream, _("\
-mregnames Allow symbolic names for registers\n"));
fprintf (stream, _("\
-mno-regnames Do not allow symbolic names for registers\n"));
diff --git a/gas/doc/as.info b/gas/doc/as.info
2024-02-27 10:32:09 +08:00
index ce2dc91c..ef56d9a0 100644
2024-01-04 20:54:54 -05:00
--- a/gas/doc/as.info
+++ b/gas/doc/as.info
@@ -288,7 +288,7 @@ Command-Line Options: Invoking.
-mbroadway|-mppc64|-m620|-me500|-e500x2|-me500mc|-me500mc64|-me5500|
-me6500|-mppc64bridge|-mbooke|-mpower4|-mpwr4|-mpower5|-mpwr5|-mpwr5x|
-mpower6|-mpwr6|-mpower7|-mpwr7|-mpower8|-mpwr8|-mpower9|-mpwr9-ma2|
- -mcell|-mspe|-mspe2|-mtitan|-me300|-mcom]
+ -mcell|-mspe|-mspe2|-mtitan|-mc2000|-me300|-mcom]
[-many] [-maltivec|-mvsx|-mhtm|-mvle]
[-mregnames|-mno-regnames]
[-mrelocatable|-mrelocatable-lib|-K PIC] [-memb]
2024-02-27 10:32:09 +08:00
@@ -18702,6 +18702,9 @@ architecture reference manual.
-mfuture
Generate code for future architecture.
2024-01-04 20:54:54 -05:00
2024-02-27 10:32:09 +08:00
+-mc2000
2024-01-04 20:54:54 -05:00
+ Generate code for Hexin C2000 architecture.
+
2024-02-27 10:32:09 +08:00
-mcell
-mcell
2024-01-04 20:54:54 -05:00
Generate code for Cell Broadband Engine architecture.
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
2024-02-27 10:32:09 +08:00
index 4959c2f6..02cd9058 100644
2024-01-04 20:54:54 -05:00
--- a/gas/doc/as.texi
+++ b/gas/doc/as.texi
@@ -536,7 +536,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@b{-mbroadway}|@b{-mppc64}|@b{-m620}|@b{-me500}|@b{-e500x2}|@b{-me500mc}|@b{-me500mc64}|@b{-me5500}|
@b{-me6500}|@b{-mppc64bridge}|@b{-mbooke}|@b{-mpower4}|@b{-mpwr4}|@b{-mpower5}|@b{-mpwr5}|@b{-mpwr5x}|
@b{-mpower6}|@b{-mpwr6}|@b{-mpower7}|@b{-mpwr7}|@b{-mpower8}|@b{-mpwr8}|@b{-mpower9}|@b{-mpwr9}@b{-ma2}|
- @b{-mcell}|@b{-mspe}|@b{-mspe2}|@b{-mtitan}|@b{-me300}|@b{-mcom}]
+ @b{-mcell}|@b{-mspe}|@b{-mspe2}|@b{-mtitan}|@b{-mc2000}|@b{-me300}|@b{-mcom}]
[@b{-many}] [@b{-maltivec}|@b{-mvsx}|@b{-mhtm}|@b{-mvle}]
[@b{-mregnames}|@b{-mno-regnames}]
[@b{-mrelocatable}|@b{-mrelocatable-lib}|@b{-K PIC}] [@b{-memb}]
diff --git a/gas/doc/c-ppc.texi b/gas/doc/c-ppc.texi
index f1dc17c6..115b730c 100644
--- a/gas/doc/c-ppc.texi
+++ b/gas/doc/c-ppc.texi
@@ -159,6 +159,9 @@ Generate code for Power10 architecture.
@item -mfuture
Generate code for 'future' architecture.
+@item -mc2000
+Generate code for Hexin C2000 architecture.
+
@item -mcell
@item -mcell
Generate code for Cell Broadband Engine architecture.
diff --git a/gas/po/gas.pot b/gas/po/gas.pot
2024-02-27 10:32:09 +08:00
index bf47483b..36aa5fd7 100644
2024-01-04 20:54:54 -05:00
--- a/gas/po/gas.pot
+++ b/gas/po/gas.pot
@@ -8,10 +8,11 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
2024-02-27 10:32:09 +08:00
-"POT-Creation-Date: 2023-07-30 14:35+0100\n"
+"POT-Creation-Date: 2024-02-27 09:52+0800\n"
2024-01-04 20:54:54 -05:00
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -647,7 +648,7 @@ msgstr ""
2024-02-27 10:32:09 +08:00
#: cgen.c:106 config/tc-alpha.c:2097 config/tc-alpha.c:2121
#: config/tc-arc.c:4074 config/tc-arc.c:4147 config/tc-d10v.c:550
#: config/tc-d30v.c:534 config/tc-mn10200.c:1092 config/tc-mn10300.c:1753
-#: config/tc-ppc.c:3959 config/tc-s390.c:1337 config/tc-s390.c:1460
+#: config/tc-ppc.c:3961 config/tc-s390.c:1337 config/tc-s390.c:1460
#: config/tc-s390.c:1594 config/tc-v850.c:2535 config/tc-v850.c:2606
2024-01-04 20:54:54 -05:00
#: config/tc-v850.c:2653 config/tc-v850.c:2690 config/tc-v850.c:2727
2024-02-27 10:32:09 +08:00
#: config/tc-v850.c:2991
2024-01-04 20:54:54 -05:00
@@ -655,7 +656,7 @@ msgid "too many fixups"
msgstr ""
2024-02-27 10:32:09 +08:00
#: cgen.c:371 cgen.c:393 config/tc-d10v.c:461 config/tc-d30v.c:450
-#: config/tc-mn10200.c:1034 config/tc-mn10300.c:1678 config/tc-ppc.c:3481
+#: config/tc-mn10200.c:1034 config/tc-mn10300.c:1678 config/tc-ppc.c:3483
#: config/tc-s390.c:1321 config/tc-v850.c:2644 config/tc-v850.c:2678
#: config/tc-v850.c:2718 config/tc-v850.c:2964 config/tc-z80.c:785
2024-01-04 20:54:54 -05:00
msgid "illegal operand"
@@ -664,7 +665,7 @@ msgstr ""
2024-02-27 10:32:09 +08:00
#: cgen.c:397 config/tc-avr.c:910 config/tc-d10v.c:463 config/tc-d30v.c:452
2024-01-04 20:54:54 -05:00
#: config/tc-h8300.c:493 config/tc-mcore.c:662 config/tc-microblaze.c:613
2024-02-27 10:32:09 +08:00
#: config/tc-mmix.c:495 config/tc-mn10200.c:1037 config/tc-mn10300.c:1681
-#: config/tc-msp430.c:417 config/tc-ppc.c:3483 config/tc-s390.c:1326
+#: config/tc-msp430.c:417 config/tc-ppc.c:3485 config/tc-s390.c:1326
2024-01-04 20:54:54 -05:00
#: config/tc-sh.c:988 config/tc-v850.c:2648 config/tc-v850.c:2682
2024-02-27 10:32:09 +08:00
#: config/tc-v850.c:2722 config/tc-v850.c:2967 config/tc-xgate.c:895
#: config/tc-z80.c:933 config/tc-z8k.c:349
2024-01-04 20:54:54 -05:00
@@ -688,7 +689,7 @@ msgstr ""
msgid "expression too complex"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: cgen.c:961 config/tc-ppc.c:7489 config/tc-s390.c:2376 config/tc-v850.c:3500
+#: cgen.c:961 config/tc-ppc.c:7491 config/tc-s390.c:2376 config/tc-v850.c:3500
2024-01-04 20:54:54 -05:00
#: config/tc-xstormy16.c:541
msgid "unresolved expression that must be resolved"
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -2689,7 +2690,7 @@ msgid "sequence number in use for !tlsgd!%ld"
2024-01-04 20:54:54 -05:00
msgstr ""
2024-02-27 10:32:09 +08:00
#: config/tc-alpha.c:1994 config/tc-arc.c:2869 config/tc-mn10200.c:847
2024-01-04 20:54:54 -05:00
-#: config/tc-mn10300.c:1150 config/tc-ppc.c:2063 config/tc-s390.c:668
+#: config/tc-mn10300.c:1150 config/tc-ppc.c:2065 config/tc-s390.c:668
#: config/tc-tilegx.c:422 config/tc-tilegx.c:472 config/tc-tilepro.c:375
msgid "operand"
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -2706,7 +2707,7 @@ msgstr ""
2024-01-04 20:54:54 -05:00
msgid "can not resolve expression"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-alpha.c:3514 config/tc-microblaze.c:204 config/tc-ppc.c:2405
+#: config/tc-alpha.c:3514 config/tc-microblaze.c:204 config/tc-ppc.c:2407
2024-01-04 20:54:54 -05:00
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -2926,8 +2927,8 @@ msgstr ""
#: config/tc-ia64.c:7463 config/tc-m68k.c:4558 config/tc-m68k.c:4570
#: config/tc-mips.c:3703 config/tc-mips.c:3736 config/tc-mips.c:3762
#: config/tc-nds32.c:3440 config/tc-nios2.c:3624 config/tc-nios2.c:3629
2024-01-04 20:54:54 -05:00
-#: config/tc-nios2.c:3635 config/tc-ns32k.c:1906 config/tc-ppc.c:1743
-#: config/tc-ppc.c:1783 config/tc-pru.c:1568 config/tc-pru.c:1572
+#: config/tc-nios2.c:3635 config/tc-ns32k.c:1906 config/tc-ppc.c:1745
+#: config/tc-ppc.c:1785 config/tc-pru.c:1568 config/tc-pru.c:1572
#: config/tc-s390.c:538 config/tc-s390.c:576 config/tc-sparc.c:961
#: config/tc-sparc.c:993 config/tc-tic30.c:121 config/tc-tic30.c:131
2024-02-27 10:32:09 +08:00
#: config/tc-tic30.c:141 config/tc-tic30.c:151 config/tc-tic4x.c:1220
@@ -3279,8 +3280,8 @@ msgstr ""
#: config/tc-arc.c:4324
#, c-format
msgid ""
-"A jump instruction with long immediate detected at the end of the ZOL label @"
-"%s"
+"A jump instruction with long immediate detected at the end of the ZOL label "
+"@%s"
msgstr ""
#: config/tc-arc.c:4330
@@ -6026,7 +6027,7 @@ msgstr ""
2024-01-04 20:54:54 -05:00
#. xgettext:c-format.
#: config/tc-avr.c:1865 config/tc-bfin.c:824 config/tc-d10v.c:1461
#: config/tc-d30v.c:1768 config/tc-metag.c:7016 config/tc-mn10200.c:772
2024-02-27 10:32:09 +08:00
-#: config/tc-mn10300.c:2178 config/tc-msp430.c:4645 config/tc-ppc.c:7768
+#: config/tc-mn10300.c:2178 config/tc-msp430.c:4645 config/tc-ppc.c:7770
#: config/tc-spu.c:878 config/tc-spu.c:1091 config/tc-v850.c:3365
#: config/tc-z80.c:3878
2024-01-04 20:54:54 -05:00
#, c-format
2024-02-27 10:32:09 +08:00
@@ -8716,8 +8717,8 @@ msgstr ""
#: config/tc-i386.c:7529
2024-01-04 20:54:54 -05:00
#, c-format
msgid ""
-"no instruction mnemonic suffix given and no register operands; can't size `%"
-"s'"
2024-02-27 10:32:09 +08:00
+"no instruction mnemonic suffix given and no register operands; can't size "
+"`%s'"
2024-01-04 20:54:54 -05:00
msgstr ""
2024-02-27 10:32:09 +08:00
#: config/tc-i386.c:7534
@@ -10849,8 +10850,8 @@ msgstr ""
2024-01-04 20:54:54 -05:00
msgid ".SCOMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-m32r.c:1514 config/tc-microblaze.c:218 config/tc-ppc.c:2419
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4358 config/tc-ppc.c:4413
2024-01-04 20:54:54 -05:00
+#: config/tc-m32r.c:1514 config/tc-microblaze.c:218 config/tc-ppc.c:2421
2024-02-27 10:32:09 +08:00
+#: config/tc-ppc.c:4360 config/tc-ppc.c:4415
2024-01-04 20:54:54 -05:00
msgid "ignoring bad alignment"
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -11696,7 +11697,7 @@ msgid_plural "%s relocations do not fit in %u bytes"
2024-01-04 20:54:54 -05:00
msgstr[0] ""
msgstr[1] ""
-#: config/tc-m68k.c:7940 config/tc-ppc.c:2592
+#: config/tc-m68k.c:7940 config/tc-ppc.c:2594
msgid "unknown .gnu_attribute value"
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -11737,11 +11738,10 @@ msgstr ""
msgid "base register expected"
2024-01-04 20:54:54 -05:00
msgstr ""
-#: config/tc-mcore.c:888 config/tc-microblaze.c:948
-#: config/tc-microblaze.c:1084 config/tc-microblaze.c:1118
-#: config/tc-microblaze.c:1573 config/tc-microblaze.c:1641
-#: config/tc-microblaze.c:1716 config/tc-microblaze.c:2137
-#: config/tc-microblaze.c:2186
+#: config/tc-mcore.c:888 config/tc-microblaze.c:948 config/tc-microblaze.c:1084
+#: config/tc-microblaze.c:1118 config/tc-microblaze.c:1573
+#: config/tc-microblaze.c:1641 config/tc-microblaze.c:1716
+#: config/tc-microblaze.c:2137 config/tc-microblaze.c:2186
#, c-format
msgid "unknown opcode \"%s\""
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -13767,7 +13767,7 @@ msgid "Unrecognized opcode: `%s'"
2024-01-04 20:54:54 -05:00
msgstr ""
#. xgettext:c-format.
2024-02-27 10:32:09 +08:00
-#: config/tc-mn10200.c:1133 config/tc-mn10300.c:1822 config/tc-ppc.c:4008
+#: config/tc-mn10200.c:1133 config/tc-mn10300.c:1822 config/tc-ppc.c:4010
#: config/tc-s390.c:1607 config/tc-v850.c:3041
2024-01-04 20:54:54 -05:00
#, c-format
msgid "junk at end of line: `%s'"
2024-02-27 10:32:09 +08:00
@@ -15226,7 +15226,7 @@ msgstr ""
2024-01-04 20:54:54 -05:00
msgid "pcrel too far"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:964 config/tc-ppc.c:972 config/tc-ppc.c:3495
+#: config/tc-ppc.c:964 config/tc-ppc.c:972 config/tc-ppc.c:3497
2024-01-04 20:54:54 -05:00
msgid "invalid register expression"
msgstr ""
2024-02-27 10:32:09 +08:00
@@ -15494,414 +15494,419 @@ msgstr ""
2024-01-04 20:54:54 -05:00
#: config/tc-ppc.c:1428
#, c-format
-msgid "-mregnames Allow symbolic names for registers\n"
+msgid "-mc2000 generate code for Hexin C2000 architecture\n"
msgstr ""
#: config/tc-ppc.c:1430
#, c-format
+msgid "-mregnames Allow symbolic names for registers\n"
+msgstr ""
+
+#: config/tc-ppc.c:1432
+#, c-format
msgid "-mno-regnames Do not allow symbolic names for registers\n"
msgstr ""
-#: config/tc-ppc.c:1433
+#: config/tc-ppc.c:1435
#, c-format
msgid "-mrelocatable support for GCC's -mrelocatble option\n"
msgstr ""
-#: config/tc-ppc.c:1435
+#: config/tc-ppc.c:1437
#, c-format
msgid "-mrelocatable-lib support for GCC's -mrelocatble-lib option\n"
msgstr ""
-#: config/tc-ppc.c:1437
+#: config/tc-ppc.c:1439
#, c-format
msgid "-memb set PPC_EMB bit in ELF flags\n"
msgstr ""
-#: config/tc-ppc.c:1439
+#: config/tc-ppc.c:1441
#, c-format
msgid ""
"-mlittle, -mlittle-endian, -le\n"
" generate code for a little endian machine\n"
msgstr ""
-#: config/tc-ppc.c:1442
+#: config/tc-ppc.c:1444
#, c-format
msgid ""
"-mbig, -mbig-endian, -be\n"
" generate code for a big endian machine\n"
msgstr ""
-#: config/tc-ppc.c:1445
+#: config/tc-ppc.c:1447
#, c-format
msgid "-msolaris generate code for Solaris\n"
msgstr ""
-#: config/tc-ppc.c:1447
+#: config/tc-ppc.c:1449
#, c-format
msgid "-mno-solaris do not generate code for Solaris\n"
msgstr ""
-#: config/tc-ppc.c:1449
+#: config/tc-ppc.c:1451
#, c-format
msgid "-K PIC set EF_PPC_RELOCATABLE_LIB in ELF flags\n"
msgstr ""
-#: config/tc-ppc.c:1451
+#: config/tc-ppc.c:1453
#, c-format
msgid "-V print assembler version number\n"
msgstr ""
-#: config/tc-ppc.c:1453
+#: config/tc-ppc.c:1455
#, c-format
msgid "-Qy, -Qn ignored\n"
msgstr ""
-#: config/tc-ppc.c:1456
+#: config/tc-ppc.c:1458
#, c-format
msgid ""
"-nops=count when aligning, more than COUNT nops uses a branch\n"
msgstr ""
-#: config/tc-ppc.c:1458
+#: config/tc-ppc.c:1460
#, c-format
msgid "-ppc476-workaround warn if emitting data to code sections\n"
msgstr ""
-#: config/tc-ppc.c:1488
+#: config/tc-ppc.c:1490
#, c-format
msgid "unknown default cpu = %s, os = %s"
msgstr ""
-#: config/tc-ppc.c:1574
+#: config/tc-ppc.c:1576
#, c-format
msgid "mask trims opcode bits for %s"
msgstr ""
-#: config/tc-ppc.c:1584
+#: config/tc-ppc.c:1586
#, c-format
msgid "operand index error for %s"
msgstr ""
-#: config/tc-ppc.c:1610
+#: config/tc-ppc.c:1612
#, c-format
msgid "operand %d overlap in %s"
msgstr ""
-#: config/tc-ppc.c:1619
+#: config/tc-ppc.c:1621
#, c-format
msgid "non-optional operand %d follows optional operand in %s"
msgstr ""
-#: config/tc-ppc.c:1685
+#: config/tc-ppc.c:1687
#, c-format
msgid "powerpc_operands[%d].bitm invalid"
msgstr ""
-#: config/tc-ppc.c:1692
+#: config/tc-ppc.c:1694
#, c-format
msgid "powerpc_operands[%d] duplicates powerpc_operands[%d]"
msgstr ""
-#: config/tc-ppc.c:1720 config/tc-ppc.c:1773 config/tc-ppc.c:1815
-#: config/tc-ppc.c:1863
+#: config/tc-ppc.c:1722 config/tc-ppc.c:1775 config/tc-ppc.c:1817
+#: config/tc-ppc.c:1865
#, c-format
msgid "major opcode is not sorted for %s"
msgstr ""
-#: config/tc-ppc.c:1726
+#: config/tc-ppc.c:1728
#, c-format
msgid "%s is enabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1733
+#: config/tc-ppc.c:1735
#, c-format
msgid "%s not disabled by vle flag"
msgstr ""
-#: config/tc-ppc.c:1839
+#: config/tc-ppc.c:1841
#, c-format
msgid "opcode is not sorted for %s"
msgstr ""
-#: config/tc-ppc.c:2257
+#: config/tc-ppc.c:2259
#, c-format
msgid "symbol+offset@%s means symbol@%s+offset"
msgstr ""
-#: config/tc-ppc.c:2277
+#: config/tc-ppc.c:2279
#, c-format
msgid "symbol+offset@%s not supported"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:2356 config/tc-ppc.c:4226 config/tc-ppc.c:7691
+#: config/tc-ppc.c:2358 config/tc-ppc.c:4228 config/tc-ppc.c:7693
2024-01-04 20:54:54 -05:00
msgid "data in executable section"
msgstr ""
-#: config/tc-ppc.c:2397
+#: config/tc-ppc.c:2399
msgid "expected comma after symbol-name: rest of line ignored."
msgstr ""
-#: config/tc-ppc.c:2430
+#: config/tc-ppc.c:2432
#, c-format
msgid "ignoring attempt to re-define symbol `%s'."
msgstr ""
-#: config/tc-ppc.c:2438
+#: config/tc-ppc.c:2440
#, c-format
msgid "length of .lcomm \"%s\" is already %ld. Not changed to %ld."
msgstr ""
-#: config/tc-ppc.c:2456
+#: config/tc-ppc.c:2458
msgid "common alignment not a power of 2"
msgstr ""
-#: config/tc-ppc.c:2498
+#: config/tc-ppc.c:2500
#, c-format
msgid "expected comma after name `%s' in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2508
+#: config/tc-ppc.c:2510
msgid "missing expression in .localentry directive"
msgstr ""
-#: config/tc-ppc.c:2529
+#: config/tc-ppc.c:2531
#, c-format
msgid ".localentry expression for `%s' is not a valid power of 2"
msgstr ""
-#: config/tc-ppc.c:2546
+#: config/tc-ppc.c:2548
#, c-format
msgid ".localentry expression for `%s' does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2561
+#: config/tc-ppc.c:2563
msgid "missing expression in .abiversion directive"
msgstr ""
-#: config/tc-ppc.c:2570
+#: config/tc-ppc.c:2572
msgid ".abiversion expression does not evaluate to a constant"
msgstr ""
-#: config/tc-ppc.c:2650
+#: config/tc-ppc.c:2652
msgid "relocation cannot be done when using -mrelocatable"
msgstr ""
-#: config/tc-ppc.c:2696
+#: config/tc-ppc.c:2698
msgid "TOC section size exceeds 64k"
msgstr ""
-#: config/tc-ppc.c:3256
+#: config/tc-ppc.c:3258
#, c-format
msgid "%s howto doesn't match size/pcrel in gas"
msgstr ""
-#: config/tc-ppc.c:3335
+#: config/tc-ppc.c:3337
#, c-format
msgid "unrecognized opcode: `%s'"
msgstr ""
#. lmw, stmw, lswi, lswx, stswi, stswx
-#: config/tc-ppc.c:3346
+#: config/tc-ppc.c:3348
#, c-format
msgid "`%s' invalid when little-endian"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3695
+#: config/tc-ppc.c:3697
2024-01-04 20:54:54 -05:00
#, c-format
msgid "@tls may not be used with \"%s\" operands"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3698
+#: config/tc-ppc.c:3700
2024-01-04 20:54:54 -05:00
msgid "@tls may only be used in last operand"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3736 config/tc-ppc.c:3746 config/tc-ppc.c:3756
-#: config/tc-ppc.c:3771
+#: config/tc-ppc.c:3738 config/tc-ppc.c:3748 config/tc-ppc.c:3758
+#: config/tc-ppc.c:3773
2024-01-04 20:54:54 -05:00
#, c-format
msgid "%s unsupported on this instruction"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3818
+#: config/tc-ppc.c:3820
2024-01-04 20:54:54 -05:00
#, c-format
msgid "assuming %s on symbol"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3941
+#: config/tc-ppc.c:3943
2024-01-04 20:54:54 -05:00
msgid "unsupported relocation for DS offset field"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3994
+#: config/tc-ppc.c:3996
2024-01-04 20:54:54 -05:00
#, c-format
msgid "syntax error; found `%c', expected `%c'"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:3999
+#: config/tc-ppc.c:4001
2024-01-04 20:54:54 -05:00
#, c-format
msgid "syntax error; end of line, expected `%c'"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4064 config/tc-ppc.c:6865
+#: config/tc-ppc.c:4066 config/tc-ppc.c:6867
2024-01-04 20:54:54 -05:00
#, c-format
msgid "instruction address is not a multiple of %d"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4183
+#: config/tc-ppc.c:4185
2024-01-04 20:54:54 -05:00
msgid "bad .section directive: want a,e,v,w,x,M,S,G,T in string"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4333
+#: config/tc-ppc.c:4335
2024-01-04 20:54:54 -05:00
msgid "missing size"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4342
+#: config/tc-ppc.c:4344
2024-01-04 20:54:54 -05:00
msgid "negative size"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4369
+#: config/tc-ppc.c:4371
2024-01-04 20:54:54 -05:00
msgid "Unknown visibility field in .comm"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4387
+#: config/tc-ppc.c:4389
2024-01-04 20:54:54 -05:00
msgid "missing real symbol name"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4426
+#: config/tc-ppc.c:4428
2024-01-04 20:54:54 -05:00
msgid "attempt to redefine symbol"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4735
+#: config/tc-ppc.c:4737
2024-01-04 20:54:54 -05:00
#, c-format
msgid "no known dwarf XCOFF section for flag 0x%08x\n"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4748
+#: config/tc-ppc.c:4750
2024-01-04 20:54:54 -05:00
#, c-format
msgid "label %s was not defined in this dwarf section"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4862
+#: config/tc-ppc.c:4864
2024-01-04 20:54:54 -05:00
msgid "the XCOFF file format does not support arbitrary sections"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4900
+#: config/tc-ppc.c:4902
2024-01-04 20:54:54 -05:00
msgid "Unknown visibility field in .extern"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4937
+#: config/tc-ppc.c:4939
2024-01-04 20:54:54 -05:00
msgid "Unknown visibility field in .globl"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:4974
+#: config/tc-ppc.c:4976
2024-01-04 20:54:54 -05:00
msgid "Unknown visibility field in .weak"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5025
+#: config/tc-ppc.c:5027
2024-01-04 20:54:54 -05:00
msgid ".ref outside .csect"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5046 config/tc-ppc.c:5306
+#: config/tc-ppc.c:5048 config/tc-ppc.c:5308
2024-01-04 20:54:54 -05:00
msgid "missing symbol name"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5076
+#: config/tc-ppc.c:5078
2024-01-04 20:54:54 -05:00
msgid "missing rename string"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5106 config/tc-ppc.c:5708
+#: config/tc-ppc.c:5108 config/tc-ppc.c:5710
2024-01-04 20:54:54 -05:00
msgid "missing value"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5124
+#: config/tc-ppc.c:5126
2024-01-04 20:54:54 -05:00
msgid "illegal .stabx expression; zero assumed"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5156
+#: config/tc-ppc.c:5158
2024-01-04 20:54:54 -05:00
msgid "missing class"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5165
+#: config/tc-ppc.c:5167
2024-01-04 20:54:54 -05:00
msgid "missing type"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5192
+#: config/tc-ppc.c:5194
2024-01-04 20:54:54 -05:00
msgid ".stabx of storage class stsym must be within .bs/.es"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5496
+#: config/tc-ppc.c:5498
2024-01-04 20:54:54 -05:00
msgid "nested .bs blocks"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5527
+#: config/tc-ppc.c:5529
2024-01-04 20:54:54 -05:00
msgid ".es without preceding .bs"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5700
+#: config/tc-ppc.c:5702
2024-01-04 20:54:54 -05:00
msgid "non-constant byte count"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5775
+#: config/tc-ppc.c:5777
2024-01-04 20:54:54 -05:00
msgid ".tc not in .toc section"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5793
+#: config/tc-ppc.c:5795
2024-01-04 20:54:54 -05:00
msgid ".tc with no label"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5821
+#: config/tc-ppc.c:5823
2024-01-04 20:54:54 -05:00
#, c-format
msgid ".tc with storage class %d not yet supported"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5890 config/tc-s390.c:1967
+#: config/tc-ppc.c:5892 config/tc-s390.c:1967
2024-01-04 20:54:54 -05:00
msgid ".machine stack overflow"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5897 config/tc-s390.c:1978
+#: config/tc-ppc.c:5899 config/tc-s390.c:1978
2024-01-04 20:54:54 -05:00
msgid ".machine stack underflow"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5939 config/tc-s390.c:1990
+#: config/tc-ppc.c:5941 config/tc-s390.c:1990
2024-01-04 20:54:54 -05:00
#, c-format
msgid "invalid machine `%s'"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:5983
+#: config/tc-ppc.c:5985
2024-01-04 20:54:54 -05:00
msgid "bad symbol suffix"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:6082
+#: config/tc-ppc.c:6084
2024-01-04 20:54:54 -05:00
msgid "unrecognized symbol suffix"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:6170
+#: config/tc-ppc.c:6172
2024-01-04 20:54:54 -05:00
msgid ".ef with no preceding .function"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:6309
+#: config/tc-ppc.c:6311
2024-01-04 20:54:54 -05:00
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:6641
+#: config/tc-ppc.c:6643
2024-01-04 20:54:54 -05:00
msgid "symbol in .toc does not match any .tc"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:7393
+#: config/tc-ppc.c:7395
2024-01-04 20:54:54 -05:00
#, c-format
msgid "%s unsupported as instruction fixup"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:7492
+#: config/tc-ppc.c:7494
2024-01-04 20:54:54 -05:00
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:7654
+#: config/tc-ppc.c:7656
2024-01-04 20:54:54 -05:00
#, c-format
msgid "R_TLSML relocation doesn't target a TOC entry named \"_$TLSML\": %s"
msgstr ""
2024-02-27 10:32:09 +08:00
-#: config/tc-ppc.c:7674
+#: config/tc-ppc.c:7676
2024-01-04 20:54:54 -05:00
#, c-format
msgid "Gas failure, reloc value %d\n"
msgstr ""
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index aea7d6c2..f599a8a1 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -245,6 +245,13 @@ extern const unsigned int spe2_num_opcodes;
/* Opcode is only supported by 'future' architecture. */
#define PPC_OPCODE_FUTURE 0x1000000000000ull
+/* Opcode is supported by Hardware Transactional Memory */
+#define PPC_OPCODE_HTM 0x2000000000000ull
+
+/* Opcode is supported by C2000 */
+#define PPC_OPCODE_C2000 0x4000000000000ull
+
+
/* A macro to extract the major opcode from an instruction. */
#define PPC_OP(i) (((i) >> 26) & 0x3f)
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index d97137d8..055dc8f5 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -196,29 +196,34 @@ struct ppc_mopt ppc_opts[] = {
{ "power8", (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_ALTIVEC | PPC_OPCODE_VSX),
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
0 },
{ "power9", (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_ALTIVEC | PPC_OPCODE_VSX),
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
0 },
{ "power10", (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),
+ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
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
- | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64),
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_SVP64 | PPC_OPCODE_HTM),
0 },
{ "future", (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
+ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM
| PPC_OPCODE_FUTURE),
0 },
+ { "c2000", (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_C2000
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX),
+ 0 },
{ "ppc", PPC_OPCODE_PPC,
0 },
{ "ppc32", PPC_OPCODE_PPC,
@@ -255,17 +260,17 @@ struct ppc_mopt ppc_opts[] = {
{ "pwr8", (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_ALTIVEC | PPC_OPCODE_VSX),
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
0 },
{ "pwr9", (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_ALTIVEC | PPC_OPCODE_VSX),
+ | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
0 },
{ "pwr10", (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),
+ | PPC_OPCODE_POWER10 | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX | PPC_OPCODE_HTM),
0 },
{ "pwrx", PPC_OPCODE_POWER | PPC_OPCODE_POWER2,
0 },
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 37f1aeb7..ac92a8f1 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -5007,7 +5007,7 @@ const unsigned int num_powerpc_operands = ARRAY_SIZE (powerpc_operands);
#define E500 PPC_OPCODE_E500
#define E6500 PPC_OPCODE_E6500
#define PPCVLE PPC_OPCODE_VLE
-#define PPCHTM PPC_OPCODE_POWER8
+#define PPCHTM PPC_OPCODE_HTM
#define E200Z4 PPC_OPCODE_E200Z4
#define PPCLSP PPC_OPCODE_LSP
#define SVP64 PPC_OPCODE_SVP64
--
2024-02-27 10:32:09 +08:00
2.33.0
2024-01-04 20:54:54 -05:00