This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Documentation suggestion for C6600 Ref Guide (sprugh7.pdf)

I found the syntax for the DCMPY instruction to be a little confusing. I think it's due to an inconsistency in the documentation.

Let me explain by contrasting it with the CMPY instruction. Here are the descriptions of each:

CMPY  (.unit) src1, src2, dst_o:dst_e

DCMPY (.unit) src1, src2, dst

The DCMPY operand type description only seems to add to the confusion:

src1 = dwop1
src2 = xdwop2
dst  = dwdst

From my reading of the syntax (on pages 3-2, 3-3), this seems to indicate that both the operands are 64-bit register pairs, although I think this is incorrect. Shouldn't the destination be a 128-bit register quad?

While it may seem obvious when you know how the instructions work, it's confusing when you're first trying to examine/learn the instructions. Based on the single example shown in the instruction description, I'm guessing that a consistent syntax for  DCMPY would be:

DCMPY (.unit) src1_o:src1_e, src2_o:src2_e, dst_3:dst_2:dst_1:dst_0

Can someone confirm the instruction description is misleading; and if so, mark it for correction?

Thanks,
Scott

 

  • Scott,

    Yes that is an error in the document.
    DCMPY outputs quad registers.

    It needs to be
    src1,src2,dst dwop1,xdwop2,qwdst .M1 or .M2

    Similar typo exists in DCCMPY instruction. It also outputs quad registers.

    BTW the example has the correct formats.

     

    A request for documentation fix has been entered.

    Regards,

    Travis