http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56118
--- Comment #3 from Marc Glisse <glisse at gcc dot gnu.org> 2013-01-28 12:40:21 UTC --- (In reply to comment #2) > The original testcase is a dup of PR33562, it's a missed dead store > elimination, not "constant propagation". Ah, thanks, I am not very familiar with compiler terminology... > Related testcases have this issue with _Complex and __real / __imag > piecewise initializations. I tried it with _Complex before submitting the PR, and there assigning to the real part in C code actually shows up in gimple as constructing a complex from that new value and the imaginary part of the old value, which is then easier to handle (that reminds me of the vec_concat vs vec_merge discussion about the x86 backend with Uros and rth). But variants might exhibit this issue indeed. > Thus, let's make this bug the failure to combine piecewise constant inits > of vectors and complex. ok.