https://gcc.gnu.org/bugzilla/show_bug.cgi?id=113597

--- Comment #16 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
Note trunk can do better IPA CP and replace the argument g with 0.
On the gimple level we get:
  float32x4_t r[16];

  <bb 2> [local count: 6156018]:
  r[4] = { 0.0, 0.0, 0.0, 0.0 };
  __builtin_memcpy (v_53(D), &r, 256);
  r ={v} {CLOBBER(eos)};

I am still thinking the testcase was over-reduced even.

Now I say this could covert that into just 
MEM<(float32x4_t*)v_53 + 16B> = { 0.0, 0.0, 0.0, 0.0 };

And still have the correct behavior.

Reply via email to