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

238 lines
49 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>VP4DPWSSD
— Dot Product of Signed Words With Dword Accumulation (4-Iterations)</title></head><body><header><nav><ul><li><a href='index.html'>Index</a></li><li>December 2023</li></ul></nav></header><h1>VP4DPWSSD
— Dot Product of Signed Words With Dword Accumulation (4-Iterations)</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>EVEX.512.F2.0F38.W0 52 /r VP4DPWSSD zmm1{k1}{z}, zmm2+3, m128</td>
<td>A</td>
<td>V/V</td>
<td>AVX512_4VNNIW</td>
<td>Multiply signed words from source register block indicated by zmm2 by signed words from m128 and accumulate resulting signed dwords in zmm1.</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</th>
<th>Operand 1</th>
<th>Operand 2 Operand 3 Operand 4</th>
<th></th>
<th></th></tr>
<tr>
<td>A</td>
<td>Tuple1_4X</td>
<td>ModRM:reg (r, w)</td>
<td>EVEX.vvvv (r) ModRM:r/m (r) N/A</td>
<td></td>
<td></td></tr></table>
<h3 id="description">Description<a class="anchor" href="#description">
</a></h3>
<p>This instruction computes 4 sequential register source-block dot-products of two signed word operands with doubleword accumulation; see <a href='vp4dpwssd.html#fig-8-1'>Figure 8-1</a> below. The memory operand is sequentially selected in each of the four steps.</p>
<p>In the above box, the notation of “+3”' is used to denote that the instruction accesses 4 source registers based on that operand; sources are consecutive, start in a multiple of 4 boundary, and contain the encoded register operand.</p>
<p>This instruction supports memory fault suppression. The entire memory operand is loaded if any bit of the lowest 16-bits of the mask is set to 1 or if a “no masking” encoding is used.</p>
<p>The tuple type Tuple1_4X implies that four 32-bit elements (16 bytes) are referenced by the memory operation portion of this instruction.</p>
<figure id="fig-8-1">
<svg style="width: 455.688pt; height: 219.024012pt" viewBox="109.10000000000001 0.0 384.74 187.52001">
<g xmlns="http://www.w3.org/2000/svg" style="fill: none; stroke: none">
<rect height="181.56" style="fill: rgb(0%, 0%, 0%)" width="0.48" x="111.60000000000001" y="0.48000999999999294"></rect>
<rect height="181.56" style="fill: rgb(0%, 0%, 0%)" width="0.47998" x="490.8" y="0.48000999999999294"></rect>
<rect height="0.48001000000000005" style="fill: rgb(0%, 0%, 0%)" width="379.74" x="111.60000000000001" y="0.0"></rect>
<rect height="0.48" style="fill: rgb(0%, 0%, 0%)" width="379.74" x="111.60000000000001" y="182.04001000000002"></rect>
<path d="M 213.12 73.20001000000002 L 259.38 73.20001000000002 L 259.38 71.46001000000001 L 213.12 71.46001000000001 Z M 213.12 73.14001000000002 L 259.38 73.14001000000002 L 259.38 71.46001000000001 L 213.12 71.46001000000001 Z" style="fill: rgb(84%, 84%, 84%); fill-rule: nonzero"></path>
<path d="M 213.12 75.54001 L 259.38 75.54001 L 259.38 73.14001000000002 L 213.12 73.14001000000002 Z M 213.12 75.48001 L 259.38 75.48001 L 259.38 73.14001000000002 L 213.12 73.14001000000002 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 213.12 77.82001000000002 L 259.38 77.82001000000002 L 259.38 75.48001000000005 L 213.12 75.48001000000005 Z M 213.12 77.76001000000002 L 259.38 77.76001000000002 L 259.38 75.48001000000005 L 213.12 75.48001000000005 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 213.12 81.30000999999999 L 259.38 81.30000999999999 L 259.38 77.76000999999997 L 213.12 77.76000999999997 Z M 213.12 81.24001000000004 L 259.38 81.24001000000004 L 259.38 77.76001000000002 L 213.12 77.76001000000002 Z" style="fill: rgb(82%, 82%, 82%); fill-rule: nonzero"></path>
<path d="M 213.12 83.64001000000002 L 259.38 83.64001000000002 L 259.38 81.24001000000004 L 213.12 81.24001000000004 Z M 213.12 83.58001000000002 L 259.38 83.58001000000002 L 259.38 81.24001000000004 L 213.12 81.24001000000004 Z" style="fill: rgb(81%, 81%, 81%); fill-rule: nonzero"></path>
<path d="M 213.12 86.04001 L 259.38 86.04001 L 259.38 83.58001000000002 L 213.12 83.58001000000002 Z M 213.12 85.98001 L 259.38 85.98001 L 259.38 83.58001000000002 L 213.12 83.58001000000002 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 213.12 88.38001000000003 L 259.38 88.38001000000003 L 259.38 85.98001000000005 L 213.12 85.98001000000005 Z M 213.12 88.32001000000002 L 259.38 88.32001000000002 L 259.38 85.98001000000005 L 213.12 85.98001000000005 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 213.12 89.94001000000003 L 259.38 89.94001000000003 L 259.38 88.32001000000002 L 213.12 88.32001000000002 Z M 213.12 89.94001000000003 L 259.38 89.94001000000003 L 259.38 88.32001000000002 L 213.12 88.32001000000002 Z" style="fill: rgb(78%, 78%, 78%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 213.12 89.88001000000003 L 259.26 89.88001000000003 L 259.26 71.40001000000001 L 213.12 71.40001000000001 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 259.38 73.20001000000002 L 305.46 73.20001000000002 L 305.46 71.46001000000001 L 259.38 71.46001000000001 Z M 259.38 73.14001000000002 L 305.46 73.14001000000002 L 305.46 71.46001000000001 L 259.38 71.46001000000001 Z" style="fill: rgb(84%, 84%, 84%); fill-rule: nonzero"></path>
<path d="M 259.38 75.54001 L 305.46 75.54001 L 305.46 73.14001000000002 L 259.38 73.14001000000002 Z M 259.38 75.48001 L 305.46 75.48001 L 305.46 73.14001000000002 L 259.38 73.14001000000002 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 259.38 77.82001000000002 L 305.46 77.82001000000002 L 305.46 75.48001000000005 L 259.38 75.48001000000005 Z M 259.38 77.76001000000002 L 305.46 77.76001000000002 L 305.46 75.48001000000005 L 259.38 75.48001000000005 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 259.38 81.30000999999999 L 305.46 81.30000999999999 L 305.46 77.76000999999997 L 259.38 77.76000999999997 Z M 259.38 81.24001000000004 L 305.46 81.24001000000004 L 305.46 77.76001000000002 L 259.38 77.76001000000002 Z" style="fill: rgb(82%, 82%, 82%); fill-rule: nonzero"></path>
<path d="M 259.38 83.64001000000002 L 305.46 83.64001000000002 L 305.46 81.24001000000004 L 259.38 81.24001000000004 Z M 259.38 83.58001000000002 L 305.46 83.58001000000002 L 305.46 81.24001000000004 L 259.38 81.24001000000004 Z" style="fill: rgb(81%, 81%, 81%); fill-rule: nonzero"></path>
<path d="M 259.38 86.04001 L 305.46 86.04001 L 305.46 83.58001000000002 L 259.38 83.58001000000002 Z M 259.38 85.98001 L 305.46 85.98001 L 305.46 83.58001000000002 L 259.38 83.58001000000002 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 259.38 88.38001000000003 L 305.46 88.38001000000003 L 305.46 85.98001000000005 L 259.38 85.98001000000005 Z M 259.38 88.32001000000002 L 305.46 88.32001000000002 L 305.46 85.98001000000005 L 259.38 85.98001000000005 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 259.38 89.94001000000003 L 305.46 89.94001000000003 L 305.46 88.32001000000002 L 259.38 88.32001000000002 Z M 259.38 89.94001000000003 L 305.46 89.94001000000003 L 305.46 88.32001000000002 L 259.38 88.32001000000002 Z" style="fill: rgb(78%, 78%, 78%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 259.26 89.88001000000003 L 305.4 89.88001000000003 L 305.4 71.40001000000001 L 259.26 71.40001000000001 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 323.94 73.20001000000002 L 370.02 73.20001000000002 L 370.02 71.46001000000001 L 323.94 71.46001000000001 Z M 323.94 73.14001000000002 L 370.02 73.14001000000002 L 370.02 71.46001000000001 L 323.94 71.46001000000001 Z" style="fill: rgb(84%, 84%, 84%); fill-rule: nonzero"></path>
<path d="M 323.94 75.54001 L 370.02 75.54001 L 370.02 73.14001000000002 L 323.94 73.14001000000002 Z M 323.94 75.48001 L 370.02 75.48001 L 370.02 73.14001000000002 L 323.94 73.14001000000002 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 323.94 77.82001000000002 L 370.02 77.82001000000002 L 370.02 75.48001000000005 L 323.94 75.48001000000005 Z M 323.94 77.76001000000002 L 370.02 77.76001000000002 L 370.02 75.48001000000005 L 323.94 75.48001000000005 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 323.94 81.30000999999999 L 370.02 81.30000999999999 L 370.02 77.76000999999997 L 323.94 77.76000999999997 Z M 323.94 81.24001000000004 L 370.02 81.24001000000004 L 370.02 77.76001000000002 L 323.94 77.76001000000002 Z" style="fill: rgb(82%, 82%, 82%); fill-rule: nonzero"></path>
<path d="M 323.94 83.64001000000002 L 370.02 83.64001000000002 L 370.02 81.24001000000004 L 323.94 81.24001000000004 Z M 323.94 83.58001000000002 L 370.02 83.58001000000002 L 370.02 81.24001000000004 L 323.94 81.24001000000004 Z" style="fill: rgb(81%, 81%, 81%); fill-rule: nonzero"></path>
<path d="M 323.94 86.04001 L 370.02 86.04001 L 370.02 83.58001000000002 L 323.94 83.58001000000002 Z M 323.94 85.98001 L 370.02 85.98001 L 370.02 83.58001000000002 L 323.94 83.58001000000002 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 323.94 88.38001000000003 L 370.02 88.38001000000003 L 370.02 85.98001000000005 L 323.94 85.98001000000005 Z M 323.94 88.32001000000002 L 370.02 88.32001000000002 L 370.02 85.98001000000005 L 323.94 85.98001000000005 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 323.94 89.94001000000003 L 370.02 89.94001000000003 L 370.02 88.32001000000002 L 323.94 88.32001000000002 Z M 323.94 89.94001000000003 L 370.02 89.94001000000003 L 370.02 88.32001000000002 L 323.94 88.32001000000002 Z" style="fill: rgb(78%, 78%, 78%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 323.94 89.88001000000003 L 370.02 89.88001000000003 L 370.02 71.40001000000001 L 323.94 71.40001000000001 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 370.02 73.20001000000002 L 416.28 73.20001000000002 L 416.28 71.46001000000001 L 370.02 71.46001000000001 Z M 370.02 73.14001000000002 L 416.28 73.14001000000002 L 416.28 71.46001000000001 L 370.02 71.46001000000001 Z" style="fill: rgb(84%, 84%, 84%); fill-rule: nonzero"></path>
<path d="M 370.02 75.54001 L 416.28 75.54001 L 416.28 73.14001000000002 L 370.02 73.14001000000002 Z M 370.02 75.48001 L 416.28 75.48001 L 416.28 73.14001000000002 L 370.02 73.14001000000002 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 370.02 77.82001000000002 L 416.28 77.82001000000002 L 416.28 75.48001000000005 L 370.02 75.48001000000005 Z M 370.02 77.76001000000002 L 416.28 77.76001000000002 L 416.28 75.48001000000005 L 370.02 75.48001000000005 Z" style="fill: rgb(83%, 83%, 83%); fill-rule: nonzero"></path>
<path d="M 370.02 81.30000999999999 L 416.28 81.30000999999999 L 416.28 77.76000999999997 L 370.02 77.76000999999997 Z M 370.02 81.24001000000004 L 416.28 81.24001000000004 L 416.28 77.76001000000002 L 370.02 77.76001000000002 Z" style="fill: rgb(82%, 82%, 82%); fill-rule: nonzero"></path>
<path d="M 370.02 83.64001000000002 L 416.28 83.64001000000002 L 416.28 81.24001000000004 L 370.02 81.24001000000004 Z M 370.02 83.58001000000002 L 416.28 83.58001000000002 L 416.28 81.24001000000004 L 370.02 81.24001000000004 Z" style="fill: rgb(81%, 81%, 81%); fill-rule: nonzero"></path>
<path d="M 370.02 86.04001 L 416.28 86.04001 L 416.28 83.58001000000002 L 370.02 83.58001000000002 Z M 370.02 85.98001 L 416.28 85.98001 L 416.28 83.58001000000002 L 370.02 83.58001000000002 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 370.02 88.38001000000003 L 416.28 88.38001000000003 L 416.28 85.98001000000005 L 370.02 85.98001000000005 Z M 370.02 88.32001000000002 L 416.28 88.32001000000002 L 416.28 85.98001000000005 L 370.02 85.98001000000005 Z" style="fill: rgb(80%, 80%, 80%); fill-rule: nonzero"></path>
<path d="M 370.02 89.94001000000003 L 416.28 89.94001000000003 L 416.28 88.32001000000002 L 370.02 88.32001000000002 Z M 370.02 89.94001000000003 L 416.28 89.94001000000003 L 416.28 88.32001000000002 L 370.02 88.32001000000002 Z" style="fill: rgb(78%, 78%, 78%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 370.02 89.88001000000003 L 416.15999999999997 89.88001000000003 L 416.15999999999997 71.46001000000001 L 370.02 71.46001000000001 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 213.12 110.46001000000001 L 305.46000000000004 110.46001000000001 L 305.46000000000004 108.36000999999999 L 213.12 108.36000999999999 Z M 213.12 110.40001000000001 L 305.46000000000004 110.40001000000001 L 305.46000000000004 108.36000999999999 L 213.12 108.36000999999999 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 213.12 114.66001 L 305.46000000000004 114.66001 L 305.46000000000004 110.40001000000001 L 213.12 110.40001000000001 Z M 213.12 114.60001 L 305.46000000000004 114.60001 L 305.46000000000004 110.40001000000001 L 213.12 110.40001000000001 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 213.12 117.48001 L 305.46000000000004 117.48001 L 305.46000000000004 114.60001 L 213.12 114.60001 Z M 213.12 117.42000999999999 L 305.46000000000004 117.42000999999999 L 305.46000000000004 114.60001 L 213.12 114.60001 Z" style="fill: rgb(68%, 68%, 68%); fill-rule: nonzero"></path>
<path d="M 213.12 120.24001000000004 L 305.46000000000004 120.24001000000004 L 305.46000000000004 117.42001000000005 L 213.12 117.42001000000005 Z M 213.12 120.18001000000004 L 305.46000000000004 120.18001000000004 L 305.46000000000004 117.42001000000005 L 213.12 117.42001000000005 Z" style="fill: rgb(67%, 67%, 67%); fill-rule: nonzero"></path>
<path d="M 213.12 123.00001000000003 L 305.46000000000004 123.00001000000003 L 305.46000000000004 120.18001000000004 L 213.12 120.18001000000004 Z M 213.12 122.94001000000003 L 305.46000000000004 122.94001000000003 L 305.46000000000004 120.18001000000004 L 213.12 120.18001000000004 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 213.12 127.20001000000002 L 305.46000000000004 127.20001000000002 L 305.46000000000004 122.94001000000003 L 213.12 122.94001000000003 Z M 213.12 127.14001000000002 L 305.46000000000004 127.14001000000002 L 305.46000000000004 122.94001000000003 L 213.12 122.94001000000003 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 213.12 129.96001 L 305.46000000000004 129.96001 L 305.46000000000004 127.14001000000002 L 213.12 127.14001000000002 Z M 213.12 129.90001 L 305.46000000000004 129.90001 L 305.46000000000004 127.14001000000002 L 213.12 127.14001000000002 Z" style="fill: rgb(65%, 65%, 65%); fill-rule: nonzero"></path>
<path d="M 213.12 130.56001000000003 L 305.46000000000004 130.56001000000003 L 305.46000000000004 129.90001 L 213.12 129.90001 Z M 213.12 130.56001000000003 L 305.46000000000004 130.56001000000003 L 305.46000000000004 129.90001 L 213.12 129.90001 Z" style="fill: rgb(64%, 64%, 64%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 213.12 130.56001000000003 L 305.4 130.56001000000003 L 305.4 108.36001000000005 L 213.12 108.36001000000005 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 323.94 110.46001000000001 L 416.28 110.46001000000001 L 416.28 108.36000999999999 L 323.94 108.36000999999999 Z M 323.94 110.40001000000001 L 416.28 110.40001000000001 L 416.28 108.36000999999999 L 323.94 108.36000999999999 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 323.94 114.66001 L 416.28 114.66001 L 416.28 110.40001000000001 L 323.94 110.40001000000001 Z M 323.94 114.60001 L 416.28 114.60001 L 416.28 110.40001000000001 L 323.94 110.40001000000001 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 323.94 117.48001 L 416.28 117.48001 L 416.28 114.60001 L 323.94 114.60001 Z M 323.94 117.42000999999999 L 416.28 117.42000999999999 L 416.28 114.60001 L 323.94 114.60001 Z" style="fill: rgb(68%, 68%, 68%); fill-rule: nonzero"></path>
<path d="M 323.94 120.24001000000004 L 416.28 120.24001000000004 L 416.28 117.42001000000005 L 323.94 117.42001000000005 Z M 323.94 120.18001000000004 L 416.28 120.18001000000004 L 416.28 117.42001000000005 L 323.94 117.42001000000005 Z" style="fill: rgb(67%, 67%, 67%); fill-rule: nonzero"></path>
<path d="M 323.94 123.00001000000003 L 416.28 123.00001000000003 L 416.28 120.18001000000004 L 323.94 120.18001000000004 Z M 323.94 122.94001000000003 L 416.28 122.94001000000003 L 416.28 120.18001000000004 L 323.94 120.18001000000004 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 323.94 127.20001000000002 L 416.28 127.20001000000002 L 416.28 122.94001000000003 L 323.94 122.94001000000003 Z M 323.94 127.14001000000002 L 416.28 127.14001000000002 L 416.28 122.94001000000003 L 323.94 122.94001000000003 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 323.94 129.96001 L 416.28 129.96001 L 416.28 127.14001000000002 L 323.94 127.14001000000002 Z M 323.94 129.90001 L 416.28 129.90001 L 416.28 127.14001000000002 L 323.94 127.14001000000002 Z" style="fill: rgb(65%, 65%, 65%); fill-rule: nonzero"></path>
<path d="M 323.94 130.56001000000003 L 416.28 130.56001000000003 L 416.28 129.90001 L 323.94 129.90001 Z M 323.94 130.56001000000003 L 416.28 130.56001000000003 L 416.28 129.90001 L 323.94 129.90001 Z" style="fill: rgb(64%, 64%, 64%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 323.94 130.56001000000003 L 416.15999999999997 130.56001000000003 L 416.15999999999997 108.36001000000005 L 323.94 108.36001000000005 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 213.12 143.64001000000002 L 305.46000000000004 143.64001000000002 L 305.46000000000004 141.66001 L 213.12 141.66001 Z M 213.12 143.58001000000002 L 305.46000000000004 143.58001000000002 L 305.46000000000004 141.66001 L 213.12 141.66001 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 213.12 147.84001 L 305.46000000000004 147.84001 L 305.46000000000004 143.58001000000002 L 213.12 143.58001000000002 Z M 213.12 147.78001 L 305.46000000000004 147.78001 L 305.46000000000004 143.58001000000002 L 213.12 143.58001000000002 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 213.12 150.60001 L 305.46000000000004 150.60001 L 305.46000000000004 147.78001 L 213.12 147.78001 Z M 213.12 150.54001 L 305.46000000000004 150.54001 L 305.46000000000004 147.78001 L 213.12 147.78001 Z" style="fill: rgb(68%, 68%, 68%); fill-rule: nonzero"></path>
<path d="M 213.12 153.42001 L 305.46000000000004 153.42001 L 305.46000000000004 150.54001 L 213.12 150.54001 Z M 213.12 153.36001 L 305.46000000000004 153.36001 L 305.46000000000004 150.54001 L 213.12 150.54001 Z" style="fill: rgb(67%, 67%, 67%); fill-rule: nonzero"></path>
<path d="M 213.12 156.30001 L 305.46000000000004 156.30001 L 305.46000000000004 153.36001 L 213.12 153.36001 Z M 213.12 156.24001000000004 L 305.46000000000004 156.24001000000004 L 305.46000000000004 153.36001000000005 L 213.12 153.36001000000005 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 213.12 160.38001000000003 L 305.46000000000004 160.38001000000003 L 305.46000000000004 156.24001000000004 L 213.12 156.24001000000004 Z M 213.12 160.32001000000002 L 305.46000000000004 160.32001000000002 L 305.46000000000004 156.24001000000004 L 213.12 156.24001000000004 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 213.12 163.26001000000002 L 305.46000000000004 163.26001000000002 L 305.46000000000004 160.32001000000002 L 213.12 160.32001000000002 Z M 213.12 163.20001000000002 L 305.46000000000004 163.20001000000002 L 305.46000000000004 160.32001000000002 L 213.12 160.32001000000002 Z" style="fill: rgb(65%, 65%, 65%); fill-rule: nonzero"></path>
<path d="M 213.12 163.74001000000004 L 305.46000000000004 163.74001000000004 L 305.46000000000004 163.20000000000005 L 213.12 163.20000000000005 Z M 213.12 163.74001000000004 L 305.46000000000004 163.74001000000004 L 305.46000000000004 163.20000000000005 L 213.12 163.20000000000005 Z" style="fill: rgb(64%, 64%, 64%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 213.12 163.74001000000004 L 305.4 163.74001000000004 L 305.4 141.54001000000005 L 213.12 141.54001000000005 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 323.94 143.64001000000002 L 416.28 143.64001000000002 L 416.28 141.66001 L 323.94 141.66001 Z M 323.94 143.58001000000002 L 416.28 143.58001000000002 L 416.28 141.66001 L 323.94 141.66001 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 323.94 147.84001 L 416.28 147.84001 L 416.28 143.58001000000002 L 323.94 143.58001000000002 Z M 323.94 147.78001 L 416.28 147.78001 L 416.28 143.58001000000002 L 323.94 143.58001000000002 Z" style="fill: rgb(69%, 69%, 69%); fill-rule: nonzero"></path>
<path d="M 323.94 150.60001 L 416.28 150.60001 L 416.28 147.78001 L 323.94 147.78001 Z M 323.94 150.54001 L 416.28 150.54001 L 416.28 147.78001 L 323.94 147.78001 Z" style="fill: rgb(68%, 68%, 68%); fill-rule: nonzero"></path>
<path d="M 323.94 153.42001 L 416.28 153.42001 L 416.28 150.54001 L 323.94 150.54001 Z M 323.94 153.36001 L 416.28 153.36001 L 416.28 150.54001 L 323.94 150.54001 Z" style="fill: rgb(67%, 67%, 67%); fill-rule: nonzero"></path>
<path d="M 323.94 156.30001 L 416.28 156.30001 L 416.28 153.36001 L 323.94 153.36001 Z M 323.94 156.24001000000004 L 416.28 156.24001000000004 L 416.28 153.36001000000005 L 323.94 153.36001000000005 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 323.94 160.38001000000003 L 416.28 160.38001000000003 L 416.28 156.24001000000004 L 323.94 156.24001000000004 Z M 323.94 160.32001000000002 L 416.28 160.32001000000002 L 416.28 156.24001000000004 L 323.94 156.24001000000004 Z" style="fill: rgb(66%, 66%, 66%); fill-rule: nonzero"></path>
<path d="M 323.94 163.26001000000002 L 416.28 163.26001000000002 L 416.28 160.32001000000002 L 323.94 160.32001000000002 Z M 323.94 163.20001000000002 L 416.28 163.20001000000002 L 416.28 160.32001000000002 L 323.94 160.32001000000002 Z" style="fill: rgb(65%, 65%, 65%); fill-rule: nonzero"></path>
<path d="M 323.94 163.74001000000004 L 416.28 163.74001000000004 L 416.28 163.20000000000005 L 323.94 163.20000000000005 Z M 323.94 163.74001000000004 L 416.28 163.74001000000004 L 416.28 163.20000000000005 L 323.94 163.20000000000005 Z" style="fill: rgb(64%, 64%, 64%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 323.94 163.74001000000004 L 416.15999999999997 163.74001000000004 L 416.15999999999997 141.54001000000005 L 323.94 141.54001000000005 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 213.12 36.18001000000004 L 259.38 36.18001000000004 L 259.38 34.50001000000003 L 213.12 34.50001000000003 Z M 213.12 36.120010000000036 L 259.38 36.120010000000036 L 259.38 34.50001000000003 L 213.12 34.50001000000003 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 213.12 38.580010000000016 L 259.38 38.580010000000016 L 259.38 36.120010000000036 L 213.12 36.120010000000036 Z M 213.12 38.52001000000001 L 259.38 38.52001000000001 L 259.38 36.120010000000036 L 213.12 36.120010000000036 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 213.12 40.92000999999999 L 259.38 40.92000999999999 L 259.38 38.52001000000001 L 213.12 38.52001000000001 Z M 213.12 40.86000999999999 L 259.38 40.86000999999999 L 259.38 38.52001000000001 L 213.12 38.52001000000001 Z" style="fill: rgb(93%, 93%, 93%); fill-rule: nonzero"></path>
<path d="M 213.12 44.40001000000001 L 259.38 44.40001000000001 L 259.38 40.86000999999999 L 213.12 40.86000999999999 Z M 213.12 44.34001000000001 L 259.38 44.34001000000001 L 259.38 40.86000999999999 L 213.12 40.86000999999999 Z" style="fill: rgb(92%, 92%, 92%); fill-rule: nonzero"></path>
<path d="M 213.12 46.800009999999986 L 259.38 46.800009999999986 L 259.38 44.34001000000001 L 213.12 44.34001000000001 Z M 213.12 46.74001000000004 L 259.38 46.74001000000004 L 259.38 44.34001000000006 L 213.12 44.34001000000006 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 213.12 49.02001000000001 L 259.38 49.02001000000001 L 259.38 46.74001000000004 L 213.12 46.74001000000004 Z M 213.12 48.96001000000001 L 259.38 48.96001000000001 L 259.38 46.740009999999984 L 213.12 46.740009999999984 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 213.12 51.42000999999999 L 259.38 51.42000999999999 L 259.38 48.96001000000001 L 213.12 48.96001000000001 Z M 213.12 51.36000999999999 L 259.38 51.36000999999999 L 259.38 48.96001000000001 L 213.12 48.96001000000001 Z" style="fill: rgb(90%, 90%, 90%); fill-rule: nonzero"></path>
<path d="M 213.12 52.98000999999999 L 259.38 52.98000999999999 L 259.38 51.36000999999999 L 213.12 51.36000999999999 Z M 213.12 52.98000999999999 L 259.38 52.98000999999999 L 259.38 51.36000999999999 L 213.12 51.36000999999999 Z" style="fill: rgb(89%, 89%, 89%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 213.12 52.98000999999999 L 259.26 52.98000999999999 L 259.26 34.500009999999975 L 213.12 34.500009999999975 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 259.38 36.18001000000004 L 305.46 36.18001000000004 L 305.46 34.50001000000003 L 259.38 34.50001000000003 Z M 259.38 36.120010000000036 L 305.46 36.120010000000036 L 305.46 34.50001000000003 L 259.38 34.50001000000003 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 259.38 38.580010000000016 L 305.46 38.580010000000016 L 305.46 36.120010000000036 L 259.38 36.120010000000036 Z M 259.38 38.52001000000001 L 305.46 38.52001000000001 L 305.46 36.120010000000036 L 259.38 36.120010000000036 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 259.38 40.92000999999999 L 305.46 40.92000999999999 L 305.46 38.52001000000001 L 259.38 38.52001000000001 Z M 259.38 40.86000999999999 L 305.46 40.86000999999999 L 305.46 38.52001000000001 L 259.38 38.52001000000001 Z" style="fill: rgb(93%, 93%, 93%); fill-rule: nonzero"></path>
<path d="M 259.38 44.40001000000001 L 305.46 44.40001000000001 L 305.46 40.86000999999999 L 259.38 40.86000999999999 Z M 259.38 44.34001000000001 L 305.46 44.34001000000001 L 305.46 40.86000999999999 L 259.38 40.86000999999999 Z" style="fill: rgb(92%, 92%, 92%); fill-rule: nonzero"></path>
<path d="M 259.38 46.800009999999986 L 305.46 46.800009999999986 L 305.46 44.34001000000001 L 259.38 44.34001000000001 Z M 259.38 46.74001000000004 L 305.46 46.74001000000004 L 305.46 44.34001000000006 L 259.38 44.34001000000006 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 259.38 49.02001000000001 L 305.46 49.02001000000001 L 305.46 46.74001000000004 L 259.38 46.74001000000004 Z M 259.38 48.96001000000001 L 305.46 48.96001000000001 L 305.46 46.740009999999984 L 259.38 46.740009999999984 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 259.38 51.42000999999999 L 305.46 51.42000999999999 L 305.46 48.96001000000001 L 259.38 48.96001000000001 Z M 259.38 51.36000999999999 L 305.46 51.36000999999999 L 305.46 48.96001000000001 L 259.38 48.96001000000001 Z" style="fill: rgb(90%, 90%, 90%); fill-rule: nonzero"></path>
<path d="M 259.38 52.98000999999999 L 305.46 52.98000999999999 L 305.46 51.36000999999999 L 259.38 51.36000999999999 Z M 259.38 52.98000999999999 L 305.46 52.98000999999999 L 305.46 51.36000999999999 L 259.38 51.36000999999999 Z" style="fill: rgb(89%, 89%, 89%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 259.26 52.98000999999999 L 305.4 52.98000999999999 L 305.4 34.500009999999975 L 259.26 34.500009999999975 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 323.94 36.18001000000004 L 370.02 36.18001000000004 L 370.02 34.50001000000003 L 323.94 34.50001000000003 Z M 323.94 36.120010000000036 L 370.02 36.120010000000036 L 370.02 34.50001000000003 L 323.94 34.50001000000003 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 323.94 38.580010000000016 L 370.02 38.580010000000016 L 370.02 36.120010000000036 L 323.94 36.120010000000036 Z M 323.94 38.52001000000001 L 370.02 38.52001000000001 L 370.02 36.120010000000036 L 323.94 36.120010000000036 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 323.94 40.92000999999999 L 370.02 40.92000999999999 L 370.02 38.52001000000001 L 323.94 38.52001000000001 Z M 323.94 40.86000999999999 L 370.02 40.86000999999999 L 370.02 38.52001000000001 L 323.94 38.52001000000001 Z" style="fill: rgb(93%, 93%, 93%); fill-rule: nonzero"></path>
<path d="M 323.94 44.40001000000001 L 370.02 44.40001000000001 L 370.02 40.86000999999999 L 323.94 40.86000999999999 Z M 323.94 44.34001000000001 L 370.02 44.34001000000001 L 370.02 40.86000999999999 L 323.94 40.86000999999999 Z" style="fill: rgb(92%, 92%, 92%); fill-rule: nonzero"></path>
<path d="M 323.94 46.800009999999986 L 370.02 46.800009999999986 L 370.02 44.34001000000001 L 323.94 44.34001000000001 Z M 323.94 46.74001000000004 L 370.02 46.74001000000004 L 370.02 44.34001000000006 L 323.94 44.34001000000006 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 323.94 49.02001000000001 L 370.02 49.02001000000001 L 370.02 46.74001000000004 L 323.94 46.74001000000004 Z M 323.94 48.96001000000001 L 370.02 48.96001000000001 L 370.02 46.740009999999984 L 323.94 46.740009999999984 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 323.94 51.42000999999999 L 370.02 51.42000999999999 L 370.02 48.96001000000001 L 323.94 48.96001000000001 Z M 323.94 51.36000999999999 L 370.02 51.36000999999999 L 370.02 48.96001000000001 L 323.94 48.96001000000001 Z" style="fill: rgb(90%, 90%, 90%); fill-rule: nonzero"></path>
<path d="M 323.94 52.98000999999999 L 370.02 52.98000999999999 L 370.02 51.36000999999999 L 323.94 51.36000999999999 Z M 323.94 52.98000999999999 L 370.02 52.98000999999999 L 370.02 51.36000999999999 L 323.94 51.36000999999999 Z" style="fill: rgb(89%, 89%, 89%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 323.94 52.98000999999999 L 370.02 52.98000999999999 L 370.02 34.500009999999975 L 323.94 34.500009999999975 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 370.02 36.18001000000004 L 416.28 36.18001000000004 L 416.28 34.50001000000003 L 370.02 34.50001000000003 Z M 370.02 36.120010000000036 L 416.28 36.120010000000036 L 416.28 34.50001000000003 L 370.02 34.50001000000003 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 370.02 38.580010000000016 L 416.28 38.580010000000016 L 416.28 36.120010000000036 L 370.02 36.120010000000036 Z M 370.02 38.52001000000001 L 416.28 38.52001000000001 L 416.28 36.120010000000036 L 370.02 36.120010000000036 Z" style="fill: rgb(94%, 94%, 94%); fill-rule: nonzero"></path>
<path d="M 370.02 40.92000999999999 L 416.28 40.92000999999999 L 416.28 38.52001000000001 L 370.02 38.52001000000001 Z M 370.02 40.86000999999999 L 416.28 40.86000999999999 L 416.28 38.52001000000001 L 370.02 38.52001000000001 Z" style="fill: rgb(93%, 93%, 93%); fill-rule: nonzero"></path>
<path d="M 370.02 44.40001000000001 L 416.28 44.40001000000001 L 416.28 40.86000999999999 L 370.02 40.86000999999999 Z M 370.02 44.34001000000001 L 416.28 44.34001000000001 L 416.28 40.86000999999999 L 370.02 40.86000999999999 Z" style="fill: rgb(92%, 92%, 92%); fill-rule: nonzero"></path>
<path d="M 370.02 46.800009999999986 L 416.28 46.800009999999986 L 416.28 44.34001000000001 L 370.02 44.34001000000001 Z M 370.02 46.74001000000004 L 416.28 46.74001000000004 L 416.28 44.34001000000006 L 370.02 44.34001000000006 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 370.02 49.02001000000001 L 416.28 49.02001000000001 L 416.28 46.74001000000004 L 370.02 46.74001000000004 Z M 370.02 48.96001000000001 L 416.28 48.96001000000001 L 416.28 46.740009999999984 L 370.02 46.740009999999984 Z" style="fill: rgb(91%, 91%, 91%); fill-rule: nonzero"></path>
<path d="M 370.02 51.42000999999999 L 416.28 51.42000999999999 L 416.28 48.96001000000001 L 370.02 48.96001000000001 Z M 370.02 51.36000999999999 L 416.28 51.36000999999999 L 416.28 48.96001000000001 L 370.02 48.96001000000001 Z" style="fill: rgb(90%, 90%, 90%); fill-rule: nonzero"></path>
<path d="M 370.02 52.98000999999999 L 416.28 52.98000999999999 L 416.28 51.36000999999999 L 370.02 51.36000999999999 Z M 370.02 52.98000999999999 L 416.28 52.98000999999999 L 416.28 51.36000999999999 L 370.02 51.36000999999999 Z" style="fill: rgb(89%, 89%, 89%); fill-rule: nonzero"></path>
<path d="M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 370.02 52.98000999999999 L 416.15999999999997 52.98000999999999 L 416.15999999999997 34.500009999999975 L 370.02 34.500009999999975 Z" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 370.02 130.56001000000003 L 370.02 136.08001000000002" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 370.02 141.54001 L 366.47999999999996 134.34001 L 366.9 134.52001 C 368.493 135.41001 371.611 135.40600999999998 373.2 134.52001L 373.62 134.34001 L 370.02 141.54001" style="fill: rgb(24%, 24%, 24%); fill-rule: evenodd"></path>
<path d="M 259.26 130.56001000000003 L 259.26 136.08001000000002" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 259.26 141.54001 L 255.66 134.34001 L 256.08 134.52001 C 257.837 135.39900999999998 260.688 135.43101000000001 262.44 134.52001L 262.86 134.34001 L 259.26 141.54001" style="fill: rgb(24%, 24%, 24%); fill-rule: evenodd"></path>
<path d="M 186.72 108.36000999999999 L 187.32 108.36000999999999 L 187.62 108.48001 L 186.42000000000002 108.48001 Z M 186.42000000000002 108.48001 L 187.62 108.48001 L 187.86 108.54001 L 186.18 108.54001 Z M 186.18 108.54001 L 187.86 108.54001 L 188.16 108.66001 L 186.0 108.66001 Z M 186.0 108.66001 L 188.16 108.66001 L 188.22 108.84001 L 185.76 108.84001 Z M 185.76 108.84001 L 188.22 108.84001 L 188.46 109.08001000000002 L 185.58 109.08001000000002 Z M 185.58 109.08001000000002 L 188.46 109.08001000000002 L 188.52 109.26001000000002 L 185.46 109.26001000000002 Z M 185.46 109.56003000000004 L 188.52 109.56003000000004 L 188.52 109.26001000000002 L 185.46 109.26001000000002 Z M 185.46 109.80000000000001 L 188.52 109.80000000000001 L 188.52 109.56001000000003 L 185.46 109.56001000000003 Z M 185.46 109.80000999999999 L 188.52 109.80000999999999 L 188.46 109.98001 L 185.58 109.98001 Z M 185.58 109.98001 L 188.46 109.98001 L 188.22 110.22001 L 185.76 110.22001 Z M 185.76 110.22001 L 188.22 110.22001 L 188.16 110.40001000000001 L 186.0 110.40001000000001 Z M 186.0 110.40001000000001 L 188.16 110.40001000000001 L 187.86 110.52001000000001 L 186.18 110.52001000000001 Z M 186.18 110.52001000000001 L 187.86 110.52001000000001 L 187.62 110.64001000000002 L 186.42000000000002 110.64001000000002 Z M 186.42000000000002 110.64001000000002 L 187.62 110.64001000000002 L 187.32 110.70001000000002 L 186.72 110.70001000000002 M 185.4 110.70001000000002 L 188.52 110.70001000000002 L 188.52 108.33001000000002 L 185.4 108.33001000000002 Z M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 185.46 109.50000999999997 L 185.46 109.26000999999997 L 185.58 109.08000999999996 L 185.70000000000002 108.84000999999995 L 185.88 108.66001 L 186.06 108.54001 L 186.42000000000002 108.48001 L 186.72 108.36000999999999 L 187.32000000000002 108.36000999999999 L 187.5 108.48001 L 187.86 108.54001 L 188.04000000000002 108.66001 L 188.22 108.84000999999995 L 188.34 109.08000999999996 L 188.46 109.26000999999997 L 188.52 109.50000999999997 L 188.46 109.68000999999998 C 188.035 110.86201 186.21200000000002 110.96100999999999 185.58 109.92000999999999L 185.46 109.68000999999998 L 185.46 109.50000999999997" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 194.4 108.36000999999999 L 195.0 108.36000999999999 L 195.3 108.48001 L 194.10000000000002 108.48001 Z M 194.10000000000002 108.48001 L 195.3 108.48001 L 195.54 108.54001 L 193.86 108.54001 Z M 193.86 108.54001 L 195.54 108.54001 L 195.84 108.66001 L 193.68 108.66001 Z M 193.68 108.66001 L 195.84 108.66001 L 195.9 108.84001 L 193.44 108.84001 Z M 193.44 108.84001 L 195.9 108.84001 L 196.14000000000001 109.08001000000002 L 193.26 109.08001000000002 Z M 193.26 109.08001000000002 L 196.14000000000001 109.08001000000002 L 196.26 109.26001000000002 L 193.14000000000001 109.26001000000002 Z M 193.14000000000001 109.56003000000004 L 196.26000000000002 109.56003000000004 L 196.26000000000002 109.26001000000002 L 193.14000000000001 109.26001000000002 Z M 193.14000000000001 109.80000000000001 L 196.26000000000002 109.80000000000001 L 196.26000000000002 109.56001000000003 L 193.14000000000001 109.56001000000003 Z M 193.14000000000001 109.80000999999999 L 196.26 109.80000999999999 L 196.14000000000001 109.98001 L 193.26 109.98001 Z M 193.26 109.98001 L 196.14000000000001 109.98001 L 195.9 110.22001 L 193.44 110.22001 Z M 193.44 110.22001 L 195.9 110.22001 L 195.84 110.40001000000001 L 193.68 110.40001000000001 Z M 193.68 110.40001000000001 L 195.84 110.40001000000001 L 195.54 110.52001000000001 L 193.86 110.52001000000001 Z M 193.86 110.52001000000001 L 195.54 110.52001000000001 L 195.3 110.64001000000002 L 194.10000000000002 110.64001000000002 Z M 194.10000000000002 110.64001000000002 L 195.3 110.64001000000002 L 195.0 110.70001000000002 L 194.4 110.70001000000002 M 193.08 110.70001000000002 L 196.26000000000002 110.70001000000002 L 196.26000000000002 108.33001000000002 L 193.08 108.33001000000002 Z M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 193.14000000000001 109.50000999999997 L 193.14000000000001 109.26000999999997 L 193.26000000000002 109.08000999999996 C 193.54100000000003 108.38400999999999 193.931 108.62300999999997 194.4 108.36000999999999L 195.00000000000003 108.36000999999999 C 195.39200000000002 108.63601 195.692 108.34600999999998 196.02 109.08000999999996L 196.14000000000001 109.26000999999997 L 196.26000000000002 109.50000999999997 L 196.14000000000001 109.68000999999998 C 195.622 111.03200999999996 193.598 110.88601 193.14000000000001 109.68000999999998L 193.14000000000001 109.50000999999997" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<path d="M 202.08 108.36000999999999 L 202.68 108.36000999999999 L 202.98000000000002 108.48001 L 201.78 108.48001 Z M 201.78 108.48001 L 202.98000000000002 108.48001 L 203.22 108.54001 L 201.54 108.54001 Z M 201.54 108.54001 L 203.22 108.54001 L 203.52 108.66001 L 201.36 108.66001 Z M 201.36 108.66001 L 203.52 108.66001 L 203.64000000000001 108.84001 L 201.18 108.84001 Z M 201.18 108.84001 L 203.64000000000001 108.84001 L 203.82 109.08001000000002 L 200.94 109.08001000000002 Z M 200.94 109.08001000000002 L 203.82 109.08001000000002 L 203.94 109.26001000000002 L 200.82 109.26001000000002 Z M 200.82 109.56003000000004 L 203.94 109.56003000000004 L 203.94 109.26001000000002 L 200.82 109.26001000000002 Z M 200.82 109.80000000000001 L 203.94 109.80000000000001 L 203.94 109.56001000000003 L 200.82 109.56001000000003 Z M 200.82 109.80000999999999 L 203.94 109.80000999999999 L 203.82 109.98001 L 200.94 109.98001 Z M 200.94 109.98001 L 203.82 109.98001 L 203.64000000000001 110.22001 L 201.18 110.22001 Z M 201.18 110.22001 L 203.64000000000001 110.22001 L 203.52 110.40001000000001 L 201.36 110.40001000000001 Z M 201.36 110.40001000000001 L 203.52 110.40001000000001 L 203.22 110.52001000000001 L 201.54 110.52001000000001 Z M 201.54 110.52001000000001 L 203.22 110.52001000000001 L 202.98000000000002 110.64001000000002 L 201.78 110.64001000000002 Z M 201.78 110.64001000000002 L 202.98000000000002 110.64001000000002 L 202.68 110.70001000000002 L 202.08 110.70001000000002 M 200.76 110.70001000000002 L 203.94 110.70001000000002 L 203.94 108.33001000000002 L 200.76 108.33001000000002 Z M 184.14000000000001 176.04001000000002 L 417.6 176.04001000000002 L 417.6 14.880010000000027 L 184.14000000000001 14.880010000000027 Z M 181.74 180.24001 L 421.20000000000005 180.24001 L 421.20000000000005 11.220010000000002 L 181.74 11.220010000000002 Z M 200.82 109.50000999999997 L 200.82 109.26000999999997 L 200.94 109.08000999999996 C 201.22199999999998 108.38400999999999 201.611 108.62300999999997 202.07999999999998 108.36000999999999L 202.68 108.36000999999999 C 203.177 108.56500999999997 203.469 108.54200999999995 203.82 109.08000999999996L 203.82 109.26000999999997 L 203.94 109.50000999999997 L 203.82 109.68000999999998 L 203.82 109.92000999999999 C 203.515 110.25700999999998 203.108 110.49401 202.68 110.64000999999996L 202.07999999999998 110.64000999999996 C 201.602 110.41200999999995 201.206 110.42300999999998 200.94 109.92000999999999L 200.82 109.68000999999998 L 200.82 109.50000999999997" style="fill-rule: nonzero; stroke: rgb(24%, 24%, 24%)"></path>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="8.282937600000025" x="229.86" y="26.71431000000001">16</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="41.945519120000085" x="242.45696760000004" y="26.71431000000001"> 16</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="60.24604524000006" x="288.71651672000013" y="26.71431000000001"> 16</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="46.19956356000006" x="353.2765919600002" y="26.71431000000001"> 16b</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.2172pt; fill: #000" textLength="4.019854240000001" x="232.08" y="48.25431000000004">a</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="41.973908480000034" x="240.26597464000002" y="48.25431000000003"> a</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="60.453865159999964" x="286.40600352000007" y="48.25431000000003"> a</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="46.140014440000016" x="351.02598908000004" y="48.25431000000003"> a0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.2172pt; fill: #000" textLength="4.256509599999987" x="232.02" y="85.15431000000002">b</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="41.97386516" x="240.44263" y="85.15431000000001"> b</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="60.39387959999999" x="286.58261556" y="85.15431000000001"> b</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="46.25999999999999" x="351.14261556" y="85.15431000000001"> b0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="8.402908720000028" x="252.90020708000003" y="106.69478276000001">32</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="110.70047496000001" x="265.61714580000006" y="106.69478276000001"> 32b</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.2172pt; fill: #000" textLength="3.4816276399999992" x="255.48000000000002" y="123.97431000000002">c</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="110.75917828000001" x="263.12774804000003" y="123.97431"> c0</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="68.84945363999992" x="224.82" y="157.15431">c1=c1+a2*b0+a3*b1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="68.77878572000014" x="335.64" y="157.15431">c0=c0+a0*b0+a1*b1</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="8.402908720000028" x="252.90020708000003" y="174.37492884">32</text>
<text lengthAdjust="spacingAndGlyphs" style="font-size: 8.217199999999991pt; fill: #000" textLength="110.69965324000003" x="265.61714580000006" y="174.37492884"> 32b</text></g></svg>
<figcaption><a href='vp4dpwssd.html#fig-8-1'>Figure 8-1</a>. Register Source-Block Dot Product of Two Signed Word Operands With Doubleword Accumulation<sup>1</sup></figcaption></figure>
<blockquote>
<p>1. For illustration purposes, one source-block dot product instance is shown out of the four.</p></blockquote>
<h3 id="operation">Operation<a class="anchor" href="#operation">
</a></h3>
<pre>src_reg_id is the 5 bit index of the vector register specified in the instruction as the src1 register.
VP4DPWSSD dest, src1, src2
(KL,VL) = (16,512)
N := 4
ORIGDEST := DEST
src_base := src_reg_id &amp; ~ (N-1) // for src1 operand
FOR i := 0 to KL-1:
IF k1[i] or *no writemask*:
FOR m := 0 to N-1:
t := SRC2.dword[m]
p1dword := reg[src_base+m].word[2*i] * t.word[0]
p2dword := reg[src_base+m].word[2*i+1] * t.word[1]
DEST.dword[i] := DEST.dword[i] + p1dword + p2dword
ELSE IF *zeroing*:
DEST.dword[i] := 0
ELSE
DEST.dword[i] := ORIGDEST.dword[i]
DEST[MAX_VL-1:VL] := 0
</pre>
<h3 id="intel-c-c++-compiler-intrinsic-equivalent">Intel C/C++ Compiler Intrinsic Equivalent<a class="anchor" href="#intel-c-c++-compiler-intrinsic-equivalent">
</a></h3>
<pre>VP4DPWSSD __m512i _mm512_4dpwssd_epi32(__m512i, __m512ix4, __m128i *);
</pre>
<pre>VP4DPWSSD __m512i _mm512_mask_4dpwssd_epi32(__m512i, __mmask16, __m512ix4, __m128i *);
</pre>
<pre>VP4DPWSSD __m512i _mm512_maskz_4dpwssd_epi32(__mmask16, __m512i, __m512ix4, __m128i *);
</pre>
<h3 class="exceptions" id="simd-floating-point-exceptions">SIMD Floating-Point Exceptions<a class="anchor" href="#simd-floating-point-exceptions">
</a></h3>
<p>None.</p>
<h3 class="exceptions" id="other-exceptions">Other Exceptions<a class="anchor" href="#other-exceptions">
</a></h3>
<p>See Type E4; additionally:</p>
<table>
<tr>
<td>#UD</td>
<td>If the EVEX broadcast bit is set to 1.</td></tr>
<tr>
<td>#UD</td>
<td>If the MODRM.mod = 0b11.</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>