[Bug target/94567] [10 Regression] wrong code at -O2 and -O3 on x86_64-linux-gnu

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Wed Apr 15 09:57:01 GMT 2020


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

--- Comment #8 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #7)
> I think it's trying to use smaller modes because the encodings can be
> smaller.  In other cases it changes the mode to avoid partial register
> stalls.  It's a bit of a mess.
> 
> WRT the fragment you mentioned, I looked at that repeatedly trying to
> ascertain the real motivation and whether or not that code needed
> generalization to handle this case or was a misguided attempt to fix another
> instance of this issue.
> 
> The conclusion I came to was that hunk of code may well be working around
> another instance of this same problem, but it was neither generalizable to
> this BZ nor would my approach totally fix that instance.
> 
> We may be able to remove the hack in the testqi_ext_3 pattern, but I think
> the corresponding hack in testdi_1 would have to stay unless we found a way
> to merge testdi_1 into the more general test<mode>_1 pattern.  Neither of
> those seems terribly appropriate right now.

agreed


More information about the Gcc-bugs mailing list