305 lines
		
	
	
	
		
			9.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
		
		
			
		
	
	
			305 lines
		
	
	
	
		
			9.5 KiB
			
		
	
	
	
		
			C
		
	
	
	
	
	
| 
								 | 
							
								/*
							 | 
						||
| 
								 | 
							
								 * This header file contains assembly-language definitions (assembly
							 | 
						||
| 
								 | 
							
								 * macros, etc.) for this specific Xtensa processor's TIE extensions
							 | 
						||
| 
								 | 
							
								 * and options.  It is customized to this Xtensa processor configuration.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * This file is subject to the terms and conditions of the GNU General Public
							 | 
						||
| 
								 | 
							
								 * License.  See the file "COPYING" in the main directory of this archive
							 | 
						||
| 
								 | 
							
								 * for more details.
							 | 
						||
| 
								 | 
							
								 *
							 | 
						||
| 
								 | 
							
								 * Copyright (C) 1999-2008 Tensilica Inc.
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#ifndef _XTENSA_CORE_TIE_ASM_H
							 | 
						||
| 
								 | 
							
								#define _XTENSA_CORE_TIE_ASM_H
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/*  Selection parameter values for save-area save/restore macros:  */
							 | 
						||
| 
								 | 
							
								/*  Option vs. TIE:  */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_TIE	0x0001	/* custom extension or coprocessor */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_OPT	0x0002	/* optional (and not a coprocessor) */
							 | 
						||
| 
								 | 
							
								/*  Whether used automatically by compiler:  */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_NOCC	0x0004	/* not used by compiler w/o special opts/code */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_CC	0x0008	/* used by compiler without special opts/code */
							 | 
						||
| 
								 | 
							
								/*  ABI handling across function calls:  */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_CALR	0x0010	/* caller-saved */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_CALE	0x0020	/* callee-saved */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_GLOB	0x0040	/* global across function calls (in thread) */
							 | 
						||
| 
								 | 
							
								/*  Misc  */
							 | 
						||
| 
								 | 
							
								#define XTHAL_SAS_ALL	0xFFFF	/* include all default NCP contents */
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to save all non-coprocessor (extra) custom TIE and optional state
							 | 
						||
| 
								 | 
							
								 * (not including zero-overhead loop registers).
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_NCP_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
									.macro xchal_ncp_store  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start	\continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_OPT | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 1024-4, 4, 4
							 | 
						||
| 
								 | 
							
									rsr	\at1, BR		// boolean option
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, .Lxchal_ofs_ + 0
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 4
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_ncp_store
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to save all non-coprocessor (extra) custom TIE and optional state
							 | 
						||
| 
								 | 
							
								 * (not including zero-overhead loop registers).
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_NCP_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
									.macro xchal_ncp_load  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start	\continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_OPT | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 1024-4, 4, 4
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, .Lxchal_ofs_ + 0
							 | 
						||
| 
								 | 
							
									wsr	\at1, BR		// boolean option
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 4
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_ncp_load
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define XCHAL_NCP_NUM_ATMPS	1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to save the state of TIE coprocessor FPU.
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_CP0_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define xchal_cp_FPU_store	xchal_cp0_store
							 | 
						||
| 
								 | 
							
								/* #define xchal_cp_FPU_store_a2	xchal_cp0_store a2 a3 a4 a5 a6 */
							 | 
						||
| 
								 | 
							
									.macro	xchal_cp0_store  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start \continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_TIE | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 0, 1, 16
							 | 
						||
| 
								 | 
							
									rur232	\at1		// FCR
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 0
							 | 
						||
| 
								 | 
							
									rur233	\at1		// FSR
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 4
							 | 
						||
| 
								 | 
							
									SSI f0, \ptr,  8
							 | 
						||
| 
								 | 
							
									SSI f1, \ptr,  12
							 | 
						||
| 
								 | 
							
									SSI f2, \ptr,  16
							 | 
						||
| 
								 | 
							
									SSI f3, \ptr,  20
							 | 
						||
| 
								 | 
							
									SSI f4, \ptr,  24
							 | 
						||
| 
								 | 
							
									SSI f5, \ptr,  28
							 | 
						||
| 
								 | 
							
									SSI f6, \ptr,  32
							 | 
						||
| 
								 | 
							
									SSI f7, \ptr,  36
							 | 
						||
| 
								 | 
							
									SSI f8, \ptr,  40
							 | 
						||
| 
								 | 
							
									SSI f9, \ptr,  44
							 | 
						||
| 
								 | 
							
									SSI f10, \ptr,  48
							 | 
						||
| 
								 | 
							
									SSI f11, \ptr,  52
							 | 
						||
| 
								 | 
							
									SSI f12, \ptr,  56
							 | 
						||
| 
								 | 
							
									SSI f13, \ptr,  60
							 | 
						||
| 
								 | 
							
									SSI f14, \ptr,  64
							 | 
						||
| 
								 | 
							
									SSI f15, \ptr,  68
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 72
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_cp0_store
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to restore the state of TIE coprocessor FPU.
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_CP0_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define xchal_cp_FPU_load	xchal_cp0_load
							 | 
						||
| 
								 | 
							
								/* #define xchal_cp_FPU_load_a2	xchal_cp0_load a2 a3 a4 a5 a6 */
							 | 
						||
| 
								 | 
							
									.macro	xchal_cp0_load  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start \continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_TIE | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 0, 1, 16
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 0
							 | 
						||
| 
								 | 
							
									wur232	\at1		// FCR
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 4
							 | 
						||
| 
								 | 
							
									wur233	\at1		// FSR
							 | 
						||
| 
								 | 
							
									LSI f0, \ptr,  8
							 | 
						||
| 
								 | 
							
									LSI f1, \ptr,  12
							 | 
						||
| 
								 | 
							
									LSI f2, \ptr,  16
							 | 
						||
| 
								 | 
							
									LSI f3, \ptr,  20
							 | 
						||
| 
								 | 
							
									LSI f4, \ptr,  24
							 | 
						||
| 
								 | 
							
									LSI f5, \ptr,  28
							 | 
						||
| 
								 | 
							
									LSI f6, \ptr,  32
							 | 
						||
| 
								 | 
							
									LSI f7, \ptr,  36
							 | 
						||
| 
								 | 
							
									LSI f8, \ptr,  40
							 | 
						||
| 
								 | 
							
									LSI f9, \ptr,  44
							 | 
						||
| 
								 | 
							
									LSI f10, \ptr,  48
							 | 
						||
| 
								 | 
							
									LSI f11, \ptr,  52
							 | 
						||
| 
								 | 
							
									LSI f12, \ptr,  56
							 | 
						||
| 
								 | 
							
									LSI f13, \ptr,  60
							 | 
						||
| 
								 | 
							
									LSI f14, \ptr,  64
							 | 
						||
| 
								 | 
							
									LSI f15, \ptr,  68
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 72
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_cp0_load
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define XCHAL_CP0_NUM_ATMPS	1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to save the state of TIE coprocessor XAD.
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_CP6_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define xchal_cp_XAD_store	xchal_cp6_store
							 | 
						||
| 
								 | 
							
								/* #define xchal_cp_XAD_store_a2	xchal_cp6_store a2 a3 a4 a5 a6 */
							 | 
						||
| 
								 | 
							
									.macro	xchal_cp6_store  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start \continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_TIE | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 0, 1, 16
							 | 
						||
| 
								 | 
							
									rur0	\at1		// LDCBHI
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 0
							 | 
						||
| 
								 | 
							
									rur1	\at1		// LDCBLO
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 4
							 | 
						||
| 
								 | 
							
									rur2	\at1		// STCBHI
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 8
							 | 
						||
| 
								 | 
							
									rur3	\at1		// STCBLO
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 12
							 | 
						||
| 
								 | 
							
									rur8	\at1		// LDBRBASE
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 16
							 | 
						||
| 
								 | 
							
									rur9	\at1		// LDBROFF
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 20
							 | 
						||
| 
								 | 
							
									rur10	\at1		// LDBRINC
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 24
							 | 
						||
| 
								 | 
							
									rur11	\at1		// STBRBASE
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 28
							 | 
						||
| 
								 | 
							
									rur12	\at1		// STBROFF
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 32
							 | 
						||
| 
								 | 
							
									rur13	\at1		// STBRINC
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 36
							 | 
						||
| 
								 | 
							
									rur24	\at1		// SCRATCH0
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 40
							 | 
						||
| 
								 | 
							
									rur25	\at1		// SCRATCH1
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 44
							 | 
						||
| 
								 | 
							
									rur26	\at1		// SCRATCH2
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 48
							 | 
						||
| 
								 | 
							
									rur27	\at1		// SCRATCH3
							 | 
						||
| 
								 | 
							
									s32i	\at1, \ptr, 52
							 | 
						||
| 
								 | 
							
									WRAS128I wra0, \ptr,  64
							 | 
						||
| 
								 | 
							
									WRAS128I wra1, \ptr,  80
							 | 
						||
| 
								 | 
							
									WRAS128I wra2, \ptr,  96
							 | 
						||
| 
								 | 
							
									WRAS128I wra3, \ptr,  112
							 | 
						||
| 
								 | 
							
									WRAS128I wra4, \ptr,  128
							 | 
						||
| 
								 | 
							
									WRAS128I wra5, \ptr,  144
							 | 
						||
| 
								 | 
							
									WRAS128I wra6, \ptr,  160
							 | 
						||
| 
								 | 
							
									WRAS128I wra7, \ptr,  176
							 | 
						||
| 
								 | 
							
									WRAS128I wra8, \ptr,  192
							 | 
						||
| 
								 | 
							
									WRAS128I wra9, \ptr,  208
							 | 
						||
| 
								 | 
							
									WRAS128I wra10, \ptr,  224
							 | 
						||
| 
								 | 
							
									WRAS128I wra11, \ptr,  240
							 | 
						||
| 
								 | 
							
									WRAS128I wra12, \ptr,  256
							 | 
						||
| 
								 | 
							
									WRAS128I wra13, \ptr,  272
							 | 
						||
| 
								 | 
							
									WRAS128I wra14, \ptr,  288
							 | 
						||
| 
								 | 
							
									WRAS128I wra15, \ptr,  304
							 | 
						||
| 
								 | 
							
									WRBS128I wrb0, \ptr,  320
							 | 
						||
| 
								 | 
							
									WRBS128I wrb1, \ptr,  336
							 | 
						||
| 
								 | 
							
									WRBS128I wrb2, \ptr,  352
							 | 
						||
| 
								 | 
							
									WRBS128I wrb3, \ptr,  368
							 | 
						||
| 
								 | 
							
									WRBS128I wrb4, \ptr,  384
							 | 
						||
| 
								 | 
							
									WRBS128I wrb5, \ptr,  400
							 | 
						||
| 
								 | 
							
									WRBS128I wrb6, \ptr,  416
							 | 
						||
| 
								 | 
							
									WRBS128I wrb7, \ptr,  432
							 | 
						||
| 
								 | 
							
									WRBS128I wrb8, \ptr,  448
							 | 
						||
| 
								 | 
							
									WRBS128I wrb9, \ptr,  464
							 | 
						||
| 
								 | 
							
									WRBS128I wrb10, \ptr,  480
							 | 
						||
| 
								 | 
							
									WRBS128I wrb11, \ptr,  496
							 | 
						||
| 
								 | 
							
									WRBS128I wrb12, \ptr,  512
							 | 
						||
| 
								 | 
							
									WRBS128I wrb13, \ptr,  528
							 | 
						||
| 
								 | 
							
									WRBS128I wrb14, \ptr,  544
							 | 
						||
| 
								 | 
							
									WRBS128I wrb15, \ptr,  560
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 576
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_cp6_store
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/* Macro to restore the state of TIE coprocessor XAD.
							 | 
						||
| 
								 | 
							
								 * Save area ptr (clobbered):  ptr  (16 byte aligned)
							 | 
						||
| 
								 | 
							
								 * Scratch regs  (clobbered):  at1..at4  (only first XCHAL_CP6_NUM_ATMPS needed)
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								#define xchal_cp_XAD_load	xchal_cp6_load
							 | 
						||
| 
								 | 
							
								/* #define xchal_cp_XAD_load_a2	xchal_cp6_load a2 a3 a4 a5 a6 */
							 | 
						||
| 
								 | 
							
									.macro	xchal_cp6_load  ptr at1 at2 at3 at4  continue=0 ofs=-1 select=XTHAL_SAS_ALL
							 | 
						||
| 
								 | 
							
									xchal_sa_start \continue, \ofs
							 | 
						||
| 
								 | 
							
									.ifeq (XTHAL_SAS_TIE | XTHAL_SAS_NOCC | XTHAL_SAS_CALR) & ~\select
							 | 
						||
| 
								 | 
							
									xchal_sa_align	\ptr, 0, 0, 1, 16
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 0
							 | 
						||
| 
								 | 
							
									wur0	\at1		// LDCBHI
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 4
							 | 
						||
| 
								 | 
							
									wur1	\at1		// LDCBLO
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 8
							 | 
						||
| 
								 | 
							
									wur2	\at1		// STCBHI
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 12
							 | 
						||
| 
								 | 
							
									wur3	\at1		// STCBLO
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 16
							 | 
						||
| 
								 | 
							
									wur8	\at1		// LDBRBASE
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 20
							 | 
						||
| 
								 | 
							
									wur9	\at1		// LDBROFF
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 24
							 | 
						||
| 
								 | 
							
									wur10	\at1		// LDBRINC
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 28
							 | 
						||
| 
								 | 
							
									wur11	\at1		// STBRBASE
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 32
							 | 
						||
| 
								 | 
							
									wur12	\at1		// STBROFF
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 36
							 | 
						||
| 
								 | 
							
									wur13	\at1		// STBRINC
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 40
							 | 
						||
| 
								 | 
							
									wur24	\at1		// SCRATCH0
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 44
							 | 
						||
| 
								 | 
							
									wur25	\at1		// SCRATCH1
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 48
							 | 
						||
| 
								 | 
							
									wur26	\at1		// SCRATCH2
							 | 
						||
| 
								 | 
							
									l32i	\at1, \ptr, 52
							 | 
						||
| 
								 | 
							
									wur27	\at1		// SCRATCH3
							 | 
						||
| 
								 | 
							
									WRBL128I wrb0, \ptr,  320
							 | 
						||
| 
								 | 
							
									WRBL128I wrb1, \ptr,  336
							 | 
						||
| 
								 | 
							
									WRBL128I wrb2, \ptr,  352
							 | 
						||
| 
								 | 
							
									WRBL128I wrb3, \ptr,  368
							 | 
						||
| 
								 | 
							
									WRBL128I wrb4, \ptr,  384
							 | 
						||
| 
								 | 
							
									WRBL128I wrb5, \ptr,  400
							 | 
						||
| 
								 | 
							
									WRBL128I wrb6, \ptr,  416
							 | 
						||
| 
								 | 
							
									WRBL128I wrb7, \ptr,  432
							 | 
						||
| 
								 | 
							
									WRBL128I wrb8, \ptr,  448
							 | 
						||
| 
								 | 
							
									WRBL128I wrb9, \ptr,  464
							 | 
						||
| 
								 | 
							
									WRBL128I wrb10, \ptr,  480
							 | 
						||
| 
								 | 
							
									WRBL128I wrb11, \ptr,  496
							 | 
						||
| 
								 | 
							
									WRBL128I wrb12, \ptr,  512
							 | 
						||
| 
								 | 
							
									WRBL128I wrb13, \ptr,  528
							 | 
						||
| 
								 | 
							
									WRBL128I wrb14, \ptr,  544
							 | 
						||
| 
								 | 
							
									WRBL128I wrb15, \ptr,  560
							 | 
						||
| 
								 | 
							
									WRAL128I wra0, \ptr,  64
							 | 
						||
| 
								 | 
							
									WRAL128I wra1, \ptr,  80
							 | 
						||
| 
								 | 
							
									WRAL128I wra2, \ptr,  96
							 | 
						||
| 
								 | 
							
									WRAL128I wra3, \ptr,  112
							 | 
						||
| 
								 | 
							
									WRAL128I wra4, \ptr,  128
							 | 
						||
| 
								 | 
							
									WRAL128I wra5, \ptr,  144
							 | 
						||
| 
								 | 
							
									WRAL128I wra6, \ptr,  160
							 | 
						||
| 
								 | 
							
									WRAL128I wra7, \ptr,  176
							 | 
						||
| 
								 | 
							
									WRAL128I wra8, \ptr,  192
							 | 
						||
| 
								 | 
							
									WRAL128I wra9, \ptr,  208
							 | 
						||
| 
								 | 
							
									WRAL128I wra10, \ptr,  224
							 | 
						||
| 
								 | 
							
									WRAL128I wra11, \ptr,  240
							 | 
						||
| 
								 | 
							
									WRAL128I wra12, \ptr,  256
							 | 
						||
| 
								 | 
							
									WRAL128I wra13, \ptr,  272
							 | 
						||
| 
								 | 
							
									WRAL128I wra14, \ptr,  288
							 | 
						||
| 
								 | 
							
									WRAL128I wra15, \ptr,  304
							 | 
						||
| 
								 | 
							
									.set	.Lxchal_ofs_, .Lxchal_ofs_ + 576
							 | 
						||
| 
								 | 
							
									.endif
							 | 
						||
| 
								 | 
							
									.endm	// xchal_cp6_load
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#define XCHAL_CP6_NUM_ATMPS	1
							 | 
						||
| 
								 | 
							
								#define XCHAL_SA_NUM_ATMPS	1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
									/*  Empty macros for unconfigured coprocessors:  */
							 | 
						||
| 
								 | 
							
									.macro xchal_cp1_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp1_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp2_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp2_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp3_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp3_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp4_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp4_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp5_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp5_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp7_store	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
									.macro xchal_cp7_load	p a b c d continue=0 ofs=-1 select=-1 ; .endm
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								#endif /*_XTENSA_CORE_TIE_ASM_H*/
							 | 
						||
| 
								 | 
							
								
							 |