Projects
openEuler:24.03:SP1:Everything
binutils
_service:tar_scm:PPC-gas-supported-c2000.patch
Sign Up
Log In
Username
Password
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File _service:tar_scm:PPC-gas-supported-c2000.patch of Package binutils
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
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.
浙ICP备2022010568号-2