Re: List of optimizations enabled by -O1 seems incorrect

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Andrew Haley wrote:
> Kevin P. Fleming wrote:
>> Nikos Chantziaras wrote:
>>
>>> Thanks for the tip.  Looking at the generated assembly files, I finally
>>> solved the "mystery": GCC uses SSE/SSE2 instructions to fetch both
>>> variables in one CPU instruction.  It's faster but circumvents
>>> short-circuit "if" rules and Valgrind prints an error.
>> Then that seems very broken; you should not have to have initialized a
>> variable to avoid this issue, since short-circuit evaluation is defined
>> in the C standard.
> 
> Yes, but it's covered by the "as if" rule: if no conforming program could
> ever notice the difference, an optimization is allowed.

Well, I guess that was my point, stated in another way. I'm certainly no
C standard expert, but I didn't think his program was 'non-conforming'
in any way.

-- 
Kevin P. Fleming
Digium, Inc. | Director of Software Technologies
445 Jan Davis Drive NW - Huntsville, AL 35806 - USA
skype: kpfleming | jabber: kpfleming@xxxxxxxxxx
Check us out at www.digium.com & www.asterisk.org

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux