background image

XORPS—Bitwise Logical XOR of Packed Single Precision Floating-Point Values

INSTRUCTION SET REFERENCE, V-Z

Vol. 2C 5-561

XORPS—Bitwise Logical XOR of Packed Single Precision Floating-Point Values

Instruction Operand Encoding

Description

Performs a bitwise logical XOR of the four, eight or sixteen packed single-precision floating-point values from the 
first source operand and the second source operand, and stores the result in the destination operand
EVEX.512 encoded version: The first source operand is a ZMM register. The second source operand can be a ZMM 
register or a vector memory location. The destination operand is a ZMM register conditionally updated with 
writemask k1.
VEX.256 and EVEX.256 encoded versions: The first source operand is a YMM register. The second source operand 
is a YMM register or a 256-bit memory location. The destination operand is a YMM register (conditionally updated 
with writemask k1 in case of EVEX). The upper bits (MAX_VL-1:256) of the corresponding ZMM register destination 
are zeroed.
VEX.128 and EVEX.128 encoded versions: The first source operand is an XMM register. The second source operand 
is an XMM register or 128-bit memory location. The destination operand is an XMM register (conditionally updated 
with writemask k1 in case of EVEX). The upper bits (MAX_VL-1:128) of the corresponding ZMM register destination 
are zeroed.
128-bit Legacy SSE version: The second source can be an XMM register or an 128-bit memory location. The desti-
nation is not distinct from the first source XMM register and the upper bits (MAX_VL-1:128) of the corresponding 
register destination are unmodified.

Opcode/

Instruction

Op / 

En

64/32 

bit Mode 

Support

CPUID 

Feature 

Flag

Description

0F 57 /r

XORPS xmm1, xmm2/m128

RM

V/V

SSE

Return the bitwise logical XOR of packed single-

precision floating-point values in xmm1 and 

xmm2/mem.

VEX.NDS.128.0F.WIG 57 /r

VXORPS xmm1,xmm2, xmm3/m128

RVM

V/V

AVX

Return the bitwise logical XOR of packed single-

precision floating-point values in xmm2 and 

xmm3/mem.

VEX.NDS.256.0F.WIG 57 /r

VXORPS ymm1, ymm2, ymm3/m256

RVM

V/V

AVX

Return the bitwise logical XOR of packed single-

precision floating-point values in ymm2 and 

ymm3/mem.

EVEX.NDS.128.0F.W0 57 /r

FV

V/V

AVX512VL

AVX512DQ

Return the bitwise logical XOR of packed single-

precision floating-point values in xmm2 and 

xmm3/m128/m32bcst subject to writemask k1.

VXORPS xmm1 {k1}{z}, xmm2, 

xmm3/m128/m32bcst

EVEX.NDS.256.0F.W0 57 /r

FV

V/V

AVX512VL

AVX512DQ

Return the bitwise logical XOR of packed single-

precision floating-point values in ymm2 and 

ymm3/m256/m32bcst subject to writemask k1.

VXORPS ymm1 {k1}{z}, ymm2, 

ymm3/m256/m32bcst

EVEX.NDS.512.0F.W0 57 /r

FV

V/V

AVX512DQ

Return the bitwise logical XOR of packed single-

precision floating-point values in zmm2 and 

zmm3/m512/m32bcst subject to writemask k1.

VXORPS zmm1 {k1}{z}, zmm2, 

zmm3/m512/m32bcst

Op/En

Operand 1

Operand 2

Operand 3

Operand 4

RM

ModRM:reg (r, w)

ModRM:r/m (r)

NA

NA

RVM

ModRM:reg (w)

VEX.vvvv

ModRM:r/m (r)

NA

FV

ModRM:reg (w)

EVEX.vvvv

ModRM:r/m (r)

NA