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