Alien-LibJIT

 view release on metacpan or  search on metacpan

libjit/attic/jit-gen-alpha.h  view on Meta::CPAN

/*
 * jit-gen-alpha.h - Code generation macros for the alpha processor.
 *
 * Copyright (C) 2006  Southern Storm Software, Pty Ltd.
 *
 * This file is part of the libjit library.
 *
 * The libjit library is free software: you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation, either version 2.1 of
 * the License, or (at your option) any later version.
 *
 * The libjit library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with the libjit library.  If not, see
 * <http://www.gnu.org/licenses/>.
 */

#ifndef	_JIT_GEN_ALPHA_H
#define	_JIT_GEN_ALPHA_H

#include "jit-rules.h"

#ifdef __cplusplus
extern "C" {
#endif

/*
 *  enumerate the 32 integer registers.
 *
 *  See JIT_REG_INFO in jit-rules-alpha.h for details about registers
 */
typedef enum {
	ALPHA_R0 = 0,	ALPHA_V0 = ALPHA_R0,	/* Function result */

	ALPHA_R1 = 1,	ALPHA_T0 = ALPHA_R1,	/* Temp registers */
	ALPHA_R2 = 2,	ALPHA_T1 = ALPHA_R2,
	ALPHA_R3 = 3,	ALPHA_T2 = ALPHA_R3,
	ALPHA_R4 = 4,	ALPHA_T3 = ALPHA_R4,
	ALPHA_R5 = 5,	ALPHA_T4 = ALPHA_R5,
	ALPHA_R6 = 6,	ALPHA_T5 = ALPHA_R6,
	ALPHA_R7 = 7,	ALPHA_T6 = ALPHA_R7,
	ALPHA_R8 = 8,	ALPHA_T7 = ALPHA_R8,

	ALPHA_R9 = 9,	ALPHA_S0 = ALPHA_R9,	/* Saved registers */
	ALPHA_R10 = 10,	ALPHA_S1 = ALPHA_R10,
	ALPHA_R11 = 11,	ALPHA_S2 = ALPHA_R11,
	ALPHA_R12 = 12,	ALPHA_S3 = ALPHA_R12,
	ALPHA_R13 = 13,	ALPHA_S4 = ALPHA_R13,
	ALPHA_R14 = 14,	ALPHA_S5 = ALPHA_R14,

	ALPHA_R15 = 15,	ALPHA_S6 = ALPHA_R15,   /* ALPHA_R15 can hold either a saved value */
			ALPHA_FP = ALPHA_R15,   /* or the frame pointer                    */

	ALPHA_R16 = 16, ALPHA_A0 = ALPHA_R16,	/* First 6 arguments */
	ALPHA_R17 = 17,	ALPHA_A1 = ALPHA_R17,
	ALPHA_R18 = 18,	ALPHA_A2 = ALPHA_R18,
	ALPHA_R19 = 19,	ALPHA_A3 = ALPHA_R19,



( run in 0.345 second using v1.01-cache-2.11-cpan-5b529ec07f3 )