/*
 * Copyright (c) 1996-2007 MIPS Technologies, Inc.
 * Copyright (C) 2009 CodeSourcery, LLC.
 *
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 *      * Redistributions of source code must retain the above copyright
 *        notice, this list of conditions and the following disclaimer.
 *      * Redistributions in binary form must reproduce the above
 *      copyright
 *        notice, this list of conditions and the following disclaimer
 *        in the documentation and/or other materials provided with
 *        the distribution.
 *      * Neither the name of MIPS Technologies Inc. nor the names of its
 *        contributors may be used to endorse or promote products derived
 *        from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

/*
 * regdef.h : MIPS Rx000 symbolic register names for assembler
 */

#ifndef _MIPS_REGDEF_H_
#define _MIPS_REGDEF_H_

#define zero $0

#define AT   $1

#define v0   $2
#define v1   $3

#define a0   $4
#define a1   $5
#define a2   $6
#define a3   $7

#if _MIPS_SIM == _ABIN32 || _MIPS_SIM == _ABI64 || _MIPS_SIM == _ABIEABI
#define a4  $8
#define a5  $9
#define a6  $10
#define a7  $11
#define t0  $12
#define t1  $13
#define t2  $14
#define t3  $15
#define ta0 $8  /* alias for $a4 */
#define ta1 $9  /* alias for $a5 */
#define ta2 $10 /* alias for $a6 */
#define ta3 $11 /* alias for $a7 */
#else
#define t0  $8
#define t1  $9
#define t2  $10
#define t3  $11
#define t4  $12
#define t5  $13
#define t6  $14
#define t7  $15
#define ta0 $12 /* alias for $t4 */
#define ta1 $13 /* alias for $t5 */
#define ta2 $14 /* alias for $t6 */
#define ta3 $15 /* alias for $t7 */
#endif

#define s0 $16
#define s1 $17
#define s2 $18
#define s3 $19
#define s4 $20
#define s5 $21
#define s6 $22
#define s7 $23
#define s8 $30 /* == fp */

#define t8 $24
#define t9 $25
#define k0 $26
#define k1 $27

#define gp $28

#define sp $29
#define fp $30
#define ra $31

#endif
