https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65105

--- Comment #3 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
Author: ienkovich
Date: Tue Sep 29 09:32:40 2015
New Revision: 228231

URL: https://gcc.gnu.org/viewcvs?rev=228231&root=gcc&view=rev
Log:
gcc/

        PR target/65105
        * config/i386/i386.c: Include dbgcnt.h.
        (has_non_address_hard_reg): New.
        (convertible_comparison_p): New.
        (scalar_to_vector_candidate_p): New.
        (remove_non_convertible_regs): New.
        (scalar_chain): New.
        (scalar_chain::scalar_chain): New.
        (scalar_chain::~scalar_chain): New.
        (scalar_chain::add_to_queue): New.
        (scalar_chain::mark_dual_mode_def): New.
        (scalar_chain::analyze_register_chain): New.
        (scalar_chain::add_insn): New.
        (scalar_chain::build): New.
        (scalar_chain::compute_convert_gain): New.
        (scalar_chain::replace_with_subreg): New.
        (scalar_chain::replace_with_subreg_in_insn): New.
        (scalar_chain::emit_conversion_insns): New.
        (scalar_chain::make_vector_copies): New.
        (scalar_chain::convert_reg): New.
        (scalar_chain::convert_op): New.
        (scalar_chain::convert_insn): New.
        (scalar_chain::convert): New.
        (convert_scalars_to_vector): New.
        (pass_data_stv): New.
        (pass_stv): New.
        (make_pass_stv): New.
        (ix86_option_override): Created and register stv pass.
        (flag_opts): Add -mstv.
        (ix86_option_override_internal): Likewise.
        * config/i386/i386.md (SWIM1248x): New.
        (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
        (and<mode>3): Use SWIM1248x iterator instead of SWIM.
        (*anddi3_doubleword): New.
        (*zext<mode>_doubleword): New.
        (*zextsi_doubleword): New.
        (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
        (*<code>di3_doubleword): New.
        * config/i386/i386.opt (mstv): New.
        * dbgcnt.def (stv_conversion): New.

gcc/testsuite/

        PR target/65105
        * gcc.target/i386/pr65105-1.c: New.
        * gcc.target/i386/pr65105-2.c: New.
        * gcc.target/i386/pr65105-3.c: New.
        * gcc.target/i386/pr65105-4.C: New.
        * gcc.dg/lower-subreg-1.c: Add -mno-stv options for ia32.


Added:
    trunk/gcc/testsuite/gcc.target/i386/pr65105-1.c
    trunk/gcc/testsuite/gcc.target/i386/pr65105-2.c
    trunk/gcc/testsuite/gcc.target/i386/pr65105-3.c
    trunk/gcc/testsuite/gcc.target/i386/pr65105-4.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/i386/i386.c
    trunk/gcc/config/i386/i386.md
    trunk/gcc/config/i386/i386.opt
    trunk/gcc/dbgcnt.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/lower-subreg-1.c

Reply via email to