sse.md (sse_cvtss2si<rex64namesuffix>_2): Remove %k operand modifier.
authorUros Bizjak <uros@gcc.gnu.org>
Mon, 28 Oct 2019 11:18:40 +0000 (12:18 +0100)
committerUros Bizjak <uros@gcc.gnu.org>
Mon, 28 Oct 2019 11:18:40 +0000 (12:18 +0100)
* config/i386/sse.md (sse_cvtss2si<rex64namesuffix>_2):
Remove %k operand modifier.
(*vec_extractv2df_1_sse): Remove %q operand modifier.

From-SVN: r277509

gcc/ChangeLog
gcc/config/i386/sse.md

index 594738a..10302d6 100644 (file)
@@ -1,3 +1,9 @@
+2019-10-28  Uroš Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/sse.md (sse_cvtss2si<rex64namesuffix>_2):
+       Remove %k operand modifier.
+       (*vec_extractv2df_1_sse): Remove %q operand modifier.
+
 2019-10-28  Ilya Leoshkevich  <iii@linux.ibm.com>
 
        PR rtl-optimization/92007
@@ -19,7 +25,7 @@
        for missing EDGE_REF
        * ipa-prop.c (update_jump_functions_after_inlining): Likewise.
 
-2019-10-25  Jiufu Guo  <guojiufu@linux.ibm.com>            
+2019-10-25  Jiufu Guo  <guojiufu@linux.ibm.com>
 
        PR tree-optimization/88760
        * config/rs6000/rs6000-common.c (rs6000_option_optimization_table):
 
 2019-10-04  Rafael Tsuha  <rafael.tsuha@usp.br>
 
-        * match.pd (sinh (x) / cosh (x)): New simplification rule.
+       * match.pd (sinh (x) / cosh (x)): New simplification rule.
 
 2019-10-04  Martin Jambor  <mjambor@suse.cz>
 
        Define to speculation_safe_value_not_needed.
 
 2019-09-20  Richard Biener  <rguenther@suse.de>
-       Uros Bizjak  <ubizjak@gmail.com>
+           Uros Bizjak  <ubizjak@gmail.com>
 
        PR target/91814
        * config/i386/i386-features.c (gen_gpr_to_xmm_move_src): Revert
 
 2019-09-20  Martin Jambor  <mjambor@suse.cz>
 
-        * coretypes.h (cgraph_edge): Declare.
-        * ipa-param-manipulation.c: Rewrite.
-        * ipa-param-manipulation.h: Likewise.
-        * Makefile.in (GTFILES): Added ipa-param-manipulation.h and ipa-sra.c.
-        (OBJS): Added ipa-sra.o.
-        * cgraph.h (ipa_replace_map): Removed fields old_tree, replace_p
-        and ref_p, added fields param_adjustments and performed_splits.
-        (struct cgraph_clone_info): Remove ags_to_skip and
-        combined_args_to_skip, new field param_adjustments.
-        (cgraph_node::create_clone): Changed parameters to use
-        ipa_param_adjustments.
-        (cgraph_node::create_virtual_clone): Likewise.
-        (cgraph_node::create_virtual_clone_with_body): Likewise.
-        (tree_function_versioning): Likewise.
-        (cgraph_build_function_type_skip_args): Removed.
-        * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Convert to
-        using ipa_param_adjustments.
-        (clone_of_p): Likewise.
-        * cgraphclones.c (cgraph_build_function_type_skip_args): Removed.
-        (build_function_decl_skip_args): Likewise.
-        (duplicate_thunk_for_node): Adjust parameters using
-        ipa_param_body_adjustments, copy param_adjustments instead of
-        args_to_skip.
-        (cgraph_node::create_clone): Convert to using ipa_param_adjustments.
-        (cgraph_node::create_virtual_clone): Likewise.
-        (cgraph_node::create_version_clone_with_body): Likewise.
-        (cgraph_materialize_clone): Likewise.
-        (symbol_table::materialize_all_clones): Likewise.
-        * ipa-fnsummary.c (ipa_fn_summary_t::duplicate): Simplify
-        ipa_replace_map check.
-        * ipa-cp.c (get_replacement_map): Do not initialize removed fields.
-        (initialize_node_lattices): Make aware that some parameters might have
-        already been removed.
-        (want_remove_some_param_p): New function.
-        (create_specialized_node): Convert to using ipa_param_adjustments and
-        deal with possibly pre-existing adjustments.
-        * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.
-        (output_node_opt_summary): Do not stream removed fields.  Stream
-        parameter adjustments instead of argumetns to skip.
-        (input_node_opt_summary): Likewise.
-        (input_node_opt_summary): Likewise.
-        * lto-section-in.c (lto_section_name): Added ipa-sra section.
-        * lto-streamer.h (lto_section_type): Likewise.
-        * tree-inline.h (copy_body_data): New fields killed_new_ssa_names and
+       * coretypes.h (cgraph_edge): Declare.
+       * ipa-param-manipulation.c: Rewrite.
+       * ipa-param-manipulation.h: Likewise.
+       * Makefile.in (GTFILES): Added ipa-param-manipulation.h and ipa-sra.c.
+       (OBJS): Added ipa-sra.o.
+       * cgraph.h (ipa_replace_map): Removed fields old_tree, replace_p
+       and ref_p, added fields param_adjustments and performed_splits.
+       (struct cgraph_clone_info): Remove ags_to_skip and
+       combined_args_to_skip, new field param_adjustments.
+       (cgraph_node::create_clone): Changed parameters to use
+       ipa_param_adjustments.
+       (cgraph_node::create_virtual_clone): Likewise.
+       (cgraph_node::create_virtual_clone_with_body): Likewise.
+       (tree_function_versioning): Likewise.
+       (cgraph_build_function_type_skip_args): Removed.
+       * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Convert to
+       using ipa_param_adjustments.
+       (clone_of_p): Likewise.
+       * cgraphclones.c (cgraph_build_function_type_skip_args): Removed.
+       (build_function_decl_skip_args): Likewise.
+       (duplicate_thunk_for_node): Adjust parameters using
+       ipa_param_body_adjustments, copy param_adjustments instead of
+       args_to_skip.
+       (cgraph_node::create_clone): Convert to using ipa_param_adjustments.
+       (cgraph_node::create_virtual_clone): Likewise.
+       (cgraph_node::create_version_clone_with_body): Likewise.
+       (cgraph_materialize_clone): Likewise.
+       (symbol_table::materialize_all_clones): Likewise.
+       * ipa-fnsummary.c (ipa_fn_summary_t::duplicate): Simplify
+       ipa_replace_map check.
+       * ipa-cp.c (get_replacement_map): Do not initialize removed fields.
+       (initialize_node_lattices): Make aware that some parameters might have
+       already been removed.
+       (want_remove_some_param_p): New function.
+       (create_specialized_node): Convert to using ipa_param_adjustments and
+       deal with possibly pre-existing adjustments.
+       * lto-cgraph.c (output_cgraph_opt_summary_p): Likewise.
+       (output_node_opt_summary): Do not stream removed fields.  Stream
+       parameter adjustments instead of argumetns to skip.
+       (input_node_opt_summary): Likewise.
+       (input_node_opt_summary): Likewise.
+       * lto-section-in.c (lto_section_name): Added ipa-sra section.
+       * lto-streamer.h (lto_section_type): Likewise.
+       * tree-inline.h (copy_body_data): New fields killed_new_ssa_names and
        param_body_adjs.
-        (copy_decl_to_var): Declare.
-        * tree-inline.c (update_clone_info): Do not remap old_tree.
-        (remap_gimple_stmt): Use ipa_param_body_adjustments to modify gimple
-        statements, walk all extra generated statements and remap their
-        operands.
-        (redirect_all_calls): Add killed SSA names to a hash set.
-        (remap_ssa_name): Do not remap killed SSA names.
-        (copy_arguments_for_versioning): Renames to copy_arguments_nochange,
-        half of functionality moved to ipa_param_body_adjustments.
-        (copy_decl_to_var): Make exported.
-        (copy_body): Destroy killed_new_ssa_names hash set.
-        (expand_call_inline): Remap performed splits.
-        (update_clone_info): Likewise.
-        (tree_function_versioning): Simplify tree_map processing.  Updated to
-        accept ipa_param_adjustments and use ipa_param_body_adjustments.
-        * omp-simd-clone.c (simd_clone_vector_of_formal_parm_types): Adjust
-        for the new interface.
-        (simd_clone_clauses_extract): Likewise, make args an auto_vec.
-        (simd_clone_compute_base_data_type): Likewise.
-        (simd_clone_init_simd_arrays): Adjust for the new interface.
-        (simd_clone_adjust_argument_types): Likewise.
-        (struct modify_stmt_info): Likewise.
-        (ipa_simd_modify_stmt_ops): Likewise.
-        (ipa_simd_modify_function_body): Likewise.
-        (simd_clone_adjust): Likewise.
-        * tree-sra.c: Removed IPA-SRA.  Include tree-sra.h.
-        (type_internals_preclude_sra_p): Make public.
-        * tree-sra.h: New file.
-        * ipa-inline-transform.c (save_inline_function_body): Update to
-        refelct new tree_function_versioning signature.
-        * ipa-prop.c (adjust_agg_replacement_values): Use a helper from
-        ipa_param_adjustments to get current parameter indices.
-        (ipcp_modif_dom_walker::before_dom_children): Likewise.
-        (ipcp_update_bits): Likewise.
-        (ipcp_update_vr): Likewise.
-        * ipa-split.c (split_function): Convert to using ipa_param_adjustments.
-        * ipa-sra.c: New file.
-        * multiple_target.c (create_target_clone): Update to reflet new type
-        of create_version_clone_with_body.
-        * trans-mem.c (ipa_tm_create_version): Update to reflect new type of
-        tree_function_versioning.
+       (copy_decl_to_var): Declare.
+       * tree-inline.c (update_clone_info): Do not remap old_tree.
+       (remap_gimple_stmt): Use ipa_param_body_adjustments to modify gimple
+       statements, walk all extra generated statements and remap their
+       operands.
+       (redirect_all_calls): Add killed SSA names to a hash set.
+       (remap_ssa_name): Do not remap killed SSA names.
+       (copy_arguments_for_versioning): Renames to copy_arguments_nochange,
+       half of functionality moved to ipa_param_body_adjustments.
+       (copy_decl_to_var): Make exported.
+       (copy_body): Destroy killed_new_ssa_names hash set.
+       (expand_call_inline): Remap performed splits.
+       (update_clone_info): Likewise.
+       (tree_function_versioning): Simplify tree_map processing.  Updated to
+       accept ipa_param_adjustments and use ipa_param_body_adjustments.
+       * omp-simd-clone.c (simd_clone_vector_of_formal_parm_types): Adjust
+       for the new interface.
+       (simd_clone_clauses_extract): Likewise, make args an auto_vec.
+       (simd_clone_compute_base_data_type): Likewise.
+       (simd_clone_init_simd_arrays): Adjust for the new interface.
+       (simd_clone_adjust_argument_types): Likewise.
+       (struct modify_stmt_info): Likewise.
+       (ipa_simd_modify_stmt_ops): Likewise.
+       (ipa_simd_modify_function_body): Likewise.
+       (simd_clone_adjust): Likewise.
+       * tree-sra.c: Removed IPA-SRA.  Include tree-sra.h.
+       (type_internals_preclude_sra_p): Make public.
+       * tree-sra.h: New file.
+       * ipa-inline-transform.c (save_inline_function_body): Update to
+       refelct new tree_function_versioning signature.
+       * ipa-prop.c (adjust_agg_replacement_values): Use a helper from
+       ipa_param_adjustments to get current parameter indices.
+       (ipcp_modif_dom_walker::before_dom_children): Likewise.
+       (ipcp_update_bits): Likewise.
+       (ipcp_update_vr): Likewise.
+       * ipa-split.c (split_function): Convert to using ipa_param_adjustments.
+       * ipa-sra.c: New file.
+       * multiple_target.c (create_target_clone): Update to reflet new type
+       of create_version_clone_with_body.
+       * trans-mem.c (ipa_tm_create_version): Update to reflect new type of
+       tree_function_versioning.
        (modify_function): Update to reflect new type of
        tree_function_versioning.
-        * params.def (PARAM_IPA_SRA_MAX_REPLACEMENTS): New.
-        * passes.def: Remove old IPA-SRA and add new one.
-        * tree-pass.h (make_pass_early_ipa_sra): Remove declaration.
-        (make_pass_ipa_sra): Declare.
+       * params.def (PARAM_IPA_SRA_MAX_REPLACEMENTS): New.
+       * passes.def: Remove old IPA-SRA and add new one.
+       * tree-pass.h (make_pass_early_ipa_sra): Remove declaration.
+       (make_pass_ipa_sra): Declare.
        * dbgcnt.def: Remove eipa_sra.  Added ipa_sra_params and
        ipa_sra_retvalues.
        * doc/invoke.texi (ipa-sra-max-replacements): New.
        (convert_scalars_to_vector): Do not call it.
 
 2019-08-26  Tejas Joshi  <tejasjoshi9673@gmail.com>
-            Uros Bizjak  <ubizjak@gmail.com>
+           Uros Bizjak  <ubizjak@gmail.com>
 
        * builtins.c (mathfn_built_in_2): Change CASE_MATHFN to
        CASE_MATHFN_FLOATN for roundeven.
 
 2019-08-26  Tejas Joshi  <tejasjoshi9673@gmail.com>
 
-        * builtins.c (mathfn_built_in_2): Added CASE_MATHFN_FLOATN
-        for ROUNDEVEN.
-        * builtins.def: Added function definitions for roundeven function
-        variants.
-        * fold-const-call.c (fold_const_call_ss): Added case for roundeven
-        function call.  Adjust condition for floor, ceil, trunc and round.
-        * fold-const.c (negate_mathfn_p): Added case for roundeven function.
-        (tree_call_nonnegative_warnv_p): Added case for roundeven function.
-        (integer_valued_real_call_p): Added case for roundeven function.
-        * real.c (is_even): New function. Returns true if real number is even,
-        otherwise returns false.
-        (is_halfway_below): New function. Returns true if real number is
-        halfway between two integers, else return false.
-        (real_roundeven): New function. Round real number to nearest integer,
-        rounding halfway cases towards even.
-        * real.h (real_value): Added descriptive comments.  Added function
-        declaration for roundeven function.
-        * doc/extend.texi (Other Builtins): List roundeven variants among
-        functions which can be handled as builtins.
+       * builtins.c (mathfn_built_in_2): Added CASE_MATHFN_FLOATN
+       for ROUNDEVEN.
+       * builtins.def: Added function definitions for roundeven function
+       variants.
+       * fold-const-call.c (fold_const_call_ss): Added case for roundeven
+       function call.  Adjust condition for floor, ceil, trunc and round.
+       * fold-const.c (negate_mathfn_p): Added case for roundeven function.
+       (tree_call_nonnegative_warnv_p): Added case for roundeven function.
+       (integer_valued_real_call_p): Added case for roundeven function.
+       * real.c (is_even): New function. Returns true if real number is even,
+       otherwise returns false.
+       (is_halfway_below): New function. Returns true if real number is
+       halfway between two integers, else return false.
+       (real_roundeven): New function. Round real number to nearest integer,
+       rounding halfway cases towards even.
+       * real.h (real_value): Added descriptive comments.  Added function
+       declaration for roundeven function.
+       * doc/extend.texi (Other Builtins): List roundeven variants among
+       functions which can be handled as builtins.
 
 2019-08-26  Richard Biener  <rguenther@suse.de>
 
index c8941a6..1eeb85a 100644 (file)
        (unspec:SWI48 [(match_operand:SF 1 "nonimmediate_operand" "v,m")]
                      UNSPEC_FIX_NOTRUNC))]
   "TARGET_SSE"
-  "%vcvtss2si<rex64suffix>\t{%1, %0|%0, %k1}"
+  "%vcvtss2si<rex64suffix>\t{%1, %0|%0, %1}"
   [(set_attr "type" "sseicvt")
    (set_attr "athlon_decode" "double,vector")
    (set_attr "amdfam10_decode" "double,double")
   "!TARGET_SSE2 && TARGET_SSE
    && !(MEM_P (operands[0]) && MEM_P (operands[1]))"
   "@
-   movhps\t{%1, %0|%q0, %1}
+   movhps\t{%1, %0|%0, %1}
    movhlps\t{%1, %0|%0, %1}
    movlps\t{%H1, %0|%0, %H1}"
   [(set_attr "type" "ssemov")