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

📄 sparc.s

📁 openssl是ssl的开源项目
💻 S
字号:
	.file	"bn_mulw.c"gcc2_compiled.:.section	".text"	.align 4	.global bn_mul_add_words	.type	 bn_mul_add_words,#function	.proc	016bn_mul_add_words:	!#PROLOGUE# 0	save %sp,-112,%sp	!#PROLOGUE# 1	mov %i0,%o0	mov %i1,%o2	mov %i2,%g1	mov %i3,%o1	mov 0,%i4	add %o0,12,%g4	add %o2,12,%o7.LL2:	mov %i4,%i3	mov 0,%i2	ld [%o0],%g2	mov %g2,%i1	ld [%o2],%g2	mov 0,%i0	umul %o1,%g2,%g3	rd %y,%g2	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %g3,%i3,%g3	addx %g2,%i2,%g2	st %g3,[%o0]	mov %g2,%i5	mov 0,%i4	addcc %g1,-1,%g1	be .LL3	mov %i5,%i4	mov %i4,%i3	mov 0,%i2	ld [%g4-8],%g2	mov %g2,%i1	ld [%o7-8],%g2	mov 0,%i0	umul %o1,%g2,%g3	rd %y,%g2	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %g3,%i3,%g3	addx %g2,%i2,%g2	st %g3,[%g4-8]	mov %g2,%i5	mov 0,%i4	addcc %g1,-1,%g1	be .LL3	mov %i5,%i4	mov %i4,%i3	mov 0,%i2	ld [%g4-4],%g2	mov %g2,%i1	ld [%o7-4],%g2	mov 0,%i0	umul %o1,%g2,%g3	rd %y,%g2	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %g3,%i3,%g3	addx %g2,%i2,%g2	st %g3,[%g4-4]	mov %g2,%i5	mov 0,%i4	addcc %g1,-1,%g1	be .LL3	mov %i5,%i4	mov %i4,%i3	mov 0,%i2	ld [%g4],%g2	mov %g2,%i1	ld [%o7],%g2	mov 0,%i0	umul %o1,%g2,%g3	rd %y,%g2	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %g3,%i3,%g3	addx %g2,%i2,%g2	st %g3,[%g4]	mov %g2,%i5	mov 0,%i4	addcc %g1,-1,%g1	be .LL3	mov %i5,%i4	add %o7,16,%o7	add %o2,16,%o2	add %g4,16,%g4	b .LL2	add %o0,16,%o0.LL3:	ret	restore %g0,%i4,%o0.LLfe1:	.size	 bn_mul_add_words,.LLfe1-bn_mul_add_words	.align 4	.global bn_mul_words	.type	 bn_mul_words,#function	.proc	016bn_mul_words:	!#PROLOGUE# 0	save %sp,-112,%sp	!#PROLOGUE# 1	mov %i0,%o7	mov %i1,%o0	mov %i2,%i4	mov %i3,%g4	mov 0,%i0	add %o7,12,%g1	add %o0,12,%i5.LL18:	mov %i0,%g3	mov 0,%g2	ld [%o0],%i2	umul %g4,%i2,%i3	rd %y,%i2	addcc %i3,%g3,%i3	addx %i2,%g2,%i2	st %i3,[%o7]	mov %i2,%i1	mov 0,%i0	addcc %i4,-1,%i4	be .LL19	mov %i1,%i0	mov %i0,%g3	mov 0,%g2	ld [%i5-8],%i2	umul %g4,%i2,%i3	rd %y,%i2	addcc %i3,%g3,%i3	addx %i2,%g2,%i2	st %i3,[%g1-8]	mov %i2,%i1	mov 0,%i0	addcc %i4,-1,%i4	be .LL19	mov %i1,%i0	mov %i0,%g3	mov 0,%g2	ld [%i5-4],%i2	umul %g4,%i2,%i3	rd %y,%i2	addcc %i3,%g3,%i3	addx %i2,%g2,%i2	st %i3,[%g1-4]	mov %i2,%i1	mov 0,%i0	addcc %i4,-1,%i4	be .LL19	mov %i1,%i0	mov %i0,%g3	mov 0,%g2	ld [%i5],%i2	umul %g4,%i2,%i3	rd %y,%i2	addcc %i3,%g3,%i3	addx %i2,%g2,%i2	st %i3,[%g1]	mov %i2,%i1	mov 0,%i0	addcc %i4,-1,%i4	be .LL19	mov %i1,%i0	add %i5,16,%i5	add %o0,16,%o0	add %g1,16,%g1	b .LL18	add %o7,16,%o7.LL19:	ret	restore.LLfe2:	.size	 bn_mul_words,.LLfe2-bn_mul_words	.align 4	.global bn_sqr_words	.type	 bn_sqr_words,#function	.proc	020bn_sqr_words:	!#PROLOGUE# 0	!#PROLOGUE# 1	mov %o0,%g4	add %g4,28,%o3	add %o1,12,%g1.LL34:	ld [%o1],%o0	addcc %o2,-1,%o2	umul %o0,%o0,%o5	rd %y,%o4	st %o5,[%g4]	mov %o4,%g3	mov 0,%g2	be .LL35	st %g3,[%o3-24]	ld [%g1-8],%o0	addcc %o2,-1,%o2	umul %o0,%o0,%o5	rd %y,%o4	st %o5,[%o3-20]	mov %o4,%g3	mov 0,%g2	be .LL35	st %g3,[%o3-16]	ld [%g1-4],%o0	addcc %o2,-1,%o2	umul %o0,%o0,%o5	rd %y,%o4	st %o5,[%o3-12]	mov %o4,%g3	mov 0,%g2	be .LL35	st %g3,[%o3-8]	ld [%g1],%o0	addcc %o2,-1,%o2	umul %o0,%o0,%o5	rd %y,%o4	st %o5,[%o3-4]	mov %o4,%g3	mov 0,%g2	be .LL35	st %g3,[%o3]	add %g1,16,%g1	add %o1,16,%o1	add %o3,32,%o3	b .LL34	add %g4,32,%g4.LL35:	retl	nop.LLfe3:	.size	 bn_sqr_words,.LLfe3-bn_sqr_words	.align 4	.global bn_add_words	.type	 bn_add_words,#function	.proc	016bn_add_words:	!#PROLOGUE# 0	save %sp,-112,%sp	!#PROLOGUE# 1	mov %i0,%o2	mov %i1,%o3	mov %i2,%o4	mov %i3,%i5	mov 0,%o0	mov 0,%o1	add %o2,12,%o7	add %o4,12,%g4	b .LL42	add %o3,12,%g1.LL45:	add %i5,-1,%i5	mov %i4,%g3	ld [%g4-8],%i4	mov 0,%g2	mov %i4,%i1	mov 0,%i0	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %o1,%g3,%o1	addx %o0,%g2,%o0	st %o1,[%o7-8]	mov %o0,%i3	mov 0,%i2	mov %i2,%o0	mov %i3,%o1	cmp %i5,0	ble .LL43	add %i5,-1,%i5	ld [%g1-4],%i4	mov %i4,%g3	ld [%g4-4],%i4	mov 0,%g2	mov %i4,%i1	mov 0,%i0	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %o1,%g3,%o1	addx %o0,%g2,%o0	st %o1,[%o7-4]	mov %o0,%i3	mov 0,%i2	mov %i2,%o0	mov %i3,%o1	cmp %i5,0	ble .LL43	add %i5,-1,%i5	ld [%g1],%i4	mov %i4,%g3	ld [%g4],%i4	mov 0,%g2	mov %i4,%i1	mov 0,%i0	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %o1,%g3,%o1	addx %o0,%g2,%o0	st %o1,[%o7]	mov %o0,%i3	mov 0,%i2	mov %i2,%o0	mov %i3,%o1	cmp %i5,0	ble .LL43	add %g1,16,%g1	add %o3,16,%o3	add %g4,16,%g4	add %o4,16,%o4	add %o7,16,%o7	add %o2,16,%o2.LL42:	ld [%o3],%i4	add %i5,-1,%i5	mov %i4,%g3	ld [%o4],%i4	mov 0,%g2	mov %i4,%i1	mov 0,%i0	addcc %g3,%i1,%g3	addx %g2,%i0,%g2	addcc %o1,%g3,%o1	addx %o0,%g2,%o0	st %o1,[%o2]	mov %o0,%i3	mov 0,%i2	mov %i2,%o0	mov %i3,%o1	cmp %i5,0	bg,a .LL45	ld [%g1-8],%i4.LL43:	ret	restore %g0,%o1,%o0.LLfe4:	.size	 bn_add_words,.LLfe4-bn_add_words.section	".rodata"	.align 8.LLC0:	.asciz	"Division would overflow (%d)\n".section	".text"	.align 4	.global bn_div64	.type	 bn_div64,#function	.proc	016bn_div64:	!#PROLOGUE# 0	save %sp,-112,%sp	!#PROLOGUE# 1	mov 0,%l1	cmp %i2,0	bne .LL51	mov 2,%l0	b .LL68	mov -1,%i0.LL51:	call BN_num_bits_word,0	mov %i2,%o0	mov %o0,%o2	cmp %o2,32	be .LL52	mov 1,%o0	sll %o0,%o2,%o0	cmp %i0,%o0	bleu .LL69	mov 32,%o0	sethi %hi(__iob+32),%o0	or %o0,%lo(__iob+32),%o0	sethi %hi(.LLC0),%o1	call fprintf,0	or %o1,%lo(.LLC0),%o1	call abort,0	nop.LL52:	mov 32,%o0.LL69:	cmp %i0,%i2	blu .LL53	sub %o0,%o2,%o2	sub %i0,%i2,%i0.LL53:	cmp %o2,0	be .LL54	sll %i0,%o2,%o1	sll %i2,%o2,%i2	sub %o0,%o2,%o0	srl %i1,%o0,%o0	or %o1,%o0,%i0	sll %i1,%o2,%i1.LL54:	srl %i2,16,%g2	sethi %hi(65535),%o0	or %o0,%lo(65535),%o1	and %i2,%o1,%g3	mov %o0,%g4	sethi %hi(-65536),%o7	mov %o1,%g1.LL55:	srl %i0,16,%o0	cmp %o0,%g2	be .LL59	or %g4,%lo(65535),%o3	wr %g0,%g0,%y	nop	nop	nop	udiv %i0,%g2,%o3.LL59:	and %i1,%o7,%o0	srl %o0,16,%o5	smul %o3,%g3,%o4	smul %o3,%g2,%o2.LL60:	sub %i0,%o2,%o1	andcc %o1,%o7,%g0	bne .LL61	sll %o1,16,%o0	add %o0,%o5,%o0	cmp %o4,%o0	bleu .LL61	sub %o4,%g3,%o4	sub %o2,%g2,%o2	b .LL60	add %o3,-1,%o3.LL61:	smul %o3,%g2,%o2	smul %o3,%g3,%o0	srl %o0,16,%o1	sll %o0,16,%o0	and %o0,%o7,%o0	cmp %i1,%o0	bgeu .LL65	add %o2,%o1,%o2	add %o2,1,%o2.LL65:	cmp %i0,%o2	bgeu .LL66	sub %i1,%o0,%i1	add %i0,%i2,%i0	add %o3,-1,%o3.LL66:	addcc %l0,-1,%l0	be .LL56	sub %i0,%o2,%i0	sll %o3,16,%l1	sll %i0,16,%o0	srl %i1,16,%o1	or %o0,%o1,%i0	and %i1,%g1,%o0	b .LL55	sll %o0,16,%i1.LL56:	or %l1,%o3,%i0.LL68:	ret	restore.LLfe5:	.size	 bn_div64,.LLfe5-bn_div64	.ident	"GCC: (GNU) 2.7.2.3"

⌨️ 快捷键说明

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