<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<p><br>
</p>
<div class="moz-cite-prefix">On 8/21/2024 8:25 PM, Stephen Hemminger
wrote:<br>
</div>
<blockquote type="cite" cite="mid:20240821075502.3faa0997@hermes.local">
<pre class="moz-quote-pre" wrap="">Caution: This message originated from an External Source. Use proper caution when opening attachments, clicking links, or responding.
On Wed, 21 Aug 2024 20:08:55 +0530
Vipin Varghese <a class="moz-txt-link-rfc2396E" href="mailto:vipin.varghese@amd.com"><vipin.varghese@amd.com></a> wrote:
</pre>
<blockquote type="cite">
<pre class="moz-quote-pre" wrap="">diff --git a/app/test-pmd/macswap_sse.h b/app/test-pmd/macswap_sse.h
index 223f87a539..29088843b7 100644
--- a/app/test-pmd/macswap_sse.h
+++ b/app/test-pmd/macswap_sse.h
@@ -16,13 +16,13 @@ do_macswap(struct rte_mbuf *pkts[], uint16_t nb,
uint64_t ol_flags;
int i;
int r;
- __m128i addr0, addr1, addr2, addr3;
+ register __m128i addr0, addr1, addr2, addr3;
</pre>
</blockquote>
<pre class="moz-quote-pre" wrap="">
Some compilers treat register as a no-op. Are you sure? Did you check with godbolt.</pre>
</blockquote>
<br>
<p>Thank you Stephen, I have tested the code changes on Linux using
GCC and Clang compiler. </p>
<p>In both cases in Linux environment, we have seen the the values
loaded onto register `xmm`.</p>
<div style="color: #000000;background-color: #fffffe;font-family: Consolas, 'Liberation Mono', Courier, monospace, Consolas, 'Courier New', monospace;font-weight: normal;font-size: 14px;line-height: 19px;white-space: pre;"><div><span style="color: #0000ff;">```
</span></div><div><span style="color: #0000ff;"></span><div><span style="color: #0000ff;">register</span><span style="color: #000000;"> </span><span style="color: #0000ff;">const</span><span style="color: #000000;"> __m128i shfl_msk = _mm_set_epi8(</span><span style="color: #098658;">15</span><span style="color: #000000;">, </span><span style="color: #098658;">14</span><span style="color: #000000;">, </span><span style="color: #098658;">13</span><span style="color: #000000;">, </span><span style="color: #098658;">12</span><span style="color: #000000;">, </span><span style="color: #098658;">5</span><span style="color: #000000;">, </span><span style="color: #098658;">4</span><span style="color: #000000;">, </span><span style="color: #098658;">3</span><span style="color: #000000;">, </span><span style="color: #098658;">2</span><span style="color: #000000;">, </span><span style="color: #098658;">1</span><span style="color: #000000;">, </span><span style="color: #098658;">0</span><span style="color: #000000;">, </span><span style="color: #098658;">11</span><span style="color: #000000;">, </span><span style="color: #098658;">10</span><span style="color: #000000;">, </span><span style="color: #098658;">9</span><span style="color: #000000;">, </span><span style="color: #098658;">8</span><span style="color: #000000;">, </span><span style="color: #098658;">7</span><span style="color: #000000;">, </span><span style="color: #098658;">6</span><span style="color: #000000;">);</span></div></div><div><span style="color: #0000ff;">vmovdqa</span><span style="color: #000000;"> </span><span style="color: #4864aa;">xmm0</span><span style="color: #000000;">, </span><span style="color: #008080;">xmmword</span><span style="color: #000000;"> </span><span style="color: #008080;">ptr</span><span style="color: #000000;"> [</span><span style="color: #4864aa;">rip</span><span style="color: #000000;"> + </span><span style="color: #008080;">.LCPI0_0</span><span style="color: #000000;">]</span></div></div>
<p></p>
<p>```<br>
</p>
<p>Both cases we have performance improvement.</p>
<p><br>
</p>
<p>Can you please help us understand if we have missed out
something?<br>
</p>
<blockquote type="cite" cite="mid:20240821075502.3faa0997@hermes.local">
<pre class="moz-quote-pre" wrap="">
</pre>
</blockquote>
</body>
</html>