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

📄 fplsp.s

📁 linux内核源码
💻 S
📖 第 1 页 / 共 5 页
字号:
	clr.l		%d0	mov.b		FPCR_MODE(%a6),%d0	# pass rnd mode,prec	tst.b		%d1	bne.b		_L0_2s	bsr.l		ssin			# operand is a NORM	bra.b		_L0_6s_L0_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L0_3s			# no	bsr.l		src_zero			# yes	bra.b		_L0_6s_L0_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L0_4s			# no	bsr.l		t_operr			# yes	bra.b		_L0_6s_L0_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L0_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L0_6s_L0_5s:	bsr.l		ssind			# operand is a DENORM_L0_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		_fsind__fsind_:	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		_L0_2d	bsr.l		ssin			# operand is a NORM	bra.b		_L0_6d_L0_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L0_3d			# no	bsr.l		src_zero			# yes	bra.b		_L0_6d_L0_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L0_4d			# no	bsr.l		t_operr			# yes	bra.b		_L0_6d_L0_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L0_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L0_6d_L0_5d:	bsr.l		ssind			# operand is a DENORM_L0_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		_fsinx__fsinx_:	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		_L0_2x	bsr.l		ssin			# operand is a NORM	bra.b		_L0_6x_L0_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L0_3x			# no	bsr.l		src_zero			# yes	bra.b		_L0_6x_L0_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L0_4x			# no	bsr.l		t_operr			# yes	bra.b		_L0_6x_L0_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L0_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L0_6x_L0_5x:	bsr.l		ssind			# operand is a DENORM_L0_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		_fcoss__fcoss_:	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		_L1_2s	bsr.l		scos			# operand is a NORM	bra.b		_L1_6s_L1_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L1_3s			# no	bsr.l		ld_pone			# yes	bra.b		_L1_6s_L1_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L1_4s			# no	bsr.l		t_operr			# yes	bra.b		_L1_6s_L1_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L1_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L1_6s_L1_5s:	bsr.l		scosd			# operand is a DENORM_L1_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		_fcosd__fcosd_:	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		_L1_2d	bsr.l		scos			# operand is a NORM	bra.b		_L1_6d_L1_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L1_3d			# no	bsr.l		ld_pone			# yes	bra.b		_L1_6d_L1_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L1_4d			# no	bsr.l		t_operr			# yes	bra.b		_L1_6d_L1_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L1_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L1_6d_L1_5d:	bsr.l		scosd			# operand is a DENORM_L1_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		_fcosx__fcosx_:	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		_L1_2x	bsr.l		scos			# operand is a NORM	bra.b		_L1_6x_L1_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L1_3x			# no	bsr.l		ld_pone			# yes	bra.b		_L1_6x_L1_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L1_4x			# no	bsr.l		t_operr			# yes	bra.b		_L1_6x_L1_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L1_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L1_6x_L1_5x:	bsr.l		scosd			# operand is a DENORM_L1_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		_fsinhs__fsinhs_:	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		_L2_2s	bsr.l		ssinh			# operand is a NORM	bra.b		_L2_6s_L2_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L2_3s			# no	bsr.l		src_zero			# yes	bra.b		_L2_6s_L2_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L2_4s			# no	bsr.l		src_inf			# yes	bra.b		_L2_6s_L2_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L2_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L2_6s_L2_5s:	bsr.l		ssinhd			# operand is a DENORM_L2_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		_fsinhd__fsinhd_:	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		_L2_2d	bsr.l		ssinh			# operand is a NORM	bra.b		_L2_6d_L2_2d:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L2_3d			# no	bsr.l		src_zero			# yes	bra.b		_L2_6d_L2_3d:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L2_4d			# no	bsr.l		src_inf			# yes	bra.b		_L2_6d_L2_4d:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L2_5d			# no	bsr.l		src_qnan			# yes	bra.b		_L2_6d_L2_5d:	bsr.l		ssinhd			# operand is a DENORM_L2_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		_fsinhx__fsinhx_:	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		_L2_2x	bsr.l		ssinh			# operand is a NORM	bra.b		_L2_6x_L2_2x:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L2_3x			# no	bsr.l		src_zero			# yes	bra.b		_L2_6x_L2_3x:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L2_4x			# no	bsr.l		src_inf			# yes	bra.b		_L2_6x_L2_4x:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L2_5x			# no	bsr.l		src_qnan			# yes	bra.b		_L2_6x_L2_5x:	bsr.l		ssinhd			# operand is a DENORM_L2_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		_flognp1s__flognp1s_:	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		_L3_2s	bsr.l		slognp1			# operand is a NORM	bra.b		_L3_6s_L3_2s:	cmpi.b		%d1,&ZERO		# is operand a ZERO?	bne.b		_L3_3s			# no	bsr.l		src_zero			# yes	bra.b		_L3_6s_L3_3s:	cmpi.b		%d1,&INF		# is operand an INF?	bne.b		_L3_4s			# no	bsr.l		sopr_inf			# yes	bra.b		_L3_6s_L3_4s:	cmpi.b		%d1,&QNAN		# is operand a QNAN?	bne.b		_L3_5s			# no	bsr.l		src_qnan			# yes	bra.b		_L3_6s_L3_5s:	bsr.l		slognp1d			# operand is a DENORM_L3_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		_flognp1d__flognp1d_:	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

⌨️ 快捷键说明

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