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

--- Comment #2 from Michael Tautschnig <mt at debian dot org> ---
Thanks a lot for your quick reply.

> > Yet r205495 changed _mm_frcz_ss/_mm_frcz_sd so that only a single argument
> > is passed to the __builtin_ia32_vfrczss/vfrczsd calls.

> You should not use __builtin_* function directly. They are internal
> implementation details, published interface is in relevant *.h files.

Yes, sure. It would still be nice if they were well typed.

> > This was detected at language level (inconsistent types), I can only
> > speculate that this may cause invalid code to be generated (or null
> > operands).

> Did you see the runtime tests in the referred commit?

Just re-ran those tests and looking at the generated assembly (should have done
that before, my apologies) it seems that two operands are generated:

vfrczsd %xmm1, %xmm0

and

vfrczss %xmm1, %xmm1

So shall I read this as an imprecision in documentation?

Best,
Michael

Reply via email to