Fujitsu Fujitsu SPARC64 V manual Call and Link, Implementation-Dependent Instructions

Models: Fujitsu SPARC64 V

1 255
Download 255 pages 53.5 Kb
Page 60
Image 60

A.12 Call and Link

SPARC64 V clears the upper 32 bits of the PC value in r[15] when PSTATE.AM is set (impl. dep. #125). The value written into r[15] is visible to the instruction in the delay slot.

SPARC64 V has a special hardware table, called the return address stack, to predict the return address from a subroutine. Though the return prediction stack achieves better performance in normal cases, there is a special use of the CALL instruction (call.+8) that may have an undesirable effect on the return address stack. In this case, the CALL instruction is used to read the PC contents, not to call a subroutine. In SPARC64 V, the return address of the CALL (PC + 8) is not stored in its return address stack, to avoid a detrimental performance effect. When a ret or retl is executed, the value in the return address stack is used to predict the return address.

A.24 Implementation-Dependent Instructions

Opcode

op3

Operation

 

 

 

IMPDEP1

11 0110

Implementation-Dependent Instruction 1

IMPDEP2

11 0111

Implementation-Dependent Instruction 2

 

 

 

The IMPDEP1 and IMPDEP2 instructions are completely implementation dependent. Implementation-dependent aspects include their operation, the interpretation of bits 29–25 and 18–0 in their encodings, and which (if any) exceptions they may cause.

SPARC64 V uses IMPDEP1 to encode VIS instructions (impl. dep. #106).

SPARC64 V uses IMPDEP2B to encode the Floating-Point Multiply Add/Subtract instructions (impl. dep. #106). See Section A.24.1, Floating-PointMultiply-Add/ Subtract, on page 50 for details.

See I.1.2, Implementation-Dependent and Reserved Opcodes, in Commonality for information about extending the SPARC V9 instruction set by means of the implementation-dependent instructions.

Compatibility Note – These instructions replace the CPopn instructions in SPARC V8.

Exceptions implementation-dependent (IMPDEP2)

Release 1.0, 1 July 2002

F. Chapter A Instruction Definitions: SPARC64 V Extensions 49

Page 60
Image 60
Fujitsu Fujitsu SPARC64 V manual Call and Link, Implementation-Dependent Instructions