https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79347
--- Comment #12 from amker at gcc dot gnu.org --- (In reply to Rainer Orth from comment #10) > The new testcase FAILs on sparc-sun-solaris2.12, both 32 and 64-bit: > > +FAIL: gcc.dg/vect/pr79347.c -flto -ffat-lto-objects scan-tree-dump-times > vect "Invalid sum of " 2 > +FAIL: gcc.dg/vect/pr79347.c scan-tree-dump-times vect "Invalid sum of " 2 > > "Invalid sum of " doesn't occur in the dump file at all. > > Rainer Though the dump has consistent frequency number, it really looks wrong since back edge of vectorized loop has 0 counter. ;; basic block 9, loop depth 1, count 0, freq 1148, maybe hot ;; prev block 8, next block 10, flags: (NEW, REACHABLE, VISITED) ;; pred: 10 [100.0%] (FALLTHRU,DFS_BACK,EXECUTABLE) ;; 8 [100.0%] (FALLTHRU) # RANGE [0, 2147483647] NONZERO 2147483647 # i_18 = PHI <i_14(10), i_38(8)> # .MEM_19 = PHI <.MEM_76(10), .MEM_39(8)> # PT = nonlocal escaped null # ALIGN = 8, MISALIGN = 0 # vectp_a.13_65 = PHI <vectp_a.13_66(10), vectp_a.14_63(8)> # PT = nonlocal escaped null # ALIGN = 8, MISALIGN = 0 # vectp_a.19_74 = PHI <vectp_a.19_75(10), vectp_a.20_72(8)> # ivtmp_77 = PHI <ivtmp_78(10), 0(8)> # RANGE [0, 4294967295] i.1_2 = (unsigned intD.4) i_18; # RANGE [0, 4294967295] NONZERO 4294967294 _3 = i.1_2 * 2; # PT = nonlocal escaped null _4 = a.0_1 + _3; # VUSE <.MEM_19> vect__5.15_67 = MEM[(short intD.10 *)vectp_a.13_65]; # VUSE <.MEM_19> _5 = *_4; vect__6.16_68 = VIEW_CONVERT_EXPR<vector(4) unsigned short>(vect__5.15_67); # RANGE [0, 65535] _6 = (unsigned short) _5; vect__7.17_70 = vect__6.16_68 + vect_cst__69; # RANGE [0, 65535] _7 = _6 + 1; vect__8.18_71 = VIEW_CONVERT_EXPR<vector(4) short intD.10>(vect__7.17_70); _8 = (short intD.10) _7; # .MEM_76 = VDEF <.MEM_19> MEM[(short intD.10 *)vectp_a.19_74] = vect__8.18_71; i_14 = i_18 + 1; # PT = nonlocal escaped null # ALIGN = 8, MISALIGN = 0 vectp_a.13_66 = vectp_a.13_65 + 8; # PT = nonlocal escaped null # ALIGN = 8, MISALIGN = 0 vectp_a.19_75 = vectp_a.19_74 + 8; ivtmp_78 = ivtmp_77 + 1; if (ivtmp_78 < bnd.10_58) goto <bb 10>; [0.00%] else goto <bb 11>; [100.00%] ;; succ: 10 (TRUE_VALUE,EXECUTABLE) ;; 11 [100.0%] (FALSE_VALUE,EXECUTABLE) ;; basic block 10, loop depth 1, count 0, freq 0 ;; prev block 9, next block 11, flags: (NEW, VISITED) ;; pred: 9 (TRUE_VALUE,EXECUTABLE) goto <bb 9>; [100.00%] ;; succ: 9 [100.0%] (FALLTHRU,DFS_BACK,EXECUTABLE) I will have a look. Thanks.