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

175 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>VPERM2F128
— Permute 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>VPERM2F128
— Permute 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>VEX.256.66.0F3A.W0 06 /r ib VPERM2F128 ymm1, ymm2, ymm3/m256, imm8</td>
<td>RV MI</td>
<td>V/V</td>
<td>AVX</td>
<td>Permute 128-bit floating-point fields 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 floating-point-containing fields 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-21">
<svg style="width: 381.0240119999999pt; height: 149.04001200000002pt" viewBox="142.34 0.0 322.52000999999996 129.20001000000002">
<g xmlns="http://www.w3.org/2000/svg" style="stroke: none; fill: none">
<path d="M 255.60000000000002 104.58001000000002 L 257.1 108.60001 L 257.22 109.26001000000002 L 256.62 109.32001000000002 L 241.08 110.40001000000001 L 239.34000000000003 110.52001000000001 L 240.72000000000003 109.50001000000003 L 253.32000000000002 100.32001000000002 L 253.92000000000002 99.90001000000001 L 254.16000000000003 100.50001000000003 L 253.98000000000002 101.10001 L 241.38000000000002 110.28001 L 240.72000000000003 109.50001000000003 L 241.02 109.38001000000003 L 256.56 108.30001000000004 L 256.62 109.32001000000002 L 256.14000000000004 108.96001000000001 L 254.64000000000001 104.94001000000003" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 254.16 100.50001000000003 L 255.6 104.58001000000002 L 254.64 104.94001000000003 L 253.2 100.86001000000005" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 255.12 104.76001000000002 L 256.62 108.78001 L 241.08 109.86001000000005 L 253.68 100.68001000000004" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 388.20000000000005 57.42000999999999 L 387.54 55.56000999999998 L 255.30000000000004 103.68000999999998 L 255.96000000000004 105.54001" 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="42.96001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="42.72003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="42.96001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="56.22003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="42.72001"></rect>
<path d="M 387.84000000000003 94.20001000000002 L 388.08000000000004 94.14001000000002 L 388.26000000000005 94.08001000000002 C 389.15500000000003 93.78401000000002 389.01000000000005 92.30501000000004 388.08000000000004 92.22001L 387.84000000000003 92.16001 L 387.66 92.22001 C 386.73 92.30501000000004 386.58500000000004 93.78401000000002 387.48 94.08001000000002L 387.84000000000003 94.20001000000002" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 387.84000000000003 93.18000999999998 L 392.82000000000005 93.18000999999998 L 392.64000000000004 93.84001 L 388.32000000000005 108.84001 L 387.84000000000003 110.52000999999996 L 387.36 108.84001 L 383.1 93.84001 L 382.92 93.18000999999998 L 383.58000000000004 93.18000999999998 L 384.06000000000006 93.54001 L 388.32000000000005 108.54001 L 387.36 108.84001 L 387.36 108.54001 L 391.68 93.54001 L 392.64000000000004 93.84001 L 392.16 94.20000999999996 L 387.84000000000003 94.20000999999996" 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.18001000000004"></rect>
<path d="M 387.84000000000003 93.66001 L 392.16 93.66001 L 387.84000000000003 108.66001 L 383.58000000000004 93.66001" 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.46001000000001"></rect>
<path d="M 372.54 104.88000999999997 L 372.6 104.70000999999996 L 372.6 104.52000999999996 C 372.511 103.46000999999995 371.286 103.21800999999999 370.74 104.04001L 370.68 104.22000999999995 L 370.62 104.40000999999995 L 370.62 104.82000999999997 L 370.68 105.00000999999997 L 370.8 105.12000999999998 L 370.92 105.30000999999999 L 371.1 105.42000999999999 L 371.46000000000004 105.54001 L 371.82 105.54001 L 372.0 105.48001 L 372.36 105.24000999999998 L 372.48 105.06000999999998 L 372.54 104.88000999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 371.58 104.58001000000002 L 373.08 100.50001000000003 L 373.38 99.90001000000001 L 373.91999999999996 100.32001000000002 L 386.52 109.50001000000003 L 387.9 110.52001000000001 L 386.15999999999997 110.40001000000001 L 370.62 109.32001000000002 L 369.96 109.26001000000002 L 370.14 108.60001 L 370.68 108.30001000000004 L 386.21999999999997 109.38001000000003 L 386.15999999999997 110.40001000000001 L 385.86 110.28001 L 373.26 101.10001 L 373.91999999999996 100.32001000000002 L 374.03999999999996 100.86000999999999 L 372.53999999999996 104.94001000000003" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 370.14 108.60001 L 371.58 104.58001000000002 L 372.53999999999996 104.94000999999997 L 371.09999999999997 108.96001000000001" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 372.06 104.76001000000002 L 373.56 100.68001000000004 L 386.16 109.86001000000005 L 370.62 108.78001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 239.70000000000002 55.560010000000034 L 239.04000000000002 57.42001000000005 L 371.28000000000003 105.54001000000005 L 371.94000000000005 103.68001000000004" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 239.34 94.20001000000002 L 239.58 94.14001000000002 L 239.76 94.08001000000002 C 240.655 93.78401000000002 240.51 92.30501000000004 239.58 92.22001L 239.34 92.16001 L 239.16 92.22001 C 238.209 92.21901000000003 238.077 93.88201000000004 238.98 94.08001000000002L 239.34 94.20001000000002" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 239.34 93.18000999999998 L 244.32 93.18000999999998 L 244.14000000000001 93.84001 L 239.82 108.84001 L 239.34 110.52000999999996 L 238.86 108.84001 L 234.6 93.84001 L 234.42000000000002 93.18000999999998 L 235.08 93.18000999999998 L 235.56 93.54001 L 239.82 108.54001 L 238.86 108.84001 L 238.86 108.54001 L 243.18 93.54001 L 244.14000000000001 93.84001 L 243.66 94.20000999999996 L 239.34 94.20000999999996" 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.18001000000004"></rect>
<path d="M 239.34 93.66001 L 243.66 93.66001 L 239.34 108.66001 L 235.08 93.66001" 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.46001000000001"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="42.96001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="42.72003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="42.96001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="56.22003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="42.72001"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="313.62" y="110.46001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="110.22003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="110.46001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="123.72003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="110.22001"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="110.46001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="110.22003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="110.46001000000001"></rect>
<rect height="0.47998" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="123.72003000000001"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="110.22001"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="313.62" y="0.24000999999998385"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.62" y="0.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="461.88" y="0.24000999999998385"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="313.38" y="13.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="9.999999974752427e-06"></rect>
<rect height="13.5" style="fill: rgb(100%, 100%, 100%)" width="148.5" x="165.12" y="0.24000999999998385"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="165.12" y="0.0"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="313.38" y="0.24000999999998385"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="148.74" x="164.88" y="13.5"></rect>
<rect height="13.74" style="fill: rgb(0%, 0%, 0%)" width="0.48001000000000005" x="164.88" y="9.999999974752427e-06"></rect>
<path d="M 394.62 95.28001 L 394.8 95.28001 L 394.98 95.22001 C 395.915 94.79800999999998 395.79200000000003 93.56101000000001 394.8 93.30000999999999L 394.44 93.30000999999999 L 394.2 93.36000999999999 L 394.08 93.48001 L 393.9 93.60001 L 393.78000000000003 93.72001 L 393.66 94.08001000000002 L 393.6 94.32001000000002 C 393.766 94.71201000000002 393.659 94.87901 394.08 95.10001L 394.2 95.22001 L 394.44 95.28001 L 394.62 95.28001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 394.62 94.32001000000002 L 399.6 94.32001000000002 L 399.42 94.98001000000005 L 395.1 109.98001000000005 L 394.62 111.66001 L 394.14 109.98001000000005 L 389.82 94.98001000000005 L 389.64 94.32001000000002 L 390.3 94.32001000000002 L 390.78000000000003 94.68001000000004 L 395.1 109.68001000000004 L 394.14 109.98001000000005 L 394.14 109.68001000000004 L 398.46 94.68001000000004 L 399.42 94.98001000000005 L 398.94 95.34001 L 394.62 95.34001" 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.32001000000002"></rect>
<path d="M 394.62 94.80000999999999 L 398.94 94.80000999999999 L 394.62 109.80000999999999 L 390.3 94.80000999999999" 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.74001000000004"></rect>
<path d="M 232.62 95.28001 L 232.8 95.28001 L 232.98000000000002 95.22001 L 233.34 94.98001 L 233.46 94.86000999999999 L 233.58 94.50001000000003 L 233.58 94.08001000000002 C 233.404 93.52100999999999 233.487 93.72401000000002 232.98000000000002 93.36000999999999L 232.8 93.30000999999999 L 232.38 93.30000999999999 C 231.42000000000002 93.62401 231.291 94.71901000000003 232.20000000000002 95.22001L 232.38 95.28001 L 232.62 95.28001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 232.62 94.32001000000002 L 237.54 94.32001000000002 L 237.36 94.98001000000005 L 233.1 109.98001000000005 L 232.62 111.66001 L 232.14000000000001 109.98001000000005 L 227.82 94.98001000000005 L 227.64000000000001 94.32001000000002 L 228.3 94.32001000000002 L 228.78 94.68001000000004 L 233.1 109.68001000000004 L 232.14000000000001 109.98001000000005 L 232.14000000000001 109.68001000000004 L 236.4 94.68001000000004 L 237.36 94.98001000000005 L 236.88 95.34001 L 232.62 95.34001" 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.32001000000002"></rect>
<path d="M 232.62 94.80000999999999 L 236.88 94.80000999999999 L 232.62 109.80000999999999 L 228.3 94.80000999999999" 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.74001000000004"></rect>
<path d="M 370.62 99.60001 L 370.74 99.42000999999999 L 370.8 99.24000999999998 L 370.8 99.06000999999998 L 370.74 98.88000999999997 L 370.68 98.70001000000002 L 370.62 98.52001000000001 L 370.5 98.34001 L 370.32 98.22001 L 369.96 98.10001 L 369.54 98.10001 L 369.36 98.16001 L 369.24 98.28001 L 369.06 98.40001000000001 L 368.94 98.58001000000002 L 368.88 98.76001000000002 C 368.53000000000003 99.64501000000001 369.583 100.49500999999998 370.38 99.90001000000001L 370.5 99.78001 L 370.62 99.60001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 369.78000000000003 99.12001000000004 L 372.06 95.46001000000001 L 372.42 94.86001000000005 L 372.90000000000003 95.40001000000001 L 383.34000000000003 106.98001000000005 L 384.48 108.24001000000004 L 382.8 107.76001000000002 L 367.8 103.50001000000003 L 367.14000000000004 103.32001000000002 L 367.50000000000006 102.78001000000006 L 368.1 102.54001000000005 L 383.04 106.80001000000004 L 382.8 107.76001000000002 L 382.56000000000006 107.64001000000002 L 372.12 96.06001000000003 L 372.90000000000003 95.40001000000001 L 372.96000000000004 96.00001000000003 L 370.68 99.66001000000006" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 367.5 102.78001 L 369.78 99.12000999999998 L 370.68 99.66001 L 368.4 103.32001000000002" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 370.20000000000005 99.36000999999999 L 372.48 95.70000999999996 L 382.9200000000001 107.28001 L 367.9200000000001 103.02001000000001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 233.16 12.900010000000009 L 232.14 14.580010000000016 L 369.3 99.90001000000001 L 370.32 98.22001" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 253.26000000000002 99.72001 L 253.38000000000002 99.90001000000001 L 253.56000000000003 100.02001000000001 C 254.211 100.54201 255.46900000000002 99.92601000000002 255.06000000000003 98.88001000000003L 255.00000000000003 98.70001000000002 L 254.88000000000002 98.52001000000001 C 254.145 97.87200999999999 253.025 98.39101 253.14000000000001 99.36000999999999L 253.20000000000002 99.54001 L 253.26000000000002 99.72001" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 254.10000000000002 99.24000999999998 L 256.38 102.90001000000001 L 256.68 103.50000999999997 L 256.08000000000004 103.62000999999998 L 241.02 107.76000999999997 L 239.34000000000003 108.24000999999998 L 240.48000000000002 106.98001 L 251.04000000000002 95.52000999999996 L 251.52 94.98001 L 251.88000000000002 95.58000999999996 L 251.82000000000002 96.18000999999998 L 241.26000000000002 107.64000999999996 L 240.48000000000002 106.98001 L 240.78000000000003 106.80000999999999 L 255.84000000000003 102.66001 L 256.08000000000004 103.62000999999998 L 255.48000000000002 103.44000999999997 L 253.20000000000002 99.78001" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 251.88 95.58001000000002 L 254.1 99.24001000000004 L 253.2 99.78001 L 250.98 96.12001000000004" style="fill: rgb(0%, 0%, 0%); fill-rule: nonzero"></path>
<path d="M 253.68 99.48001 L 255.96 103.14001000000002 L 240.9 107.28001 L 251.46 95.82000999999997" style="fill: rgb(0%, 0%, 0%); fill-rule: evenodd"></path>
<path d="M 395.16 14.580010000000016 L 394.14000000000004 12.900010000000009 L 253.68000000000004 98.40001000000001 L 254.70000000000002 100.08001000000002" 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.350907800000016">Y1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="384.48" y="10.350907800000016">Y0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="19.970668259999997" x="144.84" y="11.970907799999964">SRC2</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.17216670000002" x="235.98000000000002" y="53.070907799999986">X1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="9.172166699999991" x="384.48" y="53.070907799999986">X0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="20.02646278000003" x="145.14008404" y="54.69115131999996">SRC1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="57.65609662000003" x="360.29923832000003" y="119.97055204000003">X0, X1, Y0, or Y1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="19.963882439999992" x="144.84" y="120.57090779999999">DEST</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.414416800000026pt; fill: #000" textLength="57.659112539999995" x="215.16" y="121.71090780000003">X0, X1, Y0, or Y1</text></g></svg>
<figcaption><a href='vperm2f128.html#fig-5-21'>Figure 5-21</a>. VPERM2F128 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="vperm2f128">VPERM2F128<a class="anchor" href="#vperm2f128">
</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[MAXVL-1: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>VPERM2F128: __m256 _mm256_permute2f128_ps (__m256 a, __m256 b, int control)
</pre>
<pre>VPERM2F128: __m256d _mm256_permute2f128_pd (__m256d a, __m256d b, int control)
</pre>
<pre>VPERM2F128: __m256i _mm256_permute2f128_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>