[Bug tree-optimization/91975] worse code for small array copy using pointer arithmetic than array indexing

rguenth at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Fri Oct 4 12:22:00 GMT 2019


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91975

--- Comment #3 from Richard Biener <rguenth at gcc dot gnu.org> ---
(In reply to Richard Biener from comment #2)
> Ick.  Have to sort through the fallout below:
> 
> FAIL: g++.dg/tree-ssa/ivopts-3.C  -std=gnu++14  scan-tree-dump ivopts
> "Selected IV set for loop [0-9]* at [^ ]*:64, 3 avg niters, 1 IVs"

unrolling choice is good, IVOPTs one as well (two less IVs for the
originally inner 2-level nest).

> FAIL: gcc.c-torture/execute/loop-3.c   -O1  execution test
> FAIL: gcc.c-torture/execute/loop-3.c   -Os  execution test

undefined testcase

> FAIL: gcc.dg/tree-ssa/cunroll-2.c scan-tree-dump cunroll "loop with 1
> iterations completely unrolled"

happens earlir

> FAIL: gcc.dg/vect/no-vfa-vect-101.c scan-tree-dump vect "can't determine
> dependence"

loop goes away

> FAIL: gcc.dg/vect/no-vfa-vect-102.c scan-tree-dump vect "possible dependence
> between data-refs"

Likewise.

> FAIL: gcc.dg/vect/pr79920.c -flto -ffat-lto-objects  scan-tree-dump-times
> vect "vectorized 2 loops" 1
> FAIL: gcc.dg/vect/pr79920.c scan-tree-dump-times vect "vectorized 2 loops" 1
> FAIL: gcc.dg/vect/pr83202-1.c -flto -ffat-lto-objects  scan-tree-dump vect
> "Loop contains only SLP stmts"
> FAIL: gcc.dg/vect/pr83202-1.c -flto -ffat-lto-objects  scan-tree-dump vect
> "ectorized 1 loops"
> FAIL: gcc.dg/vect/pr83202-1.c scan-tree-dump vect "Loop contains only SLP
> stmts"
> FAIL: gcc.dg/vect/pr83202-1.c scan-tree-dump vect "ectorized 1 loops"
> FAIL: gcc.dg/vect/vect-105.c -flto -ffat-lto-objects  scan-tree-dump-times
> vect "vectorized 1 loops" 1
> FAIL: gcc.dg/vect/vect-105.c scan-tree-dump-times vect "vectorized 1 loops" 1
> FAIL: gcc.dg/vect/vect-93.c -flto -ffat-lto-objects  scan-tree-dump-times
> vect "vectorized 2 loops" 2
> FAIL: gcc.dg/vect/vect-93.c scan-tree-dump-times vect "vectorized 2 loops" 2
> FAIL: gcc.dg/vect/vect-double-reduc-6.c -flto -ffat-lto-objects 
> scan-tree-dump-times vect "OUTER LOOP VECTORIZED" 1
> FAIL: gcc.dg/vect/vect-double-reduc-6.c scan-tree-dump-times vect "OUTER
> LOOP VECTORIZED" 1
> FAIL: gcc.dg/vect/vect-profile-1.c -flto -ffat-lto-objects  scan-tree-dump
> vect "goto <bb [0-9]+>; \\\\[0+.0*%\\\\]"
> FAIL: gcc.dg/vect/vect-profile-1.c scan-tree-dump vect "goto <bb [0-9]+>;
> \\\\[0+.0*%\\\\]"

all unrollings getting in the way, easy to fix

> FAIL: gfortran.dg/vect/vect-8.f90   -O   scan-tree-dump-times vect
> "vectorized 2
> 2 loops" 1

Re-testing with testsuite adjustments.


More information about the Gcc-bugs mailing list