Mem_export opcode for r7xx

Discussion created by sgratton on Feb 4, 2011
Latest reply on Feb 14, 2011 by MicahVillmow
r700-family ISA guide (rev 1.0) inconsistency


Hi there,


While trying to understand the CALImage binary format, I came across the following issue whilst looking at a MEM_EXPORT_WRITE for a 4870; page 9-25 says the instruction field should be CF_INST_MEM_EXPORT, opcode 58 (0x3a) whereas p 10-12 in the microcode description for the appropriate dword suggests the opcode should be 41 for the same instruction, and only in fact describes there being opcodes from 32-41 inclusive.


Looking inside the image with calImageWrite(), it actually has opcode 58 inside it.


Now apparently calclAssembleObject() never worked for 4870 class hardware; if it was converting text into opcode from the microcode format table all exports would have had 41 rather than 58 -- this could be the bug !


Note that the opcodes and indeed the microcode formats change slightly from generation to generation; I had to find an old r700isa.pdf to be able to look into this.  As the APP SDK does support older hardware too perhaps these older documents should still be listed on the documention page?

Best wishes,