/* src/vm/jit/powerpc/linux/md-abi.h - defines for PowerPC Linux ABI
- Copyright (C) 1996-2005, 2006 R. Grafl, A. Krall, C. Kruegel,
+ Copyright (C) 1996-2005, 2006, 2007 R. Grafl, A. Krall, C. Kruegel,
C. Oates, R. Obermaisser, M. Platter, M. Probst, S. Ring,
E. Steiner, C. Thalinger, D. Thuernbeck, P. Tomsich, C. Ullrich,
J. Wenninger, Institut f. Computersprachen - TU Wien
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
02110-1301, USA.
- Contact: cacao@cacaojvm.org
-
- Authors: Christian Thalinger
-
- Changes:
-
- $Id: md-abi.h 5231 2006-08-11 10:13:28Z twisti $
-
*/
#define REG_SP 1 /* stack pointer */
#define REG_ZERO 0 /* almost always zero: only in address calc. */
+#define REG_A0 3 /* define some argument registers */
+#define REG_A1 4
+#define REG_A2 5
+#define REG_A3 6
+
/* floating point registers */
#define REG_FRESULT 1 /* to deliver floating point method results */
#define REG_IFTMP 16 /* temporary integer and floating point register */
+#define REG_FA0 1 /* define some argument registers */
+#define REG_FA1 2
+
#define INT_REG_CNT 32 /* number of integer registers */
#define INT_SAV_CNT 10 /* number of int callee saved registers */
#define FLT_TMP_CNT 11 /* number of float temporary registers */
#define FLT_RES_CNT 3 /* number of float reserved registers */
-#define TRACE_ARGS_NUM 8
+#define TRACE_ARGS_NUM 4
/* packed register defines ****************************************************/
+#define REG_RESULT_PACKED PACK_REGS(REG_RESULT2, REG_RESULT)
+
+#define REG_A0_A1_PACKED PACK_REGS(REG_A1, REG_A0)
+#define REG_A2_A3_PACKED PACK_REGS(REG_A3, REG_A2)
+
#define REG_ITMP12_PACKED PACK_REGS(REG_ITMP2, REG_ITMP1)
#define REG_ITMP23_PACKED PACK_REGS(REG_ITMP3, REG_ITMP2)
-#define REG_RESULT_PACKED PACK_REGS(REG_RESULT2, REG_RESULT)
/* ABI defines ****************************************************************/