1. 27 Aug, 2010 22 commits
    • sh.c (push_regs): Emit movml for interrupt handler when possible. · 91a19652
      	* config/sh/sh.c (push_regs): Emit movml for interrupt handler
      	when possible.
      	(sh_expand_epilogue): Likewise.
      	* config/sh/sh.md (movml_push_banked): New insn.
      	(movml_pop_banked): Likewise.
      	* gcc.dg/attr-isr.c: Skip test for -m2a.  Don't	run on sh2a*-*-*.
      
      
      Co-Authored-By: Kaz Kojima <kkojima@gcc.gnu.org>
      
      From-SVN: r163602
      Naveen H.S committed
    • vfp.md (arm_movsi_vfp, [...]): Set attribute "insn". · f8045c41
      	* config/arm/vfp.md (arm_movsi_vfp, thumb2_movsi_vfp, movsf_vfp,
      	thumb2_movsf_vfp): Set attribute "insn".
      	* config/arm/arm.md (arm_ashrdi3_1bit, arm_lshrdi3_1bit, not_shiftsi,
      	not_shiftsi_compare0, not_shiftsi_compare0_scratch, arm_one_cmplsi2,
      	thumb1_one_cmplsi2, notsi_compare0, notsi_compare0_scratch,
      	arm_zero_extendsidi2, arm_extendsidi2, thumb1_movdi_insn,
      	arm_movsi_insn, movhi_insn_arch4, movhi_bytes, arm_movqi_insn,
      	thumb1_movqi_insn arm32_movhf, thumb1_movhf, arm_movsf_soft_insn,
      	thumb1_movsf_insn, thumb_movdf_insn, mov_scc, mov_negscc, mov_notscc,
      	movsicc_insn, movsfcc_soft_insn, and_scc, cond_move, if_move_not,
      	if_not_move, if_shift_move, if_move_shift, if_shift_shift,
      	if_not_arith, if_arith_not, cond_move_not): Likewise.
      
      From-SVN: r163601
      Bernd Schmidt committed
    • genautomata.c (gen_regexp_repeat, [...]): Use the string found in vector element… · c1cb371a
      genautomata.c (gen_regexp_repeat, [...]): Use the string found in vector element 0 rather than the original string when...
      
      	* genautomata.c (gen_regexp_repeat, gen_regexp_allof,
      	gen_regexp_oneof, gen_regexp_sequence): Use the string found
      	in vector element 0 rather than the original string when there's
      	only one element.
      	(gen_regexp): Remove extra semicolon.
      
      From-SVN: r163600
      Bernd Schmidt committed
    • re PR fortran/45432 (gfortran.dg/allocate_alloc_opt_9.f90: Segfault due to invalid FREE) · b052cbd0
      2010-08-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/45432
      	* match.c (gfc_match_allocate): Avoid double free on error.
      
      From-SVN: r163599
      Janus Weil committed
    • Improve floating point conversions on powerpc · 7042fe5e
      From-SVN: r163598
      Michael Meissner committed
    • re PR fortran/32049 (Support on x86_64 also kind=16) · a3c85b74
      	PR fortran/32049
      
      	* gfortran.h (gfc_real_info): Add c_float128 field.
      	* mathbuiltins.def: Indicate which builtins are const.
      	* trans-types.h (float128_type_node, complex_float128_type_node,
      	gfc_real16_is_float128): New variables.
      	* trans-types.c (float128_type_node, complex_float128_type_node,
      	gfc_real16_is_float128): New variables.
      	(gfc_init_kinds): Allow TFmode.
      	(gfc_build_real_type): Mark __float128 types as such.
      	(gfc_init_types): Initialize float128_type_node and
      	complex_float128_type_node
      	* f95-lang.c (gfc_init_builtin_functions): Adjust for new
      	argument of OTHER_BUILTIN macro.
      	* trans-intrinsic.c (gfc_intrinsic_map_t): Likewise.
      	(builtin_decl_for_precision): Special case for __float128.
      	(builtin_decl_for_float_kind): Likewise.
      	(define_quad_builtin): New function.
      	(gfc_build_intrinsic_lib_fndecls): Create all __float128
      	library decls if necessary. Store them in the real16_decl and
      	complex16_decl builtin map fields.
      	(gfc_get_intrinsic_lib_fndecl): Handle q-suffixed __float128
      	library function names.
      
      	* gfortran.dg/random_seed_1.f90: Adjust test.
      	* gfortran.dg/float128_1.f90: New test.
      
      From-SVN: r163597
      Francois-Xavier Coudert committed
    • gengtype.c (output_type_enum): Test the right union member. · 6ba2db5e
      
      2010-08-27  Basile Starynkevitch  <basile@starynkevitch.net>
                  Jeremie Salvucci  <jeremie.salvucci@free.fr>
      
              * gengtype.c (output_type_enum): Test the right union member.
      
      
      Co-Authored-By: Jeremie Salvucci <jeremie.salvucci@free.fr>
      
      From-SVN: r163596
      Basile Starynkevitch committed
    • re PR fortran/33197 (Fortran 2008: math functions) · 0cd0559e
      gcc/fortran/
      2010-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/33197
              * gcc/fortran/intrinsic.c (add_functions): Add norm2 and parity.
              * gcc/fortran/intrinsic.h (gfc_check_norm2, gfc_check_parity):
              gfc_simplify_norm2, gfc_simplify_parity, gfc_resolve_norm2,
              gfc_resolve_parity): New prototypes.
              * gcc/fortran/gfortran.h (gfc_isym_id): New enum items
              GFC_ISYM_NORM2 and GFC_ISYM_PARITY.
              * gcc/fortran/iresolve.c (gfc_resolve_norm2,
              gfc_resolve_parity): New functions.
              * gcc/fortran/check.c (gfc_check_norm2, gfc_check_parity):
              New functions.
              * gcc/fortran/trans-intrinsic.c (gfc_conv_intrinsic_arith,
              gfc_conv_intrinsic_function): Handle NORM2 and PARITY.
              * gcc/fortran/intrinsic.texi (NORM2, PARITY): Add.
              * gcc/fortran/simplify.c (simplify_transformation_to_array):
              Add post-processing opterator.
              (gfc_simplify_all, gfc_simplify_any, gfc_simplify_count,
              gfc_simplify_product, gfc_simplify_sum): Update call.
              (add_squared, do_sqrt, gfc_simplify_norm2, do_xor,
              gfc_simplify_parity): New functions.
      
      gcc/testsuite/
      2010-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/33197
              * gcc/testsuite/gfortran.dg/norm2_1.f90: New.
              * gcc/testsuite/gfortran.dg/norm2_2.f90: New.
              * gcc/testsuite/gfortran.dg/norm2_3.f90: New.
              * gcc/testsuite/gfortran.dg/norm2_4.f90: New.
              * gcc/testsuite/gfortran.dg/parity_1.f90: New.
              * gcc/testsuite/gfortran.dg/parity_2.f90: New.
              * gcc/testsuite/gfortran.dg/parity_3.f90: New.
      
      libgfortran/
      2010-08-27  Tobias Burnus  <burnus@net-b.de>
      
              PR fortran/33197
              * libgfortran/m4/ifunction.m4 (FINISH_ARRAY_FUNCTION,
              ARRAY_FUNCTION): Allow expression after loop.
              * libgfortran/m4/norm2.m4: New for _gfortran_norm2_r{4,8,10,16}.
              * libgfortran/m4/parity.m4: New for
              * _gfortran_parity_l{1,2,4,8,16}.
              * libgfortran/gfortran.map: Add new functions.
              * libgfortran/Makefile.am: Ditto.
              * libgfortran/m4/minloc1.m4: Add empty argument for
              * ARRAY_FUNCTION.
              * libgfortran/m4/maxloc1.m4: Ditto.
              * libgfortran/m4/all.m4: Ditto.
              * libgfortran/m4/minval.m4: Ditto.
              * libgfortran/m4/maxval.m4: Ditto.
              * libgfortran/m4/count.m4: Ditto.
              * libgfortran/m4/product.m4: Ditto.
              * libgfortran/m4/any.m4: Ditto.
              * Makefile.in: Regenerated.
              * generated/minval_r8.c: Regenerated.
              * generated/maxloc1_4_r8.c: Regenerated.
              * generated/minloc1_16_r16.c: Regenerated.
              * generated/norm2_r4.c: Regenerated.
              * generated/sum_i8.c: Regenerated.
              * generated/parity_l2.c: Regenerated.
              * generated/any_l16.c: Regenerated.
              * generated/maxval_i2.c: Regenerated.
              * generated/any_l2.c: Regenerated.
              * generated/product_r4.c: Regenerated.
              * generated/maxloc1_8_i4.c: Regenerated.
              * generated/parity_l16.c: Regenerated.
              * generated/all_l1.c: Regenerated.
              * generated/product_i2.c: Regenerated.
              * generated/minloc1_8_r16.c: Regenerated.
              * generated/maxloc1_8_r16.c: Regenerated.
              * generated/sum_r16.c: Regenerated.
              * generated/sum_i1.c: Regenerated.
              * generated/minloc1_4_r8.c: Regenerated.
              * generated/maxloc1_16_r16.c: Regenerated.
              * generated/minloc1_16_i4.c: Regenerated.
              * generated/maxloc1_16_i4.c: Regenerated.
              * generated/maxval_r16.c: Regenerated.
              * generated/product_c10.c: Regenerated.
              * generated/minloc1_8_i4.c: Regenerated.
              * generated/all_l2.c: Regenerated.
              * generated/product_c4.c: Regenerated.
              * generated/sum_r4.c: Regenerated.
              * generated/all_l16.c: Regenerated.
              * generated/minloc1_16_r10.c: Regenerated.
              * generated/sum_i2.c: Regenerated.
              * generated/maxloc1_8_r8.c: Regenerated.
              * generated/minval_i16.c: Regenerated.
              * generated/parity_l4.c: Regenerated.
              * generated/maxval_i4.c: Regenerated.
              * generated/any_l4.c: Regenerated.
              * generated/minval_i8.c: Regenerated.
              * generated/maxloc1_4_i8.c: Regenerated.
              * generated/minloc1_4_i16.c: Regenerated.
              * generated/maxloc1_4_i16.c: Regenerated.
              * generated/minloc1_8_r10.c: Regenerated.
              * generated/product_i4.c: Regenerated.
              * generated/maxloc1_8_r10.c: Regenerated.
              * generated/sum_c16.c: Regenerated.
              * generated/minloc1_16_r8.c: Regenerated.
              * generated/maxloc1_16_r8.c: Regenerated.
              * generated/count_4_l.c: Regenerated.
              * generated/sum_r10.c: Regenerated.
              * generated/count_8_l.c: Regenerated.
              * generated/sum_c4.c: Regenerated.
              * generated/maxloc1_16_r10.c: Regenerated.
              * generated/minloc1_8_r8.c: Regenerated.
              * generated/maxval_r10.c: Regenerated.
              * generated/minval_i1.c: Regenerated.
              * generated/maxloc1_4_i1.c: Regenerated.
              * generated/minloc1_4_i8.c: Regenerated.
              * generated/product_i16.c: Regenerated.
              * generated/all_l4.c: Regenerated.
              * generated/norm2_r16.c: Regenerated.
              * generated/minval_r4.c: Regenerated.
              * generated/maxloc1_4_r4.c: Regenerated.
              * generated/sum_i4.c: Regenerated.
              * generated/maxval_r8.c: Regenerated.
              * generated/norm2_r8.c: Regenerated.
              * generated/minloc1_4_i1.c: Regenerated.
              * generated/minval_r16.c: Regenerated.
              * generated/minval_i2.c: Regenerated.
              * generated/maxloc1_4_i2.c: Regenerated.
              * generated/product_r8.c: Regenerated.
              * generated/maxloc1_8_i8.c: Regenerated.
              * generated/sum_c10.c: Regenerated.
              * generated/minloc1_4_r16.c: Regenerated.
              * generated/maxloc1_4_r16.c: Regenerated.
              * generated/count_1_l.c: Regenerated.
              * generated/minloc1_4_r4.c: Regenerated.
              * generated/minloc1_16_i8.c: Regenerated.
              * generated/maxloc1_16_i8.c: Regenerated.
              * generated/minloc1_4_i2.c: Regenerated.
              * generated/maxloc1_8_i1.c: Regenerated.
              * generated/minloc1_8_i8.c: Regenerated.
              * generated/product_r16.c: Regenerated.
              * generated/product_c8.c: Regenerated.
              * generated/sum_r8.c: Regenerated.
              * generated/norm2_r10.c: Regenerated.
              * generated/minloc1_16_i16.c: Regenerated.
              * generated/maxloc1_8_r4.c: Regenerated.
              * generated/minloc1_16_i1.c: Regenerated.
              * generated/maxloc1_16_i1.c: Regenerated.
              * generated/minval_r10.c: Regenerated.
              * generated/count_16_l.c: Regenerated.
              * generated/parity_l8.c: Regenerated.
              * generated/minloc1_8_i1.c: Regenerated.
              * generated/minval_i4.c: Regenerated.
              * generated/maxloc1_4_i4.c: Regenerated.
              * generated/maxloc1_8_i2.c: Regenerated.
              * generated/maxval_i8.c: Regenerated.
              * generated/any_l8.c: Regenerated.
              * generated/minloc1_4_r10.c: Regenerated.
              * generated/minloc1_8_i16.c: Regenerated.
              * generated/maxloc1_4_r10.c: Regenerated.
              * generated/maxloc1_8_i16.c: Regenerated.
              * generated/minloc1_16_r4.c: Regenerated.
              * generated/maxloc1_16_r4.c: Regenerated.
              * generated/product_i8.c: Regenerated.
              * generated/sum_i16.c: Regenerated.
              * generated/count_2_l.c: Regenerated.
              * generated/maxloc1_16_i16.c: Regenerated.
              * generated/minloc1_8_r4.c: Regenerated.
              * generated/sum_c8.c: Regenerated.
              * generated/minloc1_16_i2.c: Regenerated.
              * generated/maxloc1_16_i2.c: Regenerated.
              * generated/parity_l1.c: Regenerated.
              * generated/maxval_i16.c: Regenerated.
              * generated/maxval_i1.c: Regenerated.
              * generated/minloc1_4_i4.c: Regenerated.
              * generated/any_l1.c: Regenerated.
              * generated/minloc1_8_i2.c: Regenerated.
              * generated/product_c16.c: Regenerated.
              * generated/product_r10.c: Regenerated.
              * generated/product_i1.c: Regenerated.
              * generated/all_l8.c: Regenerated.
              * generated/maxval_r4.c: Regenerated.
      
      From-SVN: r163595
      Tobias Burnus committed
    • re PR fortran/45420 ([OOP] polymorphic TBP call in a CLASS DEFAULT clause) · cbadd64a
      2010-08-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/45420
      	* match.c (select_type_set_tmp): Add the possibility to reset the
      	temporary to NULL.
      	(gfc_match_class_is): Reset the temporary in CLASS DEFAULT clauses.
      
      
      2010-08-27  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/45420
      	* gfortran.dg/select_type_15.f03: New.
      
      From-SVN: r163594
      Janus Weil committed
    • stl_iterator_base_types.h: Fix doxygen warning. · ee1e5e63
      2010-08-26  Benjamin Kosnik  <bkoz@redhat.com>
      
      	* include/bits/stl_iterator_base_types.h: Fix doxygen warning.
      
      From-SVN: r163592
      Benjamin Kosnik committed
    • re PR target/41484 (Please add memory forms of pmovzx* (SSE4.1)) · 83d58961
      	PR target/41484
      	* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
      	operands for operand 1.
      	(sse4_1_extendv4qiv4si2): Ditto.
      	(sse4_1_extendv2qiv2di2): Ditto.
      	(sse4_1_extendv4hiv4si2): Ditto.
      	(sse4_1_extendv2hiv2di2): Ditto.
      	(sse4_1_extendv2siv2di2): Ditto.
      	(sse4_1_zero_extendv8qiv8hi2): Ditto.
      	(sse4_1_zero_extendv4qiv4si2): Ditto.
      	(sse4_1_zero_extendv2qiv2di2): Ditto.
      	(sse4_1_zero_extendv4hiv4si2): Ditto.
      	(sse4_1_zero_extendv2hiv2di2): Ditto.
      	(sse4_1_zero_extendv2siv2di2): Ditto.
      	(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
      	(*sse4_1_extendv4qiv4si2): Ditto.
      	(*sse4_1_extendv2qiv2di2): Ditto.
      	(*sse4_1_extendv4hiv4si2): Ditto.
      	(*sse4_1_extendv2hiv2di2): Ditto.
      	(*sse4_1_extendv2siv2di2): Ditto.
      	(*sse4_1_zero_extendv8qiv8hi2): Ditto.
      	(*sse4_1_zero_extendv4qiv4si2): Ditto.
      	(*sse4_1_zero_extendv2qiv2di2): Ditto.
      	(*sse4_1_zero_extendv4hiv4si2): Ditto.
      	(*sse4_1_zero_extendv2hiv2di2): Ditto.
      	(*sse4_1_zero_extendv2siv2di2): Ditto.
      
      From-SVN: r163591
      Uros Bizjak committed
    • Fix long lines · 757fc8ed
      From-SVN: r163590
      Eric Botcazou committed
    • re PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4 bytes) · 2854a076
      2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR libfortran/43217
      	* gfortran.dg/hollerith8.f90: New test.
      
      From-SVN: r163588
      Jerry DeLisle committed
    • mips-protos.h (mips_function_arg_advance): Delete · c8717ea3
      	* config/mips/mips-protos.h (mips_function_arg_advance): Delete
      	(mips_function_arg): Delete.
      	(mips_function_arg_boundary): Take a const_tree.
      	* config/mips/mips.c (mips_function_arg_boundary): Likewise.
      	(mips_arg_info): Likewise.
      	(mips_setup_incoming_varargs): Call mips_function_arg_advance
      	instead of FUNCTION_ARG_ADVANCE.
      	(mips_function_arg_advance): Adjust prototype.  Make static.
      	(mips_function_arg): Likewise.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      	* config/mips/mips.h (FUNCTION_ARG_ADVANCE, FUNCTION_ARG): Delete.
      
      From-SVN: r163587
      Nathan Froyd committed
    • rs6000.h (FUNCTION_ARG, [...]): Delete. · 7c8232a2
      	* config/rs6000/rs6000.h (FUNCTION_ARG, FUNCTION_ARG_ADVANCE): Delete.
      	* config/rs6000/rs6000-protos.h (function_arg_advance): Delete.
      	(function_arg): Delete.
      	(function_arg_boundary): Take a const_tree.
      	* config/rs6000/rs6000.c (function_arg_boundary): Likewise.
      	(rs6000_spe_function_arg): Likewise.
      	(rs6000_parm_start): Likewise.
      	(rs6000_arg_size): Likewise.
      	(rs6000_darwin64_record_arg_advance_recurse): Likewise.
      	(rs6000_darwin64_record_arg): Likewise.  Take a bool instead of
      	an int.
      	(rs6000_mixed_function_arg): Likewise.
      	(function_arg): Rename to...
      	(rs6000_function_arg): ...this.
      	(function_arg_advance): Rename to...
      	(rs6000_function_arg_advance_1): ...this
      	(rs6000_function_arg_advance): New function.  Call it.
      	(setup_incoming_varargs): Call rs6000_function_arg_advance_1.
      	(rs6000_return_in_memory): Adjust call to rs6000_darwin64_record_arg.
      	(rs6000_function_value): Likewise.
      	(TARGET_FUNCTION_ARG, TARGET_FUNCTION_ARG_ADVANCE): Define.
      
      From-SVN: r163586
      Nathan Froyd committed
    • arm.md (enabled): Test the value of arch_enabled rather than just using it. · da787dec
      
      2010-08-27  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* config/arm/arm.md (enabled): Test the value of arch_enabled
              rather than just using it.
      
      From-SVN: r163585
      Ramana Radhakrishnan committed
    • re PR fortran/45159 (Unnecessary temporaries) · e240f0f4
      2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/45159
      	* dependency.c (check_section_vs_section):  Single test for
      	identical strides which takes into account that only one
      	of the strides may be NULL.
      
      2010-08-27  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/45159
      	* gfortran.dg/dependency_33.f90:  New test.
      
      From-SVN: r163584
      Thomas Koenig committed
    • scop-1.c: Fix out-of-bound array accesses. · 6d446ecf
      2010-08-27  Richard Guenther  <rguenther@suse.de>
      
      	* gcc.dg/graphite/scop-1.c: Fix out-of-bound array accesses.
      	* gcc.dg/graphite/scop-2.c: Likewise.
      	* gcc.dg/graphite/scop-20.c: Likewise.
      	* gcc.dg/vect/slp-25.c: Likewise.
      
      From-SVN: r163583
      Richard Guenther committed
    • dse.c (group_info.base_mem, [...]): Use BLKmode to cover all the possible offsets from this base. · d32f725a
              * dse.c (group_info.base_mem, get_group_info): Use BLKmode to
              cover all the possible offsets from this base.
              (scan_reads_nospill): Pass base_mem's mode to canon_true_dependence.
      
              testsuite/
              * gnat.dg/dse_step.ads, dse_step.adb, test_dse_step.adb: New test.
      
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r163582
      Olivier Hainque committed
    • re PR fortran/43217 (Output of Hollerith constants which are not a multiple of 4 bytes) · 401fcd3b
      2010-08-27  Jerry DeLisle  <jvdelisle@gcc.gnu.org>
      
      	PR fortran/43217
      	* primary.c (match_hollerith_constant): Calculate padding needed to
      	fill default integer and allocate string for that size.  Set pad bytes
      	to ' '.
      	* gfortran.h: Add hollerith pad value to type spec union.
      	* data.c (create_character_initializer): Fix spelling of function name.
      	Use hollerith pad value to calculate length.
      	* arith.c (hollerith2representation); Use hollerith pad value to
      	calculate length.
      
      From-SVN: r163581
      Jerry DeLisle committed
    • Fix building ecjx in cross compile mode. · 9f8f1def
      libjava/:
      	PR libgcj/40868
      	* configure.ac: Add GCC_FOR_ECJX variable.  Ensure
      	GCJ_FOR_ECJX is always set.
      	* Makefile.am [!NATIVE] (ecjx.$(OBJEXT)): New rule.
      	* Makefile.in: Regenerate.
      	* configure: Regenerate.
      	* gcj/Makefile.in: Regenerate.
      	* include/Makefile.in: Regenerate.
      	* testsuite/Makefile.in: Regenerate.
      
      Co-Authored-By: Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
      
      From-SVN: r163580
      Dmitrijs Ledkovs committed
    • Daily bump. · a703b0c0
      From-SVN: r163579
      GCC Administrator committed
  2. 26 Aug, 2010 10 commits
  3. 25 Aug, 2010 8 commits