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

    支持RISC-V向量指令的匯編器設(shè)計(jì)與實(shí)現(xiàn)*

    2021-01-06 08:16:10朱小龍孫海燕
    關(guān)鍵詞:標(biāo)量測試用例二進(jìn)制

    鄧 平,朱小龍,孫海燕,任 怡

    (國防科技大學(xué)計(jì)算機(jī)學(xué)院,湖南 長沙 410073)

    1 引言

    隨著智能物聯(lián)網(wǎng)AIOT(Artificial Internet Of Things)應(yīng)用需求的日益增長、中美國際貿(mào)易戰(zhàn)的影響以及企業(yè)本身對(duì)成本和技術(shù)創(chuàng)新的追求,RISC-V架構(gòu)以其開放、簡潔、模塊化等特點(diǎn)得到了業(yè)界廣泛關(guān)注。國內(nèi)有多家企業(yè)宣布采用RISC-V架構(gòu)設(shè)計(jì)相關(guān)芯片,包括華為、芯來科技、國防科技大學(xué)、中國科學(xué)院等。在芯片體系結(jié)構(gòu)相關(guān)技術(shù)中,向量指令是提高芯片運(yùn)算性能的重要手段之一。RISC-V聯(lián)盟于2020年5月發(fā)布RISC-V向量擴(kuò)展0.9版本[1]標(biāo)準(zhǔn)草案,給出了RISC-V體系結(jié)構(gòu)的向量指令規(guī)范,為RISC-V體系結(jié)構(gòu)[2]在更高性能的應(yīng)用領(lǐng)域中的推廣提供了支持。

    編譯器、匯編器等芯片編譯工具鏈對(duì)任何一個(gè)硬件架構(gòu)而言,都是構(gòu)筑軟件生態(tài)必不可少的組成部分,編譯環(huán)境的好壞直接決定了該架構(gòu)的用戶數(shù)量和應(yīng)用范圍。目前,RISC-V的配套開發(fā)環(huán)境已經(jīng)很成熟,但在支持向量指令這方面還不夠完善。雖然RISC-V已包含向量指令規(guī)范,但在目前的開源工具鏈代碼中并沒有實(shí)現(xiàn)相關(guān)的向量指令,這在很大程度上影響了RISC-V的應(yīng)用推廣。本文的主要工作是基于RISC-V 0.9版本向量規(guī)范和GNU Binutils開源平臺(tái),討論實(shí)現(xiàn)支持RISC-V向量指令的匯編器關(guān)鍵技術(shù),設(shè)計(jì)并實(shí)現(xiàn)RISC-V向量匯編器。

    2 技術(shù)背景

    2.1 向量指令集的特點(diǎn)

    RISC-V向量指令集是基于基礎(chǔ)指令集的拓展,主要用于支持向量運(yùn)算操作,提高硬件執(zhí)行效率。在RISC-V 0.9版本中,向量指令遵循如表1所示的編碼標(biāo)準(zhǔn)。向量指令[1]主要在標(biāo)量浮點(diǎn)加載(LOAD-FP)、標(biāo)量浮點(diǎn)存儲(chǔ)(STORE-FP)和原子性存儲(chǔ)器操作(AMO)指令的基礎(chǔ)上進(jìn)行拓展定義,另外新增了OP-V類的操作指令。向量的加載和存儲(chǔ)編碼利用了LOAD-FP和STORE-FP的12位立即數(shù)編碼字段(表1第20至31位)[3]的一部分,同時(shí)第25位保留了標(biāo)準(zhǔn)向量掩碼位(vm)作為條件域,大多數(shù)向量指令可以在條件域的掩碼控制下無條件或有條件地執(zhí)行。

    向量指令的源操作數(shù)一般為標(biāo)量或向量,運(yùn)算結(jié)果可存于對(duì)應(yīng)標(biāo)量或向量寄存器中。除立即數(shù)外,向量指令中的標(biāo)量操作數(shù)還可以是向量寄存器的0號(hào)元素,以及通用寄存器或浮點(diǎn)寄存器中存儲(chǔ)的數(shù)據(jù)。按目前規(guī)范約定任何向量寄存器都可以用于保存標(biāo)量。向量操作數(shù)或向量結(jié)果可能會(huì)占用一個(gè)或多個(gè)向量寄存器(向量寄存器組),向量寄存器組始終由組中編號(hào)最小的向量寄存器來指定。

    2.2 GNU Binutils介紹

    GNU[4]是一系列編譯工具[5]的集合,統(tǒng)稱為工具鏈GNU,其在開發(fā)應(yīng)用程序和操作系統(tǒng)中具有重要作用。GNU包括GNU make、GCC(GNU Compiler Collection)、GDB(GNU Debugger)、GNU Binutils。對(duì)RISC-V的向量指令集擴(kuò)展需要借助GNU Binutils工具來完成,同時(shí)在Binultils工具中進(jìn)行一些與RISC-V平臺(tái)對(duì)應(yīng)的修改。采用GNU Binutils主要是因?yàn)榘珺inutils的GNU支持絕大多數(shù)當(dāng)前主流的主機(jī)操作系統(tǒng),其GNU的變種基本都能適用于類Unix操作系統(tǒng)、Linux和Windows操作系統(tǒng)。由于GNU提供了一套完備的工具,故無須過多考慮與其他工具的整合問題。即使需要考慮,由于GNU是開放的,它支持多種開放的目標(biāo)文件格式和調(diào)試格式,存在多種形式的開源C標(biāo)準(zhǔn)庫可以使用,可以和編譯器鏈接器完美整合。

    Table 1 RISC-V vector instruction formats表1 RISC-V向量指令格式

    GNU Binutils是一組二進(jìn)制程序處理工具[6],包含最主要的匯編器as、ld、objdump、readelf等。在Linux環(huán)境下,二進(jìn)制程序主要是指*.o文件和*.elf執(zhí)行文件[7]。as是Binutils的匯編器工具,負(fù)責(zé)將匯編程序轉(zhuǎn)化為目標(biāo)機(jī)器指令;ld是鏈接器,可以將多個(gè)目標(biāo)文件鏈接成一個(gè)可執(zhí)行文件;objdump用于反匯編,將二進(jìn)制文件轉(zhuǎn)換為匯編代碼;readelf用于顯示elf格式可執(zhí)行文件的信息。GNU Binutils包含的匯編器as和鏈接器ld等工具都使用二進(jìn)制文件描述符庫BFD(the Binary File Description library)[8]來操作目標(biāo)文件和庫,如圖1所示。

    Figure 1 Binary toolsets圖1 二進(jìn)制工具集

    3 RISC-V向量匯編器關(guān)鍵技術(shù)

    向量指令的描述和向量寄存器的描述是實(shí)現(xiàn)RISC-V向量匯編器的關(guān)鍵。

    3.1 RISC-V向量指令的描述

    匯編指令與二進(jìn)制指令之間是一一對(duì)應(yīng)的關(guān)系,即直譯的過程。實(shí)現(xiàn)匯編器的重點(diǎn)在于定義好匯編指令集、二進(jìn)制指令集,以及確定好兩者之間的映射轉(zhuǎn)換關(guān)系[9]。首要解決的問題是匯編指令對(duì)應(yīng)的二進(jìn)制指令的編碼問題,RISC-V架構(gòu)定義的標(biāo)準(zhǔn)指令集僅使用了少量的二進(jìn)制指令編碼空間,更多的編碼空間被預(yù)留給用戶作為擴(kuò)展指令使用,本文將利用這些預(yù)留的編碼空間對(duì)向量指令集[10]進(jìn)行編碼。

    表2以指令vadc.vvm為例,描述了向量匯編指令及其對(duì)應(yīng)的二進(jìn)制編碼,其中vd表示目的寄存器,rs1和vs2表示操作數(shù)寄存器,各占用5 bit。將rs1、vs2和vd所在域全部置成0,其他位域保持為默認(rèn)編碼后得到的二進(jìn)制碼就是這條匯編指令的校驗(yàn)值MATCH。當(dāng)指令的rs1、vs2和vd對(duì)應(yīng)位域值為0,其他位值全為1時(shí),得到的二進(jìn)制碼為該指令的MASK掩碼值。指令的MATCH和MASK用于一致性檢查,以校驗(yàn)指令的正確性。表2中最后2行分別為vadc.vvm的MATCH和MASK。

    3.2 向量寄存器的描述

    在向量指令擴(kuò)展[2]中,需將32個(gè)通用向量寄存器v0~v31添加到基本RISC-V的ISA中,每個(gè)通用向量寄存器都有一個(gè)固定狀態(tài)位v-len。如果基本標(biāo)量ISA不包含浮點(diǎn),則還需添加浮點(diǎn)狀態(tài)和控制寄存器fcsr,用來保存向量定點(diǎn)飽和標(biāo)志寄存器vxsat和向量定點(diǎn)舍入模式寄存器vxrm的鏡像。向量定點(diǎn)舍入模式寄存器vxrm具有2位讀寫舍入模式字段,用于指示定點(diǎn)指令的舍入模式,如四舍五入模式、取整模式等,這一特性反映在fcsr高位字段中。向量定點(diǎn)飽和標(biāo)志寄存器vxsat保留單個(gè)讀寫位,該位用于指示定點(diǎn)指令是否需要為了適應(yīng)目標(biāo)格式而必須使輸出值飽和,且vxsat位也反映在fcsr的高位字段中。將vxrm、vxsat等字段打包到fcsr,可以加速對(duì)上下文的保存/恢復(fù)。

    對(duì)于向量類型控制狀態(tài)寄存器vtype,指定其只能被vsetvl{i}[1]指令進(jìn)行更新,其中i為vsetl{i}編碼中高位字段(20~30位)表示的立即數(shù),該寄存器可以提供默認(rèn)類型用于解釋向量寄存器文件內(nèi)容,還可以對(duì)多個(gè)向量寄存器進(jìn)行分組。向量長度寄存器vl只能通過vsetvl{i}和vsetvl指令進(jìn)行更新,該寄存器可以保存一個(gè)無符號(hào)整數(shù),且該整數(shù)用于指定可以被向量指令更新的元素個(gè)數(shù)。若執(zhí)行向量指令時(shí),索引值大于或等于vl寄存器中的值,將清零其目標(biāo)向量寄存器組中的元素。當(dāng)vstart寄存器中的值大于或等于vl寄存器中的值時(shí),不會(huì)更新目標(biāo)向量寄存器組中的任何元素。矢量啟動(dòng)索引控制狀態(tài)寄存器vstart指定向量指令執(zhí)行時(shí)首個(gè)被執(zhí)行元素的索引。通常vstart僅由硬件在向量指令的陷阱上寫入,其值表示執(zhí)行陷阱的元素位置,以及在處理了可恢復(fù)陷阱之后應(yīng)恢復(fù)執(zhí)行的位置。

    Table 2 Calculation method of MATCH and MASK of vector instruction表2 向量指令的MATCH、MASK的計(jì)算方法

    4 RISC-V向量匯編器的實(shí)現(xiàn)與測試

    4.1 RISC-V向量匯編器的實(shí)現(xiàn)

    匯編器[11]的工作主要分為3部分:第1是計(jì)算各標(biāo)號(hào)(lables)的內(nèi)存地址,因?yàn)閰R編器在進(jìn)行指令轉(zhuǎn)換時(shí)需要知道各個(gè)符號(hào)名(symbols)與地址的聯(lián)系。第2是針對(duì)每條匯編語句解析出操作數(shù)、寄存器號(hào)和立即數(shù)數(shù)值等信息,然后轉(zhuǎn)換為對(duì)應(yīng)的二進(jìn)制編碼,再按照當(dāng)前匯編指令模版拼裝成對(duì)應(yīng)機(jī)器碼。最后匯編器將匯編結(jié)果輸出到一個(gè)包含二進(jìn)制機(jī)器指令、數(shù)據(jù)和一些薄記信息的目標(biāo)文件中。RISC-V之前的匯編器已經(jīng)完成了第1項(xiàng)工作,本文只需要針對(duì)向量擴(kuò)展完成后2項(xiàng)工作即可。也就是說,在RISC-V向量擴(kuò)展中,首先對(duì)一條指令進(jìn)行拆分,將指令名稱與寄存器/操作數(shù)分開;然后通過指令描述進(jìn)行一致性檢查校驗(yàn),當(dāng)未出現(xiàn)校驗(yàn)錯(cuò)誤時(shí),通過查找hash表識(shí)別指令并將其轉(zhuǎn)換成二進(jìn)制字符串,并根據(jù)對(duì)指令的描述檢查寄存器/操作數(shù)是否符合操作規(guī)范,完成對(duì)該條指令的處理,且依照制定的法則將其轉(zhuǎn)換成二進(jìn)制格式;最后采用字符串拼接的方式打印出處理結(jié)果,其流程如圖2所示。RISC-V的向量指令的添加也將依據(jù)上述步驟完成。

    Figure 2 Flow chart of assembly instruction圖2 匯編指令流程

    4.1.1 向量寄存器描述

    RISC-V聯(lián)盟發(fā)表的關(guān)于向量擴(kuò)展的0.9標(biāo)準(zhǔn),新增了32個(gè)通用向量寄存器和5個(gè)控制和狀態(tài)寄存器CSR。所有的通用向量寄存器定義在文件riscv-opc.c的結(jié)構(gòu)體數(shù)組riscv_vpr_names_numeric[NVPR]中,并且將這些向量寄存器添加到hash表中,故該數(shù)組成員可在解析器初始化的過程中根據(jù)寄存器名字被索引到hash表中,從而便于程序查找、匹配和調(diào)用。向量寄存器的描述代碼如下所示:

    const char * const riscv_vpr_names_numeric[NVPR]=

    {

    "v0","v1","v2","v3","v4","v5","v6","v7","v8","v9","v10","v11","v12","v13","v14","v15","v16","v17","v18","v19","v20","v21","v22","v23","v24","v25","v26","v27","v28","v29","v30","v31"

    };

    控制和狀態(tài)寄存器CSR類寄存器則定義在riscv-opc.h文件中。

    4.1.2 向量指令描述

    RISC-V現(xiàn)有指令集的所有指令和架構(gòu)都聲明在riscv-opc.h文件中,故向量指令集指令和架構(gòu)也聲明在該文件中,因此只需在riscv-opc.h文件中添加向量指令的MATCH、MASK和DECLARE_INSN便可完成聲明。在添加向量指令和架構(gòu)時(shí)可引用向量擴(kuò)展0.9標(biāo)準(zhǔn)的向量指令,也可根據(jù)實(shí)際需求編寫向量指令,3.1節(jié)已給出關(guān)于向量指令的MATCH和MASK的計(jì)算方法。

    riscv-opc.c文件中定義了riscv_opcodes[ ],RISC-V指令集的所有指令都可在這個(gè)結(jié)構(gòu)體數(shù)組中找到。需要將向量指令的相關(guān)信息按name,xlen,isa,operands,match,mask,match_func,pinfo的順序在數(shù)組riscv_opcodes[ ]中聲明,才能實(shí)現(xiàn)編譯。向量指令的描述代碼如下所示:

    const struct riscv_opcode riscv_opcodes[]=

    {

    /*name,xlen,isa,operands,match,mask,match_func,pinfo.*/

    {"vfmul.vf",0,{"V",0},"VD,VS,VT",

    MATCH_VFMUL_VF|MASK_RM,MATCH_VFMUL_VF|MASK_RM,match_opcode,0},

    {"vadd.vv",0,{"V",0},"VD,VS,VT",

    MATCH_VADD_VV,MASK_VADD_VV,

    match_opcode,0},

    {"vadc.vvm",0{"V",0}"VD,VS,VT",

    MATCH_VADC_VVM,MASK_VADC_VVM,

    match_opcode,0},

    {0,0,{0},0,0,0,0,0}

    };

    4.1.3 相關(guān)配置信息描述

    match_opcode、match_never、match_rd_nonzero等match_*類函數(shù),是RISC-V向量擴(kuò)展中的關(guān)鍵函數(shù),此類函數(shù)主要根據(jù)riscv_opcodes[ ]數(shù)組中對(duì)向量指令match_func部分的描述進(jìn)行匹配。這些函數(shù)根據(jù)指令的MATCH、MASK及設(shè)定的一些需求規(guī)則來對(duì)*.s文件中的指令進(jìn)行一致性檢查,檢查是否符合相關(guān)指令描述及約束規(guī)則,并根據(jù)match_*類函數(shù)返回的值判斷一致性檢查是否正確,若返回值錯(cuò)誤則匯編器報(bào)錯(cuò),并終止后續(xù)操作。

    一致性檢查結(jié)束后,riscv_ip函數(shù)會(huì)根據(jù)*.s文件中該指令的操作數(shù)、寄存器等信息判斷是否符合指令的描述。比如:判斷指令的源操作數(shù)是否為常數(shù)/寄存器,判斷寄存器的區(qū)間是否符合要求,判斷指令的其中一個(gè)操作數(shù)是否是地址表達(dá)式等。若滿足條件,匯編器會(huì)將指令轉(zhuǎn)換成二進(jìn)制格式,并用INSERT_OPERAND函數(shù)將字符串拼接起來,形成最終的二進(jìn)制機(jī)器指令。

    4.2 測試結(jié)果

    測試用例1選擇了通用的向量加法指令,用于測試向量匯編到目標(biāo)代碼的正確性。測試用例2采用包含分支、循環(huán)及可向量化特性的for循環(huán)進(jìn)行測試,用來對(duì)比標(biāo)量與向量匯編輸出。RISC-V指令集采用功能模塊化的思想實(shí)現(xiàn),故在測試時(shí)需通過-march選項(xiàng)來指定RISC-V所支持的目標(biāo)模塊化指令集的組合,本文主要完成了基于RISC-V的向量指令的實(shí)現(xiàn),除使用-march選項(xiàng)實(shí)現(xiàn)基本整數(shù)指令子集“i”的強(qiáng)制添加,還需添加待實(shí)現(xiàn)的向量指令子集“v”。

    測試用例1向量匯編指令測試。

    .text

    vadc.vvm v3,v5,v7

    vadc.vvm v15,v1,v3

    vadc.vvm v2,v6,v8

    測試結(jié)果1(匯編與反匯編)如圖3所示。

    Figure 3 Test result of test case 1圖3 測試用例1的測試結(jié)果

    測試用例2for循環(huán)加法測試。

    main()

    {

    inta[64];

    intb[64];

    intc[64];

    for(inti=0;i<64;i++)

    a[i]=b[i]+c[i];

    printf("%d",a[31]);

    }

    標(biāo)量匯編輸出結(jié)果如下:

    main:

    ?

    lw a5,-20(s0)

    slli a5,a5,2

    addi a4,s0,-16

    add a5,a4,a5

    lw a4,-516(a5)

    lw a5,-20(s0)

    slli a5,a5,2

    addi a3,s0,-16

    add a5,a3,a5

    lw a5,-772(a5)

    add a4,a4,a5

    lw a5,-20(s0)

    slli a5,a5,2

    addi a3,s0,-16

    add a5,a3,a5

    sw a4,-260(a5)

    lw a5,-20(s0)

    addi a5,a5,1

    sw a5,-20(s0)

    ?

    向量匯編輸出結(jié)果如下:

    main:

    ?

    vlxw.v v12,(s0),v18

    vsll.vi v12,v12,2

    vadd.vx v13,v19,s0

    vadd.vv v12,v13,v12

    vlxw.v v13,(s0),v12

    vlxw.v v12,(s0),v18

    vsll.vi v12,v12,2

    vadd.vx v14,v20,s0

    vadd.vv v12,v14,v12

    vlxw.v v14,(s0),v12

    vadd.vv v13,v13,v14

    vlxw.v v12,(s0),v18

    vsll.vi v12,v12,2

    vadd.vx v14,v21,s0

    vadd.vv v12,v14,v12

    vsxw.v v13,(s0),v12

    vlxw.v v12,(s0),v18

    vadd.vi v12,v12,1

    vsxw.v v12,(s0),v12

    ?

    從圖3可以看出,測試用例1的反匯編結(jié)果與測試用例1描述的向量指令一致,故向量指令的目標(biāo)代碼生成正確。測試用例2采用標(biāo)量運(yùn)算時(shí),需要進(jìn)行64*3次數(shù)據(jù)訪存和64次加法運(yùn)算;如果采用向量運(yùn)算,則僅需8*3次數(shù)據(jù)訪存和8次向量加法運(yùn)算。由此可見,增加向量運(yùn)算可以提高編譯器的加速比,故添加支持向量指令的匯編器生成能充分利用硬件資源的目標(biāo)機(jī)器代碼,從而實(shí)現(xiàn)性能提升。

    綜合以上結(jié)果分析,向量運(yùn)算可以提升編譯器性能,匯編器能支持向量指令對(duì)應(yīng)于目標(biāo)平臺(tái)的目標(biāo)代碼生成,從而能夠在目標(biāo)平臺(tái)上正確執(zhí)行。

    5 結(jié)束語

    本文通過分析RISC-V向量指令、向量寄存器的特點(diǎn)及相關(guān)配置信息,基于GNU的Binutils匯編器設(shè)計(jì)并實(shí)現(xiàn)了支持RISC-V向量指令的匯編器,該匯編器可完成向量指令匯編和反匯編工作,其實(shí)現(xiàn)可為其他指令模塊的擴(kuò)展提供參考。由于向量運(yùn)算可以有效地提高計(jì)算機(jī)的運(yùn)算效率,減少不必要的硬件開銷,故在RISC-V架構(gòu)上實(shí)現(xiàn)向量指令集的擴(kuò)展及支持向量指令的匯編器是一項(xiàng)極具意義的工作。

    猜你喜歡
    標(biāo)量測試用例二進(jìn)制
    用二進(jìn)制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
    基于SmartUnit的安全通信系統(tǒng)單元測試用例自動(dòng)生成
    一種高效的橢圓曲線密碼標(biāo)量乘算法及其實(shí)現(xiàn)
    有趣的進(jìn)度
    二進(jìn)制在競賽題中的應(yīng)用
    基于混合遺傳算法的回歸測試用例集最小化研究
    一種靈活的橢圓曲線密碼并行化方法
    基于依賴結(jié)構(gòu)的測試用例優(yōu)先級(jí)技術(shù)
    單調(diào)Minkowski泛函與Henig真有效性的標(biāo)量化
    標(biāo)量電子能級(jí)束縛態(tài)的計(jì)算
    制服人妻中文乱码| 边亲边吃奶的免费视频| 国产又爽黄色视频| 飞空精品影院首页| 久久精品国产鲁丝片午夜精品| 免费日韩欧美在线观看| 欧美日韩一区二区视频在线观看视频在线| 黑人巨大精品欧美一区二区蜜桃 | 22中文网久久字幕| 婷婷色麻豆天堂久久| 日本-黄色视频高清免费观看| 这个男人来自地球电影免费观看 | 日本欧美视频一区| 免费看不卡的av| 亚洲丝袜综合中文字幕| 黄色 视频免费看| 极品少妇高潮喷水抽搐| 夜夜爽夜夜爽视频| 免费看不卡的av| 伦理电影大哥的女人| 国产黄频视频在线观看| 综合色丁香网| 成年av动漫网址| 国产精品不卡视频一区二区| 性高湖久久久久久久久免费观看| 中文字幕人妻丝袜制服| 久久国产精品大桥未久av| 欧美人与善性xxx| 免费看不卡的av| 久久精品国产亚洲av涩爱| 夫妻性生交免费视频一级片| 天堂中文最新版在线下载| 亚洲av国产av综合av卡| 极品人妻少妇av视频| 多毛熟女@视频| 欧美另类一区| 欧美激情 高清一区二区三区| 人妻一区二区av| 曰老女人黄片| 国产精品久久久久成人av| 国内精品宾馆在线| 菩萨蛮人人尽说江南好唐韦庄| 国产 一区精品| 亚洲国产精品一区二区三区在线| 亚洲精品日韩在线中文字幕| 欧美日韩视频精品一区| 极品人妻少妇av视频| 成人影院久久| 丝袜美足系列| 日本欧美国产在线视频| 美女视频免费永久观看网站| videos熟女内射| 久久精品aⅴ一区二区三区四区 | 免费黄频网站在线观看国产| 亚洲一码二码三码区别大吗| 精品久久国产蜜桃| 国产乱来视频区| 久久毛片免费看一区二区三区| 精品人妻偷拍中文字幕| 久久综合国产亚洲精品| 免费黄网站久久成人精品| 成人免费观看视频高清| 大码成人一级视频| 亚洲精品第二区| 考比视频在线观看| 亚洲熟女精品中文字幕| 18禁在线无遮挡免费观看视频| 亚洲图色成人| 午夜福利网站1000一区二区三区| 又粗又硬又长又爽又黄的视频| 热99国产精品久久久久久7| av黄色大香蕉| 亚洲国产精品999| 亚洲精品aⅴ在线观看| 超色免费av| 夫妻午夜视频| 丝袜在线中文字幕| 色网站视频免费| 国产欧美日韩综合在线一区二区| 好男人视频免费观看在线| 久久精品国产a三级三级三级| 99精国产麻豆久久婷婷| 午夜久久久在线观看| 亚洲人与动物交配视频| kizo精华| 精品国产一区二区久久| 国产精品熟女久久久久浪| 成人综合一区亚洲| 国产精品无大码| 最近中文字幕高清免费大全6| 亚洲国产欧美日韩在线播放| 国产有黄有色有爽视频| 亚洲欧洲日产国产| 国产精品久久久久久精品古装| 精品少妇黑人巨大在线播放| www.色视频.com| 精品久久久精品久久久| 涩涩av久久男人的天堂| 国产精品国产av在线观看| 免费看光身美女| 在线亚洲精品国产二区图片欧美| 亚洲成人一二三区av| 男人舔女人的私密视频| 不卡视频在线观看欧美| 女人久久www免费人成看片| 日产精品乱码卡一卡2卡三| 成人手机av| 日产精品乱码卡一卡2卡三| 亚洲色图 男人天堂 中文字幕 | 一级片'在线观看视频| 两性夫妻黄色片 | 人人妻人人添人人爽欧美一区卜| 亚洲av免费高清在线观看| 欧美成人精品欧美一级黄| 亚洲丝袜综合中文字幕| 黑丝袜美女国产一区| 18在线观看网站| 中国三级夫妇交换| 一二三四中文在线观看免费高清| 欧美精品亚洲一区二区| av在线app专区| 亚洲,欧美,日韩| 中文天堂在线官网| 亚洲av.av天堂| 一区二区三区四区激情视频| 国产精品一二三区在线看| 男人添女人高潮全过程视频| 国产白丝娇喘喷水9色精品| 亚洲一码二码三码区别大吗| 人人妻人人澡人人看| 午夜免费鲁丝| 中文字幕av电影在线播放| a级毛片黄视频| 女的被弄到高潮叫床怎么办| 亚洲欧美成人精品一区二区| 制服丝袜香蕉在线| 少妇人妻 视频| 成人国语在线视频| 一边亲一边摸免费视频| av国产精品久久久久影院| 九色亚洲精品在线播放| 国产精品麻豆人妻色哟哟久久| 女性生殖器流出的白浆| 制服诱惑二区| 天堂8中文在线网| 热99国产精品久久久久久7| 亚洲伊人色综图| 看免费成人av毛片| 欧美精品一区二区免费开放| 97在线视频观看| 亚洲精品日本国产第一区| 在线观看人妻少妇| 亚洲中文av在线| av免费观看日本| 国产精品女同一区二区软件| 麻豆乱淫一区二区| 国产午夜精品一二区理论片| 一区在线观看完整版| 午夜老司机福利剧场| 在线观看免费视频网站a站| 一级片免费观看大全| 最新的欧美精品一区二区| 有码 亚洲区| 美国免费a级毛片| 高清视频免费观看一区二区| 免费看光身美女| 五月开心婷婷网| av播播在线观看一区| 国产成人午夜福利电影在线观看| 深夜精品福利| 满18在线观看网站| 成人黄色视频免费在线看| 亚洲国产精品一区三区| 日韩一区二区三区影片| 两个人免费观看高清视频| 男女免费视频国产| av又黄又爽大尺度在线免费看| 一本久久精品| 国产一区有黄有色的免费视频| 寂寞人妻少妇视频99o| 少妇的丰满在线观看| 最近手机中文字幕大全| 亚洲国产看品久久| 美女脱内裤让男人舔精品视频| 草草在线视频免费看| 久久精品久久精品一区二区三区| 成人二区视频| 亚洲,欧美精品.| 高清黄色对白视频在线免费看| 国产精品免费大片| 久久国内精品自在自线图片| 男人舔女人的私密视频| 亚洲中文av在线| 色婷婷av一区二区三区视频| 一级a做视频免费观看| 亚洲综合精品二区| 日韩制服丝袜自拍偷拍| 国产成人精品福利久久| 国产精品无大码| 9191精品国产免费久久| 亚洲国产毛片av蜜桃av| 亚洲成色77777| 大片电影免费在线观看免费| 久久精品国产a三级三级三级| 国产有黄有色有爽视频| 国产黄色免费在线视频| 夜夜爽夜夜爽视频| 日本黄色日本黄色录像| 久久99精品国语久久久| 大香蕉久久成人网| 国产男人的电影天堂91| 久久午夜福利片| 亚洲欧美一区二区三区国产| 精品亚洲成a人片在线观看| 91精品三级在线观看| 大话2 男鬼变身卡| 成年美女黄网站色视频大全免费| 色网站视频免费| 亚洲美女视频黄频| 亚洲情色 制服丝袜| 久久99热6这里只有精品| 亚洲成av片中文字幕在线观看 | 国产精品人妻久久久久久| 欧美亚洲 丝袜 人妻 在线| 亚洲精品久久午夜乱码| 在线观看免费视频网站a站| 亚洲欧美成人综合另类久久久| 国产精品久久久久久精品电影小说| 久久久久国产网址| 中文字幕最新亚洲高清| 亚洲丝袜综合中文字幕| 人成视频在线观看免费观看| 少妇人妻 视频| 亚洲精品日韩在线中文字幕| 国产国语露脸激情在线看| 看免费av毛片| 国产精品蜜桃在线观看| tube8黄色片| 中文字幕另类日韩欧美亚洲嫩草| 黄片无遮挡物在线观看| 久久综合国产亚洲精品| 51国产日韩欧美| 一级爰片在线观看| 午夜福利乱码中文字幕| 校园人妻丝袜中文字幕| 免费黄色在线免费观看| 国产成人午夜福利电影在线观看| 日产精品乱码卡一卡2卡三| 国产综合精华液| 99热全是精品| 深夜精品福利| 欧美最新免费一区二区三区| 汤姆久久久久久久影院中文字幕| 一级毛片 在线播放| av女优亚洲男人天堂| 尾随美女入室| 日本av免费视频播放| 啦啦啦视频在线资源免费观看| 国产精品99久久99久久久不卡 | 精品国产一区二区三区久久久樱花| 精品一区二区三区四区五区乱码 | 亚洲国产色片| 亚洲人成网站在线观看播放| 久久99蜜桃精品久久| 久久99热这里只频精品6学生| 精品99又大又爽又粗少妇毛片| 亚洲成人av在线免费| 亚洲中文av在线| 日本黄大片高清| 亚洲一码二码三码区别大吗| 中文字幕最新亚洲高清| 亚洲av在线观看美女高潮| 亚洲一区二区三区欧美精品| 在线观看免费高清a一片| 亚洲欧美色中文字幕在线| 日产精品乱码卡一卡2卡三| 午夜免费鲁丝| 中文字幕免费在线视频6| 国产精品一区二区在线观看99| 又粗又硬又长又爽又黄的视频| 久久精品夜色国产| 午夜福利,免费看| 26uuu在线亚洲综合色| 亚洲综合精品二区| 久久精品aⅴ一区二区三区四区 | 欧美+日韩+精品| 亚洲国产av新网站| 五月天丁香电影| 一本久久精品| 国产片特级美女逼逼视频| 久久精品国产亚洲av涩爱| 日本wwww免费看| 欧美国产精品va在线观看不卡| 熟女av电影| 成人国产麻豆网| 在线 av 中文字幕| 日韩欧美一区视频在线观看| 中文欧美无线码| 国产成人a∨麻豆精品| h视频一区二区三区| 看非洲黑人一级黄片| 国产精品嫩草影院av在线观看| 日韩一区二区视频免费看| 视频区图区小说| 午夜激情av网站| 精品人妻熟女毛片av久久网站| 我的女老师完整版在线观看| 国产日韩欧美视频二区| 欧美日韩综合久久久久久| 国产精品三级大全| 老熟女久久久| 亚洲精品乱码久久久久久按摩| 校园人妻丝袜中文字幕| 免费少妇av软件| 亚洲美女黄色视频免费看| 性色avwww在线观看| 久久久欧美国产精品| 欧美日韩视频精品一区| 亚洲国产最新在线播放| 成人综合一区亚洲| 日韩av在线免费看完整版不卡| av一本久久久久| 久久久久国产精品人妻一区二区| 九草在线视频观看| 亚洲伊人久久精品综合| 水蜜桃什么品种好| 欧美97在线视频| 乱码一卡2卡4卡精品| 亚洲欧美精品自产自拍| 在线观看美女被高潮喷水网站| 老熟女久久久| 欧美亚洲 丝袜 人妻 在线| 欧美日韩国产mv在线观看视频| 国产色爽女视频免费观看| 免费高清在线观看视频在线观看| 午夜福利视频精品| 国产精品麻豆人妻色哟哟久久| 欧美人与性动交α欧美精品济南到 | 少妇猛男粗大的猛烈进出视频| 亚洲精品一二三| 一级片'在线观看视频| 亚洲成人一二三区av| 成人毛片a级毛片在线播放| 18禁在线无遮挡免费观看视频| 久久久久久久久久成人| 啦啦啦在线观看免费高清www| 麻豆精品久久久久久蜜桃| 国产av精品麻豆| 91久久精品国产一区二区三区| 狠狠精品人妻久久久久久综合| 高清视频免费观看一区二区| 亚洲一级一片aⅴ在线观看| 国产成人aa在线观看| 亚洲在久久综合| 国产精品免费大片| 日韩制服丝袜自拍偷拍| 国产白丝娇喘喷水9色精品| 精品久久久久久电影网| 欧美丝袜亚洲另类| 欧美xxⅹ黑人| 桃花免费在线播放| 99久久精品国产国产毛片| 18+在线观看网站| 日本与韩国留学比较| 国产片内射在线| 久久精品国产亚洲av天美| 国产精品一区二区在线观看99| 国产国拍精品亚洲av在线观看| 国产精品99久久99久久久不卡 | 午夜日本视频在线| 在线观看免费高清a一片| 又黄又爽又刺激的免费视频.| 美女大奶头黄色视频| 91精品国产国语对白视频| 精品人妻一区二区三区麻豆| 黄片无遮挡物在线观看| 黄色毛片三级朝国网站| 亚洲欧美色中文字幕在线| 久久免费观看电影| 中文字幕最新亚洲高清| 亚洲国产欧美日韩在线播放| 母亲3免费完整高清在线观看 | 国产精品无大码| 亚洲国产色片| 亚洲人成77777在线视频| 精品第一国产精品| 极品少妇高潮喷水抽搐| 如日韩欧美国产精品一区二区三区| a级毛片黄视频| 女性生殖器流出的白浆| 久久热在线av| 精品一区二区三卡| 中国三级夫妇交换| 自线自在国产av| 只有这里有精品99| 欧美精品亚洲一区二区| 大陆偷拍与自拍| 中国国产av一级| 国产亚洲av片在线观看秒播厂| 日韩精品有码人妻一区| 亚洲国产欧美日韩在线播放| 国产极品天堂在线| 国产亚洲精品久久久com| 免费大片黄手机在线观看| 男女高潮啪啪啪动态图| 又黄又爽又刺激的免费视频.| 搡女人真爽免费视频火全软件| 最近2019中文字幕mv第一页| 制服丝袜香蕉在线| 亚洲国产最新在线播放| 90打野战视频偷拍视频| 日日摸夜夜添夜夜爱| 日韩精品免费视频一区二区三区 | 黄色怎么调成土黄色| 日本欧美视频一区| av免费观看日本| 老司机影院成人| 五月开心婷婷网| 777米奇影视久久| av线在线观看网站| 亚洲熟女精品中文字幕| 麻豆乱淫一区二区| 美女大奶头黄色视频| 亚洲综合精品二区| 日韩欧美一区视频在线观看| 亚洲伊人久久精品综合| 亚洲图色成人| 侵犯人妻中文字幕一二三四区| 国产在线免费精品| 国产成人av激情在线播放| 自拍欧美九色日韩亚洲蝌蚪91| 国产深夜福利视频在线观看| 日韩精品有码人妻一区| 亚洲av综合色区一区| 国产av码专区亚洲av| 免费观看无遮挡的男女| 在线精品无人区一区二区三| 国产日韩一区二区三区精品不卡| 男人添女人高潮全过程视频| 爱豆传媒免费全集在线观看| 又黄又爽又刺激的免费视频.| 日韩中文字幕视频在线看片| 久久国产精品男人的天堂亚洲 | 久久久久国产精品人妻一区二区| 亚洲精品自拍成人| 一级黄片播放器| 亚洲一码二码三码区别大吗| 高清欧美精品videossex| 亚洲第一区二区三区不卡| 亚洲色图综合在线观看| 国产成人精品福利久久| 熟女电影av网| 国产激情久久老熟女| 一二三四在线观看免费中文在 | 两个人免费观看高清视频| 中国三级夫妇交换| 乱人伦中国视频| av福利片在线| 啦啦啦啦在线视频资源| 国产黄色免费在线视频| 国产精品久久久久久精品电影小说| 国产有黄有色有爽视频| av国产久精品久网站免费入址| 午夜福利影视在线免费观看| 亚洲国产毛片av蜜桃av| 视频区图区小说| 热re99久久精品国产66热6| 美女大奶头黄色视频| 国产免费一区二区三区四区乱码| 久久久久久久久久成人| 亚洲欧洲日产国产| 日韩电影二区| 国产精品人妻久久久影院| videos熟女内射| 成人黄色视频免费在线看| 亚洲精品456在线播放app| 日产精品乱码卡一卡2卡三| 51国产日韩欧美| 国产精品 国内视频| 国产片特级美女逼逼视频| 日本-黄色视频高清免费观看| 日韩免费高清中文字幕av| videosex国产| 久久韩国三级中文字幕| 黄色一级大片看看| 91在线精品国自产拍蜜月| 十八禁网站网址无遮挡| 视频中文字幕在线观看| 国产伦理片在线播放av一区| 国产亚洲最大av| 国产一区有黄有色的免费视频| 日本色播在线视频| 黄网站色视频无遮挡免费观看| 亚洲av欧美aⅴ国产| 下体分泌物呈黄色| 欧美xxⅹ黑人| 亚洲精品国产av成人精品| 亚洲欧美色中文字幕在线| 午夜福利在线观看免费完整高清在| 一本大道久久a久久精品| 中文字幕人妻丝袜制服| 日韩免费高清中文字幕av| 天堂中文最新版在线下载| 亚洲四区av| 成人毛片60女人毛片免费| www日本在线高清视频| 肉色欧美久久久久久久蜜桃| 日本欧美国产在线视频| 免费观看在线日韩| 一本久久精品| 国产精品久久久久久久电影| 性色avwww在线观看| 99视频精品全部免费 在线| 精品久久久精品久久久| 亚洲第一区二区三区不卡| av不卡在线播放| 日本黄大片高清| 亚洲欧美中文字幕日韩二区| 久久久亚洲精品成人影院| 人妻少妇偷人精品九色| 22中文网久久字幕| 欧美xxxx性猛交bbbb| 熟女电影av网| 最黄视频免费看| 天天躁夜夜躁狠狠躁躁| 哪个播放器可以免费观看大片| 男人舔女人的私密视频| 精品一区二区免费观看| 男人舔女人的私密视频| 日本vs欧美在线观看视频| 日韩一区二区三区影片| 香蕉国产在线看| 香蕉精品网在线| 欧美日韩视频精品一区| 妹子高潮喷水视频| av免费观看日本| videos熟女内射| xxx大片免费视频| 精品一区二区三区视频在线| 日本免费在线观看一区| 老司机亚洲免费影院| 日韩av在线免费看完整版不卡| 国产精品一二三区在线看| 国产 一区精品| 中文字幕免费在线视频6| 人人妻人人澡人人看| 亚洲五月色婷婷综合| 国产免费又黄又爽又色| 五月玫瑰六月丁香| 久久这里有精品视频免费| 精品第一国产精品| 亚洲性久久影院| av天堂久久9| 欧美+日韩+精品| xxxhd国产人妻xxx| 国产一区二区激情短视频 | av不卡在线播放| 一级毛片黄色毛片免费观看视频| 精品卡一卡二卡四卡免费| 欧美最新免费一区二区三区| 精品一区二区三区视频在线| 日本与韩国留学比较| 国产爽快片一区二区三区| 七月丁香在线播放| av视频免费观看在线观看| 在线观看国产h片| 在线精品无人区一区二区三| 日日爽夜夜爽网站| 色网站视频免费| 欧美日韩成人在线一区二区| 黄色视频在线播放观看不卡| 精品人妻偷拍中文字幕| 国产 精品1| 男女边摸边吃奶| 成人18禁高潮啪啪吃奶动态图| 激情视频va一区二区三区| 中文欧美无线码| 久久久久久人妻| 男的添女的下面高潮视频| 男女国产视频网站| 久久精品熟女亚洲av麻豆精品| 精品一区在线观看国产| 久久鲁丝午夜福利片| 国语对白做爰xxxⅹ性视频网站| 天天操日日干夜夜撸| 国产精品国产三级国产专区5o| 日韩中字成人| 久久久久久久亚洲中文字幕| 国国产精品蜜臀av免费| 91精品三级在线观看| av卡一久久| 大话2 男鬼变身卡| 黄网站色视频无遮挡免费观看| 久久精品国产自在天天线| 精品亚洲成a人片在线观看| 国产精品三级大全| 亚洲精品美女久久久久99蜜臀 | 久久人人爽人人片av| 久久精品国产自在天天线| 国产高清三级在线| 丰满乱子伦码专区| 黄色一级大片看看| 国内精品宾馆在线| 蜜臀久久99精品久久宅男| 内地一区二区视频在线| 久久久久视频综合| 两个人免费观看高清视频| 黄色怎么调成土黄色| 国产av精品麻豆| 欧美xxxx性猛交bbbb| 国产一区二区在线观看日韩| 国产高清三级在线| 久久午夜综合久久蜜桃| av有码第一页| 欧美国产精品va在线观看不卡|