Previous - Up - Next

Appendix B -   SPARC-V9 Instructions

Here follows a list of the SPARC instructions that cannot run out of order. The synchronous column tells if the instructions falls into category 1 or 2. Category 1 means that the instructions can only be executed if all earlier instructions in the instruction tree has been executed. Category 2 means that the instruction can only be executed if it is the only instruction in the tree. For comments see below.

Instruction synchronouscomment
CASA2
CASXA2
DONE2
FLUSH1
FLUSHW2
ILLTRAP21
LD(SB,SH,SW,UB,UH,UW,X)A2
LDDA2
LDDFA2
LDFA2
LDFSR2
LDQFA2
LDSTUBA2
LDXFSR2
MEMBAR2
PREFETCHA2
RDSTICK1
RDTICK1
RETRY2
ST(B,H,W,X)A2
STBAR2
STDA2
Instructionsynchronouscomment
STDFA2
STFA2
STFSR2
STQFA2
STXFSR2
SWAPA2
Tcc21
WRASR23
WRPR24

Comments:

  1. The instruction will cause an exception which makes it synchronous
  2. If the ASI used by the instruction changes mappings in the MMU the instruction will be synchronous of category 2 otherwise it is not synchronous.
  3. Writes to the registers %y, %ccr, %asi, %pc are NOT synchronous.
  4. Writes to the registers %cansave, %canrestore, %otherwin, and %cleanwin are NOT synchronous.

Previous - Up - Next