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] [MIPS] Implement Errata for 24K and 24KE


Hi Richard,

Richard Sandiford wrote:
Catherine Moore <clm@codesourcery.com> writes:
Richard Sandiford wrote:
Catherine Moore <clm@codesourcery.com> writes:
I've attached a new patch.  It adds the testcases that you asked for
along with the other cleanups.  I had trouble with one section -- this
first example:

	.set	noreorder
1:	eret
	.set	reorder
	b	1b

insns_between is called only when the the history insn is not in a
noreorder block.
Hmm, yeah.  So the current code doesn't behave as I said after all. ;(
Sorry about that.  Serves me right for going on memory.

I still think that what I said is what ought to happen.  I can't see
any reason for the current approach to non-24k hazards, where we insert
nops between A and B iff _A_ is not in a noreorder block.  Why should
A and B be assymetric in that way?
This sounds like a good plan.  Will you let me know when you've
checked in your bit?

OK, there were no objections, so I went ahead and applied it after testing on mipsisa64-elf.

So assuming we can use the patch below, and drop the hunk above
from your patch, the rest looks good. However, the logic is
overly complex:
(code snipped).  I think that you meant for the check on insn2 to be
insn2 != NULL, otherwise this change looks okay to me as well.

I think the original "insn2 == NULL" was right. If insn2 is null, we need to assume the worst, and return 1.

Yep. I think you're right. My part of the patch has been committed as well.

Catherine


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