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

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

?? mem_transfer_ia64.s

?? xvid的視頻編解碼庫文件
?? S
?? 第 1 頁 / 共 2 頁
字號:
// The 8-Bit-values of dst are "unpacked" into two 8-byte-blocks containing 16-// bit-values. These are "parallel-added" to the values of src. The result is// converted into 8-bit-values using "PACK" and stored at the adress of dst. // We assume that there is no misalignment./////////////////////////////////////////////////////////////////////////////////	.align 16	.global transfer_16to8add_ia64#	.proc transfer_16to8add_ia64#transfer_16to8add_ia64:	.prologue//	*** register renaming ***	dst = r14 	src = r15	stride = r16		_src = r17//	*** Saving old Loop-Counter (LC) and Predicate Registers (PR) ***	.save ar.lc, r2	mov oldLC = ar.lc	mov oldPR = pr	.body//	*** Allocating new stackframe, initialize LC, Epilogue-Counter and PR ***	alloc r9 = ar.pfs, 4, 92, 0, 96	//	*** Saving Paramters ***	mov dst = r32	mov src = r33	mov stride = r34	add _src = 8, r33//	*** init loop: set loop counter, epilog counter, predicates ***	mov ar.lc = 7	mov ar.ec = LL + UL + PAL + PL + 1	mov pr.rot = 1 << 16	;;//	*** define register arrays and predicate array for software pipeline ***	.rotr _dst[LL+UL+PAL+PL+1], dst8[PL+1], pixel_1[PAL+1], pixel_2[PAL+1], w_dst16_1[UL+1], w_src_1[LL+UL+1], w_dst16_2[UL+1], w_src_2[LL+UL+1], w_dst8[LL+1]	.rotp s1_p[LL], s2_p[UL], s3_p[PAL], s4_p[PL], s5_p[1]		//	Software pipelined loop://	s1_p: The values of src and dst are loaded//	s2_p: The dst-values are converted to 16-bit-values//	s3_p: The values of src and dst are added// 	s4_p: The Results are packed into 8-bit-values//	s5_p: The 8-bit-values are stored at the dst-adresses.Loop_16to8add:	{.mii			(s1_p[0]) ld8 w_src_1[0] = [src], 16 // l鋎 die 1. H鋖fte der j. Zeile von src (i = 0..3)		(s1_p[0]) mov _dst[0] = dst // erh鰄t die Adresse von dst um stride		(s3_p[0]) padd2.sss pixel_1[0] = w_dst16_1[UL], w_src_1[LL+UL] // parallele Addition von scr und dst	}	{.mii		(s1_p[0]) ld8 w_dst8[0] = [dst], stride // l鋎 die j. Zeile von dst		(s2_p[0]) unpack1.l w_dst16_1[0] = r0, w_dst8[LL]; // dst wird f黵 i = 0..3 in 16-Bit umgewandelt		(s2_p[0]) unpack1.h w_dst16_2[0] = r0, w_dst8[LL]; // dst wird f黵 i = 4..7 in 16-Bit umgewandelt	}	{.mii		(s1_p[0]) ld8 w_src_2[0] = [_src], 16 // l鋎 die 2. H鋖fte der j. Zeile von src (i = 4..7)		(s3_p[0]) padd2.sss pixel_2[0] = w_dst16_2[UL], w_src_2[LL+UL] // parallele Addition von scr und dst		(s4_p[0]) pack2.uss dst8[0] = pixel_1[PAL], pixel_2[PAL] // wandelt die Summen (pixel) in 8-Bit Werte um. Die 躡erpr黤ung der Wertebereiche erfolgt automatisch	}	{.mmb		(s5_p[0]) st8 [_dst[LL+UL+PAL+PL]] = dst8[PL] // speichert dst ab		(s1_p[0]) nop.m 0		br.ctop.sptk.few .Loop_16to8add		;;	}	//	*** Restore old LC and PRs ***	mov ar.lc = oldLC	mov pr = oldPR, -1	br.ret.sptk.many b0	.endp transfer_16to8add_ia64#/////////////////////////////////////////////////////////////////////////////////// transfer_8to16sub_ia64//// The 8-bit-values of ref and cur are loaded. cur is converted to 16-bit. The// Difference of cur and ref ist stored at the dct-adresses and cur is copied// into the ref-array.//// You must assume, that the data adressed by 'ref' are misaligned in memory.// But you can assume, that the other data are aligned (at least I hope so).//	///////////////////////////////////////////////////////////////////////////////	.align 16	.global transfer_8to16sub_ia64#	.proc transfer_8to16sub_ia64#		transfer_8to16sub_ia64:	.prologue//	*** register renaming ***	oldLC = r2	oldPR = r3	zero = r0 // damit ist die Zahl "zero" = 0 gemeint		//Die folgenden Register erhalten die gleichen Namen, wie die Variablen in der C-Vorlage	dct = r14	cur = r15	ref = r34 // muss nicht extra gesichert werden, deswegen bleibt das 躡ergabeRegister in dieser Liste	stride = r16		offset = r17 // Offset der falsch ausgerichteten Daten zum zurechtr點ken	aoffset = r18 // Gegenst點k zum Offset,	ref_a1 = r19 // Adresse des ersten 64-Bit Blocks von ref	ref_a2 = r20 // Adresse des zweiten 64-Bit Blocks von ref		_dct = r21 // Register f黵 die Zieladressen des 2. dct-Blocks//	*** Saving old Loop-Counter (LC) and Predicate Registers (PR) ***	.save ar.lc, r2	mov oldLC = ar.lc	mov oldPR = pr		.body//	*** Allocating new stackframe, define rotating registers ***	alloc r9 = ar.pfs, 4, 92, 0, 96	//	*** Saving Paramters ***	mov dct = r32 	mov cur = r33	// mov ref = r34: ref is unaligned, get aligned ref below...	mov stride = r35		and ref_a1 = -8, ref // Die Adresse des ersten 64-Bit Blocks, in dem ref liegt, wird berechnet (entspricht mod 8)	dep offset = ref, zero, 3, 3	;;	add ref_a2 = 8, ref_a1	sub aoffset = 64, offset // Gegenst點k zum Offset wird berechnet	add _dct = 8, dct // Die Adresse f黵 den 2. dct-Block wird berechnet, um 8 Byte (= 64 Bit) h鰄er als beim 1. Block//	*** init loop: set loop counter, epilog counter, predicates ***	mov ar.lc = 7	mov ar.ec = LL + SHL + OL + UL + PSL + 1	mov pr.rot = 1 << 16	;;//	*** define register arrays and predicate array for software pipeline ***	.rotr  c[LL+1], ref_v1[LL+1], ref_v2[LL+1], c16_1[SHL+OL+UL+1], c16_2[SHL+OL+UL+1], ref_shdr[SHL+1], ref_shdl[SHL+1], r[OL+1], r16_1[UL+1], r16_2[UL+1],  dct_1[PSL+1], dct_2[PSL+1], _cur[LL+SHL+OL+UL+1]	.rotp s1_p[LL], s2_p[SHL], s3_p[OL], s4_p[UL], s5_p[PSL], s6_p[1]	//	Software pipelined loop://	s1_p: The values of ref and cur ale loaded, a copy of cur is made.//	s2_p: cur is converted to 16-bit and thehe misaligned values of ref are// 	      shifted...//	s3_p: ... and copied together.//	s4_p: This ref-value is converted to 16-bit. The values of cur are stored//	      at the ref-adresses.//	s5_p: the ref- abd cur-values are substracted...//	s6_p: ...and the result is stored at the dct-adresses. loop_8to16sub:	{.mii		(s1_p[0]) ld8 ref_v1[0] = [ref_a1], stride // l鋎 den 1. 64-Bit-Block, der einen Teil der ref-Daten enth鋖t		(s1_p[0]) mov _cur[0] = cur // cur wird f黵 sp鋞ere Verwendung gesichert		(s2_p[0]) shr.u ref_shdr[0] = ref_v1[LL], offset // Die rechte H鋖fte wird zurechtger點kt	}		{.mii		(s1_p[0]) ld8 ref_v2[0] = [ref_a2], stride // l鋎 den 2. 64-Bit-Block		(s2_p[0]) shl ref_shdl[0] = ref_v2[LL], aoffset // Die linke H鋖fte wird zurechtger點kt		(s3_p[0]) or r[0] = ref_shdr[SHL], ref_shdl[SHL] // Die zurechtger點kten Daten werden in r zusammenkopiert	}	{.mii		(s1_p[0]) ld8 c[0] = [cur], stride //l鋎 die j. Zeile von cur komplett		(s2_p[0]) unpack1.l c16_1[0] = zero, c[LL]; // c wird f黵 i = 0..3 in 16-Bit umgewandelt		(s2_p[0]) unpack1.h c16_2[0] = zero, c[LL]; // c wird f黵 i = 4..7 in 16-Bit umgewandelt	}	{.mii		(s4_p[0]) st8 [_cur[LL+SHL+OL]] = r[OL] // cur wird auf den Wert von r gesetzt		//Umwandeln der 8-Bit r und c -Werte in 16-bit Werte		(s4_p[0]) unpack1.l r16_1[0] = zero, r[OL]; // r wird f黵 i = 0..3 in 16-Bit umgewandelt		(s4_p[0]) unpack1.h r16_2[0] = zero, r[OL]; // r wird f黵 i = 4..7 in 16-Bit umgewandelt	}	{.mii		(s5_p[0]) psub2.sss dct_1[0] = c16_1[SHL+OL+UL], r16_1[UL] // Subtraktion der 1. H鋐te der j. Zeile		(s5_p[0]) psub2.sss dct_2[0] = c16_2[SHL+OL+UL], r16_2[UL] // Subtraktion der 2. H鋖fte	}	{.mmb		(s6_p[0]) st8 [dct] = dct_1[PSL], 16 // speichert den 1. 64-Bit-Block an der vorgesehenen Adresse, erh鰄en der Adresse um 16 Byte f黵 den n鋍hsten Wert		(s6_p[0]) st8 [_dct] = dct_2[PSL], 16 // speichert den 2. 64-Bit-Block an der vorgesehenen Adresse, erh鰄en der Adresse um 16 Byte f黵 den n鋍hsten Wert		br.ctop.sptk.few loop_8to16sub // Und hopp		;;	}	//	*** Restore old LC and PRs ***	mov ar.lc = oldLC	mov pr = oldPR, -1		br.ret.sptk.many b0	.endp transfer_8to16sub_ia64#	/////////////////////////////////////////////////////////////////////////////////// transfer_8to16sub2_ia64//// At the time, this function was written, it was not yet in use.// We assume that the values of ref1/2 are misaligned.// // The values of ref1/2 and cur are loaded, the ref-values need misalignment-// treatment. The values are converted to 16-bit using unpack. The average of// ref1 and ref2 is computed with pavg and substacted from cur. The results are// stored at the dct-adresses.// pavg1.raz is used to get the same results as the C-code-function. // ///////////////////////////////////////////////////////////////////////////////		.text	.align 16	.global transfer_8to16sub2_ia64#	.proc transfer_8to16sub2_ia64#	transfer_8to16sub2_ia64:	.prologue//	*** register renaming ***	//	We've tried to keep the C-Code names as often as possible, at least as	//	part of register-names	oldLC = r2	oldPR = r3		zero = r0		dct_al = r14 // dct: adress of left block in one line	dct_ar = r15 // dct: adress of right block in one line	cur = r16	ref1_al = r17 // ref1: aligned adress of lower part	ref1_ah = r18 // ref1: aligned adress of higher part	ref2_al = r19 // ref2: aligned adress of lower part	ref2_ah = r20 // ref2: aligned adress of higher part	stride = r21		offset_1 = r22	offset_2 = r23	aoffset_1 = r24	aoffset_2 = r25//	*** Saving old Loop-Counter (LC) and Predicate Registers (PR) ***	.save ar.lc, r2	mov oldLC = ar.lc	mov oldPR = pr	.body		//	*** Saving Paramters ***//	*** (as inputregisters r32 + are needed for register-rotation) ***	mov dct_ar = r32		add dct_al = 8, r32		mov cur = r33		and ref1_al = -8, r34		and ref2_al = -8, r35	// ref2 aligned adrress of lower part		mov stride = r36	//	***	Calculations for Misaligment-Handling ***	dep offset_1 = r34, zero, 3, 3	dep offset_2 = r35, zero, 3, 3	;;	add ref1_ah = 8, ref1_al	add ref2_ah = 8, ref2_al	sub aoffset_1 = 64, offset_1	sub aoffset_2 = 64, offset_2	;;//	*** Allocating new stackframe, define rotating registers ***	alloc r9 = ar.pfs, 5, 91, 0, 96	//	*** init loop: set loop counter, epilog counter, predicates ***	mov ar.lc = 7	mov ar.ec = LL + SHL + OL + PAVGL + UL +PSL + 1	mov pr.rot = 1 << 16	;;	//	*** define register arrays and predicate array for software pipeline ***	.rotr ref1_vl[LL+1], ref1_vh[LL+1], ref2_vl[LL+1], ref2_vh[LL+1], c[LL+SHL+OL+PAVGL+1], ref1_l[SHL+1], ref1_h[SHL+1], ref2_l[SHL+1], ref2_h[SHL+1], ref1_aligned[OL+1], ref2_aligned[OL+1], r[PAVGL+1], r16_l[UL+1], r16_r[UL+1], c16_l[UL+1], c16_r[UL+1], dct16_l[PSL+1], dct16_r[PSL+1]	.rotp ld_stage[LL], sh_stage[SHL], or_stage[OL], pavg_stage[PAVGL], up_stage[UL], psub_stage[PSL], st_stage[1] //	software pipelined loop://	ld_stage:   The values of ref1, ref2, cur are loaded//	sh_stage:   The misaligned values of ref1/2 are shifted...//	or_stage:   ...and copied together. //	pavg_stage: The average of ref1 and ref2 is computed.//	up_stage:   The result and the cur-values are converted to 16-bit.//	psub_stage: Those values are substracted...//	st_stage:   ...and stored at the dct-adresses. .Loop_8to16sub2:	{.mii		(ld_stage[0])	ld8 c[0] = [cur], stride		(sh_stage[0])	shr.u ref1_l[0] = ref1_vl[LL], offset_1		(sh_stage[0])	shl ref1_h[0] = ref1_vh[LL], aoffset_1	}	{.mii		(ld_stage[0])	ld8 ref1_vl[0] = [ref1_al], stride		(sh_stage[0])	shr.u ref2_l[0] = ref2_vl[LL], offset_2		(sh_stage[0])	shl ref2_h[0] = ref2_vh[LL], aoffset_2	}	{.mii		(ld_stage[0])	ld8 ref1_vh[0] = [ref1_ah], stride		(or_stage[0])	or ref1_aligned[0] = ref1_h[SHL], ref1_l[SHL]		(or_stage[0])	or ref2_aligned[0] = ref2_h[SHL], ref2_l[SHL]	}	{.mii		(ld_stage[0])	ld8 ref2_vl[0] = [ref2_al], stride		(pavg_stage[0])	pavg1.raz r[0] = ref1_aligned[OL], ref2_aligned[OL]		(up_stage[0])	unpack1.l r16_r[0] = zero, r[PAVGL]	}	{.mii				(ld_stage[0])	ld8 ref2_vh[0] = [ref2_ah], stride		(up_stage[0])	unpack1.h r16_l[0] = zero, r[PAVGL]		(up_stage[0])	unpack1.l c16_r[0] = zero, c[LL+SHL+OL+PAVGL]	}	{.mii					(st_stage[0])	st8 [dct_ar] = dct16_r[PSL], 16		(up_stage[0])	unpack1.h c16_l[0] = zero, c[LL+SHL+OL+PAVGL]		(psub_stage[0])	psub2.sss dct16_l[0] = c16_l[UL], r16_l[UL]	}	{.mib				(st_stage[0])	st8 [dct_al] = dct16_l[PSL], 16		(psub_stage[0])	psub2.sss dct16_r[0] = c16_r[UL], r16_r[UL]				br.ctop.sptk.few .Loop_8to16sub2 // Und hopp		;;	}		//	*** Restore old LC and PRs ***	mov ar.lc = oldLC	mov pr = oldPR, -1	br.ret.sptk.many b0	.endp transfer_8to16sub2_ia64#

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产清纯白嫩初高生在线观看91| 激情五月播播久久久精品| 欧美成人艳星乳罩| 欧美伊人久久久久久久久影院| 99精品国产一区二区三区不卡| 国产剧情一区在线| 国产成人精品影视| 成人精品免费视频| 91免费视频网| 91丨porny丨蝌蚪视频| 91色porny| 欧美年轻男男videosbes| 91精品黄色片免费大全| 日韩精品一区二区三区中文精品| 欧美一区二区精品在线| 日韩一级片网址| 久久久久久99久久久精品网站| 亚洲精品在线网站| 中文字幕av一区二区三区高| 中文字幕制服丝袜成人av | 日本欧洲一区二区| 免费成人在线视频观看| 国产精品1区2区| voyeur盗摄精品| 日本精品视频一区二区三区| 777欧美精品| 久久青草欧美一区二区三区| 亚洲色图视频网| 日本不卡一二三区黄网| 国产美女精品一区二区三区| zzijzzij亚洲日本少妇熟睡| 欧美日韩中字一区| 精品人伦一区二区色婷婷| 国产精品传媒在线| 精品中文av资源站在线观看| 成人福利视频在线看| 欧美人与性动xxxx| 中文字幕第一区| 免费三级欧美电影| 91一区二区在线| 26uuu亚洲综合色| 亚洲国产成人av好男人在线观看| 久久99精品久久久久| 91国产免费看| 国产喷白浆一区二区三区| 五月激情综合婷婷| av动漫一区二区| 久久久三级国产网站| 午夜av电影一区| 色综合久久66| 久久亚洲综合av| 亚洲gay无套男同| 99精品欧美一区二区三区小说 | 免费观看91视频大全| 91一区二区三区在线播放| 久久综合九色综合欧美98| 亚洲影院久久精品| 91免费视频观看| 国产精品久久久久影视| 国内精品免费**视频| 884aa四虎影成人精品一区| 亚洲猫色日本管| av电影一区二区| 国产精品日产欧美久久久久| 精品一区二区成人精品| 欧美高清视频一二三区 | 国内久久婷婷综合| 欧美一区二区三区喷汁尤物| 亚洲一二三级电影| 一本一道久久a久久精品综合蜜臀| 欧美国产精品一区二区| 国产乱码精品一区二区三区av| 欧美亚洲综合一区| 亚洲综合在线观看视频| av一区二区久久| 国产精品国产三级国产有无不卡| 国产精品一区二区在线看| 久久综合九色综合久久久精品综合| 日本aⅴ精品一区二区三区| 6080yy午夜一二三区久久| 日本欧美肥老太交大片| 欧美一卡二卡在线| 九九国产精品视频| 久久久影院官网| 成人一道本在线| 中文字幕综合网| 欧美性大战久久久| 日韩av不卡一区二区| 日韩欧美成人激情| 国产夫妻精品视频| 中文字幕欧美一| 欧美视频一区二区| 日本亚洲三级在线| 欧美国产综合色视频| 91在线播放网址| 日韩va欧美va亚洲va久久| 欧美va亚洲va在线观看蝴蝶网| 国产麻豆欧美日韩一区| 1024亚洲合集| 欧美人xxxx| 福利一区二区在线| 一区二区三区中文字幕电影 | 一区二区三区在线免费| 5858s免费视频成人| 韩国欧美国产1区| 亚洲乱码中文字幕综合| 欧美一区二区三区四区高清| 国产精品99精品久久免费| 夜夜爽夜夜爽精品视频| 日韩一区二区免费在线电影| 国产一区二区三区精品欧美日韩一区二区三区| 久久久91精品国产一区二区三区| 91麻豆精品一区二区三区| 日韩成人午夜精品| 国产欧美一区二区三区沐欲| 91成人免费在线视频| 国产综合色在线| 国产精品国产三级国产三级人妇| 欧美美女激情18p| 国产精品一区三区| 偷拍一区二区三区四区| 亚洲国产成人一区二区三区| 欧美伊人久久大香线蕉综合69| 国内精品视频一区二区三区八戒 | 亚洲色图制服丝袜| 日韩亚洲欧美综合| 色婷婷精品久久二区二区蜜臀av| 久久99国产乱子伦精品免费| 亚洲一级二级三级| 国产精品久久久久9999吃药| 欧美精品一区二区久久久| 在线观看av不卡| 国产精品99久久久久久似苏梦涵| 日本不卡一区二区| 夜夜精品视频一区二区| 亚洲色图第一区| 国产拍揄自揄精品视频麻豆| 26uuu亚洲综合色欧美| 日韩午夜在线播放| 在线电影一区二区三区| 欧美自拍丝袜亚洲| 日本伦理一区二区| 97se亚洲国产综合自在线观| 免费在线观看日韩欧美| 国产美女在线精品| 激情欧美日韩一区二区| 日本三级韩国三级欧美三级| 日韩中文字幕亚洲一区二区va在线| **欧美大码日韩| 国产精品不卡一区二区三区| 亚洲手机成人高清视频| 中文av一区二区| 国产精品色婷婷| 国产精品久久久久久一区二区三区| 欧美影院一区二区| 欧美日韩五月天| 欧美日韩在线不卡| 欧美肥大bbwbbw高潮| 91精品在线免费观看| 欧美一区二区视频网站| 欧美中文字幕一区| 日本乱码高清不卡字幕| 欧美在线观看视频在线| 91国产成人在线| 91麻豆精品国产91久久久资源速度| 欧美精品在欧美一区二区少妇| 91精品国产乱码| 日韩女优制服丝袜电影| 精品日韩在线一区| 欧美激情综合在线| 亚洲免费视频成人| 婷婷夜色潮精品综合在线| 精品在线播放免费| 国产成人夜色高潮福利影视| av成人免费在线观看| 欧美日韩亚洲国产综合| 久久综合一区二区| 亚洲欧美日韩一区二区 | 国产精品蜜臀av| 亚洲激情一二三区| 男女男精品视频网| 不卡的电影网站| 制服.丝袜.亚洲.另类.中文| 欧美精品一区在线观看| 中文字幕一区日韩精品欧美| 五月天网站亚洲| 国产sm精品调教视频网站| 在线免费一区三区| 久久综合久久鬼色中文字| 一区二区三区色| 精品亚洲成a人在线观看| 色综合天天综合| 日韩精品一区二区三区三区免费 | 国产精品18久久久| 欧美日韩在线综合| 久久久www成人免费无遮挡大片| 成人欧美一区二区三区视频网页 | 亚洲成人免费看| 成人免费va视频| 欧美va日韩va|