<?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 Thank you for reporting this in Software Archive</title>
    <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926901#M13948</link>
    <description>&lt;P&gt;Thank you for reporting this possible missed optimization opportunity and for the convenient test case. I routed it to Development (see internal tracking id below) and will let you know what I hear.&lt;/P&gt;

&lt;P&gt;(Internal tracking id: DPD200247989)&lt;BR /&gt;
	&lt;STRONG&gt;(Resolution Update on 09/08/2014): &lt;/STRONG&gt;This defect is fixed in the Intel® Parallel Studio XE 2015 Initial Release (2015.0.090 - Linux)&lt;/P&gt;</description>
    <pubDate>Thu, 12 Sep 2013 11:21:00 GMT</pubDate>
    <dc:creator>Kevin_D_Intel</dc:creator>
    <dc:date>2013-09-12T11:21:00Z</dc:date>
    <item>
      <title>ICPC missing an optimisation opportunity?</title>
      <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926899#M13946</link>
      <description>&lt;P&gt;Using either icpc 13.1.1 or 14.0.0 and I'm observing the same optimisation issue. A statement of the form:&lt;/P&gt;

&lt;P&gt;[cpp]A a = A().mutator();[/cpp]&lt;/P&gt;

&lt;P&gt;where A has an empty default ctor, could causes the compiler to route the result from the mutator via the temporary, rather than route directly to the lvalue. The drawback in the former case is that there is a superfluous copy to the lvalue.&lt;/P&gt;

&lt;P&gt;I've attached a code sample containing two exhibits. In Exibit A the compiler eliminates the temporary; in Exibit B the compiler does not eliminate the temporary.&lt;/P&gt;

&lt;P&gt;Compilers tested:&lt;/P&gt;

&lt;P&gt;[bash]$ icc -V Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 13.1.1.163 Build 20130313 Copyright (C) 1985-2013 Intel Corporation. All rights reserved. .. $ icc -V Intel(R) C Intel(R) 64 Compiler XE for applications running on Intel(R) 64, Version 14.0.0.080 Build 20130728 Copyright (C) 1985-2013 Intel Corporation. All rights reserved.[/bash]&lt;/P&gt;

&lt;P&gt;CLI options used: -pipe -fno-exceptions -fno-rtti -fstrict-aliasing -unroll-aggressive -mmic -funroll-loops -O3 -DNDEBUG&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2013 07:19:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926899#M13946</guid>
      <dc:creator>Martin_K_6</dc:creator>
      <dc:date>2013-09-12T07:19:41Z</dc:date>
    </item>
    <item>
      <title>Added attachment missing from</title>
      <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926900#M13947</link>
      <description>&lt;P&gt;Added attachment&amp;nbsp;missing from OP.&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2013 07:21:43 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926900#M13947</guid>
      <dc:creator>Martin_K_6</dc:creator>
      <dc:date>2013-09-12T07:21:43Z</dc:date>
    </item>
    <item>
      <title>Thank you for reporting this</title>
      <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926901#M13948</link>
      <description>&lt;P&gt;Thank you for reporting this possible missed optimization opportunity and for the convenient test case. I routed it to Development (see internal tracking id below) and will let you know what I hear.&lt;/P&gt;

&lt;P&gt;(Internal tracking id: DPD200247989)&lt;BR /&gt;
	&lt;STRONG&gt;(Resolution Update on 09/08/2014): &lt;/STRONG&gt;This defect is fixed in the Intel® Parallel Studio XE 2015 Initial Release (2015.0.090 - Linux)&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2013 11:21:00 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926901#M13948</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2013-09-12T11:21:00Z</dc:date>
    </item>
    <item>
      <title>Thank you for the quick reply</title>
      <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926902#M13949</link>
      <description>&lt;P&gt;Thank you for the quick reply, Kevin!&lt;/P&gt;</description>
      <pubDate>Thu, 12 Sep 2013 18:32:57 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926902#M13949</guid>
      <dc:creator>Martin_K_6</dc:creator>
      <dc:date>2013-09-12T18:32:57Z</dc:date>
    </item>
    <item>
      <title>The compiler changes needed</title>
      <link>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926903#M13950</link>
      <description>&lt;P&gt;The compiler changes needed to eliminate the temporary used in Exhibit B in the original test case are now available in the new &lt;STRONG&gt;Intel Parallel Studio XE 2015&lt;/STRONG&gt; release for Linux (Version 15.0.0.090 Build 20140723) now available from the Intel Registration Center.&lt;/P&gt;</description>
      <pubDate>Mon, 08 Sep 2014 17:09:41 GMT</pubDate>
      <guid>https://community.intel.com/t5/Software-Archive/ICPC-missing-an-optimisation-opportunity/m-p/926903#M13950</guid>
      <dc:creator>Kevin_D_Intel</dc:creator>
      <dc:date>2014-09-08T17:09:41Z</dc:date>
    </item>
  </channel>
</rss>

