re PR tree-optimization/90610 (526.blender_r miscompared on znver1 with -Ofast -march...
authorRichard Biener <rguenther@suse.de>
Mon, 27 May 2019 10:52:14 +0000 (10:52 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 27 May 2019 10:52:14 +0000 (10:52 +0000)
2019-05-27  Richard Biener  <rguenther@suse.de>

PR middle-end/90610
* match.pd (vec_perm): Avoid clobbering op0 when not generating
a bit-insert.

From-SVN: r271652

gcc/ChangeLog
gcc/match.pd

index 67e8333e3d6c9ba2af4ce7a2c9f39de537913e22..ec30909166ba58b471e9d2f60759eb23a1fc5b0c 100644 (file)
@@ -1,3 +1,9 @@
+2019-05-27  Richard Biener  <rguenther@suse.de>
+
+       PR middle-end/90610
+       * match.pd (vec_perm): Avoid clobbering op0 when not generating
+       a bit-insert.
+
 2019-05-26  Uroš Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (@leave_<mode>): New expander.
index f9bc097c49122bf1b4bcf0b12b09840daf7b8fbc..e1fa75cf5a08418079165b5bda50419dd5374278 100644 (file)
@@ -5453,8 +5453,8 @@ DEFINE_INT_AND_FLOAT_ROUND_FN (RINT)
                   first vector we only can insert the first elt from
                   the first vector.  */
                at = 0;
-               ins = fold_read_from_vector (cop0, 0);
-               op0 = op1;
+               if ((ins = fold_read_from_vector (cop0, 0)))
+                 op0 = op1;
              }
            else
              {