• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    BWDSP SIMD編譯的寄存器分配優(yōu)化技術(shù)研究※

    2015-08-15 06:26:03王昊王向前
    關(guān)鍵詞:生命期基本塊編譯器

    王昊,王向前

    (中國(guó)電子科技集團(tuán)公司第三十八研究所,合肥230088)

    BWDSP SIMD編譯的寄存器分配優(yōu)化技術(shù)研究※

    王昊,王向前

    (中國(guó)電子科技集團(tuán)公司第三十八研究所,合肥230088)

    BWDSP是一款自主設(shè)計(jì)的國(guó)產(chǎn)VLIW(超長(zhǎng)指令字)數(shù)字信號(hào)處理器,支持SIMD技術(shù),其SIMD指令可以在4個(gè)宏上同時(shí)執(zhí)行4個(gè)32位計(jì)算,對(duì)寄存器使用有特殊規(guī)則,Open64編譯器的寄存器分配策略并不適用于這種規(guī)則。本文對(duì)BWDSP SIMD指令的寄存器分配優(yōu)化技術(shù)進(jìn)行了研究,并在BWDSP的編譯器OCC上得以實(shí)現(xiàn)。

    DSP;SIMD;寄存器分配

    引言

    BWDSP[1]是一款32位靜態(tài)超標(biāo)量浮點(diǎn)數(shù)字處理器,采用超長(zhǎng)指令字(Very Long Instruction Word,VLIW)架構(gòu),支持SIMD技術(shù)。BWDSP核內(nèi)包含4個(gè)基本執(zhí)行宏,代號(hào)是X、Y、Z、T,每個(gè)宏由算術(shù)邏輯單元(ALU)、乘法器(MUL)、移位器(SHF)、超算器(SPU)和一個(gè)通用寄存器組成。

    BWDSP最多可以同時(shí)執(zhí)行16條指令,其SIMD指令有其特殊性,本質(zhì)上就是多條相同的指令并發(fā)執(zhí)行,下面將對(duì)其特性進(jìn)行分析,說(shuō)明BWDSP編譯器的寄存器分配需要特殊的優(yōu)化技術(shù)來(lái)滿(mǎn)足SIMD指令的要求。

    1 BWDSP SIMD指令的特性分析

    BWDSP計(jì)算指令的通用格式如下:

    [Macro]Rm=Rnop Rs

    Macro是執(zhí)行宏的代號(hào),op是操作,符號(hào)“||”連接多個(gè)可并行指令,比如:xRm=Rn+Rs是Scalar指令,表示在X宏上執(zhí)行整數(shù)加法操作;xyztRm=Rn+Rs是SIMD指令,表示在X、Y、Z、T四個(gè)宏上同時(shí)執(zhí)行整數(shù)加法操作,等同于xRm=Rn+Rs||yRm=Rn+Rs||zRm=Rn+Rs||tRm=Rn+ Rs。圖1是BWDSP SIMD add指令的執(zhí)行示意圖。

    圖1 BWDSP SIMD add指令執(zhí)行示意圖

    Intel x86-64 CPU[2]也有SIMD加法指令:

    paddd xmmi,xmmk

    表示xmmk=xmmi+xmmk,形式很像BWDSP的Scalar加法指令。圖2是Intel x86-64的paddd指令執(zhí)行示意圖。

    比較以上兩種類(lèi)型的SIMD加法指令,總結(jié)4點(diǎn)區(qū)別如下:

    ① x86-64的 paddd指令只需要一個(gè)核執(zhí)行;而B(niǎo)WDSP SIMD add指令需要多個(gè)宏同時(shí)執(zhí)行。

    ②x86-64的paddd指令只需要使用一個(gè)加法器;而B(niǎo)WDSP SIMD add指令使用4個(gè)加法器。

    圖2 Intel x86-64 paddd指令執(zhí)行示意圖

    ③x86-64 CPU為支持128位SIMD數(shù)據(jù)操作,增加了128位全新的XMM寄存器,這些XMM寄存器屬于同一類(lèi);而B(niǎo)WDSP只有32位通用寄存器,BWDSP SIMD add指令需要的寄存器在多個(gè)宏上,分屬不同寄存器類(lèi)。

    ④BWDSP SIMD add指令為相同位置的操作數(shù)分配的不同宏上的寄存器,其編號(hào)必須相同,如圖1中4個(gè)宏的結(jié)果寄存器的編號(hào)都是0,而x86-64沒(méi)有這種約束條件。

    以上4點(diǎn)也是對(duì)BWDSP SIMD指令特性的分析,接下來(lái)本文將對(duì)OCC編譯器現(xiàn)有的寄存器分配策略進(jìn)行分析,說(shuō)明其還無(wú)法滿(mǎn)足BWDSP SIMD指令的這些特性,需要設(shè)計(jì)更有針對(duì)性的寄存器分配優(yōu)化技術(shù)。

    2 BWDSP Scalar指令的寄存器分配策略

    在機(jī)器硬件結(jié)構(gòu)中,寄存器的數(shù)量遠(yuǎn)小于內(nèi)存,但它們是存儲(chǔ)層次結(jié)構(gòu)中最快的介質(zhì),也是關(guān)鍵資源之一。為提高程序運(yùn)行速度,源程序中用戶(hù)定義的變量應(yīng)該最大限度地映射到寄存器上。寄存器分配是編譯器后端的重要階段,在寄存器分配之前,中間代碼使用虛擬寄存器,數(shù)量不受限制,寄存器分配就是把這些虛擬寄存器映射到物理寄存器上的過(guò)程。

    寄存器分配有一個(gè)重要的基本概念——生命期(Live Range,LR),是指一個(gè)值從定義到最后一次使用之間的活躍范圍,通常用活躍的基本塊的集合描述。寄存器分配就是為L(zhǎng)R分配寄存器。BWDSP的編譯器OCC是以O(shè)pen64[3]為基礎(chǔ)開(kāi)發(fā)的,Open64編譯器的寄存器分配分為兩類(lèi):全局寄存器分配(Global Register Allocation,GRA)和局部寄存器分配(Local Register Allocation,LRA)。全局寄存器分配在一個(gè)函數(shù)范圍內(nèi),為活躍范圍超出一個(gè)基本塊的LR分配寄存器;局部寄存器分配在一個(gè)基本塊范圍內(nèi),為只活躍在基本塊內(nèi)部的LR分配寄存器。

    2.1 全局寄存器分配

    OCC采用Chaitin/Briggs的圖著色算法[5]實(shí)現(xiàn)全局寄存器分配,流程如圖3所示。

    GRA_Create過(guò)程創(chuàng)建全局寄存器分配的沖突圖,分為3個(gè)子過(guò)程:

    圖3 圖著色算法實(shí)現(xiàn)全局寄存器分配流程

    ①Create_LRANGEs創(chuàng)建生命期;

    ②Create_LiveBB_Sets為每個(gè)生命期創(chuàng)建活躍基本塊集合;

    ③ Create_Interference_Graph創(chuàng)建沖突圖。

    GRA_Color過(guò)程執(zhí)行Chaitin/Briggs的圖著色算法為生命期分配寄存器,分為3個(gè)子過(guò)程:

    ①GRA_Grant_Some_Locals在全局寄存器分配之前為局部寄存器分配預(yù)留一些寄存器,這些寄存器不會(huì)參與全局寄存器分配;

    ②Simplify對(duì)沖突圖進(jìn)行著色,能夠著色的結(jié)點(diǎn)會(huì)被分配寄存器;

    ③GRA_Note_Spill對(duì)不能著色的結(jié)點(diǎn)標(biāo)記為溢出結(jié)點(diǎn)。

    GRA_Spill過(guò)程對(duì)溢出的生命期在活躍范圍內(nèi)插入相應(yīng)的存取操作,在生命期的賦值操作后插入一條store指令,在該生命期的每個(gè)引用之前插入一條load指令。

    2.2 局部寄存器分配

    OCC采用線(xiàn)性?huà)呙杈植考拇嫫鞣峙洳呗裕瑥某绦虻拈_(kāi)始向后依次掃描各個(gè)基本塊,流程如圖4所示。

    Init_Avail_Regs初始化可用寄存器,Setup_Live_Ranges bb為基本塊bb中的局部TN創(chuàng)建生命期,Assign_Registers (bb,&spill_tn)遍歷bb中的所有操作,為其中的局部TN分配寄存器,成功則返回TRUE,失敗則返回FALSE,spill_tn是寄存器分配失敗的局部TN。如果失敗,調(diào)用Fix_LRA_ Blues,釋放一個(gè)已分配但在bb中沒(méi)有引用的全局寄存器(在bb的Entry部分插入store指令,在bb的EXIT部分插入load指令),然后把該寄存器分配給spill_tn。

    圖4 線(xiàn)性?huà)呙杈植考拇嫫鞣峙淞鞒?/p>

    3 BWDSP SIMD寄存器分配優(yōu)化技術(shù)

    3.1 Scalar指令寄存器分配策略的不足

    第2節(jié)詳細(xì)介紹了BWDSP Scalar指令的寄存器分配策略,但它無(wú)法滿(mǎn)足BWDSP SIMD指令的寄存器分配要求,主要是因?yàn)镾calar指令的寄存器分配策略有如下兩點(diǎn)不足:

    ①無(wú)法同時(shí)在BWDSP四個(gè)宏上分配寄存器。根據(jù)第1節(jié)對(duì)BWDSP SIMD指令的特性分析可知,一個(gè)Scalar指令的某個(gè)操作數(shù)位置需要映射到對(duì)應(yīng)宏(由分簇階段確定)上的一個(gè)寄存器,而一個(gè)SIMD指令的某個(gè)操作數(shù)位置需要映射到4個(gè)宏上的4個(gè)寄存器,并且要求編號(hào)相同。因此Scalar指令的寄存器分配策略目前無(wú)法滿(mǎn)足SIMD指令對(duì)寄存器分配的要求。

    ②SIMD指令的寄存器分配引入的寄存器溢出操作開(kāi)銷(xiāo)太大。SIMD指令都是在for循環(huán)內(nèi)部,操作數(shù)只活躍在一個(gè)基本塊內(nèi)部,其寄存器分配是由局部寄存器分配完成的。由2.2節(jié)可知,當(dāng)Assign_Registers(bb,&spill_tn)失敗時(shí),需要溢出一個(gè)全局寄存器,如果Assign_Registers失敗多次,就需要溢出多個(gè)全局寄存器,而這些溢出操作都要插入到for循環(huán)體內(nèi)部。一方面,SIMD指令對(duì)寄存器的需求量大(一個(gè)運(yùn)算類(lèi)SIMD指令最多需要12個(gè)通用寄存器),寄存器分配失敗可能會(huì)引入大量的溢出操作;另一方面,循環(huán)次數(shù)越多,溢出操作帶來(lái)的額外開(kāi)銷(xiāo)就越大。由此帶來(lái)的副作用可能會(huì)抵消SIMD指令對(duì)程序的加速作用,因此應(yīng)該想辦法彌補(bǔ)這個(gè)不足。

    3.2 SIMD指令寄存器分配優(yōu)化策略

    BWDSP SIMD指令的寄存器分配優(yōu)化策略是在Scalar指令寄存器分配策略基礎(chǔ)上有所創(chuàng)新,是對(duì)前者的補(bǔ)充,兩者綜合在一起滿(mǎn)足為兩類(lèi)指令分配寄存器的需求。SIMD指令寄存器分配優(yōu)化策略需要彌補(bǔ)Scalar指令寄存器分配策略的不足,一方面必須能同時(shí)在BWDSP四個(gè)宏上分配寄存器,另一方面要消除與SIMD指令相關(guān)的寄存器溢出操作。

    OCC后端的SIMD指令產(chǎn)生過(guò)程如圖5所示,SIMD指令寄存器分配優(yōu)化策略涉及其中3個(gè)階段,分別是SIMD指令WHIRL中間表示產(chǎn)生、全局寄存器分配和局部寄存器分配,下面將逐一對(duì)各階段的優(yōu)化技術(shù)進(jìn)行詳細(xì)介紹。

    3.2.1 GRA為SIMD指令預(yù)留寄存器

    SIMD指令的寄存器由LRA階段分配,只能分配caller-save寄存器(調(diào)用函數(shù)負(fù)責(zé)保存的寄存器),GRA先于LRA執(zhí)行,因此GRA階段需要為L(zhǎng)RA預(yù)留適量的callersave寄存器,保證 Scalar指令和SIMD指令有足夠的寄存器可供分配。但GRA又不能把所有callersave寄存器都預(yù)留給LRA,需要保障自身有充足的可分配寄存器。根據(jù)BWDSP的寄存器使用規(guī)則,每個(gè)宏上可供分配的caller-save寄存器有30個(gè),根據(jù)經(jīng)驗(yàn)選取其中12個(gè)編號(hào)連續(xù)的寄存器預(yù)留給LRA使用,4個(gè)宏上一共有48個(gè)寄存器。

    3.2.2 優(yōu)化SIMD指令WHIRL中間表示產(chǎn)生模塊

    圖5 編譯器后端SIMD指令產(chǎn)生過(guò)程

    理論上,一個(gè)for循環(huán)體內(nèi)的SIMD指令數(shù)量是沒(méi)有限制的,但由2.2節(jié)可知,當(dāng)LRA失敗時(shí)會(huì)產(chǎn)生溢出操作,而且額外開(kāi)銷(xiāo)很大,應(yīng)當(dāng)避免??疾霣WDSP的指令集可知一個(gè)SIMD運(yùn)算指令在一個(gè)宏上最多使用3個(gè)寄存器(4個(gè)宏上共使用12個(gè)寄存器)。為了不產(chǎn)生溢出操作,根據(jù)GRA預(yù)留的寄存器數(shù)量,每個(gè)for循環(huán)體內(nèi)最多可以有4條SIMD運(yùn)算指令。

    當(dāng)一個(gè)for循環(huán)體內(nèi)的SIMD運(yùn)算指令多于4個(gè)時(shí),需要把該循環(huán)拆分成多個(gè)小循環(huán),保證每個(gè)小循環(huán)體內(nèi)最多只有4條 SIMD運(yùn)算指令。這個(gè)判斷拆分過(guò)程要在SIMD指令的WHIRL中間表示產(chǎn)生模塊中進(jìn)行,因此要對(duì)原有的產(chǎn)生模塊進(jìn)行優(yōu)化,圖6顯示了原有的 SIMD WHIRL中間表示產(chǎn)生過(guò)程,圖7顯示了為配合SIMD指令寄存器分配而做的優(yōu)化過(guò)程。

    圖6 原有的SIMD WHIRL中間表示產(chǎn)生過(guò)程

    圖7 優(yōu)化后的SIMD WHIRL中間表示產(chǎn)生過(guò)程

    在優(yōu)化過(guò)程中,如果一個(gè)Loop經(jīng)過(guò)分析可以做SIMD優(yōu)化,還要判斷其內(nèi)部的Store操作(每個(gè)SIMD WN的頂層OPC都是Store)數(shù)量是否大于4。如果不大于4,直接執(zhí)行SIMD(Loop),產(chǎn)生Loop的SIMD WHIRL中間表示;如果大于4,就要把Loop拆分成多個(gè)小循環(huán),并對(duì)每個(gè)小循環(huán)分別執(zhí)行SIMD處理過(guò)程,產(chǎn)生各自的SIMD WHIRL中間表示。以上的優(yōu)化過(guò)程限制了小循環(huán)的體積,保證了SIMD指令在LRA階段不會(huì)產(chǎn)生額外的寄存器溢出操作。

    3.2.3 優(yōu)先為SIMD指令分配寄存器

    經(jīng)過(guò)上面兩個(gè)優(yōu)化過(guò)程,保證在LRA階段有足夠的寄存器可以分配給SIMD指令,不會(huì)產(chǎn)生寄存器溢出操作,接下來(lái)就要解決LRA無(wú)法同時(shí)在BWDSP四個(gè)宏上分配寄存器問(wèn)題。LRA階段為SIMD指令分配寄存器的優(yōu)化方法的程序原型略——編者注。

    針對(duì)BWDSP SIMD指令的特點(diǎn),程序原型采取的優(yōu)化方法解決了LRA的兩個(gè)關(guān)鍵問(wèn)題:

    ①保證SIMD指令有足夠可分配的寄存器。函數(shù)Assign_Registers為基本塊bb中的操作(OP)分配寄存器,其中的函數(shù)Init_Insts_Vector為 bb生成 OP序列 Insts_ Vector,在Insts_Vector中,SIMD操作排在Scalar操作之前。接下來(lái),函數(shù)Assign_Registers_For_OP按照Insts_Vector內(nèi)的順序依次為各個(gè)OPs分配寄存器,因此SIMD指令會(huì)被優(yōu)先分配寄存器,這就保證了SIMD指令有足夠可供分配的寄存器。

    ②保證SIMD指令的操作數(shù)能夠同時(shí)獲得4個(gè)宏上相同編號(hào)的寄存器。函數(shù)Allocate_Register為虛擬寄存器tn指派物理寄存器,其中的函數(shù)Get_Avail_Reg獲得一個(gè)可用的物理寄存器(reg是寄存器編號(hào))。如果tn是SIMD指令的操作數(shù),調(diào)用函數(shù)Delete_Avail_Reg把X、Y、Z、T四個(gè)宏上同為編號(hào)reg的寄存器都標(biāo)記為已使用,這樣該tn所代表的SIMD指令的操作數(shù)就同時(shí)獲得了4個(gè)宏上相同編號(hào)的寄存器。

    結(jié)語(yǔ)

    本文詳細(xì)介紹了如何在編譯器 OCC上實(shí)現(xiàn)為BWDSP SIMD指令分配寄存器的優(yōu)化技術(shù),該技術(shù)緊密結(jié)合BWDSP SIMD指令的特殊規(guī)則,可以與已有的Scalar指令寄存器分配策略有機(jī)整合在一起,相輔相成,共同滿(mǎn)足為BWDSP的兩類(lèi)指令分配寄存器的需求。

    編者注:本文為期刊縮略版,全文見(jiàn)本刊網(wǎng)站www. mesnet.com.cn。

    [1]王昊,黃光紅.基于BWDSP100的傳播分簇算法研究與實(shí)現(xiàn)[J].中國(guó)集成電路,2014(8):24-28.

    [2]Vernon Turner.White Paper Intel Announces Xeon Processor with 64-Bit Extensions[EB/OL].[2014-12].http://developer.intel.com/technology/64bitextensions/IDC_Intel_Xeon_ Whitepaper.pdf.

    [3]University of Houston.Overview of the open64 Compiler Infrastructure[EB/OL].[2014-12].http://www2.cs.uh.edu/~dragon/Documents/open64-doc.pdf.

    [4]SGI Inc.Whirl intermediate language specification[EB/OL]. [2014-12].http://open64.sourceforge.net.

    [5]Briggs P,Cooper K,Torczon L.Improvements to Graph Coloring Register Allocation[J].ACM Transactions on Programming Languages and Systems,1994,16(3):428-455.

    王昊(工程師),主要研究方向是DSP編譯器設(shè)計(jì)。

    Register Allocation Optimization Technology Based on BWDSP SIMD Compilation※

    Wang Hao,Wang Xiangqian
    (No.38th Research Institute,China Electronic Technology Group Corporation,Hefei 230088,China)

    BWDSP is a self-designed home made VLIW(Very Long Instruction Word)digital signal processor,which supports SIMD technology.BWDSP SIMD instructions can execute four 32-bit computing in four macros simultaneously.BWDSP SIMD instructions have special rules of register usage,but Open64 register allocation strategy is not fit for these rules.This paper carries out research on register allocation optimization of BWDSP SIMD instructions,and the actual process has been implemented on the BWDSP OCC compiler.

    DSP;SIMD;register allocation

    TP314

    A

    薛士然

    2014-12-01)

    猜你喜歡
    生命期基本塊編譯器
    基于級(jí)聯(lián)森林的控制流錯(cuò)誤檢測(cè)優(yōu)化算法
    距離與權(quán)重相結(jié)合的導(dǎo)向式灰盒模糊測(cè)試方法
    一種檢測(cè)控制流錯(cuò)誤的多層分段標(biāo)簽方法
    基于相異編譯器的安全計(jì)算機(jī)平臺(tái)交叉編譯環(huán)境設(shè)計(jì)
    冬季歐亞大陸反氣旋活動(dòng)特征及其與中國(guó)氣溫的關(guān)系
    飛行試驗(yàn)項(xiàng)目生命期研究
    無(wú)線(xiàn)傳感器網(wǎng)絡(luò)最大生命期聚合樹(shù)路由算法*
    通用NC代碼編譯器的設(shè)計(jì)與實(shí)現(xiàn)
    智慧城市的全生命期評(píng)價(jià)和成本分析
    改進(jìn)的CFCSS控制流檢測(cè)算法
    免费少妇av软件| 中文字幕人成人乱码亚洲影| 午夜两性在线视频| 91大片在线观看| 国产欧美日韩综合在线一区二区| 麻豆av在线久日| 亚洲精品中文字幕一二三四区| 女性生殖器流出的白浆| 久久久久久大精品| 欧美成人性av电影在线观看| 在线观看免费午夜福利视频| 可以在线观看毛片的网站| 国产精品免费视频内射| 日韩欧美一区视频在线观看| or卡值多少钱| 女人精品久久久久毛片| 欧美绝顶高潮抽搐喷水| 99re在线观看精品视频| 日日干狠狠操夜夜爽| 最新在线观看一区二区三区| 色播在线永久视频| 韩国精品一区二区三区| av在线天堂中文字幕| 99精品久久久久人妻精品| 国产精品一区二区免费欧美| 变态另类成人亚洲欧美熟女 | 久久久久国产一级毛片高清牌| netflix在线观看网站| 国产高清视频在线播放一区| 啦啦啦 在线观看视频| 两性夫妻黄色片| 制服人妻中文乱码| 久久国产精品影院| 欧美黄色片欧美黄色片| 久久天躁狠狠躁夜夜2o2o| 精品国产一区二区久久| 午夜免费激情av| 黄片大片在线免费观看| 午夜久久久久精精品| 97人妻天天添夜夜摸| 亚洲国产看品久久| 在线观看午夜福利视频| 黄色a级毛片大全视频| 亚洲国产高清在线一区二区三 | 久久香蕉国产精品| 操出白浆在线播放| 精品国产国语对白av| 91字幕亚洲| 亚洲精品粉嫩美女一区| 18禁黄网站禁片午夜丰满| 国产激情欧美一区二区| 精品人妻1区二区| 国产成人精品在线电影| 国产麻豆成人av免费视频| 精品国内亚洲2022精品成人| 国产高清视频在线播放一区| 色综合站精品国产| 首页视频小说图片口味搜索| 亚洲午夜精品一区,二区,三区| 一级a爱片免费观看的视频| 两个人视频免费观看高清| www国产在线视频色| 99国产精品一区二区三区| 在线视频色国产色| 一级片免费观看大全| www.精华液| 一二三四在线观看免费中文在| 国产主播在线观看一区二区| 嫁个100分男人电影在线观看| 丰满人妻熟妇乱又伦精品不卡| 在线观看66精品国产| 一区二区日韩欧美中文字幕| 一级,二级,三级黄色视频| 成人亚洲精品av一区二区| 两性午夜刺激爽爽歪歪视频在线观看 | 欧美丝袜亚洲另类 | a在线观看视频网站| 久久影院123| 亚洲国产高清在线一区二区三 | 欧美激情高清一区二区三区| 校园春色视频在线观看| 国产亚洲精品久久久久久毛片| 国产欧美日韩一区二区三| 夜夜爽天天搞| 校园春色视频在线观看| 日本vs欧美在线观看视频| aaaaa片日本免费| 人人妻人人澡人人看| 老司机午夜福利在线观看视频| 亚洲天堂国产精品一区在线| 日韩大尺度精品在线看网址 | 可以在线观看的亚洲视频| 一级毛片高清免费大全| 日本五十路高清| 欧美日韩亚洲综合一区二区三区_| 首页视频小说图片口味搜索| 女同久久另类99精品国产91| 国产一区二区激情短视频| 日本一区二区免费在线视频| 99国产精品一区二区三区| avwww免费| 日本 欧美在线| 黄色丝袜av网址大全| 日本黄色视频三级网站网址| videosex国产| 一卡2卡三卡四卡精品乱码亚洲| 9热在线视频观看99| 日韩欧美一区二区三区在线观看| 久久香蕉激情| 国产免费男女视频| 在线永久观看黄色视频| 中文字幕人妻熟女乱码| 国产伦一二天堂av在线观看| 精品人妻在线不人妻| 这个男人来自地球电影免费观看| 国产1区2区3区精品| 亚洲精品在线观看二区| 母亲3免费完整高清在线观看| 色尼玛亚洲综合影院| 一边摸一边做爽爽视频免费| 深夜精品福利| 国产麻豆69| 国产精品亚洲美女久久久| 亚洲国产高清在线一区二区三 | 亚洲国产看品久久| 国产伦人伦偷精品视频| 中文字幕最新亚洲高清| 成人国产一区最新在线观看| 亚洲黑人精品在线| 黑人欧美特级aaaaaa片| 女人高潮潮喷娇喘18禁视频| 欧美成人性av电影在线观看| 啦啦啦观看免费观看视频高清 | 欧洲精品卡2卡3卡4卡5卡区| 一区二区三区高清视频在线| 亚洲av第一区精品v没综合| 日本三级黄在线观看| 亚洲三区欧美一区| 亚洲性夜色夜夜综合| 中文字幕色久视频| 国产99白浆流出| 一个人免费在线观看的高清视频| 成熟少妇高潮喷水视频| 黄色 视频免费看| videosex国产| 正在播放国产对白刺激| 999久久久国产精品视频| 久久中文字幕人妻熟女| 91大片在线观看| 亚洲专区中文字幕在线| 满18在线观看网站| 亚洲欧美日韩高清在线视频| 无遮挡黄片免费观看| a级毛片在线看网站| 久久人人爽av亚洲精品天堂| 无遮挡黄片免费观看| 中国美女看黄片| 亚洲色图综合在线观看| 日本 av在线| 成年人黄色毛片网站| 9191精品国产免费久久| 久久天堂一区二区三区四区| 中文字幕人妻熟女乱码| 国产精品1区2区在线观看.| 欧美黑人欧美精品刺激| 老司机午夜福利在线观看视频| 国产精品亚洲一级av第二区| 久久久久久国产a免费观看| 国产精品亚洲av一区麻豆| av免费在线观看网站| 国产欧美日韩精品亚洲av| 亚洲免费av在线视频| 亚洲色图av天堂| 国产精品一区二区三区四区久久 | 亚洲国产精品久久男人天堂| 成人国产一区最新在线观看| www.www免费av| 真人做人爱边吃奶动态| 他把我摸到了高潮在线观看| 欧美色欧美亚洲另类二区 | 欧美人与性动交α欧美精品济南到| 韩国av一区二区三区四区| 国产av一区二区精品久久| 一级作爱视频免费观看| 亚洲av五月六月丁香网| 成人免费观看视频高清| 色尼玛亚洲综合影院| 午夜福利高清视频| 99国产精品一区二区蜜桃av| 看免费av毛片| 日韩欧美一区二区三区在线观看| 首页视频小说图片口味搜索| 一进一出抽搐gif免费好疼| 国产亚洲精品久久久久5区| 级片在线观看| 亚洲国产精品sss在线观看| 在线观看午夜福利视频| 丁香六月欧美| 老熟妇仑乱视频hdxx| 久久久久亚洲av毛片大全| 午夜福利欧美成人| 午夜福利免费观看在线| 国产精品永久免费网站| 亚洲美女黄片视频| 真人一进一出gif抽搐免费| 国产精品亚洲美女久久久| 亚洲成人国产一区在线观看| 久久精品国产99精品国产亚洲性色 | 国产精品香港三级国产av潘金莲| 国内精品久久久久久久电影| 国产一区二区三区视频了| 少妇裸体淫交视频免费看高清 | 禁无遮挡网站| 97人妻天天添夜夜摸| 成人免费观看视频高清| 日本在线视频免费播放| 最好的美女福利视频网| 真人一进一出gif抽搐免费| 亚洲最大成人中文| 淫秽高清视频在线观看| 亚洲精品国产色婷婷电影| 乱人伦中国视频| 国产精品久久视频播放| 欧美精品啪啪一区二区三区| 99国产精品免费福利视频| 老汉色∧v一级毛片| 99国产综合亚洲精品| 91大片在线观看| 男女午夜视频在线观看| 男人的好看免费观看在线视频 | 一级毛片精品| 一进一出好大好爽视频| 中出人妻视频一区二区| 亚洲精品中文字幕在线视频| 国产亚洲精品久久久久5区| 精品国产乱子伦一区二区三区| 亚洲国产毛片av蜜桃av| 欧美成人午夜精品| 亚洲七黄色美女视频| 欧美最黄视频在线播放免费| 久久精品国产清高在天天线| 国产精品久久电影中文字幕| 香蕉久久夜色| 欧美黑人精品巨大| 性欧美人与动物交配| 午夜两性在线视频| a级毛片在线看网站| 在线观看舔阴道视频| 精品乱码久久久久久99久播| 欧洲精品卡2卡3卡4卡5卡区| 精品人妻1区二区| 久久九九热精品免费| 不卡av一区二区三区| 国产三级黄色录像| 可以在线观看的亚洲视频| 亚洲 欧美一区二区三区| bbb黄色大片| www国产在线视频色| 欧美乱码精品一区二区三区| 久久婷婷成人综合色麻豆| 日韩精品免费视频一区二区三区| 国产精品久久久久久人妻精品电影| 久久国产精品人妻蜜桃| 日韩欧美一区二区三区在线观看| 精品日产1卡2卡| 午夜精品国产一区二区电影| 好男人在线观看高清免费视频 | 村上凉子中文字幕在线| 国产成人av教育| 一边摸一边做爽爽视频免费| a级毛片在线看网站| 国产精品亚洲美女久久久| 变态另类丝袜制服| 日本三级黄在线观看| 色在线成人网| 女人精品久久久久毛片| 91字幕亚洲| 成人手机av| 欧美精品亚洲一区二区| 免费人成视频x8x8入口观看| 老司机深夜福利视频在线观看| 久久久水蜜桃国产精品网| 国产精品 欧美亚洲| 国产av在哪里看| 后天国语完整版免费观看| 午夜激情av网站| 日本精品一区二区三区蜜桃| 午夜福利成人在线免费观看| 成人三级黄色视频| 首页视频小说图片口味搜索| 午夜影院日韩av| 午夜精品久久久久久毛片777| 国产精品98久久久久久宅男小说| 免费人成视频x8x8入口观看| 色老头精品视频在线观看| 成在线人永久免费视频| 9191精品国产免费久久| 亚洲av日韩精品久久久久久密| 成人18禁高潮啪啪吃奶动态图| 日韩 欧美 亚洲 中文字幕| 亚洲欧美激情综合另类| 国产精品影院久久| 国产麻豆成人av免费视频| 亚洲精品国产区一区二| 青草久久国产| 在线观看免费视频日本深夜| 两个人视频免费观看高清| 咕卡用的链子| 大陆偷拍与自拍| 国产精品电影一区二区三区| 久久精品影院6| 久久热在线av| 精品乱码久久久久久99久播| 9色porny在线观看| 日本精品一区二区三区蜜桃| 日韩欧美国产在线观看| 亚洲激情在线av| 多毛熟女@视频| 搡老岳熟女国产| 美女 人体艺术 gogo| 身体一侧抽搐| 男人操女人黄网站| 亚洲成人免费电影在线观看| 日韩高清综合在线| 久久香蕉精品热| 电影成人av| 少妇熟女aⅴ在线视频| 成在线人永久免费视频| 搡老熟女国产l中国老女人| 国产一区二区激情短视频| 人妻丰满熟妇av一区二区三区| 国产欧美日韩一区二区三| 午夜久久久在线观看| 国产一区在线观看成人免费| 欧美另类亚洲清纯唯美| 久久亚洲精品不卡| 亚洲国产中文字幕在线视频| 国产主播在线观看一区二区| 在线播放国产精品三级| 少妇被粗大的猛进出69影院| av天堂久久9| 国产主播在线观看一区二区| 高清在线国产一区| 一进一出好大好爽视频| 国产日韩一区二区三区精品不卡| 欧美黄色片欧美黄色片| 精品国产乱子伦一区二区三区| 在线免费观看的www视频| 亚洲精品国产色婷婷电影| 欧美黑人精品巨大| 亚洲精品国产色婷婷电影| 国产av一区二区精品久久| 欧洲精品卡2卡3卡4卡5卡区| 在线永久观看黄色视频| 九色国产91popny在线| 国产一卡二卡三卡精品| 黄色a级毛片大全视频| 美女高潮喷水抽搐中文字幕| 免费在线观看日本一区| 欧美激情极品国产一区二区三区| 国产成人精品久久二区二区免费| 午夜福利免费观看在线| 欧美久久黑人一区二区| 欧美黑人欧美精品刺激| 窝窝影院91人妻| 国产欧美日韩精品亚洲av| 高潮久久久久久久久久久不卡| 亚洲,欧美精品.| xxx96com| 啦啦啦 在线观看视频| 亚洲色图综合在线观看| 搡老岳熟女国产| 色播亚洲综合网| 日韩欧美在线二视频| 一区二区三区高清视频在线| 黄频高清免费视频| 国内久久婷婷六月综合欲色啪| 亚洲全国av大片| 久久中文字幕人妻熟女| 美女扒开内裤让男人捅视频| 精品卡一卡二卡四卡免费| 亚洲美女黄片视频| 免费人成视频x8x8入口观看| 精品不卡国产一区二区三区| 丁香欧美五月| 禁无遮挡网站| 久久国产亚洲av麻豆专区| 午夜影院日韩av| 1024视频免费在线观看| 久久人妻av系列| 纯流量卡能插随身wifi吗| 免费看美女性在线毛片视频| 久久久久久久久免费视频了| 91字幕亚洲| 狠狠狠狠99中文字幕| 色综合婷婷激情| 黄色视频,在线免费观看| 一本综合久久免费| 男女下面插进去视频免费观看| 岛国在线观看网站| 欧美在线一区亚洲| 一级黄色大片毛片| 亚洲色图 男人天堂 中文字幕| 12—13女人毛片做爰片一| 久久久国产成人免费| 91字幕亚洲| 99久久精品国产亚洲精品| 男女午夜视频在线观看| 熟女少妇亚洲综合色aaa.| 国产精品久久久人人做人人爽| 国产aⅴ精品一区二区三区波| 99精品欧美一区二区三区四区| 50天的宝宝边吃奶边哭怎么回事| 女性生殖器流出的白浆| 国产免费男女视频| 亚洲精品粉嫩美女一区| 亚洲成国产人片在线观看| 久久精品国产综合久久久| 此物有八面人人有两片| 亚洲人成77777在线视频| 久久亚洲真实| 高清在线国产一区| 波多野结衣高清无吗| 色综合站精品国产| 丰满人妻熟妇乱又伦精品不卡| 天天躁狠狠躁夜夜躁狠狠躁| 桃红色精品国产亚洲av| 老司机深夜福利视频在线观看| 色综合站精品国产| 久久人妻av系列| 啦啦啦免费观看视频1| 一边摸一边抽搐一进一小说| 久久国产精品人妻蜜桃| 亚洲国产欧美日韩在线播放| 午夜亚洲福利在线播放| 国产成人av激情在线播放| 巨乳人妻的诱惑在线观看| 老鸭窝网址在线观看| 国产片内射在线| 97人妻精品一区二区三区麻豆 | 俄罗斯特黄特色一大片| 久久 成人 亚洲| 免费在线观看完整版高清| 法律面前人人平等表现在哪些方面| 亚洲国产精品999在线| 热99re8久久精品国产| 亚洲一区二区三区色噜噜| 久久久久九九精品影院| 午夜福利视频1000在线观看 | 国产精品九九99| 久久热在线av| 久久天堂一区二区三区四区| 午夜福利成人在线免费观看| 国产亚洲精品第一综合不卡| 别揉我奶头~嗯~啊~动态视频| 黑人巨大精品欧美一区二区mp4| 一级片免费观看大全| 在线十欧美十亚洲十日本专区| 欧美日韩亚洲综合一区二区三区_| 久久国产亚洲av麻豆专区| 久久久水蜜桃国产精品网| 午夜免费鲁丝| 国产不卡一卡二| 两人在一起打扑克的视频| www.自偷自拍.com| 两性夫妻黄色片| 中文亚洲av片在线观看爽| 老鸭窝网址在线观看| 亚洲午夜精品一区,二区,三区| 俄罗斯特黄特色一大片| 黄色毛片三级朝国网站| 18禁国产床啪视频网站| 亚洲国产中文字幕在线视频| 欧美在线黄色| 女人精品久久久久毛片| 99国产极品粉嫩在线观看| 午夜老司机福利片| 999久久久国产精品视频| 久久香蕉激情| 免费在线观看影片大全网站| 亚洲人成电影观看| 久热爱精品视频在线9| 日韩av在线大香蕉| 亚洲一区二区三区不卡视频| 国产精品爽爽va在线观看网站 | 亚洲免费av在线视频| 精品人妻1区二区| 国产成人av教育| 好男人电影高清在线观看| 99在线视频只有这里精品首页| 亚洲精品中文字幕在线视频| 久久性视频一级片| 国产亚洲av高清不卡| 18美女黄网站色大片免费观看| 国产精品国产高清国产av| 亚洲一码二码三码区别大吗| 国产免费男女视频| 亚洲精品粉嫩美女一区| 国产成人精品久久二区二区91| 日韩有码中文字幕| 亚洲精品中文字幕在线视频| 香蕉国产在线看| 免费在线观看影片大全网站| 99香蕉大伊视频| 免费在线观看影片大全网站| 可以在线观看的亚洲视频| 神马国产精品三级电影在线观看 | 精品久久久久久,| 国产欧美日韩综合在线一区二区| 老熟妇仑乱视频hdxx| 国产精品秋霞免费鲁丝片| 亚洲全国av大片| 国内精品久久久久久久电影| 波多野结衣高清无吗| 可以在线观看的亚洲视频| 99久久久亚洲精品蜜臀av| 精品欧美国产一区二区三| 国产99白浆流出| 男人操女人黄网站| 免费在线观看影片大全网站| 99精品久久久久人妻精品| 999久久久国产精品视频| 中文字幕人妻熟女乱码| 国产野战对白在线观看| 日韩欧美国产在线观看| av在线天堂中文字幕| 亚洲欧美激情在线| 亚洲欧美激情综合另类| 18禁国产床啪视频网站| 成人永久免费在线观看视频| 桃红色精品国产亚洲av| 亚洲欧美日韩无卡精品| 黄片播放在线免费| 国产亚洲精品久久久久5区| 国产午夜福利久久久久久| 女人被狂操c到高潮| 人人妻人人爽人人添夜夜欢视频| 老司机深夜福利视频在线观看| 满18在线观看网站| 国产乱人伦免费视频| 日韩高清综合在线| 久久精品91蜜桃| 欧美成狂野欧美在线观看| 不卡一级毛片| 久久香蕉激情| 久久欧美精品欧美久久欧美| 国产97色在线日韩免费| 亚洲第一av免费看| svipshipincom国产片| 在线免费观看的www视频| 免费观看精品视频网站| 日本在线视频免费播放| 男女下面进入的视频免费午夜 | www.www免费av| 不卡一级毛片| bbb黄色大片| 久久久国产欧美日韩av| 欧美另类亚洲清纯唯美| 1024香蕉在线观看| 精品国内亚洲2022精品成人| videosex国产| 国产精品亚洲一级av第二区| 亚洲一区高清亚洲精品| 日韩精品免费视频一区二区三区| 国内久久婷婷六月综合欲色啪| 欧美午夜高清在线| 欧美一级a爱片免费观看看 | 黄网站色视频无遮挡免费观看| 国产av又大| 久久欧美精品欧美久久欧美| 欧美黄色淫秽网站| av欧美777| 国产在线精品亚洲第一网站| 亚洲精品美女久久av网站| 亚洲av片天天在线观看| 亚洲七黄色美女视频| 九色亚洲精品在线播放| 国产精品美女特级片免费视频播放器 | 女警被强在线播放| 91麻豆精品激情在线观看国产| 国产伦一二天堂av在线观看| 久9热在线精品视频| av欧美777| 一级毛片高清免费大全| 十八禁人妻一区二区| 国产亚洲精品第一综合不卡| 午夜免费鲁丝| 亚洲九九香蕉| 亚洲专区国产一区二区| 午夜精品久久久久久毛片777| 国产av一区二区精品久久| av电影中文网址| 欧美成人一区二区免费高清观看 | 国产精品美女特级片免费视频播放器 | 成人国语在线视频| 欧美日本中文国产一区发布| 一二三四在线观看免费中文在| 亚洲免费av在线视频| 在线天堂中文资源库| 九色亚洲精品在线播放| 亚洲一区高清亚洲精品| 黄色视频不卡| 一边摸一边做爽爽视频免费| 亚洲欧美精品综合久久99| 午夜福利免费观看在线| 国产99白浆流出| 日本三级黄在线观看| 91av网站免费观看| 天天躁夜夜躁狠狠躁躁| 午夜福利18| 国产99久久九九免费精品| 黄色视频,在线免费观看| 亚洲精品一卡2卡三卡4卡5卡| 男人操女人黄网站| www.自偷自拍.com|