亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sub_n.s

?? glibc 庫, 不僅可以學習使用庫函數,還可以學習函數的具體實現,是提高功力的好資料
?? S
字號:
! SPARC __mpn_sub_n -- Subtract two limb vectors of the same length > 0 and! store difference in a third limb vector.!! Copyright (C) 1995, 1996 Free Software Foundation, Inc.!! This file is part of the GNU MP Library.!! The GNU MP Library is free software; you can redistribute it and/or modify! it under the terms of the GNU Lesser General Public License as published by! the Free Software Foundation; either version 2.1 of the License, or (at your! option) any later version.!! The GNU MP Library is distributed in the hope that it will be useful, but! WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY! or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public! License for more details.!! You should have received a copy of the GNU Lesser General Public License! along with the GNU MP Library; see the file COPYING.LIB.  If not, write to! the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,! MA 02111-1307, USA.! INPUT PARAMETERS#define RES_PTR	%o0#define S1_PTR	%o1#define S2_PTR	%o2#define SIZE	%o3#include <sysdep.h>ENTRY(__mpn_sub_n)	xor	S2_PTR,RES_PTR,%g1	andcc	%g1,4,%g0	bne	LOC(1)			! branch if alignment differs	nop! **  V1a  **	andcc	RES_PTR,4,%g0		! RES_PTR unaligned? Side effect: cy=0	be	LOC(v1)			! if no, branch	nop/* Add least significant limb separately to align RES_PTR and S2_PTR */	ld	[S1_PTR],%g4	add	S1_PTR,4,S1_PTR	ld	[S2_PTR],%g2	add	S2_PTR,4,S2_PTR	add	SIZE,-1,SIZE	subcc	%g4,%g2,%o4	st	%o4,[RES_PTR]	add	RES_PTR,4,RES_PTRLOC(v1):	addx	%g0,%g0,%o4		! save cy in register	cmp	SIZE,2			! if SIZE < 2 ...	bl	LOC(end2)		! ... branch to tail code	subcc	%g0,%o4,%g0		! restore cy	ld	[S1_PTR+0],%g4	addcc	SIZE,-10,SIZE	ld	[S1_PTR+4],%g1	ldd	[S2_PTR+0],%g2	blt	LOC(fin1)	subcc	%g0,%o4,%g0		! restore cy/* Add blocks of 8 limbs until less than 8 limbs remain */LOC(loop1):	subxcc	%g4,%g2,%o4	ld	[S1_PTR+8],%g4	subxcc	%g1,%g3,%o5	ld	[S1_PTR+12],%g1	ldd	[S2_PTR+8],%g2	std	%o4,[RES_PTR+0]	subxcc	%g4,%g2,%o4	ld	[S1_PTR+16],%g4	subxcc	%g1,%g3,%o5	ld	[S1_PTR+20],%g1	ldd	[S2_PTR+16],%g2	std	%o4,[RES_PTR+8]	subxcc	%g4,%g2,%o4	ld	[S1_PTR+24],%g4	subxcc	%g1,%g3,%o5	ld	[S1_PTR+28],%g1	ldd	[S2_PTR+24],%g2	std	%o4,[RES_PTR+16]	subxcc	%g4,%g2,%o4	ld	[S1_PTR+32],%g4	subxcc	%g1,%g3,%o5	ld	[S1_PTR+36],%g1	ldd	[S2_PTR+32],%g2	std	%o4,[RES_PTR+24]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-8,SIZE	add	S1_PTR,32,S1_PTR	add	S2_PTR,32,S2_PTR	add	RES_PTR,32,RES_PTR	bge	LOC(loop1)	subcc	%g0,%o4,%g0		! restore cyLOC(fin1):	addcc	SIZE,8-2,SIZE	blt	LOC(end1)	subcc	%g0,%o4,%g0		! restore cy/* Add blocks of 2 limbs until less than 2 limbs remain */LOC(loope1):	subxcc	%g4,%g2,%o4	ld	[S1_PTR+8],%g4	subxcc	%g1,%g3,%o5	ld	[S1_PTR+12],%g1	ldd	[S2_PTR+8],%g2	std	%o4,[RES_PTR+0]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-2,SIZE	add	S1_PTR,8,S1_PTR	add	S2_PTR,8,S2_PTR	add	RES_PTR,8,RES_PTR	bge	LOC(loope1)	subcc	%g0,%o4,%g0		! restore cyLOC(end1):	subxcc	%g4,%g2,%o4	subxcc	%g1,%g3,%o5	std	%o4,[RES_PTR+0]	addx	%g0,%g0,%o4		! save cy in register	andcc	SIZE,1,%g0	be	LOC(ret1)	subcc	%g0,%o4,%g0		! restore cy/* Add last limb */	ld	[S1_PTR+8],%g4	ld	[S2_PTR+8],%g2	subxcc	%g4,%g2,%o4	st	%o4,[RES_PTR+8]LOC(ret1):	retl	addx	%g0,%g0,%o0	! return carry-out from most sign. limbLOC(1):	xor	S1_PTR,RES_PTR,%g1	andcc	%g1,4,%g0	bne	LOC(2)	nop! **  V1b  **	andcc	RES_PTR,4,%g0		! RES_PTR unaligned? Side effect: cy=0	be	LOC(v1b)		! if no, branch	nop/* Add least significant limb separately to align RES_PTR and S1_PTR */	ld	[S2_PTR],%g4	add	S2_PTR,4,S2_PTR	ld	[S1_PTR],%g2	add	S1_PTR,4,S1_PTR	add	SIZE,-1,SIZE	subcc	%g2,%g4,%o4	st	%o4,[RES_PTR]	add	RES_PTR,4,RES_PTRLOC(v1b):	addx	%g0,%g0,%o4		! save cy in register	cmp	SIZE,2			! if SIZE < 2 ...	bl	LOC(end2)		! ... branch to tail code	subcc	%g0,%o4,%g0		! restore cy	ld	[S2_PTR+0],%g4	addcc	SIZE,-10,SIZE	ld	[S2_PTR+4],%g1	ldd	[S1_PTR+0],%g2	blt	LOC(fin1b)	subcc	%g0,%o4,%g0		! restore cy/* Add blocks of 8 limbs until less than 8 limbs remain */LOC(loop1b):	subxcc	%g2,%g4,%o4	ld	[S2_PTR+8],%g4	subxcc	%g3,%g1,%o5	ld	[S2_PTR+12],%g1	ldd	[S1_PTR+8],%g2	std	%o4,[RES_PTR+0]	subxcc	%g2,%g4,%o4	ld	[S2_PTR+16],%g4	subxcc	%g3,%g1,%o5	ld	[S2_PTR+20],%g1	ldd	[S1_PTR+16],%g2	std	%o4,[RES_PTR+8]	subxcc	%g2,%g4,%o4	ld	[S2_PTR+24],%g4	subxcc	%g3,%g1,%o5	ld	[S2_PTR+28],%g1	ldd	[S1_PTR+24],%g2	std	%o4,[RES_PTR+16]	subxcc	%g2,%g4,%o4	ld	[S2_PTR+32],%g4	subxcc	%g3,%g1,%o5	ld	[S2_PTR+36],%g1	ldd	[S1_PTR+32],%g2	std	%o4,[RES_PTR+24]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-8,SIZE	add	S1_PTR,32,S1_PTR	add	S2_PTR,32,S2_PTR	add	RES_PTR,32,RES_PTR	bge	LOC(loop1b)	subcc	%g0,%o4,%g0		! restore cyLOC(fin1b):	addcc	SIZE,8-2,SIZE	blt	LOC(end1b)	subcc	%g0,%o4,%g0		! restore cy/* Add blocks of 2 limbs until less than 2 limbs remain */LOC(loope1b):	subxcc	%g2,%g4,%o4	ld	[S2_PTR+8],%g4	subxcc	%g3,%g1,%o5	ld	[S2_PTR+12],%g1	ldd	[S1_PTR+8],%g2	std	%o4,[RES_PTR+0]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-2,SIZE	add	S1_PTR,8,S1_PTR	add	S2_PTR,8,S2_PTR	add	RES_PTR,8,RES_PTR	bge	LOC(loope1b)	subcc	%g0,%o4,%g0		! restore cyLOC(end1b):	subxcc	%g2,%g4,%o4	subxcc	%g3,%g1,%o5	std	%o4,[RES_PTR+0]	addx	%g0,%g0,%o4		! save cy in register	andcc	SIZE,1,%g0	be	LOC(ret1b)	subcc	%g0,%o4,%g0		! restore cy/* Add last limb */	ld	[S2_PTR+8],%g4	ld	[S1_PTR+8],%g2	subxcc	%g2,%g4,%o4	st	%o4,[RES_PTR+8]LOC(ret1b):	retl	addx	%g0,%g0,%o0	! return carry-out from most sign. limb! **  V2  **/* If we come here, the alignment of S1_PTR and RES_PTR as well as the   alignment of S2_PTR and RES_PTR differ.  Since there are only two ways   things can be aligned (that we care about) we now know that the alignment   of S1_PTR and S2_PTR are the same.  */LOC(2):	cmp	SIZE,1	be	LOC(jone)	nop	andcc	S1_PTR,4,%g0		! S1_PTR unaligned? Side effect: cy=0	be	LOC(v2)			! if no, branch	nop/* Add least significant limb separately to align S1_PTR and S2_PTR */	ld	[S1_PTR],%g4	add	S1_PTR,4,S1_PTR	ld	[S2_PTR],%g2	add	S2_PTR,4,S2_PTR	add	SIZE,-1,SIZE	subcc	%g4,%g2,%o4	st	%o4,[RES_PTR]	add	RES_PTR,4,RES_PTRLOC(v2):	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-8,SIZE	blt	LOC(fin2)	subcc	%g0,%o4,%g0		! restore cy/* Add blocks of 8 limbs until less than 8 limbs remain */LOC(loop2):	ldd	[S1_PTR+0],%g2	ldd	[S2_PTR+0],%o4	subxcc	%g2,%o4,%g2	st	%g2,[RES_PTR+0]	subxcc	%g3,%o5,%g3	st	%g3,[RES_PTR+4]	ldd	[S1_PTR+8],%g2	ldd	[S2_PTR+8],%o4	subxcc	%g2,%o4,%g2	st	%g2,[RES_PTR+8]	subxcc	%g3,%o5,%g3	st	%g3,[RES_PTR+12]	ldd	[S1_PTR+16],%g2	ldd	[S2_PTR+16],%o4	subxcc	%g2,%o4,%g2	st	%g2,[RES_PTR+16]	subxcc	%g3,%o5,%g3	st	%g3,[RES_PTR+20]	ldd	[S1_PTR+24],%g2	ldd	[S2_PTR+24],%o4	subxcc	%g2,%o4,%g2	st	%g2,[RES_PTR+24]	subxcc	%g3,%o5,%g3	st	%g3,[RES_PTR+28]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-8,SIZE	add	S1_PTR,32,S1_PTR	add	S2_PTR,32,S2_PTR	add	RES_PTR,32,RES_PTR	bge	LOC(loop2)	subcc	%g0,%o4,%g0		! restore cyLOC(fin2):	addcc	SIZE,8-2,SIZE	blt	LOC(end2)	subcc	%g0,%o4,%g0		! restore cyLOC(loope2):	ldd	[S1_PTR+0],%g2	ldd	[S2_PTR+0],%o4	subxcc	%g2,%o4,%g2	st	%g2,[RES_PTR+0]	subxcc	%g3,%o5,%g3	st	%g3,[RES_PTR+4]	addx	%g0,%g0,%o4		! save cy in register	addcc	SIZE,-2,SIZE	add	S1_PTR,8,S1_PTR	add	S2_PTR,8,S2_PTR	add	RES_PTR,8,RES_PTR	bge	LOC(loope2)	subcc	%g0,%o4,%g0		! restore cyLOC(end2):	andcc	SIZE,1,%g0	be	LOC(ret2)	subcc	%g0,%o4,%g0		! restore cy/* Add last limb */LOC(jone):	ld	[S1_PTR],%g4	ld	[S2_PTR],%g2	subxcc	%g4,%g2,%o4	st	%o4,[RES_PTR]LOC(ret2):	retl	addx	%g0,%g0,%o0	! return carry-out from most sign. limbEND(__mpn_sub_n)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品免费在线| 久久只精品国产| 成人中文字幕电影| 男女男精品视频| 亚洲综合免费观看高清完整版| 亚洲色图.com| www久久久久| 911精品产国品一二三产区| caoporn国产精品| 国产精品自拍三区| 日本成人在线一区| 亚洲大片在线观看| 一区二区在线观看视频| 国产蜜臀av在线一区二区三区| 麻豆freexxxx性91精品| 亚洲综合自拍偷拍| ㊣最新国产の精品bt伙计久久| av在线不卡网| 成人动漫一区二区| 国产乱妇无码大片在线观看| 另类的小说在线视频另类成人小视频在线 | 精彩视频一区二区三区 | 亚洲欧洲在线观看av| 久久久久国产免费免费| 欧美一级片在线| 欧美性淫爽ww久久久久无| 成人伦理片在线| 福利91精品一区二区三区| 国模一区二区三区白浆| 精品一区二区三区在线播放| 奇米精品一区二区三区在线观看一 | 91色在线porny| 成人黄色电影在线 | 日韩av一级电影| 亚洲超碰精品一区二区| 亚洲免费观看视频| 亚洲精品高清在线| 亚洲成人午夜电影| 日本vs亚洲vs韩国一区三区二区| 久久久久久影视| 国产无人区一区二区三区| 26uuu精品一区二区 | 久久这里只有精品6| 久久综合精品国产一区二区三区| 91网站在线播放| 91精品福利视频| 欧美日韩成人高清| 欧美一级二级在线观看| 欧美一二三在线| 精品久久久三级丝袜| 久久蜜臀精品av| 国产精品久久夜| 亚洲综合精品自拍| 午夜精品福利在线| 精品在线观看免费| 不卡在线观看av| 91国偷自产一区二区三区成为亚洲经典| 美女在线观看视频一区二区| 黄网站免费久久| 国产一区欧美二区| 9人人澡人人爽人人精品| 在线观看91视频| 日韩精品一区二区三区视频播放 | 中文字幕av一区二区三区| 18成人在线观看| 婷婷成人激情在线网| 激情综合五月天| 成人中文字幕合集| 日韩三级免费观看| 久久久久国产精品免费免费搜索| 在线一区二区三区做爰视频网站| 国产乱人伦精品一区二区在线观看| 亚洲国产精品影院| 日韩一区二区视频| 日韩欧美一级二级| 国产亚洲精品福利| 成人免费观看男女羞羞视频| jizzjizzjizz欧美| 欧美另类久久久品| 久久不见久久见免费视频1| 九一九一国产精品| av在线不卡网| 欧美成人女星排名| 日韩精品久久久久久| 国产精品123| 欧美日韩视频在线一区二区| 日韩精品一区二区在线| 综合婷婷亚洲小说| 激情综合色丁香一区二区| 裸体健美xxxx欧美裸体表演| 成人av资源在线| 日韩精品一区二区三区在线观看| 91伊人久久大香线蕉| 三级欧美韩日大片在线看| 成人av综合一区| 日韩久久免费av| www.欧美.com| 欧美日韩一卡二卡三卡| 综合欧美一区二区三区| 国产一区免费电影| 日韩欧美三级在线| 一区二区三区资源| 激情偷乱视频一区二区三区| 欧美视频一区二区在线观看| 欧美国产日韩精品免费观看| 国产精品二三区| 蜜桃视频一区二区三区在线观看| 午夜国产不卡在线观看视频| 欧美xxxx在线观看| 国产精品丝袜黑色高跟| 精品一区二区免费看| 免费黄网站欧美| 91在线porny国产在线看| 国产女同互慰高潮91漫画| 日韩专区中文字幕一区二区| 欧美三级韩国三级日本三斤| 国产亚洲欧美日韩俺去了| 青娱乐精品在线视频| 欧美婷婷六月丁香综合色| 亚洲欧洲另类国产综合| 国产1区2区3区精品美女| 欧美大白屁股肥臀xxxxxx| 日韩精品亚洲专区| 欧美女孩性生活视频| 亚洲成人免费影院| 欧美另类变人与禽xxxxx| 亚洲超碰精品一区二区| 欧美久久免费观看| 日韩成人午夜精品| 欧美一区二区三区日韩| 蜜臀av一区二区在线免费观看| 人人精品人人爱| 日韩欧美一级二级三级| 美美哒免费高清在线观看视频一区二区 | 色综合视频一区二区三区高清| 欧美乱妇23p| 亚洲国产日韩一区二区| 欧美日韩一二三| 日韩电影在线免费| 欧美一级黄色大片| 国产又粗又猛又爽又黄91精品| 99精品视频免费在线观看| 欧美videossexotv100| 亚洲欧美一区二区三区极速播放 | 国产精品18久久久久久久久 | 日本不卡一二三| 色婷婷狠狠综合| 国产精品中文字幕一区二区三区| 国产激情91久久精品导航| 99在线精品一区二区三区| 亚洲精品一二三四区| 欧美日韩夫妻久久| 久久99深爱久久99精品| 国产女同互慰高潮91漫画| 91久久一区二区| 国产精品免费视频观看| 色综合久久九月婷婷色综合| 日韩欧美国产午夜精品| 国产老女人精品毛片久久| 欧美激情艳妇裸体舞| 欧美一区二区三区免费视频| 狠狠色丁香久久婷婷综| 理论电影国产精品| 日韩丝袜情趣美女图片| 国产盗摄精品一区二区三区在线| 看电影不卡的网站| 欧美大片一区二区三区| 国产成人免费在线观看不卡| 欧美国产97人人爽人人喊| 成人黄色国产精品网站大全在线免费观看| 国产精品中文字幕一区二区三区| 国产综合色精品一区二区三区| 成人网在线播放| 亚洲h在线观看| 日韩一区二区免费高清| 成人污视频在线观看| 午夜精品视频一区| 亚洲精品视频免费观看| 精品久久久久久久人人人人传媒 | 欧美tickling网站挠脚心| 国产成人在线视频网站| 秋霞国产午夜精品免费视频| 日韩欧美一级片| 色综合 综合色| 亚洲精品成人在线| 91精品国产欧美一区二区成人| 国产精品羞羞答答xxdd| 3atv在线一区二区三区| www.av亚洲| 亚洲成人高清在线| 久久精品一级爱片| 在线观看视频91| 久久久精品综合| 91精品国产综合久久福利软件| 欧美国产欧美综合| 欧美高清视频不卡网| 91女神在线视频| 国模少妇一区二区三区| 午夜久久久久久久久| 亚洲免费观看在线观看|