http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54825
Richard Guenther <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Last reconfirmed| |2012-10-05 Ever Confirmed|0 |1 --- Comment #4 from Richard Guenther <rguenth at gcc dot gnu.org> 2012-10-05 14:15:22 UTC --- What ICE? With what options? The testcase doesn't compile for me at -O0: /tmp/t.ii:586:36: required from here /tmp/t.ii:378:24: error: 'typeof' was not declared in this scope __v *= (typeof(__v)) { __mult * __param.stddev(), ^ /tmp/t.ii:397:24: error: 'typeof' was not declared in this scope __v *= (typeof(__v)) { __mult, __mult }; ah, -std=gnu++0x required ... > ./cc1plus -quiet /tmp/t.ii -msse4 -std=gnu++0x /tmp/t.ii: In function '__m128i __gnu_cxx::{anonymous}::__sse2_recursion(__m128i, __m128i, __m128i, __m128i) [with long unsigned int __sl1 = 18ul; long unsigned int __sl2 = 1ul; long unsigned int __sr1 = 11ul; long unsigned int __sr2 = 1ul; unsigned int __msk1 = 3758096367u; unsigned int __msk2 = 3724462975u; unsigned int __msk3 = 3220897791u; unsigned int __msk4 = 3221225462u; __m128i = __vector(2) long long int]': /tmp/t.ii:17:58: error: the last argument must be an 8-bit immediate return (__m128i)__builtin_ia32_psrldqi128 (__A, __N * 8); ^ /tmp/t.ii:32:58: error: the last argument must be an 8-bit immediate return (__m128i)__builtin_ia32_pslldqi128 (__A, __N * 8); ^ still not an ICE. It's an error. Compiles ok with optimization. So - can you be a little more verbose?