bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug gas/20641] powerpc: Should not allow three-operand cmp[l][i]


From: cvs-commit at gcc dot gnu.org
Subject: [Bug gas/20641] powerpc: Should not allow three-operand cmp[l][i]
Date: Thu, 29 Sep 2016 06:04:03 +0000

https://sourceware.org/bugzilla/show_bug.cgi?id=20641

--- Comment #5 from cvs-commit at gcc dot gnu.org <cvs-commit at gcc dot 
gnu.org> ---
The master branch has been updated by Alan Modra <address@hidden>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=a5721ba270ddf860e0e5a45bba456214e8eac2be

commit a5721ba270ddf860e0e5a45bba456214e8eac2be
Author: Alan Modra <address@hidden>
Date:   Thu Sep 29 15:12:47 2016 +0930

    Disallow 3-operand cmp[l][i] for ppc64

    cmp[l][o] get an optional L field only when generating 32-bit code.
    dcbf, tlbie and tlbiel keep their optional L field, ditto for R field
    of tbegin.  cmprb, tsr., wlcr[all] and mtsle all change to a
    compulsory L field.

    L field of dcbf and wclr is 2 bits.

        PR 20641
    include/
        * opcode/ppc.h (PPC_OPERAND_OPTIONAL32): Define.
    opcodes/
        * ppc-opc.c (L): Make compulsory.
        (LOPT): New, optional form of L.
        (HTM_R): Define as LOPT.
        (L0, L1): Delete.
        (L32OPT): New, optional for 32-bit L.
        (L2OPT): New, 2-bit L for dcbf.
        (SVC_LEC): Update.
        (L2): Define.
        (insert_l0, extract_l0, insert_l1, extract_l2): Delete.
        (powerpc_opcodes <cmpli, cmpi, cmpl, cmp>): Use L32OPT.
        <dcbf>: Use L2OPT.
        <tlbiel, tlbie>: Use LOPT.
        <wclr, wclrall>: Use L2.
    gas/
        * config/tc-ppc.c (md_assemble): Handle PPC_OPERAND_OPTIONAL32.
        * testsuite/gas/ppc/power8.s: Provide tbegin. operand.
        * testsuite/gas/ppc/power9.d: Update cmprb disassembly.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]