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