Commit 05cf39ad by Uros Bizjak

i386.i386.md (*movsi_internal): Split (?rm,*y) alternative to (?r,*Yn) and (?m,*y) alternatives...

	* config/i386.i386.md (*movsi_internal): Split (?rm,*y) alternative
	to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
	and (?*y,m).  Update insn attributes.

From-SVN: r248114
parent ef6cb4c7
2017-05-16 Uros Bizjak <ubizjak@gmail.com>
* config/i386.i386.md (*movsi_internal): Split (?rm,*y) alternative
to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
and (?*y,m). Update insn attributes.
2017-05-16 Martin Liska <mliska@suse.cz> 2017-05-16 Martin Liska <mliska@suse.cz>
* cgraph.c (cgraph_edge::resolve_speculation): Add default value for flags * cgraph.c (cgraph_edge::resolve_speculation): Add default value for
argument of print_gimple_stmt, print_gimple_expr, flags argument of print_gimple_stmt, print_gimple_expr,
print_generic_stmt and print_generic_expr. print_generic_stmt and print_generic_expr.
* cgraphclones.c (symbol_table::materialize_all_clones): Likewise. * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
* coretypes.h: Likewise. * coretypes.h: Likewise.
...@@ -14,7 +20,8 @@ ...@@ -14,7 +20,8 @@
(backprop::process_use): Likewise. (backprop::process_use): Likewise.
(backprop::intersect_uses): Likewise. (backprop::intersect_uses): Likewise.
(note_replacement): Likewise. (note_replacement): Likewise.
* gimple-ssa-store-merging.c (pass_store_merging::terminate_all_aliasing_chains): Likewise. * gimple-ssa-store-merging.c
(pass_store_merging::terminate_all_aliasing_chains): Likewise.
(imm_store_chain_info::coalesce_immediate_stores): Likewise. (imm_store_chain_info::coalesce_immediate_stores): Likewise.
(pass_store_merging::execute): Likewise. (pass_store_merging::execute): Likewise.
* gimple-ssa-strength-reduction.c (dump_candidate): Likewise. * gimple-ssa-strength-reduction.c (dump_candidate): Likewise.
...@@ -144,7 +151,8 @@ ...@@ -144,7 +151,8 @@
(forward_propagate_into_cond): Likewise. (forward_propagate_into_cond): Likewise.
(pass_forwprop::execute): Likewise. (pass_forwprop::execute): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise. * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children): Likewise. * tree-ssa-loop-im.c (invariantness_dom_walker::before_dom_children):
Likewise.
(move_computations_worker): Likewise. (move_computations_worker): Likewise.
(execute_sm): Likewise. (execute_sm): Likewise.
* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise. * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise.
...@@ -191,7 +199,8 @@ ...@@ -191,7 +199,8 @@
(visit_use): Likewise. (visit_use): Likewise.
(sccvn_dom_walker::before_dom_children): Likewise. (sccvn_dom_walker::before_dom_children): Likewise.
(run_scc_vn): Likewise. (run_scc_vn): Likewise.
* tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr): Likewise. * tree-ssa-scopedtables.c (avail_exprs_stack::lookup_avail_expr):
Likewise.
(expr_hash_elt::print): Likewise. (expr_hash_elt::print): Likewise.
(const_and_copies::pop_to_marker): Likewise. (const_and_copies::pop_to_marker): Likewise.
(const_and_copies::record_const_or_copy_raw): Likewise. (const_and_copies::record_const_or_copy_raw): Likewise.
...@@ -254,7 +263,7 @@ ...@@ -254,7 +263,7 @@
2017-05-15 Sylvestre Ledru <sylvestre@debian.org> 2017-05-15 Sylvestre Ledru <sylvestre@debian.org>
plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637) * plugin.c (try_init_one_plugin): Fix ressource leaks (CID 726637).
2017-05-15 Uros Bizjak <ubizjak@gmail.com> 2017-05-15 Uros Bizjak <ubizjak@gmail.com>
......
...@@ -2328,9 +2328,9 @@ ...@@ -2328,9 +2328,9 @@
(define_insn "*movsi_internal" (define_insn "*movsi_internal"
[(set (match_operand:SI 0 "nonimmediate_operand" [(set (match_operand:SI 0 "nonimmediate_operand"
"=r,m ,*y,*y,?rm,?*y,*v,*v,*v,m ,?r ,?r,?*Yi,*k,*k ,*rm") "=r,m ,*y,*y,?*y,?m,?r ,?*Ym,*v,*v,*v,m ,?r ,?r,?*Yi,*k,*k ,*rm")
(match_operand:SI 1 "general_operand" (match_operand:SI 1 "general_operand"
"g ,re,C ,*y,*y ,rm ,C ,*v,m ,*v,*Yj,*v,r ,*r,*km,*k"))] "g ,re,C ,*y,m ,*y,*Yn,r ,C ,*v,m ,*v,*Yj,*v,r ,*r,*km,*k"))]
"!(MEM_P (operands[0]) && MEM_P (operands[1]))" "!(MEM_P (operands[0]) && MEM_P (operands[1]))"
{ {
switch (get_attr_type (insn)) switch (get_attr_type (insn))
...@@ -2395,19 +2395,19 @@ ...@@ -2395,19 +2395,19 @@
} }
} }
[(set (attr "isa") [(set (attr "isa")
(if_then_else (eq_attr "alternative" "11") (if_then_else (eq_attr "alternative" "13")
(const_string "sse4") (const_string "sse4")
(const_string "*"))) (const_string "*")))
(set (attr "type") (set (attr "type")
(cond [(eq_attr "alternative" "2") (cond [(eq_attr "alternative" "2")
(const_string "mmx") (const_string "mmx")
(eq_attr "alternative" "3,4,5") (eq_attr "alternative" "3,4,5,6,7")
(const_string "mmxmov") (const_string "mmxmov")
(eq_attr "alternative" "6,11") (eq_attr "alternative" "8,13")
(const_string "sselog1") (const_string "sselog1")
(eq_attr "alternative" "7,8,9,10,12") (eq_attr "alternative" "9,10,11,12,14")
(const_string "ssemov") (const_string "ssemov")
(eq_attr "alternative" "13,14,15") (eq_attr "alternative" "15,16,17")
(const_string "mskmov") (const_string "mskmov")
(and (match_operand 0 "register_operand") (and (match_operand 0 "register_operand")
(match_operand 1 "pic_32bit_operand")) (match_operand 1 "pic_32bit_operand"))
...@@ -2415,11 +2415,11 @@ ...@@ -2415,11 +2415,11 @@
] ]
(const_string "imov"))) (const_string "imov")))
(set (attr "length_immediate") (set (attr "length_immediate")
(if_then_else (eq_attr "alternative" "11") (if_then_else (eq_attr "alternative" "13")
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix_extra") (set (attr "prefix_extra")
(if_then_else (eq_attr "alternative" "11") (if_then_else (eq_attr "alternative" "13")
(const_string "1") (const_string "1")
(const_string "*"))) (const_string "*")))
(set (attr "prefix") (set (attr "prefix")
...@@ -2433,7 +2433,7 @@ ...@@ -2433,7 +2433,7 @@
(set (attr "mode") (set (attr "mode")
(cond [(eq_attr "alternative" "2,3") (cond [(eq_attr "alternative" "2,3")
(const_string "DI") (const_string "DI")
(eq_attr "alternative" "6,7") (eq_attr "alternative" "8,9")
(cond [(ior (match_operand 0 "ext_sse_reg_operand") (cond [(ior (match_operand 0 "ext_sse_reg_operand")
(match_operand 1 "ext_sse_reg_operand")) (match_operand 1 "ext_sse_reg_operand"))
(const_string "XI") (const_string "XI")
...@@ -2447,10 +2447,10 @@ ...@@ -2447,10 +2447,10 @@
] ]
(const_string "TI")) (const_string "TI"))
(and (eq_attr "alternative" "8,9") (and (eq_attr "alternative" "10,11")
(not (match_test "TARGET_SSE2"))) (not (match_test "TARGET_SSE2")))
(const_string "SF") (const_string "SF")
(eq_attr "alternative" "11") (eq_attr "alternative" "13")
(const_string "TI") (const_string "TI")
] ]
(const_string "SI")))]) (const_string "SI")))])
......
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