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> 2016-03-21 Martin Liska <mliska@suse.cz>
* hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
...@@ -564,7 +572,8 @@ ...@@ -564,7 +572,8 @@
2016-03-10 Jan Hubicka <hubicka@ucw.cz> 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
PR lto/69589 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. * cgraph.h (cgraph_node): Add indirect_call_target flag.
* ipa.c (has_addr_references_p): Cleanup. * ipa.c (has_addr_references_p): Cleanup.
(is_indirect_call_target_p): New. (is_indirect_call_target_p): New.
......
...@@ -1872,14 +1872,6 @@ ...@@ -1872,14 +1872,6 @@
(set_attr "mode" "<MODE>")]) (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 ;; Reload patterns to support multi-word load/store
;; with non-offsetable address. ;; with non-offsetable address.
(define_expand "reload_noff_store" (define_expand "reload_noff_store"
...@@ -1914,15 +1906,23 @@ ...@@ -1914,15 +1906,23 @@
DONE; 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" (define_expand "movoi"
[(set (match_operand:OI 0 "nonimmediate_operand") [(set (match_operand:OI 0 "nonimmediate_operand")
(match_operand:OI 1 "general_operand"))] (match_operand:OI 1 "general_operand"))]
"TARGET_AVX" "TARGET_AVX"
"ix86_expand_move (OImode, operands); DONE;") "ix86_expand_vector_move (OImode, operands); DONE;")
(define_expand "movti" (define_expand "movti"
[(set (match_operand:TI 0 "nonimmediate_operand") [(set (match_operand:TI 0 "nonimmediate_operand")
(match_operand:TI 1 "nonimmediate_operand"))] (match_operand:TI 1 "general_operand"))]
"TARGET_64BIT || TARGET_SSE" "TARGET_64BIT || TARGET_SSE"
{ {
if (TARGET_64BIT) 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> 2016-03-21 Martin Liska <mliska@suse.cz>
* gcc.dg/ipa/pr70306.c: New test. * 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-align1.c: Skip if M-profile.
* gcc.target/arm/attr-align3.c: Likewise. * 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