http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60546
--- Comment #18 from linzj <manjian2006 at gmail dot com> --- (In reply to rguent...@suse.de from comment #17) > On Mon, 17 Mar 2014, manjian2006 at gmail dot com wrote: > > > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60546 > > > > --- Comment #16 from linzj <manjian2006 at gmail dot com> --- > > Yes,that may work.But what exactly go wrong in the original algorithm? I > > can't > > change a correct algorithm just because it volatiles TBBA and make the > > compiler > > generate wrong code.Because it's CORRECT logically. > > You have to fix the memory reads from data[] to not read 'short's but > to read 'char's. Just out of curiosity , why this behavior causes tbba failure?And is that a logical error?I am sure it's not an alignment error. Interpreting a block of raw data from a temporary stack space as a short array does not seem like any error to me.