汇编 AVX data 操作 指令

VMOVAPS

VMOVAPS xmm1, xmm2/m128

         Move aligned packed single precision floating-point values from xmm2/mem to xmm1. 
VMOVAPS xmm2/m128, xmm1

        Move aligned packed single precision floating-point values from xmm1 to xmm2/mem. 
VMOVAPS ymm1, ymm2/m256

        Move aligned packed single precision floating-point values from ymm2/mem to ymm1. 
VMOVAPS ymm2/m256, ymm1

        Move aligned packed single precision floating-point values from ymm1 to ymm2/mem.

用于将内存中的对齐打包单精度浮点值移动到寄存器,或者从寄存器移动到内存。前缀"V"表示它操作矢量寄存器,而"MOVAPS"代表"移动对齐打包单精度"

VMOVAPS (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVAPS (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
   
VMOVAPS (VEX.128 Encoded Version, Load - and Register Copy)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0

VMOVAPS (128-bit Store-Form Version)
    DEST[127:0] := SRC[127:0]

VMOVAPD


VMOVAPD xmm1, xmm2/m128
     Move aligned packed double precision floatingpoint values from xmm2/mem to xmm1. 

VMOVAPD xmm2/m128, xmm1
     Move aligned packed double precision floatingpoint values from xmm1 to xmm2/mem. 

VMOVAPD ymm1, ymm2/m256
     Move aligned packed double precision floatingpoint values from ymm2/mem to ymm1. 

VMOVAPD ymm2/m256, ymm1
     Move aligned packed double precision floatingpoint values from ymm1 to ymm2/mem.

用于将内存中的对齐打包双精度浮点值移动到寄存器,或者从寄存器移动到内存。前缀"V"表示它操作矢量寄存器,而"MOVAPD"代表"移动对齐打包双精度"

VMOVAPD (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVAPD (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
VMOVAPD (VEX.128 Encoded Version, Load - and Register Copy)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
BMOVAPD (128-bit Store-Form Version)
    DEST[127:0] := SRC[127:0]

VMOVDQA

VMOVDQA xmm1, xmm2/m128
    Move aligned packed integer values from xmm2/mem to xmm1. 

将128位整数数据从源操作数(xmm2/m128)移动到目的操作数(xmm1),在移动过程中不进行任何转换
VMOVDQA xmm2/m128, xmm1
     Move aligned packed integer values from xmm1 to xmm2/mem. 

将128位整数数据从源操作数(xmm1)移动到目的操作数(xmm2/m128),在移动过程中不进行任何转换。
VMOVDQA ymm1, ymm2/m256
    Move aligned packed integer values from ymm2/mem to ymm1.

将256位整数数据从源操作数(ymm2/m256)移动到目的操作数(ymm1),在移动过程中不进行任何转换 
VMOVDQA ymm2/m256, ymm1
     Move aligned packed integer values from ymm1 to ymm2/mem.

将256位整数数据从源操作数(ymm1)移动到目的操作数(ymm2/m256),在移动过程中不进行任何转换

VMOVDQA (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVDQA (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
VMOVDQA (VEX.128 Encoded Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
VMOVDQA (128-bit Load- and Register-Copy- Form Legacy SSE Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] (Unmodified)

VMOVUPS

VMOVUPS xmm1, xmm2/m128
 Move unaligned packed single precision floatingpoint from xmm2/mem to xmm1.

将128位整数或浮点数据从源操作数(xmm2/m128)移动到目的操作数(xmm1),在移动过程中不进行任何转换

VMOVUPS xmm2/m128, xmm1
 Move unaligned packed single precision floatingpoint from xmm1 to xmm2/mem.

VMOVUPS指令将128位整数或浮点数据从源操作数(xmm1)移动到目的操作数(xmm2/m128),在移动过程中不进行任何转换

VMOVUPS ymm1, ymm2/m256
 Move unaligned packed single precision floatingpoint from ymm2/mem to ymm1.

将256位整数或浮点数据从源操作数(ymm2/m256)移动到目的操作数(ymm1),在移动过程中不进行任何转换

VMOVUPS ymm2/m256, ymm1
 Move unaligned packed single precision floatingpoint from ymm1 to ymm2/mem.

将256位整数或浮点数据从源操作数(ymm1)移动到目的操作数(ymm2/m256),在移动过程中不进行任何转换

VMOVUPS (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVUPS (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
VMOVUPS (VEX.128 Encoded Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
MOVUPS (128-bit Load- and Register-Copy- Form Legacy SSE Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] (Unmodified)

VMOVUPD

VMOVUPD xmm1, xmm2/m128
     Move unaligned packed double precision floatingpoint from xmm2/mem to xmm1.

将128位整数或浮点数据从源操作数(xmm2/m128)移动到目的操作数(xmm1),在移动过程中不进行任何转换。

VMOVUPD xmm2/m128, xmm1
    Move unaligned packed double precision floatingpoint from xmm1 to xmm2/mem.

将128位整数或浮点数据从源操作数(xmm1)移动到目的操作数(xmm2/m128),在移动过程中不进行任何转换

VMOVUPD ymm1, ymm2/m256
     Move unaligned packed double precision floatingpoint from ymm2/mem to ymm1.

将256位整数或浮点数据从源操作数(ymm2/m256)移动到目的操作数(ymm1),在移动过程中不进行任何转换

VMOVUPD ymm2/m256, ymm1
    Move unaligned packed double precision floatingpoint from ymm1 to ymm2/mem.

将256位整数或浮点数据从源操作数(ymm1)移动到目的操作数(ymm2/m256),在移动过程中不进行任何转换

VMOVUPD (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVUPD (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
VMOVUPD (VEX.128 Encoded Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
MOVUPD (128-bit Load- and Register-Copy- Form Legacy SSE Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] (Unmodified)

VMOVDQU

VMOVDQU xmm1, xmm2/m128
      Move unaligned packed integer values from xmm2/m128 to xmm1. 

将128位整数或浮点数据从源操作数(xmm2/m128)移动到目的操作数(xmm1),在移动过程中不进行任何转换

VMOVDQU xmm2/m128, xmm1
     Move unaligned packed integer values from xmm1 to xmm2/m128.

将128位整数或浮点数据从源操作数(xmm1)移动到目的操作数(xmm2/m128),在移动过程中不进行任何转换

VMOVDQU ymm1, ymm2/m256
      Move unaligned packed integer values from ymm2/m256 to ymm1.

将256位整数或浮点数据从源操作数(ymm2/m256)移动到目的操作数(ymm1),在移动过程中不进行任何转换

VMOVDQU ymm2/m256, ymm1
     Move unaligned packed integer values from ymm1 to ymm2/m256.

将256位整数或浮点数据从源操作数(ymm1)移动到目的操作数(ymm2/m256),在移动过程中不进行任何转换

VMOVDQU (VEX.256 Encoded Version, Load - and Register Copy)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0
VMOVDQU (VEX.256 Encoded Version, Store-Form)
    DEST[255:0] := SRC[255:0]
VMOVDQU (VEX.128 encoded version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
VMOVDQU (128-bit Load- and Register-Copy- Form Legacy SSE Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] (Unmodified)

VMOVMSKPS

VMOVMSKPS reg, xmm2
    Extract 4-bit sign mask from xmm2 and store in reg. The upper bits of r32 or r64 are zeroed.

从寄存器xmm2中的每个元素提取最高位,并将它们存储在目的通用寄存器的低4位中
VMOVMSKPS reg, ymm2
    Extract 8-bit sign mask from ymm2 and store in reg. The upper bits of r32 or r64 are zeroed.

从ymm2寄存器中的每个元素提取最高位,并将它们存储在目的通用寄存器的低8位中

VMOVMSKPS (128-bit version)
    DEST[0] := SRC[31]
    DEST[1] := SRC[63]
    DEST[2] := SRC[95]
    DEST[3] := SRC[127]
    IF DEST = r32
        THEN DEST[31:4] := 0;
        ELSE DEST[63:4] := 0;
    FI
VMOVMSKPS (VEX.256 encoded version)
    DEST[0] := SRC[31]
    DEST[1] := SRC[63]
    DEST[2] := SRC[95]
    DEST[3] := SRC[127]
    DEST[4] := SRC[159]
    DEST[5] := SRC[191]
    DEST[6] := SRC[223]
    DEST[7] := SRC[255]
    IF DEST = r32
        THEN DEST[31:8] := 0;
        ELSE DEST[63:8] := 0;
    FI

VMOVMSKPD


VMOVMSKPD reg, xmm2
     Extract 2-bit sign mask from xmm2 and store in reg. The upper bits of r32 or r64 are zeroed.

从寄存器xmm2中的每个元素提取最高位,并将它们存储在目的通用寄存器的低2位中

VMOVMSKPD reg, ymm2
     Extract 4-bit sign mask from ymm2 and store in reg. The upper bits of r32 or r64 are zeroed.

从ymm2寄存器中的每个元素提取最高位,并将它们存储在目的通用寄存器的低4位中

(V)MOVMSKPD (128-bit Versions)
    DEST[0] := SRC[63]
    DEST[1] := SRC[127]
    IF DEST = r32
        THEN DEST[31:2] := 0;
    ELSE 
        DEST[63:2] := 0;
    FI
VMOVMSKPD (VEX.256 Encoded Version)
    DEST[0] := SRC[63]
    DEST[1] := SRC[127]
    DEST[2] := SRC[191]
    DEST[3] := SRC[255]
    IF DEST = r32
        THEN DEST[31:4] := 0;
    ELSE 
        DEST[63:4] := 0;
    FI

VLDDQU

VLDDQU xmm1, m128
     Load unaligned packed integer values from mem to xmm1.

从内存地址m128加载128位未对齐的整数或浮点数据到目的操作数xmm1中。
VLDDQU ymm1, m256
     Load unaligned packed integer values from mem to ymm1.

从内存地址m256加载256位未对齐的整数或浮点数据到目的操作数ymm1中

VLDDQU (VEX.128 Encoded Version)
    DEST[127:0] := SRC[127:0]
    DEST[MAXVL-1:128] := 0
VLDDQU (VEX.256 Encoded Version)
    DEST[255:0] := SRC[255:0]

VMOVNTPS


VMOVNTPS m128, xmm1
     Move packed single precision values xmm1 to mem using non-temporal hint.

将寄存器xmm1的低128位数据存储到内存地址m128

VMOVNTPS m256, ymm1
     Move packed single precision values ymm1 to mem using non-temporal hint.

将寄存器ymm1的256位数据存储到内存地址m256

VMOVNTPD

VMOVNTPD m128, xmm1
    Move packed double precision values in xmm1 to m128 using non-temporal hint.

指令将寄存器xmm1的低128位数据存储到内存地址m128。

VMOVNTPD m256, ymm1
    Move packed double precision values in ymm1 to m256 using non-temporal hint.

将寄存器ymm1的256位数据存储到内存地址m256

VMOVNTDQ

VMOVNTDQ m128, xmm1
     Move packed integer values in xmm1 to m128 using nontemporal hint.

将寄存器xmm1的低128位数据存储到内存地址m128

VMOVNTDQ m256, ymm1
     Move packed integer values in ymm1 to m256 using nontemporal hint.

将寄存器ymm1的256位数据存储到内存地址m256。

VMOVNTDQA


VMOVNTDQA xmm1, m128
     Move double quadword from m128 to xmm using nontemporal hint if WC memory type.

从内存地址m128加载非临时双四字节数据到寄存器xmm1中

VMOVNTDQA ymm1, m256
    Move 256-bit data from m256 to ymm using non-temporal hint if WC memory type.

从内存地址m256加载非临时双四字节数据到寄存器ymm1中

VMOVNTDQA (VEX.128 and EVEX.128 Encoded Form)
    DEST := SRC
    DEST[MAXVL-1:128] := 0 
VMOVNTDQA (VEX.256 and EVEX.256 Encoded Forms)
    DEST[255:0] := SRC[255:0]
    DEST[MAXVL-1:256] := 0

VMOVSHDUP


VMOVSHDUP xmm1, xmm2/m128
     Move odd index single precision floating-point values from xmm2/mem and duplicate each element into xmm1.

从源操作数xmm2/m128中的每个打包单精度浮点值中复制高阶双字(32位),并将结果存储在目的操作数xmm1中

VMOVSHDUP ymm1, ymm2/m256
     Move odd index single precision floating-point values from ymm2/mem and duplicate each element into ymm1.

从源操作数ymm2/m256中的每个打包单精度浮点值中复制高阶双字(32位),并将结果存储在目的操作数ymm1中

VMOVSHDUP (VEX.256 Encoded Version)
    DEST[31:0] := SRC[63:32]
    DEST[63:32] := SRC[63:32]
    DEST[95:64] := SRC[127:96]
    DEST[127:96] := SRC[127:96]
    DEST[159:128] := SRC[191:160]
    DEST[191:160] := SRC[191:160]
    DEST[223:192] := SRC[255:224]
    DEST[255:224] := SRC[255:224]
    DEST[MAXVL-1:256] := 0
VMOVSHDUP (VEX.128 Encoded Version)
    DEST[31:0] := SRC[63:32]
    DEST[63:32] := SRC[63:32]
    DEST[95:64] := SRC[127:96]
    DEST[127:96] := SRC[127:96]
    DEST[MAXVL-1:128] := 0

VMOVSLDUP


VMOVSLDUP xmm1, xmm2/m128
     Move even index single precision floating-point values from xmm2/mem and duplicate each element into xmm1.

从源操作数xmm2/m128中的每个打包单精度浮点值中复制低阶双字(32位),并将结果存储在目的操作数xmm1中。

VMOVSLDUP ymm1, ymm2/m256
     Move even index single precision floating-point values from ymm2/mem and duplicate each element into ymm1.

从源操作数ymm2/m256中的每个打包单精度浮点值中复制低阶双字(32位),并将结果存储在目的操作数ymm1中

VMOVSLDUP (VEX.256 Encoded Version)
    DEST[31:0] := SRC[31:0]
    DEST[63:32] := SRC[31:0]
    DEST[95:64] := SRC[95:64]
    DEST[127:96] := SRC[95:64]
    DEST[159:128] := SRC[159:128]
    DEST[191:160] := SRC[159:128]
    DEST[223:192] := SRC[223:192]
    DEST[255:224] := SRC[223:192]
    DEST[MAXVL-1:256] := 0
VMOVSLDUP (VEX.128 Encoded Version)
    DEST[31:0] := SRC[31:0]
    DEST[63:32] := SRC[31:0]
    DEST[95:64] := SRC[95:64]
    DEST[127:96] := SRC[95:64]
    DEST[MAXVL-1:128] := 0

VMOVDDUP


VMOVDDUP xmm1, xmm2/m64
     Move double precision floating-point value from xmm2/m64 and duplicate into xmm1.

从源操作数xmm2/m64的低64位中复制双精度浮点值,并将结果存储在目的操作数xmm1中

VMOVDDUP ymm1, ymm2/m256
     Move even index double precision floating-point values from ymm2/mem and duplicate each element into ymm1.

从源操作数ymm2/m256的低64位中复制双精度浮点值,并将结果存储在目的操作数ymm1中

VMOVDDUP (VEX.256 Encoded Version)
    DEST[63:0] := SRC[63:0]
    DEST[127:64] := SRC[63:0]
    DEST[191:128] := SRC[191:128]
    DEST[255:192] := SRC[191:128]
    DEST[MAXVL-1:256] := 0
VMOVDDUP (VEX.128 Encoded Version)
    DEST[63:0] := SRC[63:0]
    DEST[127:64] := SRC[63:0]
    DEST[MAXVL-1:128] := 0

VUNPCKHPD


VUNPCKHPD xmm1,xmm2, xmm3/m128
     Unpacks and Interleaves double precision floating-point values from high quadwords of xmm2 and xmm3/m128.

从寄存器xmm2和xmm3/m128中解压和交错高阶双精度浮点值,并将结果存储在寄存器xmm1中

VUNPCKHPD ymm1,ymm2, ymm3/m256
     Unpacks and Interleaves double precision floating-point values from high quadwords of ymm2 and ymm3/m256.

从ymm2和ymm3/m256中解压和交错高阶双精度浮点值,并将结果存储在ymm1中

VUNPCKHPD (VEX.256 Encoded Version)
    DEST[63:0] := SRC1[127:64]
    DEST[127:64] := SRC2[127:64]
    DEST[191:128] := SRC1[255:192]
    DEST[255:192] := SRC2[255:192]
    DEST[MAXVL-1:256] := 0
VUNPCKHPD (VEX.128 Encoded Version)
    DEST[63:0] := SRC1[127:64]
    DEST[127:64] := SRC2[127:64]
    DEST[MAXVL-1:128] := 0

VUNPCKHPS


VUNPCKHPS xmm1, xmm2, xmm3/m128
     Unpacks and Interleaves single precision floating-point values from high quadwords of xmm2 and xmm3/m128.

从寄存器xmm2和xmm3/m128中解压和交错高阶单精度浮点值,并将结果存储在寄存器xmm1中

VUNPCKHPS ymm1, ymm2, ymm3/m256
     Unpacks and Interleaves single precision floating-point values from high quadwords of ymm2 and ymm3/m256

从ymm2和ymm3/m256中解压和交错高阶单精度浮点值,并将结果存储在ymm1中

VUNPCKHPS (VEX.256 Encoded Version)
    DEST[31:0] := SRC1[95:64]
    DEST[63:32] := SRC2[95:64]
    DEST[95:64] := SRC1[127:96]
    DEST[127:96] := SRC2[127:96]
    DEST[159:128] := SRC1[223:192]
    DEST[191:160] := SRC2[223:192]
    DEST[223:192] := SRC1[255:224]
    DEST[255:224] := SRC2[255:224]
    DEST[MAXVL-1:256] := 0
VUNPCKHPS (VEX.128 Encoded Version)
    DEST[31:0] := SRC1[95:64]
    DEST[63:32] := SRC2[95:64]
    DEST[95:64] := SRC1[127:96]
    DEST[127:96] := SRC2[127:96]
    DEST[MAXVL-1:128] := 0

VUNPCKLPD


VUNPCKLPD xmm1,xmm2, xmm3/m128
     Unpacks and Interleaves double precision floating-point values from low quadwords of xmm2 and xmm3/m128.

从寄存器xmm2和xmm3/m128中解压和交错低阶双精度浮点值,并将结果存储在寄存器xmm1中

VUNPCKLPD ymm1,ymm2, ymm3/m256
     Unpacks and Interleaves double precision floating-point values from low quadwords of ymm2 and ymm3/m256.

从ymm2和ymm3/m256中解压和交错低阶双精度浮点值,并将结果存储在ymm1中

VUNPCKLPD (VEX.256 Encoded Version)
    DEST[63:0] := SRC1[63:0]
    DEST[127:64] := SRC2[63:0]
    DEST[191:128] := SRC1[191:128]
    DEST[255:192] := SRC2[191:128]
    DEST[MAXVL-1:256] := 0
VUNPCKLPD (VEX.128 Encoded Version)
    DEST[63:0] := SRC1[63:0]
    DEST[127:64] := SRC2[63:0]
    DEST[MAXVL-1:128] := 0

VBLENDPS


VBLENDPS xmm1, xmm2, xmm3/m128, imm8
     Select packed single precision floating-point values from xmm2 and xmm3/m128 from mask in imm8 and store the values in xmm1.

使用控制掩码imm8从寄存器xmm2和xmm3/m128中混合打包的单精度浮点值,并将结果存储在寄存器xmm1中。

VBLENDPS ymm1, ymm2, ymm3/m256, imm8
     Select packed single precision floating-point values from ymm2 and ymm3/m256 from mask in imm8 and store the values in ymm1.

使用控制掩码imm8从ymm2和ymm3/m256中混合打包的单精度浮点值,并将结果存储在ymm1中。

VBLENDPS (VEX.128 Encoded Version)
    IF (IMM8[0] = 0) THEN DEST[31:0] :=SRC1[31:0]
    ELSE DEST [31:0] := SRC2[31:0] FI
    IF (IMM8[1] = 0) THEN DEST[63:32] := SRC1[63:32]
    ELSE DEST [63:32] := SRC2[63:32] FI
    IF (IMM8[2] = 0) THEN DEST[95:64] := SRC1[95:64]
    ELSE DEST [95:64] := SRC2[95:64] FI
    IF (IMM8[3] = 0) THEN DEST[127:96] := SRC1[127:96]
    ELSE DEST [127:96] := SRC2[127:96] FI
    DEST[MAXVL-1:128] := 0
    
VBLENDPS (VEX.256 Encoded Version)
    IF (IMM8[0] = 0) THEN DEST[31:0] :=SRC1[31:0]
    ELSE DEST [31:0] := SRC2[31:0] FI
    IF (IMM8[1] = 0) THEN DEST[63:32] := SRC1[63:32]
    ELSE DEST [63:32] := SRC2[63:32] FI
    IF (IMM8[2] = 0) THEN DEST[95:64] := SRC1[95:64]
    ELSE DEST [95:64] := SRC2[95:64] FI
    IF (IMM8[3] = 0) THEN DEST[127:96] := SRC1[127:96]
    ELSE DEST [127:96] := SRC2[127:96] FI
    IF (IMM8[4] = 0) THEN DEST[159:128] := SRC1[159:128]
    ELSE DEST [159:128] := SRC2[159:128] FI
    IF (IMM8[5] = 0) THEN DEST[191:160] := SRC1[191:160]
    ELSE DEST [191:160] := SRC2[191:160] FI
    IF (IMM8[6] = 0) THEN DEST[223:192] := SRC1[223:192]
    ELSE DEST [223:192] := SRC2[223:192] FI
    IF (IMM8[7] = 0) THEN DEST[255:224] := SRC1[255:224]
    ELSE DEST [255:224] := SRC2[255:224] FI.

VBLENDPD

VBLENDPD xmm1, xmm2, xmm3/m128, imm8
     Select packed double precision floating-point Values from xmm2 and xmm3/m128 from mask in imm8 and store the values in xmm1.

使用控制掩码imm8从寄存器xmm2和xmm3/m128中混合打包的双精度浮点值,并将结果存储在寄存器xmm1中

VBLENDPD ymm1, ymm2, ymm3/m256, imm8
     Select packed double precision floating-point Values from ymm2 and ymm3/m256 from mask in imm8 and store the values in ymm1.

使用控制掩码imm8从ymm2和ymm3/m256中混合打包的双精度浮点值,并将结果存储在ymm1中

VBLENDPD (VEX.128 Encoded Version)
    IF (IMM8[0] = 0)THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST [63:0] := SRC2[63:0] FI
    IF (IMM8[1] = 0) THEN DEST[127:64] := SRC1[127:64]
    ELSE DEST [127:64] := SRC2[127:64] FI
    DEST[MAXVL-1:128] := 0


VBLENDPD (VEX.256 Encoded Version)
    IF (IMM8[0] = 0)THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST [63:0] := SRC2[63:0] FI
    IF (IMM8[1] = 0) THEN DEST[127:64] := SRC1[127:64]
    ELSE DEST [127:64] := SRC2[127:64] FI
    IF (IMM8[2] = 0) THEN DEST[191:128] := SRC1[191:128]
    ELSE DEST [191:128] := SRC2[191:128] FI
    IF (IMM8[3] = 0) THEN DEST[255:192] := SRC1[255:192]
    ELSE DEST [255:192] := SRC2[255:192] FI

VSHUFPD


VSHUFPD xmm1, xmm2, xmm3/m128, imm8
     Shuffle two pairs of double precision floating-point values from xmm2 and xmm3/m128 using imm8 to select from each pair, interleaved result is stored in xmm1.

使用控制掩码imm8从寄存器xmm2和xmm3/m128中洗牌双精度浮点值,并将结果存储在寄存器xmm1中

VSHUFPD ymm1, ymm2, ymm3/m256, imm8
     Shuffle four pairs of double precision floating-point values from ymm2 and ymm3/m256 using imm8 to select from each pair, interleaved result is stored in xmm1.

使用控制掩码imm8从ymm2和ymm3/m256中洗牌双精度浮点值,并将结果存储在ymm1中。

VSHUFPD (VEX.256 Encoded Version)
    IF IMM0[0] = 0
    THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST[63:0] := SRC1[127:64] FI;
    IF IMM0[1] = 0
    THEN DEST[127:64] := SRC2[63:0]
    ELSE DEST[127:64] := SRC2[127:64] FI;
    IF IMM0[2] = 0
    THEN DEST[191:128] := SRC1[191:128]
    ELSE DEST[191:128] := SRC1[255:192] FI;
    IF IMM0[3] = 0
    THEN DEST[255:192] := SRC2[191:128]
    ELSE DEST[255:192] := SRC2[255:192] FI;
    DEST[MAXVL-1:256] (Unmodified)
VSHUFPD (VEX.128 Encoded Version)
    IF IMM0[0] = 0
    THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST[63:0] := SRC1[127:64] FI;
    IF IMM0[1] = 0
    THEN DEST[127:64] := SRC2[63:0]
    ELSE DEST[127:64] := SRC2[127:64] FI;
    DEST[MAXVL-1:128] := 0

VSHUFPS


VSHUFPS xmm1, xmm2, xmm3/m128, imm8
    Select from quadruplet of single precision floating-point values in xmm1 and xmm2/m128 using imm8, interleaved result pairs are stored in xmm1.

控制掩码imm8从寄存器xmm2和xmm3/m128中洗牌单精度浮点值,并将结果存储在寄存器xmm1中

VSHUFPS ymm1, ymm2, ymm3/m256, imm8
    Select from quadruplet of single precision floating-point values in ymm2 and ymm3/m256 using imm8, interleaved result pairs are stored in ymm1.

使用控制掩码imm8从ymm2和ymm3/m256中洗牌单精度浮点值,并将结果存储在ymm1中

Select4(SRC, control) {
    CASE (control[1:0]) OF
    0: TMP := SRC[31:0];
    1: TMP := SRC[63:32];
    2: TMP := SRC[95:64];
    3: TMP := SRC[127:96];
    ESAC;
    RETURN TMP
}

VSHUFPS (VEX.256 Encoded Version)
    DEST[31:0] := Select4(SRC1[127:0], imm8[1:0]);
    DEST[63:32] := Select4(SRC1[127:0], imm8[3:2]);
    DEST[95:64] := Select4(SRC2[127:0], imm8[5:4]);
    DEST[127:96] := Select4(SRC2[127:0], imm8[7:6]);
    DEST[159:128] := Select4(SRC1[255:128], imm8[1:0]);
    DEST[191:160] := Select4(SRC1[255:128], imm8[3:2]);
    DEST[223:192] := Select4(SRC2[255:128], imm8[5:4]);
    DEST[255:224] := Select4(SRC2[255:128], imm8[7:6]);
    DEST[MAXVL-1:256] := 0
VSHUFPS (VEX.128 Encoded Version)
    DEST[31:0] := Select4(SRC1[127:0], imm8[1:0]);
    DEST[63:32] := Select4(SRC1[127:0], imm8[3:2]);
    DEST[95:64] := Select4(SRC2[127:0], imm8[5:4]);
    DEST[127:96] := Select4(SRC2[127:0], imm8[7:6]);
    DEST[MAXVL-1:128] := 0

VUNPCKLPS


VUNPCKLPS xmm1,xmm2, xmm3/m128
     Unpacks and Interleaves single precision floating-point values from low quadwords of xmm2 and xmm3/m128.

从寄存器xmm2和xmm3/m128中解压和交错低位单精度浮点值,并将结果存储在寄存器xmm1中

VUNPCKLPS ymm1,ymm2,ymm3/m256
     Unpacks and Interleaves single precision floating-point values from low quadwords of ymm2 and ymm3/m256.

从ymm2和ymm3/m256中解压和交错低位单精度浮点值,并将结果存储在ymm1中。

UNPCKLPS (VEX.256 Encoded Version)
    DEST[31:0] := SRC1[31:0]
    DEST[63:32] := SRC2[31:0]
    DEST[95:64] := SRC1[63:32]
    DEST[127:96] := SRC2[63:32]
    DEST[159:128] := SRC1[159:128]
    DEST[191:160] := SRC2[159:128]
    DEST[223:192] := SRC1[191:160]
    DEST[255:224] := SRC2[191:160]
    DEST[MAXVL-1:256] := 0
VUNPCKLPS (VEX.128 Encoded Version)
    DEST[31:0] := SRC1[31:0]
    DEST[63:32] := SRC2[31:0]
    DEST[95:64] := SRC1[63:32]
    DEST[127:96] := SRC2[63:32]
    DEST[MAXVL-1:128] := 0

VBLENDVPS

VBLENDVPS xmm1, xmm2, xmm3/m128, xmm4
     Conditionally copy single precision floating-point values from xmm2 or xmm3/m128 to xmm1, based on mask bits in the specified mask operand, xmm4.

根据xmm4中的掩码混合xmm2和xmm3/m128中的单精度浮点值,并将结果存储在xmm1中

VBLENDVPS ymm1, ymm2, ymm3/m256, ymm4
     Conditionally copy single precision floating-point values from ymm2 or ymm3/m256 to ymm1, based on mask bits in the specified mask register, ymm4.

用于根据ymm4中的掩码混合ymm2和ymm3/m256中的单精度浮点值,并将结果存储在ymm1中

VBLENDVPS (VEX.128 Encoded Version)
    MASK := SRC3
    IF (MASK[31] = 0) THEN DEST[31:0] := SRC1[31:0]
    ELSE DEST [31:0] := SRC2[31:0] FI
    IF (MASK[63] = 0) THEN DEST[63:32] := SRC1[63:32]
    ELSE DEST [63:32] := SRC2[63:32] FI
    IF (MASK[95] = 0) THEN DEST[95:64] := SRC1[95:64]
    ELSE DEST [95:64] := SRC2[95:64] FI
    IF (MASK[127] = 0) THEN DEST[127:96] := SRC1[127:96]
    ELSE DEST [127:96] := SRC2[127:96] FI
    DEST[MAXVL-1:128] := 0
VBLENDVPS (VEX.256 Encoded Version)
    MASK := SRC3
    IF (MASK[31] = 0) THEN DEST[31:0] := SRC1[31:0]
    ELSE DEST [31:0] := SRC2[31:0] FI
    IF (MASK[63] = 0) THEN DEST[63:32] := SRC1[63:32]
    ELSE DEST [63:32] := SRC2[63:32] FI
    IF (MASK[95] = 0) THEN DEST[95:64] := SRC1[95:64]
    ELSE DEST [95:64] := SRC2[95:64] FI
    IF (MASK[127] = 0) THEN DEST[127:96] := SRC1[127:96]
    ELSE DEST [127:96] := SRC2[127:96] FI
    IF (MASK[159] = 0) THEN DEST[159:128] := SRC1[159:128]
    ELSE DEST [159:128] := SRC2[159:128] FI
    IF (MASK[191] = 0) THEN DEST[191:160] := SRC1[191:160]
    ELSE DEST [191:160] := SRC2[191:160] FI
    IF (MASK[223] = 0) THEN DEST[223:192] := SRC1[223:192]
    ELSE DEST [223:192] := SRC2[223:192] FI
    IF (MASK[255] = 0) THEN DEST[255:224] := SRC1[255:224]
    ELSE DEST [255:224] := SRC2[255:224] FI

VBLENDVPD


VBLENDVPD xmm1, xmm2, xmm3/m128, xmm4
     Conditionally copy double precision floating-point values from xmm2 or xmm3/m128 to xmm1, based on mask bits in the mask operand, xmm4.

用于根据xmm4中的掩码混合xmm2和xmm3/m128中的双精度浮点值,并将结果存储在xmm1中

VBLENDVPD ymm1, ymm2, ymm3/m256, ymm4
     Conditionally copy double precision floating-point values from ymm2 or ymm3/m256 to ymm1, based on mask bits in the mask operand, ymm4.

用于根据ymm4中的掩码混合ymm2和ymm3/m256中的双精度浮点值,并将结果存储在ymm1中。

VBLENDVPD (VEX.128 Encoded Version)
    MASK := SRC3
    IF (MASK[63] = 0) THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST [63:0] := SRC2[63:0] FI
    IF (MASK[127] = 0) THEN DEST[127:64] := SRC1[127:64]
    ELSE DEST [127:64] := SRC2[127:64] FI
    DEST[MAXVL-1:128] := 0
VBLENDVPD (VEX.256 Encoded Version)
    MASK := SRC3
    IF (MASK[63] = 0) THEN DEST[63:0] := SRC1[63:0]
    ELSE DEST [63:0] := SRC2[63:0] FI
    IF (MASK[127] = 0) THEN DEST[127:64] := SRC1[127:64]
    ELSE DEST [127:64] := SRC2[127:64] FI
    IF (MASK[191] = 0) THEN DEST[191:128] := SRC1[191:128]
    ELSE DEST [191:128] := SRC2[191:128] FI
    IF (MASK[255] = 0) THEN DEST[255:192] := SRC1[255:192]
    ELSE DEST [255:192] := SRC2[255:192] FI

VPTEST


VPTEST xmm1, xmm2/m128
     Set ZF and CF depending on bitwise AND and ANDN of sources.

执行xmm1和xmm2/m128寄存器的按位逻辑AND操作,并将结果设置在标志寄存器中

VPTEST ymm1, ymm2/m256
     Set ZF and CF depending on bitwise AND and ANDN of sources.

执行ymm1和ymm2/m256寄存器的按位逻辑AND操作,并将结果设置在标志寄存器中。

VPTEST (128-bit Version)
    IF (SRC[127:0] BITWISE AND DEST[127:0] = 0) 
    THEN ZF := 1;
    ELSE ZF := 0;
    IF (SRC[127:0] BITWISE AND NOT DEST[127:0] = 0) 
    THEN CF := 1;
    ELSE CF := 0;
    DEST (unmodified)
    AF := OF := PF := SF := 0;
VPTEST (VEX.256 Encoded Version)
    IF (SRC[255:0] BITWISE AND DEST[255:0] = 0) THEN ZF := 1;
    ELSE ZF := 0;
    IF (SRC[255:0] BITWISE AND NOT DEST[255:0] = 0) THEN CF := 1;
    ELSE CF := 0;
    DEST (unmodified)
    AF := OF := PF := SF := 0;

VMOVMSKPD


VMOVMSKPD reg, xmm2
     Extract 2-bit sign mask from xmm2 and store in reg. The upper bits of r32 or r64 are zeroed.

将xmm2寄存器中的双精度浮点值的符号位(最高位)提取出来,并将结果存储在reg寄存器的低16位中

VMOVMSKPD reg, ymm2
     Extract 4-bit sign mask from ymm2 and store in reg. The upper bits of r32 or r64 are zeroed.

将ymm2寄存器中的双精度浮点值的符号位(最高位)提取出来,并将结果存储在reg寄存器的低16位中。

(V)MOVMSKPD (128-bit Versions)
    DEST[0] := SRC[63]
    DEST[1] := SRC[127]
    IF DEST = r32
    THEN DEST[31:2] := 0;
    ELSE DEST[63:2] := 0;
    FI
VMOVMSKPD (VEX.256 Encoded Version)
    DEST[0] := SRC[63]
    DEST[1] := SRC[127]
    DEST[2] := SRC[191]
    DEST[3] := SRC[255]
    IF DEST = r32
    THEN DEST[31:4] := 0;
    ELSE DEST[63:4] := 0;
    FI

VMOVMSKPS

VMOVMSKPS reg, xmm2
    Extract 4-bit sign mask from xmm2 and store in reg. The upper bits of r32 or r64 are zeroed.

将xmm2寄存器中的单精度浮点值的符号位(最高位)提取出来,并将结果存储在reg寄存器的低16位中。

VMOVMSKPS reg, ymm2
    Extract 8-bit sign mask from ymm2 and store in reg. The upper bits of r32 or r64 are zeroed.

将ymm2寄存器中的单精度浮点值的符号位(最高位)提取出来,并将结果存储在reg寄存器的低16位中

(V)MOVMSKPS (128-bit version)
    DEST[0] := SRC[31]
    DEST[1] := SRC[63]
    DEST[2] := SRC[95]
    DEST[3] := SRC[127]
    IF DEST = r32
    THEN DEST[31:4] := 0;
    ELSE DEST[63:4] := 0;
    FI
VMOVMSKPS (VEX.256 encoded version)
    DEST[0] := SRC[31]
    DEST[1] := SRC[63]
    DEST[2] := SRC[95]
    DEST[3] := SRC[127]
    DEST[4] := SRC[159]
    DEST[5] := SRC[191]
    DEST[6] := SRC[223]
    DEST[7] := SRC[255]
    IF DEST = r32
    THEN DEST[31:8] := 0;
    ELSE DEST[63:8] := 0;
    FI

VXORPS


VXORPS xmm1,xmm2, xmm3/m128
    Return the bitwise logical XOR of packed singleprecision floating-point values in xmm2 and xmm3/mem.

执行xmm2和xmm3/m128寄存器的按位异或操作,并将结果存储在xmm1中

VXORPS ymm1, ymm2, ymm3/m256
    Return the bitwise logical XOR of packed singleprecision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位异或操作,并将结果存储在ymm1中


VXORPS (VEX.256 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE XOR SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE XOR SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE XOR SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE XOR SRC2[127:96]
    DEST[159:128] := SRC1[159:128] BITWISE XOR SRC2[159:128]
    DEST[191:160] := SRC1[191:160] BITWISE XOR SRC2[191:160]
    DEST[223:192] := SRC1[223:192] BITWISE XOR SRC2[223:192]
    DEST[255:224] := SRC1[255:224] BITWISE XOR SRC2[255:224].
    DEST[MAXVL-1:256] := 0
VXORPS (VEX.128 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE XOR SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE XOR SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE XOR SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE XOR SRC2[127:96]
    DEST[MAXVL-1:128] := 0

VXORPD


VXORPD xmm1,xmm2, xmm3/m128
    Return the bitwise logical XOR of packed double precision floating-point values in xmm2 and xmm3/mem.

执行xmm2和xmm3/m128寄存器的按位异或操作,并将结果存储在xmm1中

VXORPD ymm1, ymm2, ymm3/m256
    Return the bitwise logical XOR of packed double precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位异或操作,并将结果存储在ymm1中

VXORPD (VEX.256 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE XOR SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE XOR SRC2[127:64]
    DEST[191:128] := SRC1[191:128] BITWISE XOR SRC2[191:128]
    DEST[255:192] := SRC1[255:192] BITWISE XOR SRC2[255:192]
    DEST[MAXVL-1:256] := 0
VXORPD (VEX.128 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE XOR SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE XOR SRC2[127:64]
    DEST[MAXVL-1:128] := 0

VORPS


VORPS xmm1,xmm2, xmm3/m128
    Return the bitwise logical OR of packed single precision floating-point values in xmm2 and xmm3/mem. 

执行xmm2和xmm3/m128寄存器的按位或操作,并将结果存储在xmm1中

VORPS ymm1, ymm2, ymm3/m256
    Return the bitwise logical OR of packed single precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位或操作,并将结果存储在ymm1中

VORPS (VEX.256 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE OR SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE OR SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE OR SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE OR SRC2[127:96]
    DEST[159:128] := SRC1[159:128] BITWISE OR SRC2[159:128]
    DEST[191:160] := SRC1[191:160] BITWISE OR SRC2[191:160]
    DEST[223:192] := SRC1[223:192] BITWISE OR SRC2[223:192]
    DEST[255:224] := SRC1[255:224] BITWISE OR SRC2[255:224].
    DEST[MAXVL-1:256] := 0
VORPS (VEX.128 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE OR SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE OR SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE OR SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE OR SRC2[127:96]
    DEST[MAXVL-1:128] := 0

VORPD


VORPD xmm1,xmm2, xmm3/m128
     Return the bitwise logical OR of packed double precision floating-point values in xmm2 and xmm3/mem.

执行xmm2和xmm3/m128寄存器的按位或操作,并将结果存储在xmm1中

VORPD ymm1, ymm2, ymm3/m256
     Return the bitwise logical OR of packed double precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位或操作,并将结果存储在ymm1中

VORPD (VEX.256 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE OR SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE OR SRC2[127:64]
    DEST[191:128] := SRC1[191:128] BITWISE OR SRC2[191:128]
    DEST[255:192] := SRC1[255:192] BITWISE OR SRC2[255:192]
    DEST[MAXVL-1:256] := 0
VORPD (VEX.128 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE OR SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE OR SRC2[127:64]
    DEST[MAXVL-1:128] := 0

VANDNPD


VANDNPD xmm1, xmm2, xmm3/m128
     Return the bitwise logical AND NOT of packed double precision floating-point values in xmm2 and xmm3/mem. 

执行xmm2和xmm3/m128寄存器的按位非与操作,并将结果存储在xmm1中

VANDNPD ymm1, ymm2, ymm3/m256
     Return the bitwise logical AND NOT of packed double precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位非与操作,并将结果存储在ymm1中

VANDNPD (VEX.256 Encoded Version)
    DEST[63:0] := (NOT(SRC1[63:0])) BITWISE AND SRC2[63:0]
    DEST[127:64] := (NOT(SRC1[127:64])) BITWISE AND SRC2[127:64]
    DEST[191:128] := (NOT(SRC1[191:128])) BITWISE AND SRC2[191:128]
    DEST[255:192] := (NOT(SRC1[255:192])) BITWISE AND SRC2[255:192]
    DEST[MAXVL-1:256] := 0
VANDNPD (VEX.128 Encoded Version)
    DEST[63:0] := (NOT(SRC1[63:0])) BITWISE AND SRC2[63:0]
    DEST[127:64] := (NOT(SRC1[127:64])) BITWISE AND SRC2[127:64]
    DEST[MAXVL-1:128] := 0

VANDNPS


VANDNPS xmm1, xmm2, xmm3/m128
     Return the bitwise logical AND NOT of packed single precision floating-point values in xmm2 and xmm3/mem. 

执行xmm2和xmm3/m128寄存器的按位非与操作,并将结果存储在xmm1中

VANDNPS ymm1, ymm2, ymm3/m256
     Return the bitwise logical AND NOT of packed single precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位非与操作,并将结果存储在ymm1中

VANDNPS (VEX.256 Encoded Version)
    DEST[31:0] := (NOT(SRC1[31:0])) BITWISE AND SRC2[31:0]
    DEST[63:32] := (NOT(SRC1[63:32])) BITWISE AND SRC2[63:32]
    DEST[95:64] := (NOT(SRC1[95:64])) BITWISE AND SRC2[95:64]
    DEST[127:96] := (NOT(SRC1[127:96])) BITWISE AND SRC2[127:96]
    DEST[159:128] := (NOT(SRC1[159:128])) BITWISE AND SRC2[159:128]
    DEST[191:160] := (NOT(SRC1[191:160])) BITWISE AND SRC2[191:160]
    DEST[223:192] := (NOT(SRC1[223:192])) BITWISE AND SRC2[223:192]
    DEST[255:224] := (NOT(SRC1[255:224])) BITWISE AND SRC2[255:224].
    DEST[MAXVL-1:256] := 0
VANDNPS (VEX.128 Encoded Version)
    DEST[31:0] := (NOT(SRC1[31:0])) BITWISE AND SRC2[31:0]
    DEST[63:32] := (NOT(SRC1[63:32])) BITWISE AND SRC2[63:32]
    DEST[95:64] := (NOT(SRC1[95:64])) BITWISE AND SRC2[95:64]
    DEST[127:96] := (NOT(SRC1[127:96])) BITWISE AND SRC2[127:96]
    DEST[MAXVL-1:128] := 0

VANDPD


VANDPD xmm1, xmm2, xmm3/m128
    Return the bitwise logical AND of packed double precision floating-point values in xmm2 and xmm3/mem. 

执行xmm2和xmm3/m128寄存器的按位与操作,并将结果存储在xmm1中

VANDPD ymm1, ymm2, ymm3/m256
    Return the bitwise logical AND of packed double precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位与操作,并将结果存储在ymm1中

VANDPD (VEX.256 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE AND SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE AND SRC2[127:64]
    DEST[191:128] := SRC1[191:128] BITWISE AND SRC2[191:128]
    DEST[255:192] := SRC1[255:192] BITWISE AND SRC2[255:192]
    DEST[MAXVL-1:256] := 0
VANDPD (VEX.128 Encoded Version)
    DEST[63:0] := SRC1[63:0] BITWISE AND SRC2[63:0]
    DEST[127:64] := SRC1[127:64] BITWISE AND SRC2[127:64]
    DEST[MAXVL-1:128] := 0

VANDPS


VANDPS xmm1,xmm2, xmm3/m128
     Return the bitwise logical AND of packed single precision floating-point values in xmm2 and xmm3/mem. 

执行xmm2和xmm3/m128寄存器的按位与操作,并将结果存储在xmm1中

VANDPS ymm1, ymm2, ymm3/m256
     Return the bitwise logical AND of packed single precision floating-point values in ymm2 and ymm3/mem.

执行ymm2和ymm3/m256寄存器的按位与操作,并将结果存储在ymm1中

VANDPS (VEX.256 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE AND SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE AND SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE AND SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE AND SRC2[127:96]
    DEST[159:128] := SRC1[159:128] BITWISE AND SRC2[159:128]
    DEST[191:160] := SRC1[191:160] BITWISE AND SRC2[191:160]
    DEST[223:192] := SRC1[223:192] BITWISE AND SRC2[223:192]
    DEST[255:224] := SRC1[255:224] BITWISE AND SRC2[255:224].
    DEST[MAXVL-1:256] := 0;
VANDPS (VEX.128 Encoded Version)
    DEST[31:0] := SRC1[31:0] BITWISE AND SRC2[31:0]
    DEST[63:32] := SRC1[63:32] BITWISE AND SRC2[63:32]
    DEST[95:64] := SRC1[95:64] BITWISE AND SRC2[95:64]
    DEST[127:96] := SRC1[127:96] BITWISE AND SRC2[127:96]
    DEST[MAXVL-1:128] := 0;

  • 24
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值