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

171 lines
21 KiB
HTML
Raw 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>VPERM2I128
— Permute Integer Values</title></head><body><header><nav><ul><li><a href='index.html'>Index</a></li><li>December 2023</li></ul></nav></header><h1>VPERM2I128
— Permute Integer Values</h1>
<table>
<tr>
<th>Opcode/Instruction</th>
<th>Op/En</th>
<th>64/32 -bit Mode</th>
<th>CPUID Feature Flag</th>
<th>Description</th></tr>
<tr>
<td>VEX.256.66.0F3A.W0 46 /r ib VPERM2I128 ymm1, ymm2, ymm3/m256, imm8</td>
<td>RVMI</td>
<td>V/V</td>
<td>AVX2</td>
<td>Permute 128-bit integer data in ymm2 and ymm3/mem using controls from imm8 and store result in ymm1.</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>Operand 1</th>
<th>Operand 2</th>
<th>Operand 3</th>
<th>Operand 4</th></tr>
<tr>
<td>RVMI</td>
<td>ModRM:reg (w)</td>
<td>VEX.vvvv (r)</td>
<td>ModRM:r/m (r)</td>
<td>imm8</td></tr></table>
<h2 id="description">Description<a class="anchor" href="#description">
</a></h2>
<p>Permute 128 bit integer data from the first source operand (second operand) and second source operand (third operand) using bits in the 8-bit immediate and store results in the destination operand (first operand). The first source operand is a YMM register, the second source operand is a YMM register or a 256-bit memory location, and the destination operand is a YMM register.</p>
<figure id="fig-5-22">
<svg style="width: 381.0240119999999pt; height: 149.112pt" viewBox="142.34 0.0 322.52000999999996 129.26">
<g xmlns="http://www.w3.org/2000/svg" style="fill: none; stroke: none">
<path d="M 255.60000000000002 104.57999999999998 L 257.1 108.65999999999997 L 257.22 109.32 L 256.62 109.38 L 241.08 110.45999999999998 L 239.34000000000003 110.57999999999998 L 240.72000000000003 109.56 L 253.32000000000002 100.38 L 253.92000000000002 99.95999999999998 L 254.16000000000003 100.56 L 253.98000000000002 101.15999999999997 L 241.38000000000002 110.33999999999997 L 240.72000000000003 109.56 L 241.02 109.44 L 256.56 108.35999999999996 L 256.62 109.38 L 256.14000000000004 109.01999999999998 L 254.64000000000001 104.94" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 254.16 100.56 L 255.6 104.57999999999998 L 254.64 104.94 L 253.2 100.92000000000002" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 255.12 104.75999999999999 L 256.62 108.83999999999997 L 241.08 109.92000000000002 L 253.68 100.74000000000001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 388.20000000000005 57.48000000000002 L 387.54 55.620000000000005 L 255.30000000000004 103.68 L 255.96000000000004 105.54000000000002" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="313.62" y="43.01999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="42.77999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="43.01999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="56.27999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="42.77999999999997"></rect>
<path d="M 387.84000000000003 94.19999999999999 L 388.08000000000004 94.19999999999999 L 388.26000000000005 94.13999999999999 C 389.16900000000004 93.63900000000001 389.04 92.54399999999998 388.08000000000004 92.21999999999997L 387.66 92.21999999999997 C 386.70000000000005 92.54399999999998 386.571 93.63900000000001 387.48 94.13999999999999L 387.66 94.19999999999999 L 387.84000000000003 94.19999999999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 387.84000000000003 93.24000000000001 L 392.82000000000005 93.24000000000001 L 392.64000000000004 93.90000000000003 L 388.32000000000005 108.90000000000003 L 387.84000000000003 110.57999999999998 L 387.36 108.90000000000003 L 383.1 93.90000000000003 L 382.92 93.24000000000001 L 383.58000000000004 93.24000000000001 L 384.06000000000006 93.60000000000002 L 388.32000000000005 108.60000000000002 L 387.36 108.90000000000003 L 387.36 108.60000000000002 L 391.68 93.60000000000002 L 392.64000000000004 93.90000000000003 L 392.16 94.25999999999999 L 387.84000000000003 94.25999999999999" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.26" x="383.58" y="93.24000000000001"></rect>
<path d="M 387.84000000000003 93.71999999999997 L 392.16 93.71999999999997 L 387.84000000000003 108.71999999999997 L 383.58000000000004 93.71999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="36.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="386.88" y="56.51999999999998"></rect>
<path d="M 372.54 104.94 L 372.6 104.75999999999999 L 372.6 104.51999999999998 C 372.538 103.572 371.214 103.24599999999998 370.74 104.10000000000002L 370.68 104.27999999999997 L 370.62 104.45999999999998 C 370.519 105.45499999999998 371.54 105.964 372.36 105.30000000000001L 372.48 105.12 L 372.54 104.94" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 371.58 104.57999999999998 L 373.08 100.56 L 373.38 99.95999999999998 L 373.91999999999996 100.38 L 386.52 109.56 L 387.9 110.57999999999998 L 386.15999999999997 110.45999999999998 L 370.62 109.38 L 369.96 109.32 L 370.14 108.65999999999997 L 370.68 108.35999999999996 L 386.21999999999997 109.44 L 386.15999999999997 110.45999999999998 L 385.86 110.33999999999997 L 373.26 101.15999999999997 L 373.91999999999996 100.38 L 374.03999999999996 100.91999999999996 L 372.53999999999996 104.94" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 370.14 108.66000000000003 L 371.58 104.58000000000004 L 372.53999999999996 104.94 L 371.09999999999997 109.02000000000004" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 372.06 104.75999999999999 L 373.56 100.74000000000001 L 386.16 109.92000000000002 L 370.62 108.83999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 239.70000000000002 55.620000000000005 L 239.04000000000002 57.48000000000002 L 371.28000000000003 105.54000000000002 L 371.94000000000005 103.68" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 239.34 94.19999999999999 L 239.58 94.19999999999999 L 239.76 94.13999999999999 C 240.669 93.63900000000001 240.54 92.54399999999998 239.58 92.21999999999997L 239.16 92.21999999999997 L 238.98 92.27999999999997 L 238.62 92.51999999999998 L 238.5 92.63999999999999 L 238.38 93.0 L 238.38 93.42000000000002 L 238.44 93.59999999999997 L 238.5 93.77999999999997 L 238.62 93.89999999999998 L 238.98 94.13999999999999 L 239.16 94.19999999999999 L 239.34 94.19999999999999" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 239.34 93.24000000000001 L 244.32 93.24000000000001 L 244.14000000000001 93.90000000000003 L 239.82 108.90000000000003 L 239.34 110.57999999999998 L 238.86 108.90000000000003 L 234.6 93.90000000000003 L 234.42000000000002 93.24000000000001 L 235.08 93.24000000000001 L 235.56 93.60000000000002 L 239.82 108.60000000000002 L 238.86 108.90000000000003 L 238.86 108.60000000000002 L 243.18 93.60000000000002 L 244.14000000000001 93.90000000000003 L 243.66 94.25999999999999 L 239.34 94.25999999999999" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.26" x="235.08" y="93.24000000000001"></rect>
<path d="M 239.34 93.71999999999997 L 243.66 93.71999999999997 L 239.34 108.71999999999997 L 235.08 93.71999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="36.72" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="238.38" y="56.51999999999998"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="43.01999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="42.77999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="43.01999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="56.27999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="42.77999999999997"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="313.62" y="110.51999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="110.27999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="110.51999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="123.77999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="110.27999999999997"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="110.51999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="110.27999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="110.51999999999998"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="123.77999"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="110.27999999999997"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="313.62" y="0.2400000000000091"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="2.0000000006348273e-05"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="0.2400000000000091"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="13.500020000000006"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="0.0"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="0.2400000000000091"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="2.0000000006348273e-05"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="0.2400000000000091"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="13.500020000000006"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="0.0"></rect>
<path d="M 394.62 95.33999999999997 L 394.8 95.33999999999997 L 394.98 95.27999999999997 L 395.34000000000003 95.03999999999996 L 395.46 94.91999999999996 L 395.58 94.56 L 395.64 94.32 L 395.58 94.13999999999999 C 395.446 93.75099999999998 395.451 93.54399999999998 394.98 93.41999999999996L 394.8 93.35999999999996 L 394.44 93.35999999999996 L 394.2 93.41999999999996 L 394.08 93.47999999999996 L 393.9 93.59999999999997 L 393.78000000000003 93.77999999999997 L 393.66 94.13999999999999 L 393.6 94.32 C 393.724 94.70099999999996 393.676 94.96599999999995 394.08 95.15999999999997L 394.2 95.27999999999997 L 394.44 95.33999999999997 L 394.62 95.33999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 394.62 94.38 L 399.6 94.38 L 399.42 95.04000000000002 L 395.1 109.98000000000002 L 394.62 111.65999999999997 L 394.14 109.98000000000002 L 389.82 95.04000000000002 L 389.64 94.38 L 390.3 94.38 L 390.78000000000003 94.74000000000001 L 395.1 109.68 L 394.14 109.98000000000002 L 394.14 109.68 L 398.46 94.74000000000001 L 399.42 95.04000000000002 L 398.94 95.39999999999998 L 394.62 95.39999999999998" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.32" x="390.3" y="94.38"></rect>
<path d="M 394.62 94.86000000000001 L 398.94 94.86000000000001 L 394.62 109.80000000000001 L 390.3 94.86000000000001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="80.58" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="393.66" y="13.740000000000009"></rect>
<path d="M 232.62 95.33999999999997 L 232.8 95.33999999999997 L 232.98000000000002 95.27999999999997 L 233.34 95.03999999999996 L 233.46 94.91999999999996 L 233.58 94.56 L 233.58 94.13999999999999 C 233.446 93.75099999999998 233.451 93.54399999999998 232.98000000000002 93.41999999999996L 232.8 93.35999999999996 L 232.38 93.35999999999996 C 231.417 93.56599999999997 231.311 94.85299999999995 232.20000000000002 95.27999999999997L 232.38 95.33999999999997 L 232.62 95.33999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 232.62 94.38 L 237.54 94.38 L 237.36 95.04000000000002 L 233.1 109.98000000000002 L 232.62 111.65999999999997 L 232.14000000000001 109.98000000000002 L 227.82 95.04000000000002 L 227.64000000000001 94.38 L 228.3 94.38 L 228.78 94.74000000000001 L 233.1 109.68 L 232.14000000000001 109.98000000000002 L 232.14000000000001 109.68 L 236.4 94.74000000000001 L 237.36 95.04000000000002 L 236.88 95.39999999999998 L 232.62 95.39999999999998" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<rect height="1.02" style="fill: rgb(0%, 0%, 0%)" width="4.32" x="228.3" y="94.38"></rect>
<path d="M 232.62 94.86000000000001 L 236.88 94.86000000000001 L 232.62 109.80000000000001 L 228.3 94.86000000000001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<rect height="80.58" style="fill: rgb(0%, 0%, 0%)" width="1.98" x="231.66" y="13.740000000000009"></rect>
<path d="M 370.62 99.66000000000003 L 370.74 99.48000000000002 L 370.8 99.30000000000001 C 370.909 98.31300000000005 369.73900000000003 97.68800000000005 369.06 98.46000000000004L 368.94 98.58000000000004 L 368.88 98.76000000000005 L 368.82 98.94 L 368.82 99.36000000000001 L 368.88 99.54000000000002 L 369.0 99.72000000000003 L 369.24 99.96000000000004 C 369.587 100.24000000000001 369.84000000000003 100.156 370.2 100.02000000000004L 370.38 99.96000000000004 L 370.5 99.84000000000003 L 370.62 99.66000000000003" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 369.78000000000003 99.12 L 372.06 95.51999999999998 L 372.42 94.92000000000002 L 372.90000000000003 95.45999999999998 L 383.34000000000003 106.98000000000002 L 384.48 108.24000000000001 L 382.8 107.75999999999999 L 367.8 103.5 L 367.14000000000004 103.32 L 367.50000000000006 102.78000000000003 L 368.1 102.54000000000002 L 383.04 106.80000000000001 L 382.8 107.75999999999999 L 382.56000000000006 107.63999999999999 L 372.12 96.12 L 372.90000000000003 95.45999999999998 L 372.96000000000004 96.06 L 370.68 99.66000000000003" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 367.5 102.77999999999997 L 369.78 99.11999999999995 L 370.68 99.65999999999997 L 368.4 103.32" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 370.20000000000005 99.36000000000001 L 372.48 95.75999999999999 L 382.9200000000001 107.28000000000003 L 367.9200000000001 103.02000000000004" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 233.16 12.899999999999977 L 232.14 14.579999999999984 L 369.3 99.95999999999998 L 370.32 98.27999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 253.26000000000002 99.77999999999997 L 253.38000000000002 99.95999999999998 L 253.56000000000003 100.07999999999998 C 254.27900000000002 100.63799999999998 255.42800000000003 99.89999999999998 255.06000000000003 98.94L 255.00000000000003 98.75999999999999 L 254.88000000000002 98.57999999999998 L 254.70000000000002 98.45999999999998 L 254.58 98.33999999999997 L 254.4 98.27999999999997 L 253.98000000000002 98.27999999999997 L 253.62000000000003 98.39999999999998 L 253.44000000000003 98.51999999999998 L 253.32000000000002 98.69999999999999 L 253.20000000000002 98.82 L 253.14000000000001 99.05999999999995 L 253.14000000000001 99.41999999999996 L 253.20000000000002 99.59999999999997 L 253.26000000000002 99.77999999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 254.10000000000002 99.30000000000001 L 256.38 102.96000000000004 L 256.68 103.56 L 256.08000000000004 103.68 L 241.02 107.82 L 239.34000000000003 108.30000000000001 L 240.48000000000002 107.04000000000002 L 251.04000000000002 95.57999999999998 L 251.52 95.04000000000002 L 251.88000000000002 95.63999999999999 L 251.82000000000002 96.24000000000001 L 241.26000000000002 107.69999999999999 L 240.48000000000002 107.04000000000002 L 240.78000000000003 106.86000000000001 L 255.84000000000003 102.72000000000003 L 256.08000000000004 103.68 L 255.48000000000002 103.5 L 253.20000000000002 99.84000000000003" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 251.88 95.63999999999999 L 254.1 99.30000000000001 L 253.2 99.83999999999997 L 250.98 96.18" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 253.68 99.54000000000002 L 255.96 103.20000000000005 L 240.9 107.34000000000003 L 251.46 95.88" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 395.16 14.579999999999984 L 394.14000000000004 12.899999999999977 L 253.68000000000004 98.39999999999998 L 254.70000000000002 100.07999999999998" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.17216670000002" x="235.98000000000002" y="10.410897799999987">Y1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="384.48" y="10.410897799999987">Y0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="19.970668259999997" x="144.84" y="12.030897799999991">SRC2</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.17216670000002" x="235.98000000000002" y="53.130897800000014">X1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="384.48" y="53.130897800000014">X0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="20.02646278000003" x="145.14008404" y="54.75114131999999">SRC1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="57.65609662000003" x="360.29923832000003" y="120.03054204">X0, X1, Y0, or Y1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="19.963882439999992" x="144.84" y="120.63089780000001">DEST</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="57.659112539999995" x="215.16" y="121.7708978">X0, X1, Y0, or Y1</text></g></svg>
<figcaption><a href='vperm2i128.html#fig-5-22'>Figure 5-22</a>. VPERM2I128 Operation</figcaption></figure>
<p>Imm8[1:0] select the source for the first destination 128-bit field, imm8[5:4] select the source for the second destination field. If imm8[3] is set, the low 128-bit field is zeroed. If imm8[7] is set, the high 128-bit field is zeroed.</p>
<p>VEX.L must be 1, otherwise the instruction will #UD.</p>
<h2 id="operation">Operation<a class="anchor" href="#operation">
</a></h2>
<h3 id="vperm2i128">VPERM2I128<a class="anchor" href="#vperm2i128">
</a></h3>
<pre>CASE IMM8[1:0] of
0: DEST[127:0] := SRC1[127:0]
1: DEST[127:0] := SRC1[255:128]
2: DEST[127:0] := SRC2[127:0]
3: DEST[127:0] := SRC2[255:128]
ESAC
CASE IMM8[5:4] of
0: DEST[255:128] := SRC1[127:0]
1: DEST[255:128] := SRC1[255:128]
2: DEST[255:128] := SRC2[127:0]
3: DEST[255:128] := SRC2[255:128]
ESAC
IF (imm8[3])
DEST[127:0] := 0
FI
IF (imm8[7])
DEST[255:128] := 0
FI
</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>VPERM2I128: __m256i _mm256_permute2x128_si256 (__m256i a, __m256i b, int control)
</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>See <span class="not-imported">Table 2-23</span>, “Type 6 Class Exception Conditions.”</p>
<p>Additionally:</p>
<table>
<tr>
<td rowspan="2">#UD</td>
<td>If VEX.L = 0,</td></tr>
<tr>
<td>If VEX.W = 1.</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>