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

--- Comment #12 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #9)
> here is an example where the C++ front-end produces IR which causes the
> opposite effect and the C front-end is better:
> struct Vec { float v[8]; };
> 
> struct Vec multiply(const struct Vec* v1, const struct Vec* v2)
> {
>     struct Vec result;
>     struct Vec result1, result2;
>     for(unsigned i = 0; i < 8; ++i)
>         result.v[i] = v1->v[i] * v2->v[i];
>     result1 = result;
>     result2 = result;
>     return result2;
> }

as for this one, basically in the end it is the same. Though it shows up with
both the C and C++ front-ends (after the simple copy prop happens).

Reply via email to