http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50482
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-09-22 16:33:27 UTC --- unsigned short a[1024], b[1024]; void foo (void) { int i; for (i = 0; i < 1024; i++) a[i] = b[i] > 10 ? b[i] : 0xffff; } ICEs too with -O3 -msse4.