<?xml-stylesheet type="text/xsl" href="https://community.element14.com/cfs-file/__key/system/syndication/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Optimization for ARM Processors</title><link>/members-area/personalblogs/b/blog/posts/optimization-for-arm-processors</link><description>Embedded systems have various types of the processors which range from 8-bit family to 64-bit family, from 32 bytes to a few gigabytes of RAM and, from kilohertz clock source to a few gigahertz clock source. When the resources of the processor are in</description><dc:language>en-US</dc:language><generator>Telligent Community 12</generator><item><title>RE: Optimization for ARM Processors</title><link>https://community.element14.com/members-area/personalblogs/b/blog/posts/optimization-for-arm-processors</link><pubDate>Tue, 14 Mar 2017 22:50:12 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8f5af234-6dc8-4a72-8181-ec83d6eda6c8</guid><dc:creator>D_Hersey</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;i # 0 &lt;/p&gt;&lt;p&gt;is the same as&lt;/p&gt;&lt;p&gt;i&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;0 is the only non-true value&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=2677&amp;AppID=293&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item><item><title>RE: Optimization for ARM Processors</title><link>https://community.element14.com/members-area/personalblogs/b/blog/posts/optimization-for-arm-processors</link><pubDate>Tue, 14 Mar 2017 19:41:06 GMT</pubDate><guid isPermaLink="false">93d5dcb4-84c2-446f-b2cb-99731719e767:8f5af234-6dc8-4a72-8181-ec83d6eda6c8</guid><dc:creator>jlangbridge</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;Decrementing loops are indeed faster on ARM chips, but it is interesting to know why. When a calculation is performed, the ARM automatically makes a comparison to zero, and stores that result in the CPSR. Since you are counting down to zero, there is no longer any need to perform the CMP instruction, since an automatic comparison to zero was already performed. However, there is a problem with the assembly output there, I&amp;#39;m not too sure where you got it from. You want the compiler to perform x = x * i, but there is no multiplication, and SUBS is an exception return. You might have the wrong assembly code for the example...&lt;/p&gt;&lt;img src="https://community.element14.com/aggbug?PostID=2677&amp;AppID=293&amp;AppType=Weblog&amp;ContentType=0" width="1" height="1"&gt;</description></item></channel></rss>