This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Coprocessor instruction differencies?

Are there differences between coprocessor instructions and instruction2:s?

I mean:

MCRR vs. MCRR2

MRRC vs. MRRC2

MCR vs. MCR2

MRC vs. MRC2

LDC vs. LDC2

STC vs STC2

I didn't find any differences in the encoding except the condition code, and no differences in the description of the functionality.

If there are no differences, are there any explanations why they are "condition-code-doubled"?

Parents
  • Hello,

    I reviewed the ARM ARM and came to the thought that cond=4'b1111 instructions (i.e. MCRR2, MRRC2, STC2. LDC2. CDP2, MCR2 and MRC2) were currently valid only for the coprocessor 10 and 11.

    Therefore, you would be probably right.

    Another "good" question: why are coprocs 10 and 11 OK with LDC,but not with LDC2, while all other coprocs are

    OK with both? Could it be some future expansion of fp/vector instructions via LDC2 only?

    (I'm talking about LDC and LDC2, but the same applies for all coproc instructions:MRC/MRC2, ...)

    Anyway, strange asymmetry...

    Regarding this, I agree with you. It would be a mystery.

    Best regards,

    Yasuhiko Koumoto.

Reply
  • Hello,

    I reviewed the ARM ARM and came to the thought that cond=4'b1111 instructions (i.e. MCRR2, MRRC2, STC2. LDC2. CDP2, MCR2 and MRC2) were currently valid only for the coprocessor 10 and 11.

    Therefore, you would be probably right.

    Another "good" question: why are coprocs 10 and 11 OK with LDC,but not with LDC2, while all other coprocs are

    OK with both? Could it be some future expansion of fp/vector instructions via LDC2 only?

    (I'm talking about LDC and LDC2, but the same applies for all coproc instructions:MRC/MRC2, ...)

    Anyway, strange asymmetry...

    Regarding this, I agree with you. It would be a mystery.

    Best regards,

    Yasuhiko Koumoto.

Children
No data