diff options
Diffstat (limited to 'arch/mips/include/asm/asmmacro-32.h')
| -rw-r--r-- | arch/mips/include/asm/asmmacro-32.h | 170 | 
1 files changed, 64 insertions, 106 deletions
diff --git a/arch/mips/include/asm/asmmacro-32.h b/arch/mips/include/asm/asmmacro-32.h index 2413afe21b3..e38c2811d4e 100644 --- a/arch/mips/include/asm/asmmacro-32.h +++ b/arch/mips/include/asm/asmmacro-32.h @@ -12,119 +12,77 @@  #include <asm/fpregdef.h>  #include <asm/mipsregs.h> -	.macro	fpu_save_double thread status tmp1=t0 -	cfc1	\tmp1,  fcr31 -	sdc1	$f0,  THREAD_FPR0(\thread) -	sdc1	$f2,  THREAD_FPR2(\thread) -	sdc1	$f4,  THREAD_FPR4(\thread) -	sdc1	$f6,  THREAD_FPR6(\thread) -	sdc1	$f8,  THREAD_FPR8(\thread) -	sdc1	$f10, THREAD_FPR10(\thread) -	sdc1	$f12, THREAD_FPR12(\thread) -	sdc1	$f14, THREAD_FPR14(\thread) -	sdc1	$f16, THREAD_FPR16(\thread) -	sdc1	$f18, THREAD_FPR18(\thread) -	sdc1	$f20, THREAD_FPR20(\thread) -	sdc1	$f22, THREAD_FPR22(\thread) -	sdc1	$f24, THREAD_FPR24(\thread) -	sdc1	$f26, THREAD_FPR26(\thread) -	sdc1	$f28, THREAD_FPR28(\thread) -	sdc1	$f30, THREAD_FPR30(\thread) -	sw	\tmp1, THREAD_FCR31(\thread) -	.endm -  	.macro	fpu_save_single thread tmp=t0  	cfc1	\tmp,  fcr31 -	swc1	$f0,  THREAD_FPR0(\thread) -	swc1	$f1,  THREAD_FPR1(\thread) -	swc1	$f2,  THREAD_FPR2(\thread) -	swc1	$f3,  THREAD_FPR3(\thread) -	swc1	$f4,  THREAD_FPR4(\thread) -	swc1	$f5,  THREAD_FPR5(\thread) -	swc1	$f6,  THREAD_FPR6(\thread) -	swc1	$f7,  THREAD_FPR7(\thread) -	swc1	$f8,  THREAD_FPR8(\thread) -	swc1	$f9,  THREAD_FPR9(\thread) -	swc1	$f10, THREAD_FPR10(\thread) -	swc1	$f11, THREAD_FPR11(\thread) -	swc1	$f12, THREAD_FPR12(\thread) -	swc1	$f13, THREAD_FPR13(\thread) -	swc1	$f14, THREAD_FPR14(\thread) -	swc1	$f15, THREAD_FPR15(\thread) -	swc1	$f16, THREAD_FPR16(\thread) -	swc1	$f17, THREAD_FPR17(\thread) -	swc1	$f18, THREAD_FPR18(\thread) -	swc1	$f19, THREAD_FPR19(\thread) -	swc1	$f20, THREAD_FPR20(\thread) -	swc1	$f21, THREAD_FPR21(\thread) -	swc1	$f22, THREAD_FPR22(\thread) -	swc1	$f23, THREAD_FPR23(\thread) -	swc1	$f24, THREAD_FPR24(\thread) -	swc1	$f25, THREAD_FPR25(\thread) -	swc1	$f26, THREAD_FPR26(\thread) -	swc1	$f27, THREAD_FPR27(\thread) -	swc1	$f28, THREAD_FPR28(\thread) -	swc1	$f29, THREAD_FPR29(\thread) -	swc1	$f30, THREAD_FPR30(\thread) -	swc1	$f31, THREAD_FPR31(\thread) +	swc1	$f0,  THREAD_FPR0_LS64(\thread) +	swc1	$f1,  THREAD_FPR1_LS64(\thread) +	swc1	$f2,  THREAD_FPR2_LS64(\thread) +	swc1	$f3,  THREAD_FPR3_LS64(\thread) +	swc1	$f4,  THREAD_FPR4_LS64(\thread) +	swc1	$f5,  THREAD_FPR5_LS64(\thread) +	swc1	$f6,  THREAD_FPR6_LS64(\thread) +	swc1	$f7,  THREAD_FPR7_LS64(\thread) +	swc1	$f8,  THREAD_FPR8_LS64(\thread) +	swc1	$f9,  THREAD_FPR9_LS64(\thread) +	swc1	$f10, THREAD_FPR10_LS64(\thread) +	swc1	$f11, THREAD_FPR11_LS64(\thread) +	swc1	$f12, THREAD_FPR12_LS64(\thread) +	swc1	$f13, THREAD_FPR13_LS64(\thread) +	swc1	$f14, THREAD_FPR14_LS64(\thread) +	swc1	$f15, THREAD_FPR15_LS64(\thread) +	swc1	$f16, THREAD_FPR16_LS64(\thread) +	swc1	$f17, THREAD_FPR17_LS64(\thread) +	swc1	$f18, THREAD_FPR18_LS64(\thread) +	swc1	$f19, THREAD_FPR19_LS64(\thread) +	swc1	$f20, THREAD_FPR20_LS64(\thread) +	swc1	$f21, THREAD_FPR21_LS64(\thread) +	swc1	$f22, THREAD_FPR22_LS64(\thread) +	swc1	$f23, THREAD_FPR23_LS64(\thread) +	swc1	$f24, THREAD_FPR24_LS64(\thread) +	swc1	$f25, THREAD_FPR25_LS64(\thread) +	swc1	$f26, THREAD_FPR26_LS64(\thread) +	swc1	$f27, THREAD_FPR27_LS64(\thread) +	swc1	$f28, THREAD_FPR28_LS64(\thread) +	swc1	$f29, THREAD_FPR29_LS64(\thread) +	swc1	$f30, THREAD_FPR30_LS64(\thread) +	swc1	$f31, THREAD_FPR31_LS64(\thread)  	sw	\tmp, THREAD_FCR31(\thread)  	.endm -	.macro	fpu_restore_double thread status tmp=t0 -	lw	\tmp, THREAD_FCR31(\thread) -	ldc1	$f0,  THREAD_FPR0(\thread) -	ldc1	$f2,  THREAD_FPR2(\thread) -	ldc1	$f4,  THREAD_FPR4(\thread) -	ldc1	$f6,  THREAD_FPR6(\thread) -	ldc1	$f8,  THREAD_FPR8(\thread) -	ldc1	$f10, THREAD_FPR10(\thread) -	ldc1	$f12, THREAD_FPR12(\thread) -	ldc1	$f14, THREAD_FPR14(\thread) -	ldc1	$f16, THREAD_FPR16(\thread) -	ldc1	$f18, THREAD_FPR18(\thread) -	ldc1	$f20, THREAD_FPR20(\thread) -	ldc1	$f22, THREAD_FPR22(\thread) -	ldc1	$f24, THREAD_FPR24(\thread) -	ldc1	$f26, THREAD_FPR26(\thread) -	ldc1	$f28, THREAD_FPR28(\thread) -	ldc1	$f30, THREAD_FPR30(\thread) -	ctc1	\tmp, fcr31 -	.endm -  	.macro	fpu_restore_single thread tmp=t0  	lw	\tmp, THREAD_FCR31(\thread) -	lwc1	$f0,  THREAD_FPR0(\thread) -	lwc1	$f1,  THREAD_FPR1(\thread) -	lwc1	$f2,  THREAD_FPR2(\thread) -	lwc1	$f3,  THREAD_FPR3(\thread) -	lwc1	$f4,  THREAD_FPR4(\thread) -	lwc1	$f5,  THREAD_FPR5(\thread) -	lwc1	$f6,  THREAD_FPR6(\thread) -	lwc1	$f7,  THREAD_FPR7(\thread) -	lwc1	$f8,  THREAD_FPR8(\thread) -	lwc1	$f9,  THREAD_FPR9(\thread) -	lwc1	$f10, THREAD_FPR10(\thread) -	lwc1	$f11, THREAD_FPR11(\thread) -	lwc1	$f12, THREAD_FPR12(\thread) -	lwc1	$f13, THREAD_FPR13(\thread) -	lwc1	$f14, THREAD_FPR14(\thread) -	lwc1	$f15, THREAD_FPR15(\thread) -	lwc1	$f16, THREAD_FPR16(\thread) -	lwc1	$f17, THREAD_FPR17(\thread) -	lwc1	$f18, THREAD_FPR18(\thread) -	lwc1	$f19, THREAD_FPR19(\thread) -	lwc1	$f20, THREAD_FPR20(\thread) -	lwc1	$f21, THREAD_FPR21(\thread) -	lwc1	$f22, THREAD_FPR22(\thread) -	lwc1	$f23, THREAD_FPR23(\thread) -	lwc1	$f24, THREAD_FPR24(\thread) -	lwc1	$f25, THREAD_FPR25(\thread) -	lwc1	$f26, THREAD_FPR26(\thread) -	lwc1	$f27, THREAD_FPR27(\thread) -	lwc1	$f28, THREAD_FPR28(\thread) -	lwc1	$f29, THREAD_FPR29(\thread) -	lwc1	$f30, THREAD_FPR30(\thread) -	lwc1	$f31, THREAD_FPR31(\thread) +	lwc1	$f0,  THREAD_FPR0_LS64(\thread) +	lwc1	$f1,  THREAD_FPR1_LS64(\thread) +	lwc1	$f2,  THREAD_FPR2_LS64(\thread) +	lwc1	$f3,  THREAD_FPR3_LS64(\thread) +	lwc1	$f4,  THREAD_FPR4_LS64(\thread) +	lwc1	$f5,  THREAD_FPR5_LS64(\thread) +	lwc1	$f6,  THREAD_FPR6_LS64(\thread) +	lwc1	$f7,  THREAD_FPR7_LS64(\thread) +	lwc1	$f8,  THREAD_FPR8_LS64(\thread) +	lwc1	$f9,  THREAD_FPR9_LS64(\thread) +	lwc1	$f10, THREAD_FPR10_LS64(\thread) +	lwc1	$f11, THREAD_FPR11_LS64(\thread) +	lwc1	$f12, THREAD_FPR12_LS64(\thread) +	lwc1	$f13, THREAD_FPR13_LS64(\thread) +	lwc1	$f14, THREAD_FPR14_LS64(\thread) +	lwc1	$f15, THREAD_FPR15_LS64(\thread) +	lwc1	$f16, THREAD_FPR16_LS64(\thread) +	lwc1	$f17, THREAD_FPR17_LS64(\thread) +	lwc1	$f18, THREAD_FPR18_LS64(\thread) +	lwc1	$f19, THREAD_FPR19_LS64(\thread) +	lwc1	$f20, THREAD_FPR20_LS64(\thread) +	lwc1	$f21, THREAD_FPR21_LS64(\thread) +	lwc1	$f22, THREAD_FPR22_LS64(\thread) +	lwc1	$f23, THREAD_FPR23_LS64(\thread) +	lwc1	$f24, THREAD_FPR24_LS64(\thread) +	lwc1	$f25, THREAD_FPR25_LS64(\thread) +	lwc1	$f26, THREAD_FPR26_LS64(\thread) +	lwc1	$f27, THREAD_FPR27_LS64(\thread) +	lwc1	$f28, THREAD_FPR28_LS64(\thread) +	lwc1	$f29, THREAD_FPR29_LS64(\thread) +	lwc1	$f30, THREAD_FPR30_LS64(\thread) +	lwc1	$f31, THREAD_FPR31_LS64(\thread)  	ctc1	\tmp, fcr31  	.endm  | 
