VRANGEPD—Range Restriction Calculation For Packed Pairs of Float64 ValuesInstruction Operand EncodingDescriptionThis instruction calculates 2/4/8 range operation outputs from two sets of packed input double-precision FP values in the first source operand (the second operand) and the second source operand (the third operand). The range outputs are written to the destination operand (the first operand) under the writemask k1. Bits7:4 of imm8 byte must be zero. The range operation output is performed in two parts, each configured by a two-bit control field within imm8[3:0]:•Imm8[1:0] specifies the initial comparison operation to be one of max, min, max absolute value or min absolute value of the input value pair. Each comparison of two input values produces an intermediate result that combines with the sign selection control (Imm8[3:2]) to determine the final range operation output.•Imm8[3:2] specifies the sign of the range operation output to be one of the following: from the first input value, from the comparison result, set or clear.The encodings of Imm8[1:0] and Imm8[3:2] are shown in Figure5-27.Opcode/InstructionOp / En64/32 bit Mode SupportCPUID Feature FlagDescriptionEVEX.128.66.0F3A.W1 50 /r ibVRANGEPD xmm1 {k1}{z}, xmm2, xmm3/m128/m64bcst, imm8AV/VAVX512VLAVX512DQCalculate two RANGE operation output value from 2 pairs of double-precision floating-point values in xmm2 and xmm3/m128/m32bcst, store the results to xmm1 under the writemask k1. Imm8 specifies the comparison and sign of the range operation.EVEX.256.66.0F3A.W1 50 /r ibVRANGEPD ymm1 {k1}{z}, ymm2, ymm3/m256/m64bcst, imm8AV/VAVX512VLAVX512DQCalculate four RANGE operation output value from 4pairs of double-precision floating-point values in ymm2 and ymm3/m256/m32bcst, store the results to ymm1 under the writemask k1. Imm8 specifies the comparison and sign of the range operation.EVEX.512.66.0F3A.W1 50 /r ibVRANGEPD zmm1 {k1}{z}, zmm2, zmm3/m512/m64bcst{sae}, imm8AV/VAVX512DQCalculate eight RANGE operation output value from 8 pairs of double-precision floating-point values in zmm2 and zmm3/m512/m32bcst, store the results to zmm1 under the writemask k1. Imm8 specifies the comparison and sign of the range operation.Op/EnTuple TypeOperand 1Operand 2Operand 3Operand 4AFullModRM:reg (w)EVEX.vvvv (r)ModRM:r/m (r)Imm8Figure 5-27. Imm8 Controls for VRANGEPD/SD/PS/SS70246531Compare Operation SelectMust Be ZeroImm8[3:2] = 00b : Select sign(SRC1)Sign Control (SC)Imm8[3:2] = 01b : Select sign(Compare_Result)Imm8[3:2] = 10b : Set sign to 0Imm8[1:0] = 00b : Select Min valueImm8[1:0] = 01b : Select Max valueImm8[1:0] = 10b : Select Min-Abs valueImm8[1:0] = 11b : Select Max-Abs valueimm8Imm8[3:2] = 11b : Set sign to 1
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.