Subject: Re: noreorder
To: None <port-mips@NetBSD.ORG>
From: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
List: port-mips
Date: 04/03/2000 22:04:52
Simon Burge wrote;

>> Could someone MIPS knowledgeful out there provide me the handy rule of
>> thumb to use ".set noreorder" for the purpose of protecting
>> instruction sequencing? 
>
> Do you mean "when to use it", or "what does it do"?

"When to use it."  Various locore stuff in arch/mips/mips looks over-
protected by noreorder directive.  That was my initial concern.

> Normally the assembler is free to reorder instructions so that it can
> avoid pipeline delays and fill the load/store/branch delay slot.  ".set
> noreorder" is typically used for accessing system and device type
> registers in a set order.

Mach code suggests the designer(s) used noreorder conservatively.  I'm
not sure it does matter for behaviour difference between GCC and MIPS
u-code based compiler.

Tohru Nishimura