[Bug target/94103] Wrong optimization: reading value of a variable changes its representation for optimizer
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 2 14:49:35 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=94103
--- Comment #17 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-9 branch has been updated by Richard Biener
<rguenth@gcc.gnu.org>:
https://gcc.gnu.org/g:4b0b6303dde0c32d936926de45b54cfe508fa677
commit r9-8444-g4b0b6303dde0c32d936926de45b54cfe508fa677
Author: Richard Biener <rguenther@suse.de>
Date: Thu Mar 12 14:18:35 2020 +0100
tree-optimization/94103 avoid CSE of loads with padding
VN currently replaces a load of a 16 byte entity 128 bits of precision
(TImode) with the result of a load of a 16 byte entity with 80 bits of
mode precision (XFmode). That will go downhill since if the padding
bits are not actually filled with memory contents those bits are
missing.
2020-03-12 Richard Biener <rguenther@suse.de>
PR tree-optimization/94103
* tree-ssa-sccvn.c (visit_reference_op_load): Avoid type
punning when the mode precision is not sufficient.
* gcc.target/i386/pr94103.c: New testcase.
More information about the Gcc-bugs
mailing list