• <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è)算法
    国产成人系列免费观看| 国产毛片在线视频| 菩萨蛮人人尽说江南好唐韦庄| 亚洲,一卡二卡三卡| 狂野欧美激情性xxxx| 在线精品无人区一区二区三| 国产精品久久久人人做人人爽| 亚洲国产毛片av蜜桃av| 高清视频免费观看一区二区| 成人亚洲精品一区在线观看| 色精品久久人妻99蜜桃| 天天躁夜夜躁狠狠久久av| 欧美激情高清一区二区三区 | 亚洲av电影在线进入| 一区二区三区四区激情视频| 看十八女毛片水多多多| 免费观看性生交大片5| 久久精品国产亚洲av涩爱| 美女扒开内裤让男人捅视频| 青春草视频在线免费观看| 欧美日韩亚洲国产一区二区在线观看 | 中文天堂在线官网| 亚洲精品日本国产第一区| 亚洲七黄色美女视频| 在线 av 中文字幕| 成人毛片60女人毛片免费| a级毛片黄视频| 久久久久久久久久久久大奶| 黄色视频在线播放观看不卡| 精品福利永久在线观看| 老司机在亚洲福利影院| 亚洲激情五月婷婷啪啪| 国产亚洲av高清不卡| 久久久久久久久久久久大奶| 亚洲国产精品成人久久小说| 色网站视频免费| 嫩草影院入口| 丝袜美腿诱惑在线| 精品卡一卡二卡四卡免费| 波野结衣二区三区在线| 中文字幕高清在线视频| 久久久国产精品麻豆| 精品卡一卡二卡四卡免费| 亚洲成人av在线免费| 国产1区2区3区精品| 夫妻性生交免费视频一级片| 亚洲成人手机| 一级毛片黄色毛片免费观看视频| 中文乱码字字幕精品一区二区三区| 久久久久久久久久久久大奶| 黄网站色视频无遮挡免费观看| 亚洲美女黄色视频免费看| 久久青草综合色| 新久久久久国产一级毛片| 亚洲美女视频黄频| tube8黄色片| 国产成人啪精品午夜网站| a级片在线免费高清观看视频| 色视频在线一区二区三区| 波野结衣二区三区在线| 在现免费观看毛片| 亚洲精品视频女| 女的被弄到高潮叫床怎么办| 国产一区二区在线观看av| 精品一区二区三卡| 国产激情久久老熟女| 国产精品二区激情视频| 中文字幕高清在线视频| 在线看a的网站| 久久久久久久久久久免费av| 欧美 日韩 精品 国产| 我的亚洲天堂| 国产一区二区三区av在线| 香蕉丝袜av| 国产探花极品一区二区| 老司机在亚洲福利影院| 国产极品粉嫩免费观看在线| 在线观看免费视频网站a站| 国产99久久九九免费精品| 国产成人精品久久久久久| 性色av一级| 亚洲精品乱久久久久久| 国产伦理片在线播放av一区| 咕卡用的链子| 亚洲精品久久久久久婷婷小说| 国产精品av久久久久免费| 国产一卡二卡三卡精品 | 天天影视国产精品| 飞空精品影院首页| 午夜激情av网站| 纯流量卡能插随身wifi吗| 久久久久视频综合| 不卡视频在线观看欧美| 亚洲欧美成人精品一区二区| 亚洲欧美一区二区三区久久| 久久天躁狠狠躁夜夜2o2o | 国产老妇伦熟女老妇高清| 日本午夜av视频| 欧美变态另类bdsm刘玥| 一本久久精品| 欧美精品一区二区免费开放| 午夜福利视频在线观看免费| 天美传媒精品一区二区| 国产成人精品无人区| 九九爱精品视频在线观看| 久久ye,这里只有精品| 男女之事视频高清在线观看 | 久久这里只有精品19| 国产成人一区二区在线| 欧美日韩精品网址| 女人精品久久久久毛片| 日韩,欧美,国产一区二区三区| 欧美日韩av久久| 国产成人91sexporn| 99re6热这里在线精品视频| 老司机在亚洲福利影院| 成人国产av品久久久| 一区二区三区乱码不卡18| 婷婷色综合大香蕉| 精品人妻在线不人妻| 美国免费a级毛片| 亚洲精品久久久久久婷婷小说| 丝袜在线中文字幕| 欧美日韩视频精品一区| 丁香六月欧美| 高清黄色对白视频在线免费看| 国产精品久久久久久精品古装| 少妇被粗大猛烈的视频| 伊人久久国产一区二区| 中文精品一卡2卡3卡4更新| 成人午夜精彩视频在线观看| 国产极品粉嫩免费观看在线| 一区二区三区激情视频| 国产国语露脸激情在线看| 在线观看人妻少妇| 青春草视频在线免费观看| 亚洲av在线观看美女高潮| 晚上一个人看的免费电影| 精品国产一区二区久久| 亚洲成人国产一区在线观看 | 国产色婷婷99| 丰满迷人的少妇在线观看| av有码第一页| 国产老妇伦熟女老妇高清| 丝袜人妻中文字幕| 另类精品久久| 中国三级夫妇交换| 精品人妻在线不人妻| 日本爱情动作片www.在线观看| 99精国产麻豆久久婷婷| 亚洲欧美一区二区三区国产| 国产 一区精品| 免费黄频网站在线观看国产| 夫妻午夜视频| 黄色一级大片看看| 婷婷色综合www| 大香蕉久久成人网| 99久久人妻综合| 男女高潮啪啪啪动态图| 久久久久久久久久久免费av| 亚洲一区中文字幕在线| 香蕉国产在线看| 精品亚洲成国产av| 久久久久精品国产欧美久久久 | 人人妻人人澡人人爽人人夜夜| 日韩精品免费视频一区二区三区| 国产精品香港三级国产av潘金莲 | 欧美激情 高清一区二区三区| 日日爽夜夜爽网站| 午夜福利在线免费观看网站| 日韩 亚洲 欧美在线| 午夜老司机福利片| 亚洲国产日韩一区二区| 黄色视频在线播放观看不卡| 亚洲欧美成人综合另类久久久| 日韩欧美一区视频在线观看| 国产精品女同一区二区软件| 亚洲一级一片aⅴ在线观看| 日韩大码丰满熟妇| 亚洲国产欧美一区二区综合| 国产精品一区二区在线观看99| 欧美精品高潮呻吟av久久| 麻豆乱淫一区二区| 少妇人妻精品综合一区二区| 国产精品女同一区二区软件| 免费av中文字幕在线| 亚洲成人av在线免费| 老司机靠b影院| 欧美中文综合在线视频| 男人操女人黄网站| 国产不卡av网站在线观看| 老司机影院成人| 亚洲欧洲国产日韩| 日韩欧美一区视频在线观看| 国产精品熟女久久久久浪| 亚洲精品日本国产第一区| 一级毛片 在线播放| 久久精品国产亚洲av涩爱| 久久韩国三级中文字幕| 亚洲成人av在线免费| 老司机靠b影院| 中国国产av一级| 高清黄色对白视频在线免费看| 久久久久久人人人人人| 男女高潮啪啪啪动态图| 人成视频在线观看免费观看| av线在线观看网站| 一级毛片电影观看| 亚洲欧美精品自产自拍| 国产在线一区二区三区精| 亚洲精品久久午夜乱码| 中文字幕色久视频| 在线精品无人区一区二区三| 国产日韩欧美视频二区| 大码成人一级视频| 欧美最新免费一区二区三区| 999久久久国产精品视频| 精品人妻一区二区三区麻豆| 观看美女的网站| 男的添女的下面高潮视频| av在线app专区| 丝袜美足系列| 观看av在线不卡| 免费在线观看完整版高清| 老司机影院成人| 国产精品亚洲av一区麻豆 | 国产av精品麻豆| 熟妇人妻不卡中文字幕| 91老司机精品| 汤姆久久久久久久影院中文字幕| 久久久久网色| 大话2 男鬼变身卡| 人人妻,人人澡人人爽秒播 | 亚洲精品国产区一区二| www.熟女人妻精品国产| 久久久久久久久久久久大奶| 欧美97在线视频| 五月天丁香电影| 大码成人一级视频| 最近最新中文字幕大全免费视频 | 国产人伦9x9x在线观看| 伊人亚洲综合成人网| 午夜免费观看性视频| 欧美国产精品va在线观看不卡| 人人妻人人澡人人看| 少妇被粗大的猛进出69影院| 9热在线视频观看99| 国产精品人妻久久久影院| 丝袜美腿诱惑在线| 亚洲av成人不卡在线观看播放网 | 母亲3免费完整高清在线观看| 亚洲伊人色综图| 91精品伊人久久大香线蕉| 久久精品久久久久久噜噜老黄| www.av在线官网国产| 亚洲三区欧美一区| 色视频在线一区二区三区| 亚洲天堂av无毛| 女人久久www免费人成看片| 在线亚洲精品国产二区图片欧美| 久久99热这里只频精品6学生| 日韩大码丰满熟妇| 深夜精品福利| 婷婷成人精品国产| 91老司机精品| 最新的欧美精品一区二区| 欧美变态另类bdsm刘玥| 热99国产精品久久久久久7| 女性被躁到高潮视频| 国产免费一区二区三区四区乱码| 天美传媒精品一区二区| 亚洲精品国产色婷婷电影| 国产精品 欧美亚洲| 亚洲国产中文字幕在线视频| 天天操日日干夜夜撸| 国产xxxxx性猛交| 亚洲欧美日韩另类电影网站| 亚洲国产精品一区三区| 日韩精品有码人妻一区| 女性生殖器流出的白浆| 波多野结衣av一区二区av| 丝袜美足系列| 大片电影免费在线观看免费| 婷婷色麻豆天堂久久| 九草在线视频观看| 亚洲欧美一区二区三区黑人| 香蕉国产在线看| 日本av手机在线免费观看| 人人妻人人添人人爽欧美一区卜| 亚洲综合精品二区| 欧美成人午夜精品| 国产乱人偷精品视频| 丝袜喷水一区| 午夜福利视频在线观看免费| 亚洲第一av免费看| 无遮挡黄片免费观看| 国产又爽黄色视频| 国产探花极品一区二区| 满18在线观看网站| 亚洲精品视频女| 国产高清不卡午夜福利| 国产av一区二区精品久久| 亚洲欧美激情在线| 毛片一级片免费看久久久久| 99热国产这里只有精品6| 中文字幕人妻丝袜制服| 乱人伦中国视频| 女性被躁到高潮视频| 精品第一国产精品| 成人国产av品久久久| 久久人人97超碰香蕉20202| 欧美人与性动交α欧美软件| 午夜激情久久久久久久| 国产精品一国产av| 你懂的网址亚洲精品在线观看| 精品视频人人做人人爽| 精品久久久精品久久久| av一本久久久久| 日韩制服骚丝袜av| a级毛片在线看网站| 色94色欧美一区二区| 亚洲人成网站在线观看播放| 欧美日韩精品网址| 久久韩国三级中文字幕| 免费久久久久久久精品成人欧美视频| 久久影院123| e午夜精品久久久久久久| 亚洲精品自拍成人| videosex国产| 久久久欧美国产精品| 久久精品国产a三级三级三级| www日本在线高清视频| xxxhd国产人妻xxx| 大香蕉久久成人网| 高清黄色对白视频在线免费看| 精品少妇黑人巨大在线播放| 久久国产精品男人的天堂亚洲| 国产乱来视频区| 最近手机中文字幕大全| 亚洲欧洲精品一区二区精品久久久 | 日本爱情动作片www.在线观看| 日日撸夜夜添| 欧美日韩成人在线一区二区| 人体艺术视频欧美日本| 99国产精品免费福利视频| 无遮挡黄片免费观看| 中文字幕人妻丝袜一区二区 | 久久精品国产亚洲av涩爱| 亚洲第一av免费看| 曰老女人黄片| 黄色毛片三级朝国网站| av一本久久久久| 少妇人妻久久综合中文| 最近中文字幕2019免费版| 国产又色又爽无遮挡免| 亚洲少妇的诱惑av| 999精品在线视频| 男人爽女人下面视频在线观看| 夫妻午夜视频| 国产亚洲欧美精品永久| 日本色播在线视频| 1024视频免费在线观看| 久久久国产精品麻豆| 热99久久久久精品小说推荐| 亚洲成人免费av在线播放| 如何舔出高潮| 亚洲五月色婷婷综合| 青青草视频在线视频观看| 熟女少妇亚洲综合色aaa.| 日韩精品有码人妻一区| 久久精品亚洲av国产电影网| 啦啦啦 在线观看视频| 一级毛片我不卡| 美女国产高潮福利片在线看| 好男人视频免费观看在线| 丰满迷人的少妇在线观看| www.精华液| av网站在线播放免费| 免费av中文字幕在线| 亚洲国产av新网站| 欧美日韩福利视频一区二区| 国产黄色免费在线视频| 男的添女的下面高潮视频| 欧美日韩综合久久久久久| 看免费成人av毛片| 久久av网站| 精品国产超薄肉色丝袜足j| 国产精品免费视频内射| 国产精品嫩草影院av在线观看| 毛片一级片免费看久久久久| 丁香六月欧美| 天美传媒精品一区二区| xxxhd国产人妻xxx| 一二三四在线观看免费中文在| 亚洲图色成人| 狠狠精品人妻久久久久久综合| 欧美黑人精品巨大| 女性生殖器流出的白浆| 亚洲成人av在线免费| 亚洲第一区二区三区不卡| 亚洲欧美精品自产自拍| 成人亚洲欧美一区二区av| 久久精品人人爽人人爽视色| 久久亚洲国产成人精品v| 黄片小视频在线播放| 无遮挡黄片免费观看| 午夜影院在线不卡| 亚洲成人免费av在线播放| 免费黄频网站在线观看国产| 久久久久久久大尺度免费视频| 综合色丁香网| 亚洲,一卡二卡三卡| 一区二区三区激情视频| 麻豆精品久久久久久蜜桃| 狠狠精品人妻久久久久久综合| 亚洲精品在线美女| 精品一区二区三卡| 国产精品一区二区在线观看99| 国产熟女午夜一区二区三区| 亚洲欧美一区二区三区久久| 麻豆乱淫一区二区| 韩国高清视频一区二区三区| 老汉色∧v一级毛片| 久久久久久久大尺度免费视频| www日本在线高清视频| 少妇 在线观看| 久久久精品区二区三区| 欧美亚洲日本最大视频资源| 女的被弄到高潮叫床怎么办| 99久久人妻综合| 美女中出高潮动态图| 80岁老熟妇乱子伦牲交| 久久亚洲国产成人精品v| 亚洲视频免费观看视频| 人人妻人人爽人人添夜夜欢视频| 国产精品二区激情视频| 九草在线视频观看| 国产高清不卡午夜福利| 久久99一区二区三区| 男女免费视频国产| 天天躁夜夜躁狠狠久久av| 又大又爽又粗| 欧美日韩福利视频一区二区| 女人精品久久久久毛片| 最新在线观看一区二区三区 | 日日撸夜夜添| 精品国产国语对白av| 国产精品嫩草影院av在线观看| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲欧美色中文字幕在线| 亚洲精品中文字幕在线视频| 中文字幕亚洲精品专区| 老熟女久久久| 18禁动态无遮挡网站| 九色亚洲精品在线播放| 国产老妇伦熟女老妇高清| 国产精品国产三级国产专区5o| h视频一区二区三区| 国产午夜精品一二区理论片| 精品少妇黑人巨大在线播放| 亚洲人成77777在线视频| 亚洲精品美女久久av网站| 视频区图区小说| 亚洲精品国产一区二区精华液| 久久青草综合色| 国语对白做爰xxxⅹ性视频网站| 伦理电影免费视频| 少妇猛男粗大的猛烈进出视频| 成人影院久久| 啦啦啦视频在线资源免费观看| 无限看片的www在线观看| 啦啦啦啦在线视频资源| 亚洲精华国产精华液的使用体验| 久久人妻熟女aⅴ| 成人国产av品久久久| 亚洲av电影在线进入| 精品一区二区三区四区五区乱码 | 免费观看av网站的网址| 一本—道久久a久久精品蜜桃钙片| 色播在线永久视频| 中文字幕精品免费在线观看视频| 国产免费一区二区三区四区乱码| 日本欧美国产在线视频| 一级黄片播放器| 国产日韩欧美亚洲二区| 日韩精品免费视频一区二区三区| 欧美激情 高清一区二区三区| 成人免费观看视频高清| 免费高清在线观看日韩| 久久免费观看电影| 成人手机av| 女人精品久久久久毛片| 免费久久久久久久精品成人欧美视频| 亚洲,一卡二卡三卡| 精品一区二区三区av网在线观看 | 啦啦啦啦在线视频资源| 十八禁高潮呻吟视频| 一区福利在线观看| 国产免费现黄频在线看| 母亲3免费完整高清在线观看| 日本色播在线视频| 国产熟女午夜一区二区三区| 国产激情久久老熟女| 国产99久久九九免费精品| 在线 av 中文字幕| 丝袜在线中文字幕| 欧美变态另类bdsm刘玥| 亚洲成人av在线免费| 国产 一区精品| 多毛熟女@视频| www.熟女人妻精品国产| 又黄又粗又硬又大视频| 三上悠亚av全集在线观看| 亚洲第一青青草原| 香蕉丝袜av| 又粗又硬又长又爽又黄的视频| 韩国av在线不卡| 久久久精品免费免费高清| 在线看a的网站| 亚洲欧洲日产国产| 高清欧美精品videossex| 男女无遮挡免费网站观看| 免费观看a级毛片全部| 丰满迷人的少妇在线观看| av女优亚洲男人天堂| tube8黄色片| 99精国产麻豆久久婷婷| 精品福利永久在线观看| 亚洲精品视频女| 欧美日韩亚洲国产一区二区在线观看 | 麻豆乱淫一区二区| 婷婷成人精品国产| 亚洲成人国产一区在线观看 | 美女视频免费永久观看网站| 大话2 男鬼变身卡| av在线播放精品| 欧美黑人精品巨大| 亚洲免费av在线视频| 亚洲五月色婷婷综合| 国产精品久久久人人做人人爽| 国产97色在线日韩免费| 丝袜在线中文字幕| 美女大奶头黄色视频| 欧美少妇被猛烈插入视频| 国产亚洲精品第一综合不卡| 亚洲天堂av无毛| 一二三四在线观看免费中文在| 大香蕉久久网| www.熟女人妻精品国产| 久久国产精品男人的天堂亚洲| 波多野结衣一区麻豆| 2021少妇久久久久久久久久久| 青春草视频在线免费观看| 久久久亚洲精品成人影院| 日韩成人av中文字幕在线观看| 一个人免费看片子| 国产黄频视频在线观看| 9色porny在线观看| 国产亚洲精品第一综合不卡| 一区二区三区精品91| 一区二区三区乱码不卡18| 欧美激情 高清一区二区三区| 亚洲一卡2卡3卡4卡5卡精品中文| 亚洲欧美中文字幕日韩二区| 夫妻性生交免费视频一级片| 精品第一国产精品| 69精品国产乱码久久久| av不卡在线播放| 黄色视频不卡| 交换朋友夫妻互换小说| 日日爽夜夜爽网站| 伊人久久大香线蕉亚洲五| 欧美亚洲 丝袜 人妻 在线| 中文字幕精品免费在线观看视频| 亚洲精品一二三| 啦啦啦在线观看免费高清www| 日日啪夜夜爽| 高清黄色对白视频在线免费看| 9191精品国产免费久久| 精品少妇黑人巨大在线播放| 夫妻午夜视频| 免费少妇av软件| 桃花免费在线播放| 免费黄网站久久成人精品| 波多野结衣一区麻豆| 黄网站色视频无遮挡免费观看| 天天操日日干夜夜撸| 一区二区三区四区激情视频| 免费在线观看完整版高清| 亚洲欧洲日产国产| 亚洲国产精品国产精品| 欧美日韩福利视频一区二区| 丰满饥渴人妻一区二区三| 亚洲av欧美aⅴ国产| 中文字幕精品免费在线观看视频| 国产一区二区三区综合在线观看| 国产精品一区二区在线不卡| 欧美黑人精品巨大| 丝袜人妻中文字幕| 欧美 日韩 精品 国产| 99热网站在线观看| 国产伦理片在线播放av一区| 午夜福利影视在线免费观看| 国产毛片在线视频| 91精品伊人久久大香线蕉| 天天操日日干夜夜撸| 97精品久久久久久久久久精品| 婷婷色综合大香蕉| 波多野结衣av一区二区av| 如日韩欧美国产精品一区二区三区| 熟妇人妻不卡中文字幕| 国产男人的电影天堂91| 男女床上黄色一级片免费看| 中文字幕高清在线视频| 中文天堂在线官网|