]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
PR target/70327
authoruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Mar 2016 19:56:50 +0000 (19:56 +0000)
committeruros <uros@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 21 Mar 2016 19:56:50 +0000 (19:56 +0000)
* 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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@234380 138bc75d-0d04-0410-961f-82ee72b054a4

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

index f92908e03e0db67fe8490145a812a2e3b32c55eb..67b5df424b331b824ce6ade57142c565b4e23d0a 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  Martin Liska  <mliska@suse.cz>
 
        * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
@@ -32,7 +40,7 @@
 2016-03-21  Kirill Yukhin  <kirill.yukhin@intel.com>
 
        PR target/70293
-        * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
+       * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
        Block third alternative for AVX-512VL target,
 
 2016-03-21  Martin Liska  <mliska@suse.cz>
@@ -55,7 +63,7 @@
 
        PR rtl-optimization/69102
        * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
-       when we have a readonly dependency context. 
+       when we have a readonly dependency context.
 
 2016-03-18  Jeff Law  <law@redhat.com>
 
@@ -67,7 +75,7 @@
        the REG_EQUIV note created in the dump file.
 
 2016-03-16  David Wohlferd  <dw@LimeGreenSocks.com>
-            Bernd Schmidt  <bschmidt@redhat.com>
+           Bernd Schmidt  <bschmidt@redhat.com>
 
        * doc/extend.texi: Document more potential problems with basic asms.
 
@@ -83,8 +91,8 @@
 
 2016-03-18  Kirill Yukhin  <kirill.yukhin@intel.com>
 
-        * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
-        values to 128b regs.
+       * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
+       values to 128b regs.
 
 2016-03-18  Ilya Enkovich  <enkovich.gnu@gmail.com>
 
 2016-03-10  Jan Hubicka  <hubicka@ucw.cz>
 
        PR lto/69589
-       * cgraph.c (cgraph_node::dump): Dump split_part and indirect_call_target.
+       * cgraph.c (cgraph_node::dump): Dump split_part and
+       indirect_call_target.
        * cgraph.h (cgraph_node): Add indirect_call_target flag.
        * ipa.c (has_addr_references_p): Cleanup.
        (is_indirect_call_target_p): New.
index eed43b1273a3cddd93b0419ad074df450d76c0ef..90fec1b289401501bf41e1bfa41ee2f2a6d059e5 100644 (file)
    (set_attr "mode" "<MODE>")])
 
 \f
-;; Move instructions.
-
-(define_expand "movxi"
-  [(set (match_operand:XI 0 "nonimmediate_operand")
-       (match_operand:XI 1 "general_operand"))]
-  "TARGET_AVX512F"
-  "ix86_expand_move (XImode, operands); DONE;")
-
 ;; Reload patterns to support multi-word load/store
 ;; with non-offsetable address.
 (define_expand "reload_noff_store"
   DONE;
 })
 
+;; Move instructions.
+
+(define_expand "movxi"
+  [(set (match_operand:XI 0 "nonimmediate_operand")
+       (match_operand:XI 1 "general_operand"))]
+  "TARGET_AVX512F"
+  "ix86_expand_vector_move (XImode, operands); DONE;")
+
 (define_expand "movoi"
   [(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 f572c9dd12f5ed20c917435be8b7fde1e7daec5f..d91d999df76f0e0b882545f2edb389d3fb472318 100644 (file)
@@ -1,8 +1,13 @@
+2016-03-21  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/70327
+       * gcc.target/i386/pr70327.c: New test.
+
 2016-03-21  Martin Liska  <mliska@suse.cz>
 
        * gcc.dg/ipa/pr70306.c: New test.
 
-2016-03-21  Andre Vieira  <andre.simoesdiasvieira@arm>
+2016-03-21  Andre Vieira  <andre.simoesdiasvieira@arm.com>
 
        * gcc.target/arm/attr-align1.c: Skip if M-profile.
        * gcc.target/arm/attr-align3.c: Likewise.
@@ -34,7 +39,7 @@
 
        PR rtl-optimization/69307
        * gcc.target/arm/pr69307.c: New test.
-       
+
 2016-03-21  Andrey Belevantsev  <abel@ispras.ru>
 
        PR rtl-optimization/69102
 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
 
        PR rtl-optimization/63384
-       * g++.dg/pr63384.C: New test. 
+       * g++.dg/pr63384.C: New test.
 
 2016-03-15  Andrey Belevantsev  <abel@ispras.ru>
 
        * gcc.target/arm/pr45701-2.c: Likewise.
 
 2016-02-26  Richard Biener  <rguenther@suse.de>
-            Jeff Law  <law@redhat.com>
+           Jeff Law  <law@redhat.com>
 
        PR tree-optimization/69740
        * gcc.c-torture/compile/pr69740-1.c: New test.
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);
+}