<?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>S12 / MagniV MicrocontrollersのトピックRe: __restrict keyword for the XGATE compiler</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/restrict-keyword-for-the-XGATE-compiler/m-p/182495#M6718</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The semantic is the same as the restrict keyword in ANSI C99.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It basically means that the structure pointer to by a restricted pointer is not modified by some other alias.&lt;/P&gt;&lt;P&gt;More concretely for the RS08, __restrict is used for the pointer to the parameter block for a channel to allow the compiler to keep parameter values in registers even when calling other functions.&lt;/P&gt;&lt;P&gt;Without restrict, the compiler just knows about a pointer to a struct and would not know that the values in the struct did not change, so he would have to reload them whenever used.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Mar 2010 23:47:06 GMT</pubDate>
    <dc:creator>CompilerGuru</dc:creator>
    <dc:date>2010-03-11T23:47:06Z</dc:date>
    <item>
      <title>__restrict keyword for the XGATE compiler</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/restrict-keyword-for-the-XGATE-compiler/m-p/182494#M6717</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;does anybody know which is the usage of the __restrict keyword for the XGate compiler?&lt;/P&gt;&lt;P&gt;Many thanks&lt;/P&gt;&lt;P&gt;Davide&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Mar 2010 21:10:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/restrict-keyword-for-the-XGATE-compiler/m-p/182494#M6717</guid>
      <dc:creator>davide_ferrari</dc:creator>
      <dc:date>2010-03-11T21:10:05Z</dc:date>
    </item>
    <item>
      <title>Re: __restrict keyword for the XGATE compiler</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/restrict-keyword-for-the-XGATE-compiler/m-p/182495#M6718</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The semantic is the same as the restrict keyword in ANSI C99.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;It basically means that the structure pointer to by a restricted pointer is not modified by some other alias.&lt;/P&gt;&lt;P&gt;More concretely for the RS08, __restrict is used for the pointer to the parameter block for a channel to allow the compiler to keep parameter values in registers even when calling other functions.&lt;/P&gt;&lt;P&gt;Without restrict, the compiler just knows about a pointer to a struct and would not know that the values in the struct did not change, so he would have to reload them whenever used.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Mar 2010 23:47:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/restrict-keyword-for-the-XGATE-compiler/m-p/182495#M6718</guid>
      <dc:creator>CompilerGuru</dc:creator>
      <dc:date>2010-03-11T23:47:06Z</dc:date>
    </item>
  </channel>
</rss>

