http://sourceware.org/bugzilla/show_bug.cgi?id=15082
Bug #: 15082
Summary: tic6x - incorrect decoding of MPYDP instruction with
xpath bit set
Product: binutils
Version: 2.23
Status: NEW
Severity: normal
Priority: P2
Component: binutils
AssignedTo: [email protected]
ReportedBy: [email protected]
Classification: Unclassified
Created attachment 6835
--> http://sourceware.org/bugzilla/attachment.cgi?id=6835
Patch that fixes mpydp decoding with x-path bit set
MPYDP instruction opcode doesn't seem to have any restriction on the value of
the x bit the opcode and it should be valid for the instruction to be able to
use the cross-path (see SPRUFE8B.pdf p.318).
Hence instruction of the form
mpydp .M2X b1:b0,a1:a0,b1:b0
should also be valid but current implementation forbids the use of cross path
for the src2 operand.
Proposed patch :
- modify gas test-case for mpydp instruction to accept it as a valid
instruction
- rename mpydp's specific operand type from ORREGD1324 to ORXREGD1324
- and use tic6x_operand_xregpair for ORXREGD1324 operand type so that operand
register can use cross-path.
- remove the FIX 'x' (x-path) opcode field in FIXed fields list
- remove the TIC6X_FLAG_NO_CROSS
This has been verified by looking at disassembled working code, didn't
cross-checked with Ti SDK though...
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.
_______________________________________________
bug-binutils mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/bug-binutils