OSDN Git Service

* config/sh/sh.md (*movqi_pop): New insn pattern.
[pf3gnuchains/gcc-fork.git] / gcc / ChangeLog
index e596c93..defa3ba 100644 (file)
@@ -1,3 +1,174 @@
+2010-04-11  Kaushik Phatak  <kaushik.phatak@kpitcummins.com>
+
+       * config/sh/sh.md (*movqi_pop): New insn pattern.
+       * config/sh/predicates.md (sh_no_delay_pop_operand): New predicate.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (any_shiftrt): New code iterator.
+       (shiftrt_insn): New code attribute.
+       (shiftrt): Ditto.
+       (<shiftrt_insn><mode>3): Macroize expander from ashr<mode>3 and
+       lshr<mode>3 using any_shiftrt code iterator.
+       (*<shiftrt_insn><mode>3_doubleword): Macroize insn_and_split from
+       *ashr<mode>3_doubleword and *lshr<mode>3_doubleword using
+       any_shiftrt code iterator.
+       (*<shiftrt_insn><mode>3_doubleword peephole2): Macroize peephole2
+       pattern from corresponding peephole2 patterns.
+       (*<shiftrt_insn><mode>3_1): Macroize insn from *ashr<mode>3_1
+       and *lshr<mode>3_1 using any_shiftrt code iterator.
+       (*<shiftrt_insn>si3_1_zext): Ditto from *ashrsi3_1_zext
+       and *lshrsi3_1_zext.
+       (*<shiftrt_insn>qi3_1_slp): Ditto from *ashrqi3_1_slp
+       and *lshrqi3_1_slp.
+       (*<shiftrt_insn><mode>3_cmp): Ditto from *ashr<mode>3_cmp
+       and *lshr<mode>3_cmp.
+       (*<shiftrt_insn><mode>3_cmp_zext): Ditto from *ashr<mode>3_cmp_zext
+       and *lshr<mode>3_cmp_zext.
+       (*<shiftrt_insn><mode>3_cconly): Ditto from *ashr<mode>3_cconly
+       and *lshr<mode>3_cconly.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (*ashr<mode>3_cconly): Fix wrong mode of
+       scratch register.
+       (*lshr<mode>3_cconly): Ditto.
+
+2010-04-11  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (lshr<mode>3): Macroize expander from
+       lshr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+       (*lshr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *lshr{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*lshr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (*lshr<mode>3_1): Merge with *lshr{qi,hi,si}3_1_one_bit and
+       *lshrdi3_1_one_bit_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
+       and *lshrdi3_cmp_rex64 using SWI mode iterator.
+       (*lshrsi3_1_zext): Merge with *lshrsi3_1_one_bit_zext.
+       (*lshrqi3_1_slp): Merge with *lshrqi3_1_one_bit_slp.
+       (*lshr<mode>3_cmp): Merge with *lshr{qi,hi,si}3_one_bit_cmp and
+       *lshrdi3_one_bit_cmp_rex64. Macroize insn from *lshr{qi,hi,si}3_cmp
+       and *lshrdi3_cmp_rex64 using SWI mode iterator.
+       (*lshrsi3_cmp_zext): Merge with *lshrsi3_cmp_one_bit_zext.
+       (*lshr<mode>3_cconly): Merge with *lshr{qi,hi,si}3_one_bit_cconly and
+       *lshrdi3_one_bit_cconly_rex64. Macroize insn from
+       *lshr{qi,hi,si}3_cconly and *lshrdi3_cconly_rex64 using
+       SWI mode iterator.
+
+2010-04-10  Uros Bizjak  <ubizjak@gmail.com>
+
+       * config/i386/i386.md (ashr<mode>3): Macroize expander from
+       ashr{qi,hi,si,di,ti}3_1 using SDWIM mode iterator.
+       (*ashr<mode>3_doubleword): New insn_and_split_pattern.  Macroize
+       pattern from *ashr{di,ti}3_1 and corresponding splitters using
+       DWI mode iterator.
+       (*ashr<mode>3_doubleword peephole2): Macroize peephole2 pattern
+       from corresponding peephole2 patterns.
+       (ashrdi3_cvt): Rename from ashrdi3_63_rex64.
+       (ashrsi3_cvt): Rename from ashrsi3_31.
+       (*ashrsi3_cvt_zext): Rename from *ashrsi3_31_zext.
+       (x86_shift<mode>_adj_3): Macroize expander from x86_shift_adj_3
+       and x86_64_shift_adj_3 using SWI48 mode iterator.
+       (*ashr<mode>3_1): Merge with *ashr{qi,hi,si}3_1_one_bit and
+       *ashrdi3_1_one_bit_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
+       and *ashrdi3_cmp_rex64 using SWI mode iterator.
+       (*ashrsi3_1_zext): Merge with *ashrsi3_1_one_bit_zext.
+       (*ashrqi3_1_slp): Merge with *ashrqi3_1_one_bit_slp.
+       (*ashr<mode>3_cmp): Merge with *ashr{qi,hi,si}3_one_bit_cmp and
+       *ashrdi3_one_bit_cmp_rex64. Macroize insn from *ashr{qi,hi,si}3_cmp
+       and *ashrdi3_cmp_rex64 using SWI mode iterator.
+       (*ashrsi3_cmp_zext): Merge with *ashrsi3_cmp_one_bit_zext.
+       (*ashr<mode>3_cconly): Merge with *ashr{qi,hi,si}3_one_bit_cconly and
+       *ashrdi3_one_bit_cconly_rex64. Macroize insn from
+       *ashr{qi,hi,si}3_cconly and *ashrdi3_cconly_rex64 using
+       SWI mode iterator.
+       (sign_extend splitters): Update for renamed ashr{di,si}3_cvt patterns.
+       * config/i386/i386.c (ix86_split_ashr): Update for renamed
+       x86_shift<mode>_adj_3 expanders.
+
+2010-04-10  Wei Guozhi  <carrot@google.com>
+
+       PR target/42601
+       * config/arm/arm.c (arm_pic_static_addr): New function.
+       (legitimize_pic_address): Call arm_pic_static_addr when it detects
+       a static symbol.
+       (arm_output_addr_const_extra): Output expression for new pattern.
+       * config/arm/arm.md (UNSPEC_SYMBOL_OFFSET): New unspec symbol.
+
+2010-04-10  Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+
+       * ira-costs.c (record_reg_classes): Ignore alternatives that are
+       not enabled.
+
+       * Makefile.in (web.o): Depend on insn-config.h and $(RECOG_H).
+       * web.c: Include "insn-config.h" and "recog.h".
+       (union_match_dups): New function.
+       (web_main): Call it.
+       (union_defs): Don't try to recognize match_dups.
+
+       * reload1.c (eliminate_regs_in_insn): Don't restore an operand
+       if doing so would replace the entire pattern.
+
+2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
+
+       PR target/43707
+       PR target/43709
+       * config/i386/i386.md (*ashl<mode>3_doubleword): Split to insn
+       and splitter pattern.  Change splitter operand 1 predicate to
+       nonmemory_operand.
+
+2010-04-09  Martin Jambor  <mjambor@suse.cz>
+
+       * ipa-cp.c (ipcp_lats_are_equal): Return true also if the two
+       lattices are addresses of CONST_DECLs with the same initial value.
+       (ipcp_print_all_lattices): Print values of CONST_DECLs.
+       * ipa-prop.c (ipa_print_node_jump_functions): Likewise.
+
+2010-04-09  Eric Botcazou  <ebotcazou@adacore.com>
+           Bernd Schmidt  <bernd.schmidt@codesourcery.com>
+
+       * loop-invariant.c (replace_uses): New static function.
+       (move_invariant_reg): Use it to ensure we can replace the uses.
+
+2010-04-09  Hariharan Sandanagobalane  <hariharan@picochip.com>
+
+       * config/picochip/picochip.c (picochip_rtx_costs): Use correct
+       function template.
+       (picochip_override_options): Enable section anchors only above -O1.
+       (picochip_reorg): Fixed a couple of build warnings.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac (plugin -rdynamic test): Log result.
+       * configure: Regenerate.
+       * config/sol2.h (LINK_SPEC): Handle -rdynamic.
+       (RDYNAMIC_SPEC): Define.
+       * config/sol2-gld.h (RDYNAMIC_SPEC): Redefine.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * configure.ac: Determine Sun ld version numbers.
+       (comdat_group): Restrict GNU ld version checks to gld.
+       (comdat_group, *-*-solaris2.1[1-9]*): Enable for Sun ld > 1.1688.
+       (enable_comdat): Support --enable-comdat.
+       * configure: Regenerate.
+       * doc/install.texi (Configuration): Document --enable-comdat.
+
+2010-04-09  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
+
+       * config/sparc/sol2-gld.h: Remove SPARC reference.  Rename ...
+       * config/sol2-gld.h: ... here.
+       * config.gcc (sparc*-*-solaris2*): Reflect this.
+       (i[34567]86-*-solaris2*): Use it.
+
+2010-04-09  Steve Ellcey  <sje@cup.hp.com>
+
+       * config/ia64/ia64.c (ia64_dfa_new_cycle): Remove unused variable
+       setup_clocks_p.
+       (final_emit_insn_group_barriers): Remove unused variable prev_insn.
+
 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR 42965
 
 2010-04-09  Richard Guenther  <rguenther@suse.de>
 
-       * tree-pretty-print.c (dump_generic_node): Dump
-       TYPE_VECTOR_SUBPARTS.
+       * tree-pretty-print.c (dump_generic_node): Dump TYPE_VECTOR_SUBPARTS.
 
 2010-04-09  Iain Sandoe  <iains@gcc.gnu.org>
 
        PR bootstrap/43684
-       * varasm.c (default_assemble_visibility): Wrap vars that are 
+       * varasm.c (default_assemble_visibility): Wrap vars that are
        set, but unused, by targets without GAS.
-       * config/rs6000/rs6000.c: (paired_emit_vector_compare): 
+       * config/rs6000/rs6000.c: (paired_emit_vector_compare):
        Remove set, but unused, vars.
        (rs6000_legitimize_tls_address): Likewise.
        (altivec_expand_dst_builtin): Likewise.
        * config/darwin.c (machopic_classify_symbol): Likewise.
        (machopic_indirection_name): Likewise.
-       
+
 2010-04-09  Uros Bizjak  <ubizjak@gmail.com>
 
        * config/i386/i386.md (DWI): New mode iterator.
 
        * tree-vectorizer.h (struct _stmt_vec_info): Document
        that vectype is the type of the LHS.
-       (supportable_widening_operation, supportable_narrowing_operation): 
+       (supportable_widening_operation, supportable_narrowing_operation):
        Get both input and output vector types as arguments.
        (vect_is_simple_use_1): Declare.
        (get_same_sized_vectype): Likewise.
        (ix86_attribute_table): Add description for thiscall attribute.
        * config/i386/i386.h (ix86_args): Adjust comment for member fastcall.
        * doc/extend.texi: Add documentation for thiscall.
-       
+
 2010-04-09  Manuel López-Ibáñez  <manu@gcc.gnu.org>
 
        PR c++/28584
        * gcc.h (DEFAULT_SWITCH_TAKES_ARG): Delete -b and -V.
 
 2010-04-08  Christian Borntraeger  <borntraeger@de.ibm.com>
-            Wolfgang Gellerich  <gellerich@de.ibm.com>
+           Wolfgang Gellerich  <gellerich@de.ibm.com>
 
        Implement target hook for loop unrolling
        * target.h (loop_unroll_adjust): Add a new target hook function.
        inserting GIMPLE_NOPs into the IL.
        * tree-ssa-structalias.c (get_constraint_for_component_ref):
        Explicitly strip handled components and indirect references.
-  
+
        * fold-const.c (fold_unary_loc): Do not strip qualifiers when
        folding address expressions.
        * gimple.c (gimple_ior_addresses_taken_1): Use get_base_address.