http://gcc.gnu.org/bugzilla/show_bug.cgi?id=58529
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> --- Does it help if you pass the_bins_size as int*restrict (and adapt the uses)? Or use a local variable instead that you write at the end? Gcc has a notoriously restricted view of what restrict means, compared to most other compilers (it is a feature).