This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] i386-dis: fix decoding of reserved "prefetch" encodings


On Tue, Aug 7, 2012 at 10:34 AM, H.J. Lu <hjl.tools@gmail.com> wrote:
> Those are marked as NOPs in AMD manual and reserved in Intel
> manual.  I don't like "prefetch(bad)".  I can live with "nop/reserved".

Can you cite the manuals you are looking at?

I'm looking at http://support.amd.com/us/Processor_TechDocs/24594_APM_v3.pdf
on page 254:
	The reserved PREFETCH types do not result in an invalid-opcode
	exception if executed.  Instead, for forward compatibility with
	future processors that may implement additional forms of the
	PREFETCH instruction, all reserved PREFETCH types are implemented
	as synonyms of the basic PREFETCH type (the PREFETCH instruction
	with type 000b).
That says they are prefetch, not nop.  That's for the 0f 0d set.

For 0f 18, the same AMD manual's Table A-7 (page 430, in the "Group 16"
row) says "NOP[4]" for these excess encodings but the footnote is:
	4. Reserved prefetch encodings are aliases to the /0 encoding
	   (PREFETCH Exclusive) for future compatibility.
So these Intel reserved opcodes are in fact also prefetch on AMD, not nop,
despite the appearance of "NOP" in the table grid.

So it seems to me the mnemonic ought to have "prefetch" in it somewhere.
How about "prefetch/reserved"?


Thanks,
Roland


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]