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

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

?? sparcv9-mont.pl

?? OpenSSL 0.9.8k 最新版OpenSSL
?? PL
字號:
#!/usr/bin/env perl# ====================================================================# Written by Andy Polyakov <appro@fy.chalmers.se> for the OpenSSL# project. The module is, however, dual licensed under OpenSSL and# CRYPTOGAMS licenses depending on where you obtain it. For further# details see http://www.openssl.org/~appro/cryptogams/.# ====================================================================# December 2005## Pure SPARCv9/8+ and IALU-only bn_mul_mont implementation. The reasons# for undertaken effort are multiple. First of all, UltraSPARC is not# the whole SPARCv9 universe and other VIS-free implementations deserve# optimized code as much. Secondly, newly introduced UltraSPARC T1,# a.k.a. Niagara, has shared FPU and concurrent FPU-intensive pathes,# such as sparcv9a-mont, will simply sink it. Yes, T1 is equipped with# several integrated RSA/DSA accelerator circuits accessible through# kernel driver [only(*)], but having decent user-land software# implementation is important too. Finally, reasons like desire to# experiment with dedicated squaring procedure. Yes, this module# implements one, because it was easiest to draft it in SPARCv9# instructions...# (*)	Engine accessing the driver in question is on my TODO list.#	For reference, acceleator is estimated to give 6 to 10 times#	improvement on single-threaded RSA sign. It should be noted#	that 6-10x improvement coefficient does not actually mean#	something extraordinary in terms of absolute [single-threaded]#	performance, as SPARCv9 instruction set is by all means least#	suitable for high performance crypto among other 64 bit#	platforms. 6-10x factor simply places T1 in same performance#	domain as say AMD64 and IA-64. Improvement of RSA verify don't#	appear impressive at all, but it's the sign operation which is#	far more critical/interesting.# You might notice that inner loops are modulo-scheduled:-) This has# essentially negligible impact on UltraSPARC performance, it's# Fujitsu SPARC64 V users who should notice and hopefully appreciate# the advantage... Currently this module surpasses sparcv9a-mont.pl# by ~20% on UltraSPARC-III and later cores, but recall that sparcv9a# module still have hidden potential [see TODO list there], which is# estimated to be larger than 20%...# int bn_mul_mont($rp="%i0";	# BN_ULONG *rp,$ap="%i1";	# const BN_ULONG *ap,$bp="%i2";	# const BN_ULONG *bp,$np="%i3";	# const BN_ULONG *np,$n0="%i4";	# const BN_ULONG *n0,$num="%i5";	# int num);$bits=32;for (@ARGV)	{ $bits=64 if (/\-m64/ || /\-xarch\=v9/); }if ($bits==64)	{ $bias=2047; $frame=192; }else		{ $bias=0;    $frame=128; }$car0="%o0";$car1="%o1";$car2="%o2";	# 1 bit$acc0="%o3";$acc1="%o4";$mask="%g1";	# 32 bits, what a waste...$tmp0="%g4";$tmp1="%g5";$i="%l0";$j="%l1";$mul0="%l2";$mul1="%l3";$tp="%l4";$apj="%l5";$npj="%l6";$tpj="%l7";$fname="bn_mul_mont_int";$code=<<___;.section	".text",#alloc,#execinstr.global	$fname.align	32$fname:	cmp	%o5,4			! 128 bits minimum	bge,pt	%icc,.Lenter	sethi	%hi(0xffffffff),$mask	retl	clr	%o0.align	32.Lenter:	save	%sp,-$frame,%sp	sll	$num,2,$num		! num*=4	or	$mask,%lo(0xffffffff),$mask	ld	[$n0],$n0	cmp	$ap,$bp	and	$num,$mask,$num	ld	[$bp],$mul0		! bp[0]	nop	add	%sp,$bias,%o7		! real top of stack	ld	[$ap],$car0		! ap[0] ! redundant in squaring context	sub	%o7,$num,%o7	ld	[$ap+4],$apj		! ap[1]	and	%o7,-1024,%o7	ld	[$np],$car1		! np[0]	sub	%o7,$bias,%sp		! alloca	ld	[$np+4],$npj		! np[1]	be,pt	`$bits==32?"%icc":"%xcc"`,.Lbn_sqr_mont	mov	12,$j	mulx	$car0,$mul0,$car0	! ap[0]*bp[0]	mulx	$apj,$mul0,$tmp0	!prologue! ap[1]*bp[0]	and	$car0,$mask,$acc0	add	%sp,$bias+$frame,$tp	ld	[$ap+8],$apj		!prologue!	mulx	$n0,$acc0,$mul1		! "t[0]"*n0	and	$mul1,$mask,$mul1	mulx	$car1,$mul1,$car1	! np[0]*"t[0]"*n0	mulx	$npj,$mul1,$acc1	!prologue! np[1]*"t[0]"*n0	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	ld	[$np+8],$npj		!prologue!	srlx	$car1,32,$car1	mov	$tmp0,$acc0		!prologue!.L1st:	mulx	$apj,$mul0,$tmp0	mulx	$npj,$mul1,$tmp1	add	$acc0,$car0,$car0	ld	[$ap+$j],$apj		! ap[j]	and	$car0,$mask,$acc0	add	$acc1,$car1,$car1	ld	[$np+$j],$npj		! np[j]	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	add	$j,4,$j			! j++	mov	$tmp0,$acc0	st	$car1,[$tp]	cmp	$j,$num	mov	$tmp1,$acc1	srlx	$car1,32,$car1	bl	%icc,.L1st	add	$tp,4,$tp		! tp++!.L1st	mulx	$apj,$mul0,$tmp0	!epilogue!	mulx	$npj,$mul1,$tmp1	add	$acc0,$car0,$car0	and	$car0,$mask,$acc0	add	$acc1,$car1,$car1	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	st	$car1,[$tp]	srlx	$car1,32,$car1	add	$tmp0,$car0,$car0	and	$car0,$mask,$acc0	add	$tmp1,$car1,$car1	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	st	$car1,[$tp+4]	srlx	$car1,32,$car1	add	$car0,$car1,$car1	st	$car1,[$tp+8]	srlx	$car1,32,$car2	mov	4,$i			! i++	ld	[$bp+4],$mul0		! bp[1].Louter:	add	%sp,$bias+$frame,$tp	ld	[$ap],$car0		! ap[0]	ld	[$ap+4],$apj		! ap[1]	ld	[$np],$car1		! np[0]	ld	[$np+4],$npj		! np[1]	ld	[$tp],$tmp1		! tp[0]	ld	[$tp+4],$tpj		! tp[1]	mov	12,$j	mulx	$car0,$mul0,$car0	mulx	$apj,$mul0,$tmp0	!prologue!	add	$tmp1,$car0,$car0	ld	[$ap+8],$apj		!prologue!	and	$car0,$mask,$acc0	mulx	$n0,$acc0,$mul1	and	$mul1,$mask,$mul1	mulx	$car1,$mul1,$car1	mulx	$npj,$mul1,$acc1	!prologue!	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	ld	[$np+8],$npj		!prologue!	srlx	$car1,32,$car1	mov	$tmp0,$acc0		!prologue!.Linner:	mulx	$apj,$mul0,$tmp0	mulx	$npj,$mul1,$tmp1	add	$tpj,$car0,$car0	ld	[$ap+$j],$apj		! ap[j]	add	$acc0,$car0,$car0	add	$acc1,$car1,$car1	ld	[$np+$j],$npj		! np[j]	and	$car0,$mask,$acc0	ld	[$tp+8],$tpj		! tp[j]	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	add	$j,4,$j			! j++	mov	$tmp0,$acc0	st	$car1,[$tp]		! tp[j-1]	srlx	$car1,32,$car1	mov	$tmp1,$acc1	cmp	$j,$num	bl	%icc,.Linner	add	$tp,4,$tp		! tp++!.Linner	mulx	$apj,$mul0,$tmp0	!epilogue!	mulx	$npj,$mul1,$tmp1	add	$tpj,$car0,$car0	add	$acc0,$car0,$car0	ld	[$tp+8],$tpj		! tp[j]	and	$car0,$mask,$acc0	add	$acc1,$car1,$car1	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	st	$car1,[$tp]		! tp[j-1]	srlx	$car1,32,$car1	add	$tpj,$car0,$car0	add	$tmp0,$car0,$car0	and	$car0,$mask,$acc0	add	$tmp1,$car1,$car1	add	$acc0,$car1,$car1	st	$car1,[$tp+4]		! tp[j-1]	srlx	$car0,32,$car0	add	$i,4,$i			! i++	srlx	$car1,32,$car1	add	$car0,$car1,$car1	cmp	$i,$num	add	$car2,$car1,$car1	st	$car1,[$tp+8]	srlx	$car1,32,$car2	bl,a	%icc,.Louter	ld	[$bp+$i],$mul0		! bp[i]!.Louter	add	$tp,12,$tp.Ltail:	add	$np,$num,$np	add	$rp,$num,$rp	mov	$tp,$ap	sub	%g0,$num,%o7		! k=-num	ba	.Lsub	subcc	%g0,%g0,%g0		! clear %icc.c.align	16.Lsub:	ld	[$tp+%o7],%o0	ld	[$np+%o7],%o1	subccc	%o0,%o1,%o1		! tp[j]-np[j]	add	$rp,%o7,$i	add	%o7,4,%o7	brnz	%o7,.Lsub	st	%o1,[$i]	subc	$car2,0,$car2		! handle upmost overflow bit	and	$tp,$car2,$ap	andn	$rp,$car2,$np	or	$ap,$np,$ap	sub	%g0,$num,%o7.Lcopy:	ld	[$ap+%o7],%o0		! copy or in-place refresh	st	%g0,[$tp+%o7]		! zap tp	st	%o0,[$rp+%o7]	add	%o7,4,%o7	brnz	%o7,.Lcopy	nop	mov	1,%i0	ret	restore___################ .Lbn_sqr_mont gives up to 20% *overall* improvement over######## code without following dedicated squaring procedure.########$sbit="%i2";		# re-use $bp!$code.=<<___;.align	32.Lbn_sqr_mont:	mulx	$mul0,$mul0,$car0		! ap[0]*ap[0]	mulx	$apj,$mul0,$tmp0		!prologue!	and	$car0,$mask,$acc0	add	%sp,$bias+$frame,$tp	ld	[$ap+8],$apj			!prologue!	mulx	$n0,$acc0,$mul1			! "t[0]"*n0	srlx	$car0,32,$car0	and	$mul1,$mask,$mul1	mulx	$car1,$mul1,$car1		! np[0]*"t[0]"*n0	mulx	$npj,$mul1,$acc1		!prologue!	and	$car0,1,$sbit	ld	[$np+8],$npj			!prologue!	srlx	$car0,1,$car0	add	$acc0,$car1,$car1	srlx	$car1,32,$car1	mov	$tmp0,$acc0			!prologue!.Lsqr_1st:	mulx	$apj,$mul0,$tmp0	mulx	$npj,$mul1,$tmp1	add	$acc0,$car0,$car0		! ap[j]*a0+c0	add	$acc1,$car1,$car1	ld	[$ap+$j],$apj			! ap[j]	and	$car0,$mask,$acc0	ld	[$np+$j],$npj			! np[j]	srlx	$car0,32,$car0	add	$acc0,$acc0,$acc0	or	$sbit,$acc0,$acc0	mov	$tmp1,$acc1	srlx	$acc0,32,$sbit	add	$j,4,$j				! j++	and	$acc0,$mask,$acc0	cmp	$j,$num	add	$acc0,$car1,$car1	st	$car1,[$tp]	mov	$tmp0,$acc0	srlx	$car1,32,$car1	bl	%icc,.Lsqr_1st	add	$tp,4,$tp			! tp++!.Lsqr_1st	mulx	$apj,$mul0,$tmp0		! epilogue	mulx	$npj,$mul1,$tmp1	add	$acc0,$car0,$car0		! ap[j]*a0+c0	add	$acc1,$car1,$car1	and	$car0,$mask,$acc0	srlx	$car0,32,$car0	add	$acc0,$acc0,$acc0	or	$sbit,$acc0,$acc0	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	add	$acc0,$car1,$car1	st	$car1,[$tp]	srlx	$car1,32,$car1	add	$tmp0,$car0,$car0		! ap[j]*a0+c0	add	$tmp1,$car1,$car1	and	$car0,$mask,$acc0	srlx	$car0,32,$car0	add	$acc0,$acc0,$acc0	or	$sbit,$acc0,$acc0	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	add	$acc0,$car1,$car1	st	$car1,[$tp+4]	srlx	$car1,32,$car1	add	$car0,$car0,$car0	or	$sbit,$car0,$car0	add	$car0,$car1,$car1	st	$car1,[$tp+8]	srlx	$car1,32,$car2	ld	[%sp+$bias+$frame],$tmp0	! tp[0]	ld	[%sp+$bias+$frame+4],$tmp1	! tp[1]	ld	[%sp+$bias+$frame+8],$tpj	! tp[2]	ld	[$ap+4],$mul0			! ap[1]	ld	[$ap+8],$apj			! ap[2]	ld	[$np],$car1			! np[0]	ld	[$np+4],$npj			! np[1]	mulx	$n0,$tmp0,$mul1	mulx	$mul0,$mul0,$car0	and	$mul1,$mask,$mul1	mulx	$car1,$mul1,$car1	mulx	$npj,$mul1,$acc1	add	$tmp0,$car1,$car1	and	$car0,$mask,$acc0	ld	[$np+8],$npj			! np[2]	srlx	$car1,32,$car1	add	$tmp1,$car1,$car1	srlx	$car0,32,$car0	add	$acc0,$car1,$car1	and	$car0,1,$sbit	add	$acc1,$car1,$car1	srlx	$car0,1,$car0	mov	12,$j	st	$car1,[%sp+$bias+$frame]	! tp[0]=	srlx	$car1,32,$car1	add	%sp,$bias+$frame+4,$tp.Lsqr_2nd:	mulx	$apj,$mul0,$acc0	mulx	$npj,$mul1,$acc1	add	$acc0,$car0,$car0	add	$tpj,$car1,$car1	ld	[$ap+$j],$apj			! ap[j]	and	$car0,$mask,$acc0	ld	[$np+$j],$npj			! np[j]	srlx	$car0,32,$car0	add	$acc1,$car1,$car1	ld	[$tp+8],$tpj			! tp[j]	add	$acc0,$acc0,$acc0	add	$j,4,$j				! j++	or	$sbit,$acc0,$acc0	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	cmp	$j,$num	add	$acc0,$car1,$car1	st	$car1,[$tp]			! tp[j-1]	srlx	$car1,32,$car1	bl	%icc,.Lsqr_2nd	add	$tp,4,$tp			! tp++!.Lsqr_2nd	mulx	$apj,$mul0,$acc0	mulx	$npj,$mul1,$acc1	add	$acc0,$car0,$car0	add	$tpj,$car1,$car1	and	$car0,$mask,$acc0	srlx	$car0,32,$car0	add	$acc1,$car1,$car1	add	$acc0,$acc0,$acc0	or	$sbit,$acc0,$acc0	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	add	$acc0,$car1,$car1	st	$car1,[$tp]			! tp[j-1]	srlx	$car1,32,$car1	add	$car0,$car0,$car0	or	$sbit,$car0,$car0	add	$car0,$car1,$car1	add	$car2,$car1,$car1	st	$car1,[$tp+4]	srlx	$car1,32,$car2	ld	[%sp+$bias+$frame],$tmp1	! tp[0]	ld	[%sp+$bias+$frame+4],$tpj	! tp[1]	ld	[$ap+8],$mul0			! ap[2]	ld	[$np],$car1			! np[0]	ld	[$np+4],$npj			! np[1]	mulx	$n0,$tmp1,$mul1	and	$mul1,$mask,$mul1	mov	8,$i	mulx	$mul0,$mul0,$car0	mulx	$car1,$mul1,$car1	and	$car0,$mask,$acc0	add	$tmp1,$car1,$car1	srlx	$car0,32,$car0	add	%sp,$bias+$frame,$tp	srlx	$car1,32,$car1	and	$car0,1,$sbit	srlx	$car0,1,$car0	mov	4,$j.Lsqr_outer:.Lsqr_inner1:	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	add	$j,4,$j	ld	[$tp+8],$tpj	cmp	$j,$i	add	$acc1,$car1,$car1	ld	[$np+$j],$npj	st	$car1,[$tp]	srlx	$car1,32,$car1	bl	%icc,.Lsqr_inner1	add	$tp,4,$tp!.Lsqr_inner1	add	$j,4,$j	ld	[$ap+$j],$apj			! ap[j]	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	ld	[$np+$j],$npj			! np[j]	add	$acc0,$car1,$car1	ld	[$tp+8],$tpj			! tp[j]	add	$acc1,$car1,$car1	st	$car1,[$tp]	srlx	$car1,32,$car1	add	$j,4,$j	cmp	$j,$num	be,pn	%icc,.Lsqr_no_inner2	add	$tp,4,$tp.Lsqr_inner2:	mulx	$apj,$mul0,$acc0	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	add	$acc0,$car0,$car0	ld	[$ap+$j],$apj			! ap[j]	and	$car0,$mask,$acc0	ld	[$np+$j],$npj			! np[j]	srlx	$car0,32,$car0	add	$acc0,$acc0,$acc0	ld	[$tp+8],$tpj			! tp[j]	or	$sbit,$acc0,$acc0	add	$j,4,$j				! j++	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	cmp	$j,$num	add	$acc0,$car1,$car1	add	$acc1,$car1,$car1	st	$car1,[$tp]			! tp[j-1]	srlx	$car1,32,$car1	bl	%icc,.Lsqr_inner2	add	$tp,4,$tp			! tp++.Lsqr_no_inner2:	mulx	$apj,$mul0,$acc0	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	add	$acc0,$car0,$car0	and	$car0,$mask,$acc0	srlx	$car0,32,$car0	add	$acc0,$acc0,$acc0	or	$sbit,$acc0,$acc0	srlx	$acc0,32,$sbit	and	$acc0,$mask,$acc0	add	$acc0,$car1,$car1	add	$acc1,$car1,$car1	st	$car1,[$tp]			! tp[j-1]	srlx	$car1,32,$car1	add	$car0,$car0,$car0	or	$sbit,$car0,$car0	add	$car0,$car1,$car1	add	$car2,$car1,$car1	st	$car1,[$tp+4]	srlx	$car1,32,$car2	add	$i,4,$i				! i++	ld	[%sp+$bias+$frame],$tmp1	! tp[0]	ld	[%sp+$bias+$frame+4],$tpj	! tp[1]	ld	[$ap+$i],$mul0			! ap[j]	ld	[$np],$car1			! np[0]	ld	[$np+4],$npj			! np[1]	mulx	$n0,$tmp1,$mul1	and	$mul1,$mask,$mul1	add	$i,4,$tmp0	mulx	$mul0,$mul0,$car0	mulx	$car1,$mul1,$car1	and	$car0,$mask,$acc0	add	$tmp1,$car1,$car1	srlx	$car0,32,$car0	add	%sp,$bias+$frame,$tp	srlx	$car1,32,$car1	and	$car0,1,$sbit	srlx	$car0,1,$car0	cmp	$tmp0,$num			! i<num-1	bl	%icc,.Lsqr_outer	mov	4,$j.Lsqr_last:	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	add	$j,4,$j	ld	[$tp+8],$tpj	cmp	$j,$i	add	$acc1,$car1,$car1	ld	[$np+$j],$npj	st	$car1,[$tp]	srlx	$car1,32,$car1	bl	%icc,.Lsqr_last	add	$tp,4,$tp!.Lsqr_last	mulx	$npj,$mul1,$acc1	add	$tpj,$car1,$car1	add	$acc0,$car1,$car1	add	$acc1,$car1,$car1	st	$car1,[$tp]	srlx	$car1,32,$car1	add	$car0,$car0,$car0		! recover $car0	or	$sbit,$car0,$car0	add	$car0,$car1,$car1	add	$car2,$car1,$car1	st	$car1,[$tp+4]	srlx	$car1,32,$car2	ba	.Ltail	add	$tp,8,$tp.type	$fname,#function.size	$fname,(.-$fname).asciz	"Montgomery Multipltication for SPARCv9, CRYPTOGAMS by <appro\@openssl.org>".align	32___$code =~ s/\`([^\`]*)\`/eval($1)/gem;print $code;close STDOUT;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情影院| 欧美视频一区在线| 国产精品国产精品国产专区不片 | 国产最新精品精品你懂的| 日韩一二三区视频| 国产一区二区三区香蕉| 国产日韩欧美激情| 成人免费看片app下载| 亚洲欧美日韩久久精品| 欧美丝袜丝交足nylons图片| 亚洲五码中文字幕| 91丝袜美腿高跟国产极品老师| 日韩伦理免费电影| 色狠狠综合天天综合综合| 国产婷婷色一区二区三区| 成人h版在线观看| 自拍av一区二区三区| 99久久综合精品| 亚洲福利视频三区| 欧美一区二区三区在线| 精品一区二区三区在线观看| 精品电影一区二区| 成年人国产精品| 亚洲激情欧美激情| 在线不卡a资源高清| 久久国产精品免费| 久久精品视频在线看| 北条麻妃一区二区三区| 亚洲国产精品久久久男人的天堂| 精品日本一线二线三线不卡| 成人深夜福利app| 亚洲一区二区视频在线观看| 精品久久久久久综合日本欧美| 国产99精品国产| 亚洲免费观看高清完整版在线观看 | 日韩三级在线免费观看| 久久精品国产亚洲a| 国产精品区一区二区三| 欧洲人成人精品| 久久成人免费电影| 亚洲激情成人在线| 日韩视频免费观看高清完整版| 国产一区二区在线看| 亚洲一区二区在线免费观看视频 | 国产日韩欧美综合一区| 在线日韩一区二区| 国产大陆a不卡| 亚洲综合一二三区| 国产午夜精品美女毛片视频| 欧美伊人久久大香线蕉综合69 | 国产激情视频一区二区在线观看 | 国产精品国产三级国产有无不卡 | 日韩毛片在线免费观看| 欧美精品aⅴ在线视频| 国产一区二区h| 亚洲一二三区在线观看| 国产日韩高清在线| 欧美蜜桃一区二区三区| 成人一级片网址| 麻豆视频一区二区| 亚洲精品美国一| 精品999久久久| 在线播放91灌醉迷j高跟美女 | 蜜桃视频在线观看一区二区| 国产精品美女久久久久久2018| 欧美日本一区二区三区| av在线一区二区| 青青草国产精品亚洲专区无| 亚洲欧美激情小说另类| 久久青草欧美一区二区三区| 欧美巨大另类极品videosbest | www.在线欧美| 精久久久久久久久久久| 日韩黄色一级片| 日韩理论片一区二区| 精品国产伦理网| 91麻豆精品国产91久久久久| 91亚洲精品久久久蜜桃网站| 国内国产精品久久| 麻豆成人91精品二区三区| 一区二区理论电影在线观看| 欧美激情在线看| 精品国产伦理网| 欧美丰满美乳xxx高潮www| 99久久精品免费| 成人一区二区三区中文字幕| 老汉av免费一区二区三区| 亚洲激情在线播放| 亚洲精品菠萝久久久久久久| 国产欧美一区二区精品秋霞影院| 欧美丝袜第三区| 欧美午夜精品电影| 91香蕉视频mp4| 盗摄精品av一区二区三区| 国产成人精品综合在线观看| 奇米精品一区二区三区在线观看一 | 国产日韩高清在线| 欧美tickling挠脚心丨vk| 欧美另类高清zo欧美| 欧美亚洲尤物久久| 欧美网站一区二区| 色综合天天综合给合国产| 成人在线视频一区二区| 丁香激情综合国产| 国产成人免费视频精品含羞草妖精| 精久久久久久久久久久| 国模一区二区三区白浆| 老色鬼精品视频在线观看播放| 日韩中文字幕区一区有砖一区| 亚洲第一av色| 亚洲sss视频在线视频| 亚洲一区二区精品久久av| 日韩美女久久久| 亚洲天堂av一区| 最新国产精品久久精品| 久久久久九九视频| 久久久青草青青国产亚洲免观| 精品日产卡一卡二卡麻豆| 日韩一级片在线播放| 日韩一区二区在线观看| 91麻豆精品国产91久久久资源速度 | 67194成人在线观看| 6080日韩午夜伦伦午夜伦| 日韩精品一区二区三区视频| 欧美福利视频导航| 日韩欧美中文字幕一区| 日韩免费电影一区| 国产天堂亚洲国产碰碰| 国产精品福利在线播放| 最新久久zyz资源站| 亚洲国产aⅴ天堂久久| 爽爽淫人综合网网站| 日韩精品一区第一页| 国产一区亚洲一区| 成人激情文学综合网| 成人一区二区在线观看| 91国模大尺度私拍在线视频| 欧美亚洲高清一区| 欧美性生活久久| 日韩一级免费观看| 久久这里只精品最新地址| 中文字幕欧美国产| 一区二区三区在线观看网站| 亚洲国产成人porn| 狠狠v欧美v日韩v亚洲ⅴ| 国产黑丝在线一区二区三区| 成人app在线| 欧美日韩国产片| 日韩精品中文字幕在线一区| 久久久精品中文字幕麻豆发布| 自拍av一区二区三区| 亚洲成人av中文| 极品美女销魂一区二区三区| 91网站视频在线观看| 欧美日韩国产首页| 精品国产免费久久| 伊人色综合久久天天| 男人的天堂久久精品| 日本特黄久久久高潮| 国产超碰在线一区| 欧美亚洲综合一区| 久久久蜜臀国产一区二区| 亚洲人xxxx| 日本91福利区| 波多野结衣精品在线| 在线观看亚洲专区| 精品国产1区2区3区| 中文字幕在线视频一区| 亚洲国产一区视频| 成人性生交大片免费| 欧美色图免费看| 2024国产精品| 亚洲一区二区不卡免费| 精品一二线国产| heyzo一本久久综合| 日韩午夜电影在线观看| 国产精品久久看| 久久国内精品视频| 一本大道久久a久久精品综合| 69堂成人精品免费视频| 日韩伦理电影网| 麻豆免费精品视频| 91免费国产视频网站| 日韩欧美电影在线| 亚洲国产婷婷综合在线精品| 粉嫩av一区二区三区在线播放| 欧美高清激情brazzers| 亚洲色图另类专区| 国产69精品久久777的优势| 欧美一区二区视频观看视频| 一区二区三区欧美日韩| 成人一区二区三区| 久久亚洲一区二区三区明星换脸 | 国产一区二区久久| 69av一区二区三区| 一区二区三区四区视频精品免费 | 99久久精品免费| 国产午夜精品久久| 久久爱另类一区二区小说| 欧美日韩综合在线免费观看|