<?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 x87 Tag unexpected value in Software Tuning, Performance Optimization &amp; Platform Monitoring</title>
    <link>https://community.intel.com/t5/Software-Tuning-Performance/x87-Tag-unexpected-value/m-p/1631952#M8432</link>
    <description>&lt;P&gt;I was playing with x87 part of the ISA. According to the combined ISA manual, section 9.6.2 it says:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt; When an MMX instruction (other than the EMMS instruction) is executed, the processor changes the x87 FPU state as follows:&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; * The entire x87 FPU tag word is set to the valid state (00B in all tag fields).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;among other things but the FPU tag word value was the one I couldn't reproduce. I wrote the following:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;section .data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; quadword_data &lt;/SPAN&gt;&lt;SPAN&gt;dq&lt;/SPAN&gt; &lt;SPAN&gt;0x1234567890abcdef&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;BR /&gt;section .text&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;global _start&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;BR /&gt;_start:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;finit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fld1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fldpi&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;movq&lt;/SPAN&gt; &lt;SPAN&gt;mm0&lt;/SPAN&gt;&lt;SPAN&gt;, [quadword_data]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hlt&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Before movq, the tag word is 0xfff as expected since top is at r6 and r6 and r7 are valid. But after movq I was expecting the tag word to be 0x0 but instead it's 0x556. Why is this and why does it differ with what's specified in the manual?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/DIV&gt;</description>
    <pubDate>Wed, 18 Sep 2024 08:35:35 GMT</pubDate>
    <dc:creator>PMatos</dc:creator>
    <dc:date>2024-09-18T08:35:35Z</dc:date>
    <item>
      <title>x87 Tag unexpected value</title>
      <link>https://community.intel.com/t5/Software-Tuning-Performance/x87-Tag-unexpected-value/m-p/1631952#M8432</link>
      <description>&lt;P&gt;I was playing with x87 part of the ISA. According to the combined ISA manual, section 9.6.2 it says:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;gt; When an MMX instruction (other than the EMMS instruction) is executed, the processor changes the x87 FPU state as follows:&lt;BR /&gt;&amp;gt;&lt;BR /&gt;&amp;gt; * The entire x87 FPU tag word is set to the valid state (00B in all tag fields).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;among other things but the FPU tag word value was the one I couldn't reproduce. I wrote the following:&lt;BR /&gt;&lt;BR /&gt;&lt;/P&gt;&lt;DIV&gt;&lt;PRE&gt;&lt;SPAN&gt;section .data&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; quadword_data &lt;/SPAN&gt;&lt;SPAN&gt;dq&lt;/SPAN&gt; &lt;SPAN&gt;0x1234567890abcdef&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;BR /&gt;section .text&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;global _start&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;BR /&gt;_start:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;finit&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fld1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;fldpi&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;movq&lt;/SPAN&gt; &lt;SPAN&gt;mm0&lt;/SPAN&gt;&lt;SPAN&gt;, [quadword_data]&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;hlt&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Before movq, the tag word is 0xfff as expected since top is at r6 and r6 and r7 are valid. But after movq I was expecting the tag word to be 0x0 but instead it's 0x556. Why is this and why does it differ with what's specified in the manual?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;&lt;/DIV&gt;</description>
      <pubDate>Wed, 18 Sep 2024 08:35:35 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Tuning-Performance/x87-Tag-unexpected-value/m-p/1631952#M8432</guid>
      <dc:creator>PMatos</dc:creator>
      <dc:date>2024-09-18T08:35:35Z</dc:date>
    </item>
  </channel>
</rss>

