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


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.

Richard


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