Commit 4a148e19 by Uros Bizjak

re PR target/70327 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn)…

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
parent 60d15bae
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
......@@ -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.
......
......@@ -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)
......
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.
......
/* 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);
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment