diff options
author | Martin Liska <mliska@suse.cz> | 2016-07-28 10:26:51 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2016-07-28 08:26:51 +0000 |
commit | e5f5bf35d760274a0564e25da3931ec31d29d336 (patch) | |
tree | 1adcdc960363345cf1034c6dc01fb4ba3ee1491e | |
parent | 5cb6b47352b0f20bf309c2ba684e4cfc1add2b84 (diff) | |
download | gcc-e5f5bf35d760274a0564e25da3931ec31d29d336.tar.gz |
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/combine.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 |
3 files changed, 14 insertions, 0 deletions
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 <mliska@suse.cz> + + PR rtl-optimization/70944 + * combine.c (make_compound_operation): + Do not allow make_compound_operation for vector mode + 2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org> 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 <mliska@suse.cz> + + * g++.dg/vect/pr70944.cc: New test. + 2016-07-28 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71994 |