http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53073
--- Comment #3 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-04-23 11:44:11 UTC --- Fixed by doing /*===== sum up =====*/ for (k=0; k < 16; k++) { dd = d[k]; satd += (dd < 0 ? -dd : dd); } instead.