http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35634
--- Comment #36 from Richard Biener <rguenth at gcc dot gnu.org> 2012-11-27 14:56:56 UTC --- Created attachment 28794 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=28794 first patch updated With the first patch updated to apply again and to instead of promoting doing arithmetic in an unsigned type still causes +FAIL: gcc.dg/vect/pr18536.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/vect-iv-8.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/vect-iv-8a.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/pr18536.c -flto scan-tree-dump-times vect "vectorized 1 loop s" 1 +FAIL: gcc.dg/vect/vect-iv-8.c -flto scan-tree-dump-times vect "vectorized 1 lo ops" 1 +FAIL: gcc.dg/vect/vect-iv-8a.c -flto scan-tree-dump-times vect "vectorized 1 l oops" 1 which is better compared to doing the promotion: +FAIL: gcc.dg/vect/pr18536.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/vect-iv-8.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/vect-iv-8a.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/vect-reduc-dot-u16a.c scan-tree-dump-times vect "vectorized 1 loops" 2 +FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorized 4 loops" 1 +FAIL: gcc.dg/vect/slp-21.c scan-tree-dump-times vect "vectorizing stmts using S LP" 2 +FAIL: gcc.dg/vect/slp-perm-9.c scan-tree-dump-times vect "vectorized 1 loops" 1 +FAIL: gcc.dg/vect/slp-reduc-3.c scan-tree-dump-times vect "vectorized 1 loops" 2 +FAIL: gcc.dg/vect/pr18536.c -flto scan-tree-dump-times vect "vectorized 1 loop s" 1 +FAIL: gcc.dg/vect/vect-iv-8.c -flto scan-tree-dump-times vect "vectorized 1 lo ops" 1 +FAIL: gcc.dg/vect/vect-iv-8a.c -flto scan-tree-dump-times vect "vectorized 1 l oops" 1 +FAIL: gcc.dg/vect/vect-reduc-dot-u16a.c -flto scan-tree-dump-times vect "vecto rized 1 loops" 2 +FAIL: gcc.dg/vect/slp-21.c -flto scan-tree-dump-times vect "vectorized 4 loops " 1 +FAIL: gcc.dg/vect/slp-21.c -flto scan-tree-dump-times vect "vectorizing stmts using SLP" 2 +FAIL: gcc.dg/vect/slp-perm-9.c -flto scan-tree-dump-times vect "vectorized 1 l oops" 1 +FAIL: gcc.dg/vect/slp-reduc-3.c -flto scan-tree-dump-times vect "vectorized 1 loops" 2 +FAIL: gcc.dg/vect/no-scevccp-outer-19.c scan-tree-dump-times vect "OUTER LOOP V ECTORIZED." 1 note that the gimple semantics change patch will play foul with decltype / sizeof ( char += char ) where it likely will result in the promoted type rather than char.