1 Star 0 Fork 59

wangding16/binutils

forked from src-openEuler/binutils 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
PPC-gas-supported-c2000.patch 28.45 KB
一键复制 编辑 原始数据 按行查看 历史
eastb233 提交于 2024-02-27 10:32 . [Update] Update binutils 2.41
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921
From efa66fcdad9c88db3244ec12e1a64db553a9484c Mon Sep 17 00:00:00 2001
From: chenyuanfeng <yuanfeng.chen@shingroup.cn>
Date: Tue, 27 Feb 2024 09:53:29 +0800
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 +
gas/po/gas.pot | 233 +++++++++++++++++++------------------
include/opcode/ppc.h | 7 ++
opcodes/ppc-dis.c | 21 ++--
opcodes/ppc-opc.c | 2 +-
11 files changed, 181 insertions(+), 127 deletions(-)
create mode 100644 binutils/ChangeLog-2024
diff --git a/binutils/ChangeLog-2024 b/binutils/ChangeLog-2024
new file mode 100644
index 00000000..db429887
--- /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
index c9446db8..0fea501d 100644
--- a/binutils/doc/binutils.info
+++ b/binutils/doc/binutils.info
@@ -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’
modify the default or a prior CPU selection, disabling and enabling
64-bit insns respectively. In addition, ‘altivec’, ‘any’, ‘lsp’,
‘htm’, ‘vsx’, ‘spe’ and ‘spe2’ add capabilities to a previous _or
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 8314cb57..e94ec504 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -2655,7 +2655,7 @@ rather than @code{li}. All of the @option{-m} arguments for
@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
index a8b034c8..d99a6091 100644
--- 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
index ce2dc91c..ef56d9a0 100644
--- 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]
@@ -18702,6 +18702,9 @@ architecture reference manual.
‘-mfuture’
Generate code for ’future’ architecture.
+‘-mc2000’
+ Generate code for Hexin C2000 architecture.
+
‘-mcell’
‘-mcell’
Generate code for Cell Broadband Engine architecture.
diff --git a/gas/doc/as.texi b/gas/doc/as.texi
index 4959c2f6..02cd9058 100644
--- 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
index bf47483b..36aa5fd7 100644
--- 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"
-"POT-Creation-Date: 2023-07-30 14:35+0100\n"
+"POT-Creation-Date: 2024-02-27 09:52+0800\n"
"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 ""
#: 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
#: config/tc-v850.c:2653 config/tc-v850.c:2690 config/tc-v850.c:2727
#: config/tc-v850.c:2991
@@ -655,7 +656,7 @@ msgid "too many fixups"
msgstr ""
#: 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
msgid "illegal operand"
@@ -664,7 +665,7 @@ msgstr ""
#: cgen.c:397 config/tc-avr.c:910 config/tc-d10v.c:463 config/tc-d30v.c:452
#: config/tc-h8300.c:493 config/tc-mcore.c:662 config/tc-microblaze.c:613
#: 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
#: config/tc-sh.c:988 config/tc-v850.c:2648 config/tc-v850.c:2682
#: 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
@@ -688,7 +689,7 @@ msgstr ""
msgid "expression too complex"
msgstr ""
-#: 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
#: config/tc-xstormy16.c:541
msgid "unresolved expression that must be resolved"
msgstr ""
@@ -2689,7 +2690,7 @@ msgid "sequence number in use for !tlsgd!%ld"
msgstr ""
#: config/tc-alpha.c:1994 config/tc-arc.c:2869 config/tc-mn10200.c:847
-#: 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 ""
@@ -2706,7 +2707,7 @@ msgstr ""
msgid "can not resolve expression"
msgstr ""
-#: 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
#, c-format
msgid ".COMMon length (%ld.) <0! Ignored."
msgstr ""
@@ -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
-#: 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
#: 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 ""
#. 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
-#: 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
#, c-format
@@ -8716,8 +8717,8 @@ msgstr ""
#: config/tc-i386.c:7529
#, c-format
msgid ""
-"no instruction mnemonic suffix given and no register operands; can't size `%"
-"s'"
+"no instruction mnemonic suffix given and no register operands; can't size "
+"`%s'"
msgstr ""
#: config/tc-i386.c:7534
@@ -10849,8 +10850,8 @@ msgstr ""
msgid ".SCOMMon length (%ld.) <0! Ignored."
msgstr ""
-#: config/tc-m32r.c:1514 config/tc-microblaze.c:218 config/tc-ppc.c:2419
-#: config/tc-ppc.c:4358 config/tc-ppc.c:4413
+#: config/tc-m32r.c:1514 config/tc-microblaze.c:218 config/tc-ppc.c:2421
+#: config/tc-ppc.c:4360 config/tc-ppc.c:4415
msgid "ignoring bad alignment"
msgstr ""
@@ -11696,7 +11697,7 @@ msgid_plural "%s relocations do not fit in %u bytes"
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 ""
@@ -11737,11 +11738,10 @@ msgstr ""
msgid "base register expected"
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 ""
@@ -13767,7 +13767,7 @@ msgid "Unrecognized opcode: `%s'"
msgstr ""
#. xgettext:c-format.
-#: 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
#, c-format
msgid "junk at end of line: `%s'"
@@ -15226,7 +15226,7 @@ msgstr ""
msgid "pcrel too far"
msgstr ""
-#: 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
msgid "invalid register expression"
msgstr ""
@@ -15494,414 +15494,419 @@ msgstr ""
#: 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 ""
-#: 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
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 ""
-#: config/tc-ppc.c:3695
+#: config/tc-ppc.c:3697
#, c-format
msgid "@tls may not be used with \"%s\" operands"
msgstr ""
-#: config/tc-ppc.c:3698
+#: config/tc-ppc.c:3700
msgid "@tls may only be used in last operand"
msgstr ""
-#: 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
#, c-format
msgid "%s unsupported on this instruction"
msgstr ""
-#: config/tc-ppc.c:3818
+#: config/tc-ppc.c:3820
#, c-format
msgid "assuming %s on symbol"
msgstr ""
-#: config/tc-ppc.c:3941
+#: config/tc-ppc.c:3943
msgid "unsupported relocation for DS offset field"
msgstr ""
-#: config/tc-ppc.c:3994
+#: config/tc-ppc.c:3996
#, c-format
msgid "syntax error; found `%c', expected `%c'"
msgstr ""
-#: config/tc-ppc.c:3999
+#: config/tc-ppc.c:4001
#, c-format
msgid "syntax error; end of line, expected `%c'"
msgstr ""
-#: config/tc-ppc.c:4064 config/tc-ppc.c:6865
+#: config/tc-ppc.c:4066 config/tc-ppc.c:6867
#, c-format
msgid "instruction address is not a multiple of %d"
msgstr ""
-#: config/tc-ppc.c:4183
+#: config/tc-ppc.c:4185
msgid "bad .section directive: want a,e,v,w,x,M,S,G,T in string"
msgstr ""
-#: config/tc-ppc.c:4333
+#: config/tc-ppc.c:4335
msgid "missing size"
msgstr ""
-#: config/tc-ppc.c:4342
+#: config/tc-ppc.c:4344
msgid "negative size"
msgstr ""
-#: config/tc-ppc.c:4369
+#: config/tc-ppc.c:4371
msgid "Unknown visibility field in .comm"
msgstr ""
-#: config/tc-ppc.c:4387
+#: config/tc-ppc.c:4389
msgid "missing real symbol name"
msgstr ""
-#: config/tc-ppc.c:4426
+#: config/tc-ppc.c:4428
msgid "attempt to redefine symbol"
msgstr ""
-#: config/tc-ppc.c:4735
+#: config/tc-ppc.c:4737
#, c-format
msgid "no known dwarf XCOFF section for flag 0x%08x\n"
msgstr ""
-#: config/tc-ppc.c:4748
+#: config/tc-ppc.c:4750
#, c-format
msgid "label %s was not defined in this dwarf section"
msgstr ""
-#: config/tc-ppc.c:4862
+#: config/tc-ppc.c:4864
msgid "the XCOFF file format does not support arbitrary sections"
msgstr ""
-#: config/tc-ppc.c:4900
+#: config/tc-ppc.c:4902
msgid "Unknown visibility field in .extern"
msgstr ""
-#: config/tc-ppc.c:4937
+#: config/tc-ppc.c:4939
msgid "Unknown visibility field in .globl"
msgstr ""
-#: config/tc-ppc.c:4974
+#: config/tc-ppc.c:4976
msgid "Unknown visibility field in .weak"
msgstr ""
-#: config/tc-ppc.c:5025
+#: config/tc-ppc.c:5027
msgid ".ref outside .csect"
msgstr ""
-#: config/tc-ppc.c:5046 config/tc-ppc.c:5306
+#: config/tc-ppc.c:5048 config/tc-ppc.c:5308
msgid "missing symbol name"
msgstr ""
-#: config/tc-ppc.c:5076
+#: config/tc-ppc.c:5078
msgid "missing rename string"
msgstr ""
-#: config/tc-ppc.c:5106 config/tc-ppc.c:5708
+#: config/tc-ppc.c:5108 config/tc-ppc.c:5710
msgid "missing value"
msgstr ""
-#: config/tc-ppc.c:5124
+#: config/tc-ppc.c:5126
msgid "illegal .stabx expression; zero assumed"
msgstr ""
-#: config/tc-ppc.c:5156
+#: config/tc-ppc.c:5158
msgid "missing class"
msgstr ""
-#: config/tc-ppc.c:5165
+#: config/tc-ppc.c:5167
msgid "missing type"
msgstr ""
-#: config/tc-ppc.c:5192
+#: config/tc-ppc.c:5194
msgid ".stabx of storage class stsym must be within .bs/.es"
msgstr ""
-#: config/tc-ppc.c:5496
+#: config/tc-ppc.c:5498
msgid "nested .bs blocks"
msgstr ""
-#: config/tc-ppc.c:5527
+#: config/tc-ppc.c:5529
msgid ".es without preceding .bs"
msgstr ""
-#: config/tc-ppc.c:5700
+#: config/tc-ppc.c:5702
msgid "non-constant byte count"
msgstr ""
-#: config/tc-ppc.c:5775
+#: config/tc-ppc.c:5777
msgid ".tc not in .toc section"
msgstr ""
-#: config/tc-ppc.c:5793
+#: config/tc-ppc.c:5795
msgid ".tc with no label"
msgstr ""
-#: config/tc-ppc.c:5821
+#: config/tc-ppc.c:5823
#, c-format
msgid ".tc with storage class %d not yet supported"
msgstr ""
-#: config/tc-ppc.c:5890 config/tc-s390.c:1967
+#: config/tc-ppc.c:5892 config/tc-s390.c:1967
msgid ".machine stack overflow"
msgstr ""
-#: config/tc-ppc.c:5897 config/tc-s390.c:1978
+#: config/tc-ppc.c:5899 config/tc-s390.c:1978
msgid ".machine stack underflow"
msgstr ""
-#: config/tc-ppc.c:5939 config/tc-s390.c:1990
+#: config/tc-ppc.c:5941 config/tc-s390.c:1990
#, c-format
msgid "invalid machine `%s'"
msgstr ""
-#: config/tc-ppc.c:5983
+#: config/tc-ppc.c:5985
msgid "bad symbol suffix"
msgstr ""
-#: config/tc-ppc.c:6082
+#: config/tc-ppc.c:6084
msgid "unrecognized symbol suffix"
msgstr ""
-#: config/tc-ppc.c:6170
+#: config/tc-ppc.c:6172
msgid ".ef with no preceding .function"
msgstr ""
-#: config/tc-ppc.c:6309
+#: config/tc-ppc.c:6311
#, c-format
msgid "warning: symbol %s has no csect"
msgstr ""
-#: config/tc-ppc.c:6641
+#: config/tc-ppc.c:6643
msgid "symbol in .toc does not match any .tc"
msgstr ""
-#: config/tc-ppc.c:7393
+#: config/tc-ppc.c:7395
#, c-format
msgid "%s unsupported as instruction fixup"
msgstr ""
-#: config/tc-ppc.c:7492
+#: config/tc-ppc.c:7494
#, c-format
msgid "unsupported relocation against %s"
msgstr ""
-#: config/tc-ppc.c:7654
+#: config/tc-ppc.c:7656
#, c-format
msgid "R_TLSML relocation doesn't target a TOC entry named \"_$TLSML\": %s"
msgstr ""
-#: config/tc-ppc.c:7674
+#: config/tc-ppc.c:7676
#, 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
--
2.33.0
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/wangding16/binutils.git
git@gitee.com:wangding16/binutils.git
wangding16
binutils
binutils
master

搜索帮助