Contents    Page-10    Prev    Next    Page+10    Index   

Details of Function Call

  1. For each argument, use genarith to compute the argument. If needed, move the result from the register returned by genarith to %xmm0 and mark the genarith register unused.

  2. Return the function result register ( %xmm0, %eax or %rax) as the result of genarith.

If the rhs of an operation involves a function call, as in


   y := exp(-x)*sin(c*x)
  1. If the lhs register is in use, save it on the stack.

  2. Call the function

  3. Get a new register, restore the lhs value to it from the stack, and set the lhs register to that register.