From: Martin Liska Date: Thu, 28 Jul 2016 08:26:51 +0000 (+0200) Subject: Do not allow make_compound_operation for vector mode X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=e5f5bf35d760274a0564e25da3931ec31d29d336;p=gcc.git Do not allow make_compound_operation for vector mode * g++.dg/vect/pr70944.cc: New test. PR rtl-optimization/70944 * combine.c (make_compound_operation): Do not allow make_compound_operation for vector mode From-SVN: r238808 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d2e4ecb0eab..919f3f8bacb 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-07-28 Martin Liska + + PR rtl-optimization/70944 + * combine.c (make_compound_operation): + Do not allow make_compound_operation for vector mode + 2016-07-28 Kugan Vivekanandarajah PR middle-end/71994 diff --git a/gcc/combine.c b/gcc/combine.c index 1becc3c719d..93c17109cc2 100644 --- a/gcc/combine.c +++ b/gcc/combine.c @@ -7770,6 +7770,10 @@ make_compound_operation (rtx x, enum rtx_code in_code) rtx tem; const char *fmt; + /* PR rtl-optimization/70944. */ + if (VECTOR_MODE_P (mode)) + return x; + /* Select the code to be used in recursive calls. Once we are inside an address, we stay there. If we have a comparison, set to COMPARE, but once inside, go back to our default of SET. */ diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 204ec1c3054..4becb4afcd1 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2016-07-28 Martin Liska + + * g++.dg/vect/pr70944.cc: New test. + 2016-07-28 Kugan Vivekanandarajah PR middle-end/71994