From: Uros Bizjak Date: Tue, 16 May 2017 14:55:17 +0000 (+0200) Subject: i386.i386.md (*movsi_internal): Split (?rm,*y) alternative to (?r,*Yn) and (?m,*y... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=05cf39adb1a85e960e54096d382c89a268ba4a4d;p=gcc.git 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 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b6081239650..d1260740b05 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,7 +1,13 @@ +2017-05-16 Uros Bizjak + + * 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 - * cgraph.c (cgraph_edge::resolve_speculation): Add default value for flags - argument of print_gimple_stmt, print_gimple_expr, + * cgraph.c (cgraph_edge::resolve_speculation): Add default value for + flags argument of print_gimple_stmt, print_gimple_expr, print_generic_stmt and print_generic_expr. * cgraphclones.c (symbol_table::materialize_all_clones): Likewise. * coretypes.h: Likewise. @@ -14,7 +20,8 @@ (backprop::process_use): Likewise. (backprop::intersect_uses): 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. (pass_store_merging::execute): Likewise. * gimple-ssa-strength-reduction.c (dump_candidate): Likewise. @@ -144,7 +151,8 @@ (forward_propagate_into_cond): Likewise. (pass_forwprop::execute): 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. (execute_sm): Likewise. * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Likewise. @@ -191,7 +199,8 @@ (visit_use): Likewise. (sccvn_dom_walker::before_dom_children): 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. (const_and_copies::pop_to_marker): Likewise. (const_and_copies::record_const_or_copy_raw): Likewise. @@ -254,7 +263,7 @@ 2017-05-15 Sylvestre Ledru - 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 diff --git a/gcc/config/i386/i386.md b/gcc/config/i386/i386.md index 6aca64b59be..ff2bb1efc26 100644 --- a/gcc/config/i386/i386.md +++ b/gcc/config/i386/i386.md @@ -2328,9 +2328,9 @@ (define_insn "*movsi_internal" [(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" - "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]))" { switch (get_attr_type (insn)) @@ -2395,19 +2395,19 @@ } } [(set (attr "isa") - (if_then_else (eq_attr "alternative" "11") + (if_then_else (eq_attr "alternative" "13") (const_string "sse4") (const_string "*"))) (set (attr "type") (cond [(eq_attr "alternative" "2") (const_string "mmx") - (eq_attr "alternative" "3,4,5") + (eq_attr "alternative" "3,4,5,6,7") (const_string "mmxmov") - (eq_attr "alternative" "6,11") + (eq_attr "alternative" "8,13") (const_string "sselog1") - (eq_attr "alternative" "7,8,9,10,12") + (eq_attr "alternative" "9,10,11,12,14") (const_string "ssemov") - (eq_attr "alternative" "13,14,15") + (eq_attr "alternative" "15,16,17") (const_string "mskmov") (and (match_operand 0 "register_operand") (match_operand 1 "pic_32bit_operand")) @@ -2415,11 +2415,11 @@ ] (const_string "imov"))) (set (attr "length_immediate") - (if_then_else (eq_attr "alternative" "11") + (if_then_else (eq_attr "alternative" "13") (const_string "1") (const_string "*"))) (set (attr "prefix_extra") - (if_then_else (eq_attr "alternative" "11") + (if_then_else (eq_attr "alternative" "13") (const_string "1") (const_string "*"))) (set (attr "prefix") @@ -2433,7 +2433,7 @@ (set (attr "mode") (cond [(eq_attr "alternative" "2,3") (const_string "DI") - (eq_attr "alternative" "6,7") + (eq_attr "alternative" "8,9") (cond [(ior (match_operand 0 "ext_sse_reg_operand") (match_operand 1 "ext_sse_reg_operand")) (const_string "XI") @@ -2447,10 +2447,10 @@ ] (const_string "TI")) - (and (eq_attr "alternative" "8,9") + (and (eq_attr "alternative" "10,11") (not (match_test "TARGET_SSE2"))) (const_string "SF") - (eq_attr "alternative" "11") + (eq_attr "alternative" "13") (const_string "TI") ] (const_string "SI")))])