https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485
--- Comment #17 from rguenther at suse dot de <rguenther at suse dot de> --- On Tue, 21 Apr 2020, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=31485 > > Jakub Jelinek <jakub at gcc dot gnu.org> changed: > > What |Removed |Added > ---------------------------------------------------------------------------- > CC| |jakub at gcc dot gnu.org > > --- Comment #16 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > (In reply to Joel Yliluoma from comment #15) > > (In reply to Richard Biener from comment #14) > > > I also think llvms code generation is bogus since it appears the ABI > > > does not guarantee zeroed upper elements of the xmm0 argument > > > which means they could contain sNaNs: > > > > Why would it matter that the unused portions of the register contain NaNs? > > Because it could then raise exceptions that shouldn't be raised? Note it might be llvm actually zeros the upper half at the caller (in disagreement with GCC). Maybe also the psABI specifies that should happen and GCC is wrong. Just at the moment interoperating GCC and LLVM is prone to the above mentioned issue.