]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/116406 - ICE with int<->float punning prevention
authorRichard Biener <rguenther@suse.de>
Wed, 21 Aug 2024 12:15:33 +0000 (14:15 +0200)
committerRichard Biener <rguenth@gcc.gnu.org>
Wed, 21 Aug 2024 13:37:05 +0000 (15:37 +0200)
commit893cef363c46fa879b47d2b042c19c98bcd2b5f8
tree0cb452ae6d0856ff63ba2e9310c2518d12bfa078
parentf577959f420ae404f99f630dadc1c0370734d0da
tree-optimization/116406 - ICE with int<->float punning prevention

The following does away with the idea to use non-symmetrical
testing of mode_can_transfer_bits in hash-table equality testing.
It isn't feasible to always control query order to maintain
consistency.

PR tree-optimization/116406
* tree-ssa-sccvn.cc (vn_reference_eq): Never equate
float and int when the float mode cannot transfer bits.
Do not try to anticipate which is the mode we actually load
from.

* gcc.dg/tree-ssa/pr116406.c: New testcase.
* gcc.dg/tree-ssa/ssa-pre-30.c: On x86 dd -msse -mfpmath=sse.
gcc/testsuite/gcc.dg/tree-ssa/pr116406.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/tree-ssa/ssa-pre-30.c
gcc/tree-ssa-sccvn.cc