bug-binutils
[Top][All Lists]
Advanced

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

[Bug binutils/20666] [libopcodes][Aarch64] BFI instruction decoded as ba


From: jiwang at gcc dot gnu.org
Subject: [Bug binutils/20666] [libopcodes][Aarch64] BFI instruction decoded as bad BFC instruction
Date: Tue, 11 Oct 2016 10:37:54 +0000

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

Jiong Wang <jiwang at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |FIXED

--- Comment #3 from Jiong Wang <jiwang at gcc dot gnu.org> ---
Since ARMv8.2-A, we introduced new pseduo instruction "BFC [Wd/Xd], LSB, WIDTH"
as an alias of "BFI [Wd|Xd], [WZR/XZR], LSB, WIDTH".

And if the bit source operand if WZR/XZR, BFC is the preferred disassembly
output.

Now, AArch64 GAS do support "bfc w26, #7, #22", but you need to specify
-march=armv8.2-a (There are discussions for whether we should also support
"BFC" in GAS in pre-8.2 architecture
https://sourceware.org/ml/binutils/2015-12/msg00067.html)

Meanwhile for those "BFI [Wd|Xd], [WZR/XZR], LSB, WIDTH" in pre-8.2 binary, the
latest disassembler will print "BFC" for them.

Thanks for reporting this, I actually noticed the encoding for the new AArch64
BFC pseudo is wrong, fixed by above commit.

-- 
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]