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

--- Comment #15 from Marc Glisse <glisse at gcc dot gnu.org> ---
(In reply to H.J. Lu from comment #13)
> (In reply to Marc Glisse from comment #11)
> > Since for MyMinV1 we generate no move at all, then that code should also be
> > valid for MyMinV2 (no issue with sNaN in the upper part or whatever).
> 
> Since _mm_set_sd clears upper bits, return from MyMinV2 should have upper
> bits cleared. If not, it is a bug.

MyMinV2 returns a double, not a __m128d. I tried to read what the ABI says
about the unused upper part of SSE registers when passing/returning a double
and couldn't find any information. Could you explain in more details what makes
MyMinV2 so different from MyMinV1? I appear to be missing some crucial piece of
information here :-(

Reply via email to