모두의 코드
KANDW, KANDB, KANDQ, KANDDs (Intel x86/64 assembly instruction)

작성일 : 2020-09-01 이 글은 556 번 읽혔습니다.

KANDW, KANDB, KANDQ, KANDD

Bitwise Logical AND Masks

참고 사항

아래 표를 해석하는 방법은 x86-64 명령어 레퍼런스 읽는 법 글을 참조하시기 바랍니다.

Opcode/
Instruction

Op/En

64/32
bit Mode
Support

CPUID
Feature
Flag

Description

VEX.NDS.L1.0F.W0 41 /r
KANDW k1 k2 k3

RVR

V/V

AVX512F

Bitwise AND 16 bits masks k2 and k3 and place result in k1.

VEX.L1.66.0F.W0 41 /r
KANDB k1 k2 k3

RVR

V/V

AVX512DQ

Bitwise AND 8 bits masks k2 and k3 and place result in k1.

VEX.L1.0F.W1 41 /r
KANDQ k1 k2 k3

RVR

V/V

AVX512BW

Bitwise AND 64 bits masks k2 and k3 and place result in k1.

VEX.L1.66.0F.W1 41 /r
KANDD k1 k2 k3

RVR

V/V

AVX512BW

Bitwise AND 32 bits masks k2 and k3 and place result in k1.

Instruction Operand Encoding

Op/En

Operand 1

Operand 2

Operand 3

RVR

ModRM:reg (w)

VEX.1vvv (r)

ModRM:r/m (r, ModRM:[7:6] must be 11b)

Description

Performs a bitwise AND between the vector mask k2 and the vector mask k3, and writes the result into vector mask k1.

Operation

KANDW

DEST[15:0] <-  SRC1[15:0] BITWISE AND SRC2[15:0]
DEST[MAX_KL-1:16] <-  0

KANDB

DEST[7:0] <-  SRC1[7:0] BITWISE AND SRC2[7:0]
DEST[MAX_KL-1:8] <-  0

KANDQ

DEST[63:0] <-  SRC1[63:0] BITWISE AND SRC2[63:0]
DEST[MAX_KL-1:64] <-  0

KANDD

DEST[31:0] <-  SRC1[31:0] BITWISE AND SRC2[31:0]
DEST[MAX_KL-1:32] <-  0

Intel C/C++ Compiler Intrinsic Equivalent

KANDW __mmask16 _mm512_kand(__mmask16 a, __mmask16 b);

Flags Affected

None

SIMD Floating-Point Exceptions

None

Other Exceptions

See Exceptions Type K20.

첫 댓글을 달아주세요!
프로필 사진 없음
강좌에 관련 없이 궁금한 내용은 여기를 사용해주세요

    댓글을 불러오는 중입니다..