summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2016-07-28 10:26:51 +0200
committerMartin Liska <marxin@gcc.gnu.org>2016-07-28 08:26:51 +0000
commite5f5bf35d760274a0564e25da3931ec31d29d336 (patch)
tree1adcdc960363345cf1034c6dc01fb4ba3ee1491e
parent5cb6b47352b0f20bf309c2ba684e4cfc1add2b84 (diff)
downloadgcc-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/ChangeLog6
-rw-r--r--gcc/combine.c4
-rw-r--r--gcc/testsuite/ChangeLog4
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