From: Richard Biener Date: Thu, 7 May 2015 09:52:38 +0000 (+0000) Subject: re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge) X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=465770e43996a13247a918ed510b725f949c1058;p=gcc.git re PR tree-optimization/66002 (paq8p benchmark 50% slower than clang on sandybridge) 2015-05-07 Richard Biener PR tree-optimization/66002 * passes.def: Schedule another pass_merge_phi after ifcombine, right before phiopt. * gcc.dg/vect/vect-125.c: New testcase. From-SVN: r222873 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index beabbcb5fa0..c294b014d62 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2015-05-07 Richard Biener + + PR tree-optimization/66002 + * passes.def: Schedule another pass_merge_phi after ifcombine, right + before phiopt. + 2015-05-07 Marek Polacek Martin Uecker diff --git a/gcc/passes.def b/gcc/passes.def index 32213e8561c..4690e23afb2 100644 --- a/gcc/passes.def +++ b/gcc/passes.def @@ -177,6 +177,7 @@ along with GCC; see the file COPYING3. If not see NEXT_PASS (pass_cselim); NEXT_PASS (pass_copy_prop); NEXT_PASS (pass_tree_ifcombine); + NEXT_PASS (pass_merge_phi); NEXT_PASS (pass_phiopt); NEXT_PASS (pass_tail_recursion); NEXT_PASS (pass_ch); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d4d52638150..69cb4ffd56c 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2015-05-07 Richard Biener + + PR tree-optimization/66002 + * gcc.dg/vect/vect-125.c: New testcase. + 2015-05-07 Marek Polacek Martin Uecker diff --git a/gcc/testsuite/gcc.dg/vect/vect-125.c b/gcc/testsuite/gcc.dg/vect/vect-125.c new file mode 100644 index 00000000000..f6ffef5c42e --- /dev/null +++ b/gcc/testsuite/gcc.dg/vect/vect-125.c @@ -0,0 +1,20 @@ +/* { dg-do compile } */ +/* { dg-require-effective-target vect_int } */ +/* { dg-require-effective-target vect_int_mult } */ +/* { dg-require-effective-target vect_pack_trunc } */ +/* { dg-require-effective-target vect_unpack } */ + +void train(short *t, short *w, int n, int err) +{ + n=(n+7)&-8; + for (int i=0; i>16)+1>>1); + if (wt<-32768) wt=-32768; + if (wt>32767) wt=32767; + w[i]=wt; + } +} + +/* { dg-final { scan-tree-dump "vectorized 1 loops" "vect" { xfail vect_no_int_max } } } */ +/* { dg-final { cleanup-tree-dump "vect" } } */