ROUNDPD — Round Packed Double Precision Floating-Point ValuesInstruction Operand EncodingDescriptionRound the 2 double-precision floating-point values in the source operand (second operand) using the rounding mode specified in the immediate operand (third operand) and place the results in the destination operand (first operand). The rounding process rounds each input floating-point value to an integer value and returns the integer result as a double-precision floating-point value. The immediate operand specifies control fields for the rounding operation, three bit fields are defined and shown in Figure4-24. Bit 3 of the immediate byte controls processor behavior for a precision exception, bit 2 selects the source of rounding mode control. Bits 1:0 specify a non-sticky rounding-mode value (Table 4-23 lists the encoded values for rounding-mode field). The Precision Floating-Point Exception is signaled according to the immediate operand. If any source operand is an SNaN then it will be converted to a QNaN. If DAZ is set to ‘1 then denormals will be converted to zero before rounding.128-bit Legacy SSE version: The second source can be an XMM register or 128-bit memory location. The destina-tion is not distinct from the first source XMM register and the upper bits (MAXVL-1:128) of the corresponding YMM register destination are unmodified.VEX.128 encoded version: the source operand second source operand or a 128-bit memory location. The destina-tion operand is an XMM register. The upper bits (MAXVL-1:128) of the corresponding YMM register destination are zeroed.VEX.256 encoded version: The source operand is a YMM register or a 256-bit memory location. The destination operand is a YMM register. Note: In VEX-encoded versions, VEX.vvvv is reserved and must be 1111b, otherwise instructions will #UD.Opcode*/InstructionOp/ En64/32 bit Mode SupportCPUID Feature FlagDescription66 0F 3A 09 /r ibROUNDPD xmm1, xmm2/m128, imm8RMIV/VSSE4_1Round packed double precision floating-point values in xmm2/m128 and place the result in xmm1. The rounding mode is determined by imm8.VEX.128.66.0F3A.WIG 09 /r ibVROUNDPD xmm1, xmm2/m128, imm8RMIV/VAVXRound packed double-precision floating-point values in xmm2/m128 and place the result in xmm1. The rounding mode is determined by imm8.VEX.256.66.0F3A.WIG 09 /r ibVROUNDPD ymm1, ymm2/m256, imm8RMIV/VAVXRound packed double-precision floating-point values in ymm2/m256 and place the result in ymm1. The rounding mode is determined by imm8.Op/EnOperand 1Operand 2Operand 3Operand 4RMIModRM:reg (w)ModRM:r/m (r)imm8NA
This UNOFFICIAL reference was generated from the official Intel® 64 and IA-32 Architectures Software Developer’s Manual by a dumb script. There is no guarantee that some parts aren't mangled or broken and is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.