]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
backport: re PR target/88051 (internal compiler error: in add_clobbers, at config...
authorUros Bizjak <uros@gcc.gnu.org>
Thu, 22 Nov 2018 22:46:54 +0000 (23:46 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Thu, 22 Nov 2018 22:46:54 +0000 (23:46 +0100)
Backport from mainline
2018-11-16  Uros Bizjak  <ubizjak@gmail.com>

PR target/88051
* config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
(movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.

From-SVN: r266393

gcc/ChangeLog
gcc/config/i386/sse.md

index fac752d2fe818fe5efa224d88bfb158e4c279587..0342b88be687db7e833eeb5ac089a80a58285cec 100644 (file)
@@ -1,3 +1,12 @@
+2018-11-22  Uros Bizjak  <ubizjak@gmail.com>
+
+       Backport from mainline
+       2018-11-16  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/88051
+       * config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
+       (movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.
+
 2018-11-22  Tom de Vries  <tom@codesourcery.com>
 
        backport from trunk:
 
 2018-06-18  Martin Sebor  <msebor@redhat.com>
 
-        PR middle-end/82063
-        * calls.c (alloc_max_size): Correct a logic error/typo.
-        Treat excessive arguments as infinite.  Warn for invalid arguments.
-        * doc/invoke.texi (-Walloc-size-larger-than): Update.
+       PR middle-end/82063
+       * calls.c (alloc_max_size): Correct a logic error/typo.
+       Treat excessive arguments as infinite.  Warn for invalid arguments.
+       * doc/invoke.texi (-Walloc-size-larger-than): Update.
 
 2018-06-14  Sebastian Huber  <sebastian.huber@embedded-brains.de>
 
index 9c72e6f8b1d3481dd990f79c2024e5f5e8761fe9..cecb734a2dd430db628301f6e390689876572a43 100644 (file)
@@ -21,6 +21,9 @@
   ;; SSE
   UNSPEC_MOVNT
 
+  ;; SSE2
+  UNSPEC_MOVDI_TO_SSE
+
   ;; SSE3
   UNSPEC_LDDQU
 
 ;; from there.
 
 (define_insn_and_split "movdi_to_sse"
-  [(parallel
-    [(set (match_operand:V4SI 0 "register_operand" "=?x,x")
-         (subreg:V4SI (match_operand:DI 1 "nonimmediate_operand" "r,m") 0))
-     (clobber (match_scratch:V4SI 2 "=&x,X"))])]
+  [(set (match_operand:V4SI 0 "register_operand" "=?x,x")
+       (unspec:V4SI [(match_operand:DI 1 "nonimmediate_operand" "r,m")]
+                    UNSPEC_MOVDI_TO_SSE))
+     (clobber (match_scratch:V4SI 2 "=&x,X"))]
   "!TARGET_64BIT && TARGET_SSE2 && TARGET_INTER_UNIT_MOVES_TO_VEC"
   "#"
   "&& reload_completed"