⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fplsp.s

📁 linux内核源码
💻 S
📖 第 1 页 / 共 5 页
字号:
	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	mov.b		%d1,STAG(%a6)	tst.b		%d1	bne.b		_L3_2d	bsr.l		slognp1			# operand is a NORM	bra.b		_L3_6d_L3_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L3_3d			# no	bsr.l		src_zero			# yes	bra.b		_L3_6d_L3_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L3_4d			# no	bsr.l		sopr_inf			# yes	bra.b		_L3_6d_L3_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L3_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L3_6d_L3_5d:	bsr.l		slognp1d			# operand is a DENORM_L3_6d:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_flognp1x__flognp1x_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	lea		FP_SRC(%a6),%a0	mov.l		0x8+0x0(%a6),0x0(%a0)	# load ext input	mov.l		0x8+0x4(%a6),0x4(%a0)	mov.l		0x8+0x8(%a6),0x8(%a0)	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L3_2x	bsr.l		slognp1			# operand is a NORM	bra.b		_L3_6x_L3_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L3_3x			# no	bsr.l		src_zero			# yes	bra.b		_L3_6x_L3_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L3_4x			# no	bsr.l		sopr_inf			# yes	bra.b		_L3_6x_L3_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L3_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L3_6x_L3_5x:	bsr.l		slognp1d			# operand is a DENORM_L3_6x:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts########################################################################## MONADIC TEMPLATE							##########################################################################	global		_fetoxm1s__fetoxm1s_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.s		0x8(%a6),%fp0		# load sgl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L4_2s	bsr.l		setoxm1			# operand is a NORM	bra.b		_L4_6s_L4_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L4_3s			# no	bsr.l		src_zero			# yes	bra.b		_L4_6s_L4_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L4_4s			# no	bsr.l		setoxm1i			# yes	bra.b		_L4_6s_L4_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L4_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L4_6s_L4_5s:	bsr.l		setoxm1d			# operand is a DENORM_L4_6s:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_fetoxm1d__fetoxm1d_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.d		0x8(%a6),%fp0		# load dbl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	mov.b		%d1,STAG(%a6)	tst.b		%d1	bne.b		_L4_2d	bsr.l		setoxm1			# operand is a NORM	bra.b		_L4_6d_L4_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L4_3d			# no	bsr.l		src_zero			# yes	bra.b		_L4_6d_L4_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L4_4d			# no	bsr.l		setoxm1i			# yes	bra.b		_L4_6d_L4_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L4_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L4_6d_L4_5d:	bsr.l		setoxm1d			# operand is a DENORM_L4_6d:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_fetoxm1x__fetoxm1x_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	lea		FP_SRC(%a6),%a0	mov.l		0x8+0x0(%a6),0x0(%a0)	# load ext input	mov.l		0x8+0x4(%a6),0x4(%a0)	mov.l		0x8+0x8(%a6),0x8(%a0)	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L4_2x	bsr.l		setoxm1			# operand is a NORM	bra.b		_L4_6x_L4_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L4_3x			# no	bsr.l		src_zero			# yes	bra.b		_L4_6x_L4_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L4_4x			# no	bsr.l		setoxm1i			# yes	bra.b		_L4_6x_L4_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L4_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L4_6x_L4_5x:	bsr.l		setoxm1d			# operand is a DENORM_L4_6x:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts########################################################################## MONADIC TEMPLATE							##########################################################################	global		_ftanhs__ftanhs_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.s		0x8(%a6),%fp0		# load sgl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L5_2s	bsr.l		stanh			# operand is a NORM	bra.b		_L5_6s_L5_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L5_3s			# no	bsr.l		src_zero			# yes	bra.b		_L5_6s_L5_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L5_4s			# no	bsr.l		src_one			# yes	bra.b		_L5_6s_L5_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L5_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L5_6s_L5_5s:	bsr.l		stanhd			# operand is a DENORM_L5_6s:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_ftanhd__ftanhd_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.d		0x8(%a6),%fp0		# load dbl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	mov.b		%d1,STAG(%a6)	tst.b		%d1	bne.b		_L5_2d	bsr.l		stanh			# operand is a NORM	bra.b		_L5_6d_L5_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L5_3d			# no	bsr.l		src_zero			# yes	bra.b		_L5_6d_L5_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L5_4d			# no	bsr.l		src_one			# yes	bra.b		_L5_6d_L5_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L5_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L5_6d_L5_5d:	bsr.l		stanhd			# operand is a DENORM_L5_6d:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_ftanhx__ftanhx_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	lea		FP_SRC(%a6),%a0	mov.l		0x8+0x0(%a6),0x0(%a0)	# load ext input	mov.l		0x8+0x4(%a6),0x4(%a0)	mov.l		0x8+0x8(%a6),0x8(%a0)	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L5_2x	bsr.l		stanh			# operand is a NORM	bra.b		_L5_6x_L5_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L5_3x			# no	bsr.l		src_zero			# yes	bra.b		_L5_6x_L5_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L5_4x			# no	bsr.l		src_one			# yes	bra.b		_L5_6x_L5_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L5_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L5_6x_L5_5x:	bsr.l		stanhd			# operand is a DENORM_L5_6x:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts########################################################################## MONADIC TEMPLATE							##########################################################################	global		_fatans__fatans_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.s		0x8(%a6),%fp0		# load sgl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L6_2s	bsr.l		satan			# operand is a NORM	bra.b		_L6_6s_L6_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L6_3s			# no	bsr.l		src_zero			# yes	bra.b		_L6_6s_L6_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L6_4s			# no	bsr.l		spi_2			# yes	bra.b		_L6_6s_L6_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L6_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L6_6s_L6_5s:	bsr.l		satand			# operand is a DENORM_L6_6s:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_fatand__fatand_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR##	copy, convert, and tag input argument#	fmov.d		0x8(%a6),%fp0		# load dbl input	fmov.x		%fp0,FP_SRC(%a6)	lea		FP_SRC(%a6),%a0	bsr.l		tag			# fetch operand type	mov.b		%d0,STAG(%a6)	mov.b		%d0,%d1	andi.l		&0x00ff00ff,USER_FPSR(%a6)	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	mov.b		%d1,STAG(%a6)	tst.b		%d1	bne.b		_L6_2d	bsr.l		satan			# operand is a NORM	bra.b		_L6_6d_L6_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L6_3d			# no	bsr.l		src_zero			# yes	bra.b		_L6_6d_L6_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L6_4d			# no	bsr.l		spi_2			# yes	bra.b		_L6_6d_L6_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L6_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L6_6d_L6_5d:	bsr.l		satand			# operand is a DENORM_L6_6d:##	Result is now in FP0#	movm.l		EXC_DREGS(%a6),&0x0303	# restore d0-d1/a0-a1	fmovm.l		USER_FPCR(%a6),%fpcr,%fpsr # restore ctrl regs	fmovm.x		EXC_FP1(%a6),&0x40	# restore fp1	unlk		%a6	rts	global		_fatanx__fatanx_:	link		%a6,&-LOCAL_SIZE	movm.l		&0x0303,EXC_DREGS(%a6)	# save d0-d1/a0-a1	fmovm.l		%fpcr,%fpsr,USER_FPCR(%a6) # save ctrl regs	fmovm.x		&0xc0,EXC_FP0(%a6)	# save fp0/fp1	fmov.l		&0x0,%fpcr		# zero FPCR

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -