http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56434



--- Comment #2 from Chip Salzenberg <chip at pobox dot com> 2013-02-25 17:51:36 
UTC ---

I detected this by observing inlined strlen() on a malloc'd pointer did not

first do an unaligned prologue.  I expected it to first advance by bytes until

it detected alignment, but it didn't do any of that; it leapt right into the

word-sized optimized loop.



This suggests that the compiler knows than an 8-byte-aligned (say) pointer has

its low seven bits off and will evaporate away any code that depends on them

being nonzero.  Or is the strlen inlining special-cased?

Reply via email to