[Bug tree-optimization/103181] [9 Regression] wrong code at -O1 due to conditional division by 0 being executed
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Feb 17 11:57:04 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103181
--- Comment #9 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:1ac5fbea476e4ebd6a0086ccfbf92e648768be7b
commit r9-9955-g1ac5fbea476e4ebd6a0086ccfbf92e648768be7b
Author: Richard Biener <rguenther@suse.de>
Date: Thu Nov 11 09:40:36 2021 +0100
middle-end/103181 - fix operation_could_trap_p for vector division
For integer vector division we only checked for all zero vector
constants rather than checking whether any element in the constant
vector is zero.
It also fixes the adjustment to operation_could_trap_helper_p
where I failed to realize that RDIV_EXPR is also used for
fixed-point types. It also fixes that handling by properly
checking for a fixed_zerop divisor.
2021-11-11 Richard Biener <rguenther@suse.de>
PR middle-end/103181
PR middle-end/103248
* tree-eh.c (operation_could_trap_helper_p): Properly
check vector constants for a zero element for integer
division. Separate floating point and integer division code.
Properly handle fixed-point RDIV_EXPR.
* gcc.dg/torture/pr103181.c: New testcase.
* gcc.dg/pr103248.c: Likewise.
(cherry picked from commit 2f0c8f74daef93c0c7b33294213e7db6df58c4d1)
More information about the Gcc-bugs
mailing list