<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Possible errors in instruction semantics in Intel® ISA Extensions</title>
    <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164689#M6592</link>
    <description>&lt;P&gt;Dear Team,&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;I would like to report on some disparity&amp;nbsp; between some instruction specification as documented in the &lt;/SPAN&gt;&lt;A href="https://community.intel.com/legacyfs/online/drupal_files/managed/a4/60/325383-sdm-vol-2abcd.pdf"&gt;Intel 64 and IA-32 Architectures Software Developer's Manual, Vol 2&lt;/A&gt;&amp;nbsp;and the actual execution behaviour.&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; vertical-align: baseline; text-decoration-line: underline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;Bug Report 1: vpsravd %xmm3, %xmm2, %xmm1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;Semantics as per the above manual:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;%ymm1  : 0x0₁₂₈ ∘ ((%ymm2[127:96] sign_shift_right (0x0₂₇ ∘ %ymm3[100:96])) ∘
                  ((%ymm2[95:64] sign_shift_right %ymm3[95:64]) ∘
                  ((%ymm2[63:32] sign_shift_right %ymm3[63:32]) ∘
                  (%ymm2[31:0] sign_shift_right %ymm3[31:0]))))
&lt;/PRE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;** ∘ is the concatenate symbol here.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;Note that the first term&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;((%ymm2[127:96] sign_shift_right (0x0₂₇ ∘ %ymm3[100:96]))&lt;/STRONG&gt;&amp;nbsp;has only 5 bits selected from&amp;nbsp; '%ymm3'.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;But the actual execution behaviour seem to expect&amp;nbsp; 32 bits from %ymm3, i.e.,&amp;nbsp;&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;((%ymm2[127:96] sign_shift_right 0x0₂₇ ∘ %ymm3[127:96])&lt;/STRONG&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;The following is the pseudo code from manual&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;VPSRAVD (VEX.128 version)
COUNT_0 = SRC2[31 : 0]
(* Repeat Each COUNT_i for the 2nd through 4th dwords of SRC2*)
COUNT_3 = SRC2[100 : 96]; //&amp;lt;------------------------------------- Possibly a bug
DEST[31:0] = SignExtend(SRC1[31:0] &amp;gt;&amp;gt; COUNT_0);
(* Repeat shift operation for 2nd through 4th dwords *)
DEST[127:96] = SignExtend(SRC1[127:96] &amp;gt;&amp;gt; COUNT_3);
DEST[MAXVL-1:128] = 0;&lt;/PRE&gt;

&lt;P&gt;I am&amp;nbsp;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;expecting the above bold portion to be a bug and should be&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-weight: 700; color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px; font-style: inherit; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"&gt;SRC2[127 : 96]&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;Test Input (in Hex):&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;%ymm2:&lt;/EM&gt;&amp;nbsp; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&amp;nbsp; - **80 00 00 00** - 00 00 00 00 - 00 00 00 00 - 00 00 00 00&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;%ymm3:&lt;/EM&gt;&amp;nbsp; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&amp;nbsp; - **00 00 00 20** - 00 00 00 00&amp;nbsp; - 00 00 00 00&amp;nbsp; - 00 00 00 00&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;As per the manual, we should select just 5 bits from&amp;nbsp; `00 00 00 20`, where as hardware execution semantics require all 32 bits.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;Output as per manual:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt; 0x0₁₂₈ ∘ ((0x80000000₃₂ sign_shift_right 0x0₃₂) ∘
          ((0x0₃₂ sign_shift_right 0x0₃₂) ∘
          ((0x0₃₂ sign_shift_right 0x0₃₂) ∘
          (0x0₃₂ sign_shift_right 0x0₃₂))))&lt;/PRE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;Output as per actual Intel hardware (&lt;/SPAN&gt;Intel(R) Xeon(R) CPU E3-1505M&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;):&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt; 0x0₆₄ ∘ 0x0₆₄ ∘ 0xffffffff00000000₆₄ ∘ 0x0₆₄&lt;/PRE&gt;

&lt;P style="font-size: 13.008px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;The same probable typo appears in the pseudocode for these instructions:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="font-size: 13.008px;"&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVD (VEX.128 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVD (VEX.256 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVQ (VEX.256 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSRAVD (VEX.256 version)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;Also,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;there seems to be a typo in the&amp;nbsp; description text of VPSRAVW/VPSRAVD/VPSRAVQ. There are two paragraphs starting with "The count values..."; the second one should be deleted.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; vertical-align: baseline; text-decoration-line: underline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;Bug Report 2:&amp;nbsp;&lt;/STRONG&gt;packsswb&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;There seems to be bug in the descriptive text&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;If the&amp;nbsp;&lt;/EM&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;signed doubleword value is beyond the&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;range of an unsigned word&lt;/STRONG&gt;&amp;nbsp;(i.e. greater than 7FH or less than 80H), ...&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;In my opinion, the description must say&amp;nbsp;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;range of signed&lt;/STRONG&gt;&amp;nbsp;word&lt;/EM&gt;&amp;nbsp;insead.&lt;/P&gt;</description>
    <pubDate>Thu, 05 Apr 2018 00:48:27 GMT</pubDate>
    <dc:creator>Dasgupta__Sandeep</dc:creator>
    <dc:date>2018-04-05T00:48:27Z</dc:date>
    <item>
      <title>Possible errors in instruction semantics</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164689#M6592</link>
      <description>&lt;P&gt;Dear Team,&lt;/P&gt;

&lt;P&gt;&lt;SPAN style="font-size: 1em;"&gt;I would like to report on some disparity&amp;nbsp; between some instruction specification as documented in the &lt;/SPAN&gt;&lt;A href="https://community.intel.com/legacyfs/online/drupal_files/managed/a4/60/325383-sdm-vol-2abcd.pdf"&gt;Intel 64 and IA-32 Architectures Software Developer's Manual, Vol 2&lt;/A&gt;&amp;nbsp;and the actual execution behaviour.&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; vertical-align: baseline; text-decoration-line: underline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;Bug Report 1: vpsravd %xmm3, %xmm2, %xmm1&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;Semantics as per the above manual:&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt;%ymm1  : 0x0₁₂₈ ∘ ((%ymm2[127:96] sign_shift_right (0x0₂₇ ∘ %ymm3[100:96])) ∘
                  ((%ymm2[95:64] sign_shift_right %ymm3[95:64]) ∘
                  ((%ymm2[63:32] sign_shift_right %ymm3[63:32]) ∘
                  (%ymm2[31:0] sign_shift_right %ymm3[31:0]))))
&lt;/PRE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;** ∘ is the concatenate symbol here.&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;Note that the first term&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;((%ymm2[127:96] sign_shift_right (0x0₂₇ ∘ %ymm3[100:96]))&lt;/STRONG&gt;&amp;nbsp;has only 5 bits selected from&amp;nbsp; '%ymm3'.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;But the actual execution behaviour seem to expect&amp;nbsp; 32 bits from %ymm3, i.e.,&amp;nbsp;&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;((%ymm2[127:96] sign_shift_right 0x0₂₇ ∘ %ymm3[127:96])&lt;/STRONG&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;The following is the pseudo code from manual&lt;/P&gt;

&lt;PRE class="brush:cpp;"&gt;VPSRAVD (VEX.128 version)
COUNT_0 = SRC2[31 : 0]
(* Repeat Each COUNT_i for the 2nd through 4th dwords of SRC2*)
COUNT_3 = SRC2[100 : 96]; //&amp;lt;------------------------------------- Possibly a bug
DEST[31:0] = SignExtend(SRC1[31:0] &amp;gt;&amp;gt; COUNT_0);
(* Repeat shift operation for 2nd through 4th dwords *)
DEST[127:96] = SignExtend(SRC1[127:96] &amp;gt;&amp;gt; COUNT_3);
DEST[MAXVL-1:128] = 0;&lt;/PRE&gt;

&lt;P&gt;I am&amp;nbsp;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;expecting the above bold portion to be a bug and should be&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-weight: 700; color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px; font-style: inherit; margin: 0px; padding: 0px; border: 0px; vertical-align: baseline;"&gt;SRC2[127 : 96]&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;Test Input (in Hex):&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;%ymm2:&lt;/EM&gt;&amp;nbsp; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&amp;nbsp; - **80 00 00 00** - 00 00 00 00 - 00 00 00 00 - 00 00 00 00&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;%ymm3:&lt;/EM&gt;&amp;nbsp; 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00&amp;nbsp; - **00 00 00 20** - 00 00 00 00&amp;nbsp; - 00 00 00 00&amp;nbsp; - 00 00 00 00&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;As per the manual, we should select just 5 bits from&amp;nbsp; `00 00 00 20`, where as hardware execution semantics require all 32 bits.&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;Output as per manual:&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt; 0x0₁₂₈ ∘ ((0x80000000₃₂ sign_shift_right 0x0₃₂) ∘
          ((0x0₃₂ sign_shift_right 0x0₃₂) ∘
          ((0x0₃₂ sign_shift_right 0x0₃₂) ∘
          (0x0₃₂ sign_shift_right 0x0₃₂))))&lt;/PRE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;Output as per actual Intel hardware (&lt;/SPAN&gt;Intel(R) Xeon(R) CPU E3-1505M&lt;SPAN style="color: rgb(61, 61, 61); font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; font-size: 14px;"&gt;):&lt;/SPAN&gt;&lt;/P&gt;

&lt;PRE class="brush:bash;"&gt; 0x0₆₄ ∘ 0x0₆₄ ∘ 0xffffffff00000000₆₄ ∘ 0x0₆₄&lt;/PRE&gt;

&lt;P style="font-size: 13.008px;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="font-size: 13.008px;"&gt;The same probable typo appears in the pseudocode for these instructions:&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="font-size: 13.008px;"&gt;&lt;STRONG&gt;&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVD (VEX.128 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVD (VEX.256 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSLLVQ (VEX.256 version)&lt;/SPAN&gt;&lt;BR style="font-size: 13.008px;" /&gt;
		&lt;SPAN style="font-size: 13.008px;"&gt;VPSRAVD (VEX.256 version)&lt;/SPAN&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="font-size: 13.008px;"&gt;&lt;SPAN style="font-size: 1em;"&gt;Also,&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="font-size: 1em;"&gt;there seems to be a typo in the&amp;nbsp; description text of VPSRAVW/VPSRAVD/VPSRAVQ. There are two paragraphs starting with "The count values..."; the second one should be deleted.&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;SPAN style="margin: 0px; padding: 0px; border: 0px; font-weight: inherit; font-style: inherit; vertical-align: baseline; text-decoration-line: underline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;Bug Report 2:&amp;nbsp;&lt;/STRONG&gt;packsswb&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;There seems to be bug in the descriptive text&lt;/P&gt;

&lt;BLOCKQUOTE&gt;
	&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;If the&amp;nbsp;&lt;/EM&gt;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;signed doubleword value is beyond the&amp;nbsp;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;range of an unsigned word&lt;/STRONG&gt;&amp;nbsp;(i.e. greater than 7FH or less than 80H), ...&lt;/EM&gt;&lt;/P&gt;
&lt;/BLOCKQUOTE&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61); min-height: 8pt;"&gt;&amp;nbsp;&lt;/P&gt;

&lt;P style="margin-bottom: 0px; border: 0px; font-size: 14px; font-family: intel-clear, arial, helvetica, &amp;quot;helvetica neue&amp;quot;, verdana, sans-serif; vertical-align: baseline; color: rgb(61, 61, 61);"&gt;In my opinion, the description must say&amp;nbsp;&lt;EM style="border: 0px; font-weight: inherit; vertical-align: baseline;"&gt;&lt;STRONG style="margin: 0px; padding: 0px; border: 0px; font-style: inherit; vertical-align: baseline;"&gt;range of signed&lt;/STRONG&gt;&amp;nbsp;word&lt;/EM&gt;&amp;nbsp;insead.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 00:48:27 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164689#M6592</guid>
      <dc:creator>Dasgupta__Sandeep</dc:creator>
      <dc:date>2018-04-05T00:48:27Z</dc:date>
    </item>
    <item>
      <title>Thx. there was more going on</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164690#M6593</link>
      <description>&lt;P&gt;Thx. there was more going on in the 2nd example that needs fixing.&amp;nbsp; I'll pass these along to our documentation person. Thanks for reporting the issues.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 17:56:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164690#M6593</guid>
      <dc:creator>MarkC_Intel</dc:creator>
      <dc:date>2018-04-05T17:56:07Z</dc:date>
    </item>
    <item>
      <title>Thanks Mark! Really apreciate</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164691#M6594</link>
      <description>&lt;P&gt;Thanks Mark! Really apreciate your reply.&lt;/P&gt;

&lt;P&gt;Do you mind sharing what else is going wrong with the second example ? That might help my current work.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 19:47:07 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164691#M6594</guid>
      <dc:creator>Dasgupta__Sandeep</dc:creator>
      <dc:date>2018-04-05T19:47:07Z</dc:date>
    </item>
    <item>
      <title>the 2nd sentence of that</title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164692#M6595</link>
      <description>&lt;P&gt;the 2nd sentence of that paragraph talks about doublewords and words when it should be talking about words and bytes.&amp;nbsp; The operation section makes it a little more clear.&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 20:31:53 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164692#M6595</guid>
      <dc:creator>MarkC_Intel</dc:creator>
      <dc:date>2018-04-05T20:31:53Z</dc:date>
    </item>
    <item>
      <title>Indeed. Thanks  again.  </title>
      <link>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164693#M6596</link>
      <description>&lt;P&gt;Indeed. Thanks&amp;nbsp; again.&amp;nbsp;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Thu, 05 Apr 2018 20:36:23 GMT</pubDate>
      <guid>https://community.intel.com/t5/Intel-ISA-Extensions/Possible-errors-in-instruction-semantics/m-p/1164693#M6596</guid>
      <dc:creator>Dasgupta__Sandeep</dc:creator>
      <dc:date>2018-04-05T20:36:23Z</dc:date>
    </item>
  </channel>
</rss>

