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

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

?? sad_ia64.s

?? xvid MPEG-4 編解碼源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:
// /****************************************************************************//  *//  *  XVID MPEG-4 VIDEO CODEC//  *  - ia64 sum of absolute differences -//  *//  *  Copyright(C) 2002 Hannes J黷ting  <s_juetti@ira.uka.de>//  *  Copyright(C) 2002 Christopher 謟bek  <s_oezbek@ira.uka.de>//  *//  *  This program is an implementation of a part of one or more MPEG-4//  *  Video tools as specified in ISO/IEC 14496-2 standard.  Those intending//  *  to use this software module in hardware or software products are//  *  advised that its use may infringe existing patents or copyrights, and//  *  any such use would be at such party's own risk.  The original//  *  developer of this software module and his/her company, and subsequent//  *  editors and their companies, will have no liability for use of this//  *  software or modifications or derivatives thereof.//  *//  *  This program is free software; you can redistribute it and/or modify//  *  it under the terms of the GNU General Public License as published by//  *  the Free Software Foundation; either version 2 of the License, or//  *  (at your option) any later version.//  *//  *  This program 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 General Public License for more details.//  *//  *  You should have received a copy of the GNU General Public License//  *  along with this program; if not, write to the Free Software//  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA//  *//  ****************************************************************************///   ------------------------------------------------------------------------------//   *//   * Optimized Assembler Versions of sad8 and sad16//   *//   ------------------------------------------------------------------------------//   *//   * Hannes J黷ting and Christopher 謟bek //   * {s_juetti,s_oezbek}@ira.uka.de//   *//   * Programmed for the IA64 laboratory held at University Karlsruhe 2002//   * http://www.info.uni-karlsruhe.de/~rubino/ia64p///   *//   ------------------------------------------------------------------------------//   *//   * These are the optimized assembler versions of sad8 and sad16, which calculate //   * the sum of absolute differences between two 8x8/16x16 block matrices. //   *//   * Our approach uses://   *   - The Itanium command psad1, which solves the problem in hardware. //   *   - Modulo-Scheduled Loops as the best way to loop unrolling on the IA64 //   *     EPIC architecture//   *   - Alignment resolving to avoid memory faults//   *//   ------------------------------------------------------------------------------			.common	sad16bi#,8,8	.align 16	.global sad16bi_ia64#	.proc sad16bi_ia64#sad16bi_ia64:	.prologue	.save ar.lc, r2	mov r2 = ar.lc	.body	zxt4 r35 = r35	mov r8 = r0	mov r23 = r0	addl r22 = 255, r0.L21:	addl r14 = 7, r0	mov r19 = r32	mov r21 = r34	mov r20 = r33	;;	mov ar.lc = r14	;;.L105:	mov r17 = r20	mov r18 = r21	;;	ld1 r14 = [r17], 1	ld1 r15 = [r18], 1	;;	add r14 = r14, r15	;;	adds r14 = 1, r14	;;	shr.u r16 = r14, 1	;;	cmp4.le p6, p7 = r0, r16	;;	(p7) mov r16 = r0	(p7) br.cond.dpnt .L96	;;	cmp4.ge p6, p7 = r22, r16	;;	(p7) addl r16 = 255, r0.L96:	ld1 r14 = [r19]	adds r20 = 2, r20	adds r21 = 2, r21	;;	sub r15 = r14, r16	;;	cmp4.ge p6, p7 = 0, r15	;;	(p6) sub r14 = r16, r14	(p7) add r8 = r8, r15	;;	(p6) add r8 = r8, r14	ld1 r15 = [r18]	ld1 r14 = [r17]	;;	add r14 = r14, r15	adds r17 = 1, r19	;;	adds r14 = 1, r14	;;	shr.u r16 = r14, 1	;;	cmp4.le p6, p7 = r0, r16	;;	(p7) mov r16 = r0	(p7) br.cond.dpnt .L102	;;	cmp4.ge p6, p7 = r22, r16	;;	(p7) addl r16 = 255, r0.L102:	ld1 r14 = [r17]	adds r19 = 2, r19	;;	sub r15 = r14, r16	;;	cmp4.ge p6, p7 = 0, r15	;;	(p7) add r8 = r8, r15	(p6) sub r14 = r16, r14	;;	(p6) add r8 = r8, r14	br.cloop.sptk.few .L105	adds r23 = 1, r23	add r32 = r32, r35	add r33 = r33, r35	add r34 = r34, r35	;;	cmp4.geu p6, p7 = 15, r23	(p6) br.cond.dptk .L21	mov ar.lc = r2	br.ret.sptk.many b0	.endp sad16bi_ia64#					.text	.align 16	.global dev16_ia64#	.proc dev16_ia64#.autodev16_ia64:	// renamings for better readability	stride = r18	pfs = r19			//for saving previous function state	cura0 = r20			//address of first 8-byte block of cur	cura1 = r21			//address of second 8-byte block of cur	mean0 = r22			//registers for calculating the sum in parallel	mean1 = r23	mean2 = r24	mean3 = r25	dev0 = r26			//same for the deviation	dev1 = r27				dev2 = r28	dev3 = r29		.body	alloc pfs = ar.pfs, 2, 38, 0, 40	mov cura0  = in0	mov stride = in1	add cura1 = 8, cura0		.rotr c[32], psad[8] 		// just using rotating registers to get an array ;-).explicit{.mmi	ld8 c[0] = [cura0], stride	// load them ...	ld8 c[1] = [cura1], stride	;; }	{.mmi		ld8 c[2] = [cura0], stride	ld8 c[3] = [cura1], stride	;; }{.mmi		ld8 c[4] = [cura0], stride	ld8 c[5] = [cura1], stride	;;}{.mmi	ld8 c[6] = [cura0], stride	ld8 c[7] = [cura1], stride	;;}{.mmi		ld8 c[8] = [cura0], stride	ld8 c[9] = [cura1], stride	;;}{.mmi	ld8 c[10] = [cura0], stride	ld8 c[11] = [cura1], stride	;;}{.mii	ld8 c[12] = [cura0], stride	psad1 mean0 = c[0], r0		// get the sum of them ...	psad1 mean1 = c[1], r0}{.mmi	ld8 c[13] = [cura1], stride	;; 	ld8 c[14] = [cura0], stride	psad1 mean2 = c[2], r0}{.mii	ld8 c[15] = [cura1], stride	psad1 mean3 = c[3], r0	;; 	psad1 psad[0] = c[4], r0}{.mmi	ld8 c[16] = [cura0], stride	ld8 c[17] = [cura1], stride	psad1 psad[1] = c[5], r0	;;}{.mii		ld8 c[18] = [cura0], stride	psad1 psad[2] = c[6], r0	psad1 psad[3] = c[7], r0}{.mmi		ld8 c[19] = [cura1], stride	;; 	ld8 c[20] = [cura0], stride	psad1 psad[4] = c[8], r0}{.mii	ld8 c[21] = [cura1], stride	psad1 psad[5] = c[9], r0	;;	add mean0 = mean0, psad[0]}{.mmi	ld8 c[22] = [cura0], stride	ld8 c[23] = [cura1], stride	add mean1 = mean1, psad[1]	;; }{.mii	ld8 c[24] = [cura0], stride	psad1 psad[0] = c[10], r0	psad1 psad[1] = c[11], r0}{.mmi	ld8 c[25] = [cura1], stride	;; 	ld8 c[26] = [cura0], stride	add mean2 = mean2, psad[2]}{.mii	ld8 c[27] = [cura1], stride	add mean3 = mean3, psad[3]	;; 	psad1 psad[2] = c[12], r0}{.mmi	ld8 c[28] = [cura0], stride	ld8 c[29] = [cura1], stride	psad1 psad[3] = c[13], r0	;; }{.mii	ld8 c[30] = [cura0]	psad1 psad[6] = c[14], r0	psad1 psad[7] = c[15], r0}{.mmi	ld8 c[31] = [cura1]	;; 	add mean0 = mean0, psad[0]	add mean1 = mean1, psad[1]}{.mii	add mean2 = mean2, psad[4]	add mean3 = mean3, psad[5]	;;	psad1 psad[0] = c[16], r0}{.mmi	add mean0 = mean0, psad[2]	add mean1 = mean1, psad[3]	psad1 psad[1] = c[17], r0	;;}{.mii	add mean2 = mean2, psad[6]	psad1 psad[2] = c[18], r0	psad1 psad[3] = c[19], r0}{.mmi	add mean3 = mean3, psad[7]	;; 	add mean0 = mean0, psad[0]	psad1 psad[4] = c[20], r0}{.mii	add mean1 = mean1, psad[1]	psad1 psad[5] = c[21], r0	;;	psad1 psad[6] = c[22], r0}{.mmi	add mean2 = mean2, psad[2]	add mean3 = mean3, psad[3]	psad1 psad[7] = c[23], r0	;;}{.mii	add mean0 = mean0, psad[4]	psad1 psad[0] = c[24], r0	psad1 psad[1] = c[25], r0}{.mmi	add mean1 = mean1, psad[5]	;;	add mean2 = mean2, psad[6]	psad1 psad[2] = c[26], r0}{.mii	add mean3 = mean3, psad[7]	psad1 psad[3] = c[27], r0	;; 	psad1 psad[4] = c[28], r0}{.mmi	add mean0 = mean0, psad[0]	add mean1 = mean1, psad[1]	psad1 psad[5] = c[29], r0	;;}{.mii	add mean2 = mean2, psad[2]	psad1 psad[6] = c[30], r0	psad1 psad[7] = c[31], r0}{.mmi	add mean3 = mean3, psad[3]	;;	add mean0 = mean0, psad[4]	add mean1 = mean1, psad[5]}{.mbb	add mean2 = mean2, mean3	nop.b 1	nop.b 1	;;}{.mib	add mean0 = mean0, psad[6]	add mean1 = mean1, psad[7]	nop.b 1	;;}{.mib	add mean0 = mean0, mean1	// add mean2 = 127, mean2	// this could make our division more exactly, but does not help much	;;}{.mib	add mean0 = mean0, mean2	;;}{.mib	shr.u mean0 = mean0, 8		// divide them ...	;;}{.mib	mux1 mean0 = mean0, @brcst	;; }	{.mii	nop.m 0	psad1 dev0 = c[0], mean0	// and do a sad again ...	psad1 dev1 = c[1], mean0}{.mii	nop.m 0	psad1 dev2 = c[2], mean0	psad1 dev3 = c[3], mean0}{.mii	nop.m 0	psad1 psad[0] = c[4], mean0	psad1 psad[1] = c[5], mean0}{.mii	nop.m 0	psad1 psad[2] = c[6], mean0	psad1 psad[3] = c[7], mean0}{.mii	nop.m 0	psad1 psad[4] = c[8], mean0	psad1 psad[5] = c[9], mean0	;; }{.mii	add dev0 = dev0, psad[0]	psad1 psad[6] = c[10], mean0	psad1 psad[7] = c[11], mean0}{.mmi	add dev1 = dev1, psad[1]	add dev2 = dev2, psad[2]	psad1 psad[0] = c[12], mean0}{.mii	add dev3 = dev3, psad[3]	psad1 psad[1] = c[13], mean0	;; 	psad1 psad[2] = c[14], mean0}{.mmi	add dev0 = dev0, psad[4]	add dev1 = dev1, psad[5]	psad1 psad[3] = c[15], mean0}{.mii	add dev2 = dev2, psad[6]	psad1 psad[4] = c[16], mean0	psad1 psad[5] = c[17], mean0}{.mmi	add dev3 = dev3, psad[7]	;; 	add dev0 = dev0, psad[0]	psad1 psad[6] = c[18], mean0}{.mii	add dev1 = dev1, psad[1]	psad1 psad[7] = c[19], mean0		psad1 psad[0] = c[20], mean0}{.mmi		add dev2 = dev2, psad[2]	add dev3 = dev3, psad[3]	psad1 psad[1] = c[21], mean0	;;}{.mii	add dev0 = dev0, psad[4]	psad1 psad[2] = c[22], mean0	psad1 psad[3] = c[23], mean0}{.mmi	add dev1 = dev1, psad[5]	add dev2 = dev2, psad[6]	psad1 psad[4] = c[24], mean0}{.mii	add dev3 = dev3, psad[7]	psad1 psad[5] = c[25], mean0	;; 	psad1 psad[6] = c[26], mean0}{.mmi	add dev0 = dev0, psad[0]	add dev1 = dev1, psad[1]	psad1 psad[7] = c[27], mean0}{.mii	add dev2 = dev2, psad[2]	psad1 psad[0] = c[28], mean0	psad1 psad[1] = c[29], mean0}{.mmi	add dev3 = dev3, psad[3]	;;	add dev0 = dev0, psad[4]	psad1 psad[2] = c[30], mean0}{.mii	add dev1 = dev1, psad[5]	psad1 psad[3] = c[31], mean0	;; 	add dev2 = dev2, psad[6]}{.mmi	add dev3 = dev3, psad[7]	add dev0 = dev0, psad[0]	add dev1 = dev1, psad[1]	;;}{.mii	add dev2 = dev2, psad[2]	add dev3 = dev3, psad[3]	add ret0 = dev0, dev1	;; }{.mib	add dev2 = dev2, dev3	nop.i 1	nop.b 1	;; }{.mib	add ret0 = ret0, dev2	nop.i 1	br.ret.sptk.many b0}	.endp dev16_ia64#// ###########################################################// ###########################################################// Neue version von gruppe 01 ################################// ###########################################################// ###########################################################				.text	.align 16	.global sad16_ia64#	.proc sad16_ia64#sad16_ia64:	alloc r1 = ar.pfs, 4, 76, 0, 0	mov r2 = pr	dep r14 = r0, r33, 0, 3		// r14 = (r33 div 8)*8 (aligned version of ref)	dep.z r31 = r33, 0, 3		// r31 = r33 mod 8 (misalignment of ref)	;;	mov r64 = r34			//(1) calculate multiples of stride	shl r65 = r34, 1		//(2) for being able to load all the	shladd r66 = r34, 1, r34	//(3) data at once	shl r67 = r34, 2		//(4)	shladd r68 = r34, 2, r34	//(5)	shl r71 = r34, 3		//(8)	shladd r72 = r34, 3, r34	//(9)	;;	shl r69 = r66, 1		//(6)	shladd r70 = r66, 1, r34	//(7)	shl r73 = r68, 1		//(10)	shladd r74 = r68, 1, r34	//(11)	shl r75 = r66, 2		//(12)	shladd r76 = r66, 2, r34	//(13)	shladd r77 = r66, 2, r65	//(14)	shladd r78 = r66, 2, r66	//(15)	;;	cmp.eq p16, p17 = 0, r31	// prepare predicates according to the misalignment	cmp.eq p18, p19 = 2, r31	// ref	cmp.eq p20, p21 = 4, r31	cmp.eq p22, p23 = 6, r31	cmp.eq p24, p25 = 1, r31	cmp.eq p26, p27 = 3, r31	cmp.eq p28, p29 = 5, r31	mov r96 = r14			// and calculate all the adresses where we have	mov r33 = r32			// to load from	add r97 = r14, r64	add r35 = r32, r64	add r98 = r14, r65	add r37 = r32, r65	add r99 = r14, r66	add r39 = r32, r66	add r100 = r14, r67	add r41 = r32, r67	add r101 = r14, r68	add r43 = r32, r68	add r102 = r14, r69	add r45 = r32, r69	add r103 = r14, r70	add r47 = r32, r70	add r104 = r14, r71	add r49 = r32, r71	add r105 = r14, r72	add r51 = r32, r72

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色综合咪咪久久| 精品一区二区免费| 在线一区二区视频| 亚洲电影你懂得| 91精品国产入口在线| 理论电影国产精品| 久久久久综合网| 91影院在线观看| 一区二区三区四区亚洲| 欧美丰满高潮xxxx喷水动漫| 蜜桃一区二区三区在线观看| 国产欧美一区视频| 欧美亚洲动漫制服丝袜| 日本sm残虐另类| 国产日韩精品视频一区| 91伊人久久大香线蕉| 日日夜夜免费精品| 国产亚洲成aⅴ人片在线观看 | 一区二区免费在线| 欧美日韩不卡视频| 国产麻豆精品一区二区| 夜夜嗨av一区二区三区中文字幕| 欧美日韩卡一卡二| 国产成人亚洲综合a∨婷婷 | 亚洲三级在线观看| 日韩欧美美女一区二区三区| 成人在线视频首页| 日韩国产精品久久| 亚洲视频免费观看| 欧美精品一区在线观看| 色婷婷精品大视频在线蜜桃视频| 蜜臀91精品一区二区三区| 亚洲天堂精品视频| 日韩精品一区二区三区在线| 99久久国产免费看| 国产真实精品久久二三区| 亚洲一区二区三区在线| 国产日韩欧美亚洲| 777色狠狠一区二区三区| 成人av资源下载| 久久精品国产一区二区三| 玉米视频成人免费看| 精品国产伦一区二区三区免费| 99综合电影在线视频| 老司机一区二区| 亚洲aⅴ怡春院| 亚洲激情av在线| 中文字幕中文字幕一区二区| 精品乱人伦小说| 欧美日韩一卡二卡三卡| 91一区二区三区在线观看| 国产精品一区二区在线看| 蜜臀精品一区二区三区在线观看 | 国产精品天干天干在线综合| 91精品国产高清一区二区三区| 色婷婷综合久久久中文字幕| 成人激情免费电影网址| 久久国产精品色| 蜜臀av一级做a爰片久久| 亚洲电影第三页| 亚洲成人动漫精品| 一区二区三区91| 一区二区三区美女| 亚洲免费观看高清| 中文字幕在线不卡一区二区三区| 久久久久九九视频| 久久久久国产精品麻豆ai换脸 | 国产精品久久久久久久蜜臀| 精品99999| 精品久久久久久综合日本欧美| 欧美精品乱码久久久久久按摩| 欧美亚洲国产bt| 在线免费精品视频| 欧美在线观看视频一区二区| 91小视频在线免费看| 色婷婷亚洲精品| 欧亚洲嫩模精品一区三区| 91老师片黄在线观看| 99久久综合国产精品| 成人av电影观看| av动漫一区二区| 一本久久精品一区二区| 一本到不卡精品视频在线观看| 色婷婷香蕉在线一区二区| 欧美性一二三区| 欧美日韩精品三区| 日韩视频一区二区| 国产亚洲综合性久久久影院| 久久中文娱乐网| 中文字幕一区二区三区在线播放| √…a在线天堂一区| 亚洲另类春色校园小说| 亚洲午夜在线电影| 日韩成人一级大片| 国产成人综合亚洲91猫咪| 高清成人免费视频| 91福利精品第一导航| 91精品国产综合久久精品性色| 日韩欧美一区二区视频| 久久久夜色精品亚洲| 中文字幕一区二区日韩精品绯色| 一区二区三区高清不卡| 老色鬼精品视频在线观看播放| 国产一区二区三区免费在线观看| 成人精品一区二区三区中文字幕| 91精品福利视频| 日韩视频免费观看高清在线视频| 国产午夜精品久久久久久久| 亚洲欧美日韩系列| 久久国产精品72免费观看| 99国产精品久久久久| 91精品视频网| 国产精品欧美经典| 丝袜亚洲另类欧美综合| 成人精品高清在线| 制服丝袜日韩国产| 国产精品毛片无遮挡高清| 亚洲成人免费看| 不卡的av中国片| 欧美成人一区二区| 亚洲午夜精品久久久久久久久| 久久成人av少妇免费| 色94色欧美sute亚洲线路二| 精品久久久久一区二区国产| 亚洲精品中文字幕乱码三区| 精品影视av免费| 欧美日韩在线播| 中文一区在线播放| 久久超碰97中文字幕| 欧美日韩美少妇| 日韩伦理av电影| 国产精品一区二区91| 欧美日韩视频在线一区二区| 欧美激情一区二区| 狠狠色综合色综合网络| 日本韩国精品一区二区在线观看| 久久久久亚洲蜜桃| 美日韩一区二区三区| 91极品美女在线| 国产精品电影一区二区| 精品夜夜嗨av一区二区三区| 欧美日韩午夜在线| 亚洲激情男女视频| 91在线国产福利| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 亚洲天堂精品在线观看| 国产一区二区网址| 日韩女优av电影| 日本vs亚洲vs韩国一区三区| 色综合久久久久久久| 亚洲日本在线观看| 成人精品gif动图一区| 国产三级欧美三级| 国产精品亚洲午夜一区二区三区| 91精品国产色综合久久久蜜香臀| 亚洲午夜视频在线| 91国内精品野花午夜精品| 亚洲卡通欧美制服中文| av毛片久久久久**hd| 亚洲欧洲www| av在线综合网| 亚洲欧洲另类国产综合| a4yy欧美一区二区三区| 综合欧美一区二区三区| jvid福利写真一区二区三区| 中文字幕一区在线| 97久久精品人人做人人爽50路| 国产精品久久久久久久裸模| aaa国产一区| 亚洲最新视频在线播放| 在线观看一区二区精品视频| 一区二区三区91| 91精品国产综合久久久蜜臀粉嫩 | 粉嫩av一区二区三区| 中文字幕亚洲一区二区va在线| 91香蕉国产在线观看软件| 亚洲精品国产精品乱码不99| 色欧美88888久久久久久影院| 亚洲第一激情av| 日韩欧美精品在线| 国产精品综合在线视频| 国产精品欧美久久久久一区二区| 不卡视频免费播放| 亚洲国产精品一区二区尤物区| 欧美亚洲日本一区| 美腿丝袜亚洲三区| 国产精品三级久久久久三级| 91免费看视频| 亚洲777理论| 久久九九国产精品| 色婷婷综合视频在线观看| 奇米影视一区二区三区小说| 欧美va在线播放| 99re66热这里只有精品3直播| 亚洲成人动漫av| 久久精品视频免费观看| 日本久久一区二区| 琪琪久久久久日韩精品| 国产精品黄色在线观看| 欧美日韩成人在线|