ia32-64/x86/movddup.html
2025-07-08 02:23:29 -03:00

259 lines
20 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:svg="http://www.w3.org/2000/svg" xmlns:x86="http://www.felixcloutier.com/x86"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><link rel="stylesheet" type="text/css" href="style.css"></link><title>MOVDDUP
— Replicate Double Precision Floating-Point Values</title></head><body><header><nav><ul><li><a href='index.html'>Index</a></li><li>December 2023</li></ul></nav></header><h1>MOVDDUP
— Replicate Double Precision Floating-Point Values</h1>
<table>
<tr>
<th>Opcode/Instruction</th>
<th>Op / En</th>
<th>64/32 bit Mode Support</th>
<th>CPUID Feature Flag</th>
<th>Description</th></tr>
<tr>
<td>F2 0F 12 /r MOVDDUP xmm1, xmm2/m64</td>
<td>A</td>
<td>V/V</td>
<td>SSE3</td>
<td>Move double precision floating-point value from xmm2/m64 and duplicate into xmm1.</td></tr>
<tr>
<td>VEX.128.F2.0F.WIG 12 /r VMOVDDUP xmm1, xmm2/m64</td>
<td>A</td>
<td>V/V</td>
<td>AVX</td>
<td>Move double precision floating-point value from xmm2/m64 and duplicate into xmm1.</td></tr>
<tr>
<td>VEX.256.F2.0F.WIG 12 /r VMOVDDUP ymm1, ymm2/m256</td>
<td>A</td>
<td>V/V</td>
<td>AVX</td>
<td>Move even index double precision floating-point values from ymm2/mem and duplicate each element into ymm1.</td></tr>
<tr>
<td>EVEX.128.F2.0F.W1 12 /r VMOVDDUP xmm1 {k1}{z}, xmm2/m64</td>
<td>B</td>
<td>V/V</td>
<td>AVX512VL AVX512F</td>
<td>Move double precision floating-point value from xmm2/m64 and duplicate each element into xmm1 subject to writemask k1.</td></tr>
<tr>
<td>EVEX.256.F2.0F.W1 12 /r VMOVDDUP ymm1 {k1}{z}, ymm2/m256</td>
<td>B</td>
<td>V/V</td>
<td>AVX512VL AVX512F</td>
<td>Move even index double precision floating-point values from ymm2/m256 and duplicate each element into ymm1 subject to writemask k1.</td></tr>
<tr>
<td>EVEX.512.F2.0F.W1 12 /r VMOVDDUP zmm1 {k1}{z}, zmm2/m512</td>
<td>B</td>
<td>V/V</td>
<td>AVX512F</td>
<td>Move even index double precision floating-point values from zmm2/m512 and duplicate each element into zmm1 subject to writemask k1.</td></tr></table>
<h2 id="instruction-operand-encoding">Instruction Operand Encoding<a class="anchor" href="#instruction-operand-encoding">
</a></h2>
<table>
<tr>
<th>Op/En</th>
<th>Tuple Type</th>
<th>Operand 1</th>
<th>Operand 2</th>
<th>Operand 3</th>
<th>Operand 4</th></tr>
<tr>
<td>A</td>
<td>N/A</td>
<td>ModRM:reg (w)</td>
<td>ModRM:r/m (r)</td>
<td>N/A</td>
<td>N/A</td></tr>
<tr>
<td>B</td>
<td>MOVDDUP</td>
<td>ModRM:reg (w)</td>
<td>ModRM:r/m (r)</td>
<td>N/A</td>
<td>N/A</td></tr></table>
<h2 id="description">Description<a class="anchor" href="#description">
</a></h2>
<p>For 256-bit or higher versions: Duplicates even-indexed double precision floating-point values from the source operand (the second operand) and into adjacent pair and store to the destination operand (the first operand).</p>
<p>For 128-bit versions: Duplicates the low double precision floating-point value from the source operand (the second operand) and store to the destination operand (the first operand).</p>
<p>128-bit Legacy SSE version: Bits (MAXVL-1:128) of the corresponding destination register are unchanged. The source operand is XMM register or a 64-bit memory location.</p>
<p>VEX.128 and EVEX.128 encoded version: Bits (MAXVL-1:128) of the destination register are zeroed. The source operand is XMM register or a 64-bit memory location. The destination is updated conditionally under the writemask for EVEX version.</p>
<p>VEX.256 and EVEX.256 encoded version: Bits (MAXVL-1:256) of the destination register are zeroed. The source operand is YMM register or a 256-bit memory location. The destination is updated conditionally under the write-mask for EVEX version.</p>
<p>EVEX.512 encoded version: The destination is updated according to the writemask. The source operand is ZMM register or a 512-bit memory location.</p>
<p>Note: VEX.vvvv and EVEX.vvvv are reserved and must be 1111b otherwise instructions will #UD.</p>
<figure id="fig-4-2">
<svg style="width: 475.77604799999995pt; height: 125.35197599999996pt" viewBox="101.24000000000001 0.0 401.48004 109.45997999999997">
<g xmlns="http://www.w3.org/2000/svg" style="fill: none; stroke: none">
<rect height="103.5" style="fill: rgb(0%, 0%, 0%)" width="0.48" x="103.74000000000001" y="0.479979999999955"></rect>
<rect height="103.5" style="fill: rgb(0%, 0%, 0%)" width="0.48004" x="499.74" y="0.479979999999955"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="396.48" x="103.74000000000001" y="0.0"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="396.48" x="103.74000000000001" y="103.98000000000002"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="163.62" y="82.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="237.60000000000002" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="163.38" y="96.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="163.38" y="82.49997999999994"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.28" x="237.84" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="237.84" y="82.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="311.88" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="237.60000000000002" y="96.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="237.60000000000002" y="82.49997999999994"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.22" x="312.12" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="312.12" y="82.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.47998" x="386.1" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="311.88" y="96.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="311.88" y="82.49997999999994"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.28" x="386.34000000000003" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="386.34000000000003" y="82.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="460.38" y="82.73997999999995"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="386.1" y="96.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.47998" x="386.1" y="82.49997999999994"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.22" x="163.62" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="163.62" y="15.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="237.60000000000002" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="163.38" y="28.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="163.38" y="14.999979999999937"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.28" x="237.84" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="237.84" y="15.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="311.88" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="237.60000000000002" y="28.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="237.60000000000002" y="14.999979999999937"></rect>
<path d="M 352.62 66.4199799999999 L 352.8 66.4199799999999 L 352.98 66.35997999999995 C 353.897 66.07697999999993 353.795 64.6409799999999 352.8 64.43997999999988L 352.38 64.43997999999988 C 351.379 64.76397999999995 351.395 66.01897999999994 352.2 66.35997999999995L 352.38 66.4199799999999 L 352.62 66.4199799999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 352.62 65.45997999999997 L 357.54 65.45997999999997 L 357.36 66.11997999999994 L 353.1 81.11997999999994 L 352.62 82.79998 L 352.14 81.11997999999994 L 347.82 66.11997999999994 L 347.64 65.45997999999997 L 348.3 65.45997999999997 L 348.78000000000003 65.81997999999999 L 353.1 80.81997999999999 L 352.14 81.11997999999994 L 352.14 80.81997999999999 L 356.4 65.81997999999999 L 357.36 66.11997999999994 L 356.88 66.47997999999995 L 352.62 66.47997999999995" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.32" x="348.3" y="65.45997999999997"></rect>
<path d="M 352.62 65.93997999999988 L 356.88 65.93997999999988 L 352.62 80.93997999999988 L 348.3 65.93997999999988" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="9.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="351.66" y="55.739979999999946"></rect>
<path d="M 278.34000000000003 66.4199799999999 L 278.58000000000004 66.4199799999999 L 278.76000000000005 66.35997999999995 C 279.668 65.99597999999992 279.516 64.67897999999991 278.58000000000004 64.43997999999988L 278.16 64.43997999999988 C 277.23 64.60897999999986 277.057 66.0589799999999 277.98 66.35997999999995L 278.16 66.4199799999999 L 278.34000000000003 66.4199799999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 278.34000000000003 65.45997999999997 L 283.32000000000005 65.45997999999997 L 283.14000000000004 66.11997999999994 L 278.82000000000005 81.11997999999994 L 278.34000000000003 82.79998 L 277.86 81.11997999999994 L 273.6 66.11997999999994 L 273.42 65.45997999999997 L 274.08000000000004 65.45997999999997 L 274.56000000000006 65.81997999999999 L 278.82000000000005 80.81997999999999 L 277.86 81.11997999999994 L 277.86 80.81997999999999 L 282.18 65.81997999999999 L 283.14000000000004 66.11997999999994 L 282.66 66.47997999999995 L 278.34000000000003 66.47997999999995" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.26" x="274.08" y="65.45997999999997"></rect>
<path d="M 278.34000000000003 65.93997999999988 L 282.66 65.93997999999988 L 278.34000000000003 80.93997999999988 L 274.08000000000004 65.93997999999988" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="36.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="277.38" y="28.739979999999946"></rect>
<path d="M 204.12 66.4199799999999 L 204.3 66.4199799999999 L 204.48000000000002 66.35997999999995 C 205.247 66.22897999999986 205.412 64.67797999999993 204.3 64.43997999999988L 203.88 64.43997999999988 C 202.94400000000002 64.67897999999991 202.792 65.99597999999992 203.70000000000002 66.35997999999995L 203.88 66.4199799999999 L 204.12 66.4199799999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 204.12 65.45997999999997 L 209.04 65.45997999999997 L 208.86 66.11997999999994 L 204.6 81.11997999999994 L 204.12 82.79998 L 203.64000000000001 81.11997999999994 L 199.32 66.11997999999994 L 199.14000000000001 65.45997999999997 L 199.8 65.45997999999997 L 200.28 65.81997999999999 L 204.6 80.81997999999999 L 203.64000000000001 81.11997999999994 L 203.64000000000001 80.81997999999999 L 207.9 65.81997999999999 L 208.86 66.11997999999994 L 208.38 66.47997999999995 L 204.12 66.47997999999995" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.32" x="199.8" y="65.45997999999997"></rect>
<path d="M 204.12 65.93997999999988 L 208.38 65.93997999999988 L 204.12 80.93997999999988 L 199.8 65.93997999999988" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="9.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="203.16" y="55.739979999999946"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.22" x="312.12" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="312.12" y="15.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.47998" x="386.1" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.46000000000001" x="311.88" y="28.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="311.88" y="14.999979999999937"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="74.28" x="386.34000000000003" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="386.34000000000003" y="15.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="460.38" y="15.239979999999946"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="74.52" x="386.1" y="28.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.47998" x="386.1" y="14.999979999999937"></rect>
<path d="M 426.84000000000003 66.4199799999999 L 427.08000000000004 66.4199799999999 L 427.26000000000005 66.35997999999995 C 428.168 65.99597999999992 428.016 64.67897999999991 427.08000000000004 64.43997999999988L 426.66 64.43997999999988 C 425.72400000000005 64.67897999999991 425.57200000000006 65.99597999999992 426.48 66.35997999999995L 426.66 66.4199799999999 L 426.84000000000003 66.4199799999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 426.84000000000003 65.45997999999997 L 431.82000000000005 65.45997999999997 L 431.64000000000004 66.11997999999994 L 427.32000000000005 81.11997999999994 L 426.84000000000003 82.79998 L 426.36 81.11997999999994 L 422.1 66.11997999999994 L 421.92 65.45997999999997 L 422.58000000000004 65.45997999999997 L 423.06000000000006 65.81997999999999 L 427.32000000000005 80.81997999999999 L 426.36 81.11997999999994 L 426.36 80.81997999999999 L 430.68 65.81997999999999 L 431.64000000000004 66.11997999999994 L 431.16 66.47997999999995 L 426.84000000000003 66.47997999999995" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.26" x="422.58" y="65.45997999999997"></rect>
<path d="M 426.84000000000003 65.93997999999988 L 431.16 65.93997999999988 L 426.84000000000003 80.93997999999988 L 422.58000000000004 65.93997999999988" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="36.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="425.88" y="28.739979999999946"></rect>
<rect height="1.98" style="fill: rgb(0%, 0%, 0%)" width="74.22" x="204.12" y="54.77997999999991"></rect>
<rect height="1.98" style="fill: rgb(0%, 0%, 0%)" width="74.22" x="352.62" y="54.77997999999991"></rect>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.17216670000002" x="199.44" y="25.35087779999992">X3</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="273.72" y="25.35087779999992">X2</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="347.94" y="25.35087779999992">X1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.232485099999963" x="422.22" y="25.35087779999992">X0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="15.882588700000014" x="143.64035448" y="26.971180819999972">SRC</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="19.963882439999992" x="143.34164749999997" y="92.85087779999992">DEST</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.17216670000002" x="198.3" y="92.85087779999992">X2</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.232485099999963" x="272.58" y="92.85087779999992">X2</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="347.94" y="92.85087779999992">X0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.232485099999963" x="422.22" y="92.85087779999992">X0</text></g></svg>
<figcaption><a href='movddup.html#fig-4-2'>Figure 4-2</a>. VMOVDDUP Operation</figcaption></figure>
<h2 id="operation">Operation<a class="anchor" href="#operation">
</a></h2>
<h3 id="vmovddup--evex-encoded-versions-">VMOVDDUP (EVEX Encoded Versions)<a class="anchor" href="#vmovddup--evex-encoded-versions-">
</a></h3>
<pre>(KL, VL) = (2, 128), (4, 256), (8, 512)
TMP_SRC[63:0] := SRC[63:0]
TMP_SRC[127:64] := SRC[63:0]
IF VL &gt;= 256
TMP_SRC[191:128] := SRC[191:128]
TMP_SRC[255:192] := SRC[191:128]
FI;
IF VL &gt;= 512
TMP_SRC[319:256] := SRC[319:256]
TMP_SRC[383:320] := SRC[319:256]
TMP_SRC[477:384] := SRC[477:384]
TMP_SRC[511:484] := SRC[477:384]
FI;
FOR j := 0 TO KL-1
i := j * 64
IF k1[j] OR *no writemask*
THEN DEST[i+63:i] := TMP_SRC[i+63:i]
ELSE
IF *merging-masking*
THEN *DEST[i+63:i] remains unchanged*
ELSE
; zeroing-masking
DEST[i+63:i] := 0
; zeroing-masking
FI
FI;
ENDFOR
DEST[MAXVL-1:VL] := 0
</pre>
<h3 id="vmovddup--vex-256-encoded-version-">VMOVDDUP (VEX.256 Encoded Version)<a class="anchor" href="#vmovddup--vex-256-encoded-version-">
</a></h3>
<pre>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
</pre>
<h3 id="vmovddup--vex-128-encoded-version-">VMOVDDUP (VEX.128 Encoded Version)<a class="anchor" href="#vmovddup--vex-128-encoded-version-">
</a></h3>
<pre>DEST[63:0] := SRC[63:0]
DEST[127:64] := SRC[63:0]
DEST[MAXVL-1:128] := 0
</pre>
<h3 id="movddup--128-bit-legacy-sse-version-">MOVDDUP (128-bit Legacy SSE Version)<a class="anchor" href="#movddup--128-bit-legacy-sse-version-">
</a></h3>
<pre>DEST[63:0] := SRC[63:0]
DEST[127:64] := SRC[63:0]
DEST[MAXVL-1:128] (Unmodified)
</pre>
<h2 id="intel-c-c++-compiler-intrinsic-equivalent">Intel C/C++ Compiler Intrinsic Equivalent<a class="anchor" href="#intel-c-c++-compiler-intrinsic-equivalent">
</a></h2>
<pre>VMOVDDUP __m512d _mm512_movedup_pd( __m512d a);
</pre>
<pre>VMOVDDUP __m512d _mm512_mask_movedup_pd(__m512d s, __mmask8 k, __m512d a);
</pre>
<pre>VMOVDDUP __m512d _mm512_maskz_movedup_pd( __mmask8 k, __m512d a);
</pre>
<pre>VMOVDDUP __m256d _mm256_mask_movedup_pd(__m256d s, __mmask8 k, __m256d a);
</pre>
<pre>VMOVDDUP __m256d _mm256_maskz_movedup_pd( __mmask8 k, __m256d a);
</pre>
<pre>VMOVDDUP __m128d _mm_mask_movedup_pd(__m128d s, __mmask8 k, __m128d a);
</pre>
<pre>VMOVDDUP __m128d _mm_maskz_movedup_pd( __mmask8 k, __m128d a);
</pre>
<pre>MOVDDUP __m256d _mm256_movedup_pd (__m256d a);
</pre>
<pre>MOVDDUP __m128d _mm_movedup_pd (__m128d a);
</pre>
<h2 class="exceptions" id="simd-floating-point-exceptions">SIMD Floating-Point Exceptions<a class="anchor" href="#simd-floating-point-exceptions">
</a></h2>
<p>None.</p>
<h2 class="exceptions" id="other-exceptions">Other Exceptions<a class="anchor" href="#other-exceptions">
</a></h2>
<p>Non-EVEX-encoded instruction, see <span class="not-imported">Table 2-22</span>, “Type 5 Class Exception Conditions.”</p>
<p>EVEX-encoded instruction, see <span class="not-imported">Table 2-52</span>, “Type E5NF Class Exception Conditions.”</p>
<p>Additionally:</p>
<table>
<tr>
<td>#UD</td>
<td>If EVEX.vvvv != 1111B or VEX.vvvv != 1111B.</td></tr></table><footer><p>
This UNOFFICIAL, mechanically-separated, non-verified reference is provided for convenience, but it may be
inc<span style="opacity: 0.2">omp</span>lete or b<sub>r</sub>oke<sub>n</sub> in various obvious or non-obvious
ways. Refer to <a href="https://software.intel.com/en-us/download/intel-64-and-ia-32-architectures-sdm-combined-volumes-1-2a-2b-2c-2d-3a-3b-3c-3d-and-4">Intel® 64 and IA-32 Architectures Software Developers Manual</a> for anything serious.
</p></footer></body></html>