]> git.ipfire.org Git - thirdparty/gcc.git/commit
tree-optimization/114672 - WIDEN_MULT_PLUS_EXPR type mismatch
authorRichard Biener <rguenther@suse.de>
Wed, 10 Apr 2024 08:33:40 +0000 (10:33 +0200)
committerRichard Ball <richard.ball@arm.com>
Thu, 2 May 2024 19:21:03 +0000 (20:21 +0100)
commit0d625dc1bffd885b04eb90ff48a6d34acacc3e0b
treed3eb3667a138f742d7ee3a2837cd507d95a89cc1
parentfcf60d0baafa1245f768ac375dc60a07e92e9673
tree-optimization/114672 - WIDEN_MULT_PLUS_EXPR type mismatch

The following makes sure to restrict WIDEN_MULT*_EXPR to a mode
precision final compute type as the mode is used to find the optab
and type checking chokes when seeing bit-precisions later which
would likely also not properly expanded to RTL.

PR tree-optimization/114672
* tree-ssa-math-opts.cc (convert_plusminus_to_widen): Only
allow mode-precision results.

* gcc.dg/torture/pr114672.c: New testcase.

(cherry picked from commit 912753cc5f18d786e334dd425469fa7f93155661)
gcc/testsuite/gcc.dg/torture/pr114672.c [new file with mode: 0644]
gcc/tree-ssa-math-opts.cc