[Top][All Lists]

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

[Bug binutils/15082] New: tic6x - incorrect decoding of MPYDP instructio

From: alexis.deruelle at gmail dot com
Subject: [Bug binutils/15082] New: tic6x - incorrect decoding of MPYDP instruction with xpath bit set
Date: Tue, 29 Jan 2013 19:56:30 +0000


             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: address@hidden
        ReportedBy: address@hidden
    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
 - 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.

reply via email to

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