<div dir="ltr">Hi, i was using some c++11 concurrency classes on ARM (with gcc 4.9.2) that have an underlying use of libgcc atomic functions, for example __gnu_cxx::__atomic_add_dispatch. In its implementation, (in the file gcc-sources/libstdc++-v3/include/ext/atomicity.h) I can see that the macro _GLIBCXX_ATOMIC_BUILTINS is not defined, and therefore the builtin implementation of __atomic_fetch_add is not used. Instead, the mutex implementation is used which makes it significantly slower. <div>As far as I could see, if I explicitly call one of these atomic built-in functions they work ok and the correct atomic assembly is emitted (using ARM's ldrex and strex instructions).</div><div> So, the question is why this _GLIBCXX_ATOMIC_BUILTINS macro is disabled. is there a reason why we aren't using the atomic builtins, or I need to enable it. How can we do the enabling? Is the implementation incomplete?</div><div>Thanks<br clear="all"><div><br></div>-- <br><div class="gmail_signature"><div dir="ltr"><span><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">______________________________</span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><a href="http://www.tallertechnologies.com" target="_blank"><img src="http://www.tallertechnologies.com/templates/tallertechnologies/images/signature.png" width="200" height="78"></a></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br><span style="font-size:16px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span></b></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><font face="verdana, sans-serif" size="4">Marcos Díaz</font></span></p><p dir="ltr" style="margin-top:0pt;margin-bottom:0pt"><font color="#000000" face="verdana, sans-serif" size="2"><span style="line-height:17px;white-space:pre-wrap">Software Engineer</span></font></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><br><span style="font-size:15px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span></b></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><font face="arial, helvetica, sans-serif" size="1">San Lorenzo 47, 3rd Floor, Office 5</font></span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><font face="arial, helvetica, sans-serif" size="1">Córdoba, Argentina </font></span></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><b style="font-weight:normal"><font face="arial, helvetica, sans-serif" size="1"><br><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"></span></font></b></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><font face="arial, helvetica, sans-serif" size="1"><span style="color:rgb(0,0,0);background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Phone:</span><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> +54 351 4217888 / +54 351 4218211/ </span><span style="color:rgb(0,0,0);line-height:12px;white-space:pre-wrap">+54 351 7617452</span></font></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"></p><p dir="ltr" style="line-height:1.15;margin-top:0pt;margin-bottom:0pt"><font face="arial, helvetica, sans-serif" size="1"><span style="color:rgb(0,0,0);background-color:transparent;font-weight:bold;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap">Skype:</span><span style="color:rgb(0,0,0);background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"> markdiaz22</span></font></p><div><span style="font-size:11px;font-family:Arial;color:#000000;background-color:transparent;font-weight:normal;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap"><br></span></div></span></div></div>
</div></div>