aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorUros Bizjak <uros@gcc.gnu.org>2016-03-21 20:56:50 +0100
committerUros Bizjak <uros@gcc.gnu.org>2016-03-21 20:56:50 +0100
commit4a148e19be2b45ab4c8dcd081e37cc99f976649f (patch)
treeba762dd52b128b69673d1699e514b187d5976337 /gcc
parent60d15bae0c64d8385949ab720a0dc387b729915e (diff)
downloadgcc-4a148e19be2b45ab4c8dcd081e37cc99f976649f.zip
gcc-4a148e19be2b45ab4c8dcd081e37cc99f976649f.tar.gz
gcc-4a148e19be2b45ab4c8dcd081e37cc99f976649f.tar.bz2
re PR target/70327 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with -mavx512ifma and v4ti argument)
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: r234380
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog21
-rw-r--r--gcc/config/i386/i386.md20
-rw-r--r--gcc/testsuite/ChangeLog13
-rw-r--r--gcc/testsuite/gcc.target/i386/pr70327.c12
4 files changed, 46 insertions, 20 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index f92908e..67b5df4 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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>
@@ -564,7 +572,8 @@
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.
diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md
index eed43b1..90fec1b 100644
--- a/gcc/config/i386/i386.md
+++ b/gcc/config/i386/i386.md
@@ -1872,14 +1872,6 @@
(set_attr "mode" "<MODE>")])
-;; 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"
@@ -1914,15 +1906,23 @@
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)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index f572c9d..d91d999 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
@@ -259,7 +264,7 @@
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>
@@ -607,7 +612,7 @@
* 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
index 0000000..035bb68
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr70327.c
@@ -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);
+}