diff options
author | Richard Biener <rguenther@suse.de> | 2023-06-28 13:36:59 +0200 |
---|---|---|
committer | Richard Biener <rguenther@suse.de> | 2023-06-28 15:02:33 +0200 |
commit | 237e83e2158a3d9b875f8775805d04d97e8b36c1 (patch) | |
tree | 32bccf7e09a0f80151c2dbb13da4f6af9ce4dab0 /gcc/expr.cc | |
parent | 3521768e8e3c448052c5bd3e8fde412e9cf5d70f (diff) | |
download | gcc-237e83e2158a3d9b875f8775805d04d97e8b36c1.zip gcc-237e83e2158a3d9b875f8775805d04d97e8b36c1.tar.gz gcc-237e83e2158a3d9b875f8775805d04d97e8b36c1.tar.bz2 |
tree-optimization/110451 - hoist invariant compare after interchange
The following adjusts the cost model of invariant motion to consider
[VEC_]COND_EXPRs and comparisons producing a data value as expensive.
For 503.bwaves_r this avoids an unnecessarily high vectorization
factor because of an integer comparison besides data operations on
double.
PR tree-optimization/110451
* tree-ssa-loop-im.cc (stmt_cost): [VEC_]COND_EXPR and
tcc_comparison are expensive.
* gfortran.dg/vect/pr110451.f: New testcase.
Diffstat (limited to 'gcc/expr.cc')
0 files changed, 0 insertions, 0 deletions