PeachPy icon indicating copy to clipboard operation
PeachPy copied to clipboard

RETURN pseudo-instruction for non-constant values

Open Maratyszcza opened this issue 10 years ago • 1 comments

RETURN pseudo-instruction currently accepts only constant values.

  • RETURN should accept general-purpose registers for functions with integer or pointer return type. Lower to STORE.RESULT for Go and to MOV[ZX/SX](rax/eax, reg) for other ABIs
  • RETURN should accept xmm registers for functions with floating-point return type. Lower to STORE.RESULT for Go and to MOVSS/MOVSD(xmm0, xmmN) for other ABIs.
  • RETURN should accept mm/xmm/ymm registers for functions with vector return type. Lower to vector mov instructions for non-Go ABIs, prohibit in Go ABI.

Maratyszcza avatar May 25 '15 02:05 Maratyszcza

Needs tests

Maratyszcza avatar May 26 '15 00:05 Maratyszcza