Subject: Re: noreorder
To: Toru Nishimura <nisimura@itc.aist-nara.ac.jp>
From: Simon Burge <simonb@netbsd.org>
List: port-mips
Date: 04/03/2000 22:43:00
Toru Nishimura 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"?

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.  Looking at "See MIPS Run", perhaps we could
use ".set volatile" and ".set novolatile" in places where where just the
order of loads and stores is important.

Is this what you meant?

Simon.