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

--- Comment #5 from Peter Cordes <peter at cordes dot ca> ---
(In reply to Jakub Jelinek from comment #4)
> Can't reproduce.  It is true that we now emit the __atomic_load_16 call, but
> that was intentional change

Yup.

>, and it can't be easily tail call, because the
> tailcall pass doesn't understand that the low 8 bytes of the 16 byte
> structure are returned the same as the whole structure

Ok that's disappointing, but hopefully is very rare after inlining.

> But I certainly can't reproduce any significant value masking etc., tried
> r235002 (+- gcc 6 branchpoint), r247000 (+- gcc 7 branchpoint) as well as
> current trunk.
> Unless it is something that has been broken on the 7 branch and later fixed.
> 
> But have just tried gcc 7.1.0 release and can't reproduce even there.

I can't repro it locally with gcc7.1.1 either.  This is the version info from
-fverbose-asm on the godbolt.org link (which does still repro it)

# GNU C++11 (GCC-Explorer-Build) version 7.1.0 (x86_64-linux-gnu)
#       compiled by GNU C version 5.4.0 20160609, GMP version 6.1.0, MPFR
version 3.1.4, MPC version 1.0.3, isl version isl-0.16.1-GMP

It's not present in the gcc7.2 build on Godbolt.org either.

I asked Matt Godbolt what exact version the compiler explorer site is using for
the gcc7.1.0 dropdown
(https://github.com/mattgodbolt/compiler-explorer/issues/684).  Hopefully he
can help us track down a gcc SVN revision to repro it, or confirm that it was a
misconfigured or buggy gcc or something.  Just to rule out the possibility of a
now-dormant bug lurking somewhere.

Reply via email to