]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR target/70327 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with...
authorUros Bizjak <ubizjak@gmail.com>
Mon, 21 Mar 2016 22:20:08 +0000 (23:20 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 21 Mar 2016 22:20:08 +0000 (23:20 +0100)
PR target/70327
* config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
of ix86_expand_move.
(movoi): Ditto.
(movti): Use general_operand for operand 1 predicate.

testsuite/ChangeLog:

PR target/70327
* gcc.target/i386/pr70327.c: New test.

From-SVN: r234385

gcc/ChangeLog
gcc/config/i386/i386.md
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.target/i386/pr70327.c [new file with mode: 0644]

index 2f612bec29d9b3242095a4c3d718508d49ca1467..82c1c5e491abf8a576222148d6352a057c839d8a 100644 (file)
@@ -1,3 +1,11 @@
+2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/70327
+       * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
+       of ix86_expand_move.
+       (movoi): Ditto.
+       (movti): Use general_operand for operand 1 predicate.
+
 2016-03-21  Tom de Vries  <tom@codesourcery.com>
 
        backport from trunk:
index bf148ed5cd2b0e37426feca78a5b6d415451c874..ea02e64e818a1ce654302ae40d966043fbcc3175 100644 (file)
   [(set (match_operand:XI 0 "nonimmediate_operand")
        (match_operand:XI 1 "general_operand"))]
   "TARGET_AVX512F"
-  "ix86_expand_move (XImode, operands); DONE;")
+  "ix86_expand_vector_move (XImode, operands); DONE;")
 
 ;; Reload patterns to support multi-word load/store
 ;; with non-offsetable address.
   [(set (match_operand:OI 0 "nonimmediate_operand")
        (match_operand:OI 1 "general_operand"))]
   "TARGET_AVX"
-  "ix86_expand_move (OImode, operands); DONE;")
+  "ix86_expand_vector_move (OImode, operands); DONE;")
 
 (define_expand "movti"
   [(set (match_operand:TI 0 "nonimmediate_operand")
-       (match_operand:TI 1 "nonimmediate_operand"))]
+       (match_operand:TI 1 "general_operand"))]
   "TARGET_64BIT || TARGET_SSE"
 {
   if (TARGET_64BIT)
index 2b3d7e16973a22d11376090f501610e24db75b96..6f181b9a76fcd3d3e42660fcdd9113f8fe5e46ec 100644 (file)
@@ -1,3 +1,8 @@
+2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/70327
+       * gcc.target/i386/pr70327.c: New test.
+
 2016-03-21  Tom de Vries  <tom@codesourcery.com>
 
        backport from trunk:
diff --git a/gcc/testsuite/gcc.target/i386/pr70327.c b/gcc/testsuite/gcc.target/i386/pr70327.c
new file mode 100644 (file)
index 0000000..035bb68
--- /dev/null
@@ -0,0 +1,12 @@
+/* PR target/70327 */
+/* { dg-do compile } */
+/* { dg-require-effective-target int128 } */
+/* { dg-options "-mavx512f" } */
+
+typedef unsigned __int128 v4ti __attribute__ ((vector_size (64)));
+
+void
+foo (v4ti v)
+{
+  foo(v);
+}