1. 10 Mar, 2008 15 commits
  2. 09 Mar, 2008 8 commits
  3. 08 Mar, 2008 17 commits
    • re PR testsuite/35350 (FAIL: gcc.target/i386/isa-10.c execution test) · 945a52ae
      2008-03-08  H.J. Lu  <hongjiu.lu@intel.com>
      
      	PR target/35350
      	* gcc.target/i386/isa-1.c: Add -march=x86-64.
      	* gcc.target/i386/isa-2.c: Likewise.
      	* gcc.target/i386/isa-3.c: Likewise.
      	* gcc.target/i386/isa-10.c: Likewise.
      	* gcc.target/i386/isa-11.c: Likewise.
      	* gcc.target/i386/isa-12.c: Likewise.
      	* gcc.target/i386/isa-13.c: Likewise.
      	* gcc.target/i386/isa-14.c: Likewise.
      
      From-SVN: r133044
      H.J. Lu committed
    • sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64 to zero carry. · 8c729fb2
      	* gcc.target/i386/sse2-mmx.c (unsigned_add3): Use _mm_setzero_si64
      	to zero carry.
      
      From-SVN: r133043
      Uros Bizjak committed
    • coverage.h (tree_coverage_counter_addr): Declare. · fc9161c1
      2008-03-08  Richard Guenther  <rguenther@suse.de>
      
      	* coverage.h (tree_coverage_counter_addr): Declare.
      	* coverage.c (tree_coverage_counter_addr): New function.
      	* tree-profile.c (tree_gen_edge_profiler): Unshare counter
      	before using again.
      	(tree_gen_pow2_profiler): Use tree_coverage_counter_addr.
      	(tree_gen_one_value_profiler): Likewise.
      	(tree_gen_ic_profiler): Likewise.
      	(tree_gen_average_profiler): Likewise.
      	(tree_gen_ior_profiler): Likewise.
      
      From-SVN: r133041
      Richard Guenther committed
    • decl.c (maybe_pad_type): Use value_factor_p. · 892f6e65
      	* decl.c (maybe_pad_type): Use value_factor_p.
      
      From-SVN: r133039
      Eric Botcazou committed
    • tree-ssa-sccvn.h (vn_binary_op_lookup): Remove. · 49a1fb2d
      2008-03-08  Richard Guenther  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.h (vn_binary_op_lookup): Remove.
      	(vn_binary_op_insert): Likewise.
      	(vn_unary_op_lookup): Likewise.
      	(vn_unary_op_insert): Likewise.
      	(vn_nary_op_lookup): Declare.
      	(vn_nary_op_insert): Likewise.
      	* tree-ssa-sccvn.c (struct vn_tables_s): Merge unary
      	and binary hashes, use a single obstack for unary_op_pool
      	and binary_op_pool.
      	(struct vn_binary_op_s, struct vn_unary_op_s): Replace with
      	a single struct vn_nary_op_s.  Store tree code length and
      	a variable number of operands.
      	(struct vn_reference_op_struct): Remove unused op2.
      	(vn_reference_op_eq): Do not compare op2.
      	(vn_reference_op_compute_hash): Do not compute hash of op2.
      	(vn_unary_op_hash, vn_binary_op_hash): Replace with vn_nary_op_hash.
      	(vn_unary_op_compute_hash, vn_binary_op_compute_hash): Replace
      	with vn_nary_op_compute_hash.
      	(vn_unary_op_eq, vn_binary_op_eq): Replace with vn_nary_op_eq.
      	(vn_unary_op_lookup, vn_binary_op_lookup): Replace with
      	vn_nary_op_lookup.
      	(vn_unary_op_insert, vn_binary_op_insert): Replace with
      	vn_nary_op_insert.
      	(visit_unary_op): Call nary functions.
      	(visit_binary_op): Likewise.
      	(process_scc): Adjust for struct vn_tables_s changes.
      	(allocate_vn_table): Likewise.
      	(free_vn_table): Likewise.
      	* tree-vn.c (vn_add): Call nary functions.
      	(vn_lookup): Likewise.
      
      From-SVN: r133038
      Richard Guenther committed
    • re PR fortran/34956 (-fbounds-check: bounds_check_9.f90: Use of uninitialized memory) · ba4698e1
      	PR fortran/34956
      	* trans-array.c (gfc_conv_ss_startstride): Fix the logic to avoid
      	checking bounds of absent optional arguments.
      
      From-SVN: r133037
      Francois-Xavier Coudert committed
    • Fix nits. · 9e94c78f
      From-SVN: r133036
      Eric Botcazou committed
    • lang.opt (nostdlib): Move around. · 7934d781
      	* lang.opt (nostdlib): Move around.
      	* misc.c (gnat_handle_option): Fix formatting.
      	(gnat_dwarf_name): Move around.
      	* trans.c (Case_Statement_to_gnu): Fix formatting.
      	(gnat_to_gnu): Likewise.
      	* utils.c (aggregate_type_contains_array_p): Likewise.
      	(create_subprog_decl): Likewise.
      
      From-SVN: r133035
      Eric Botcazou committed
    • re PR target/22152 (Poor loop optimization when using mmx builtins) · 904e4b8d
              PR target/22152
              * gcc.target/i386/pr22152.c: New test.
              * gcc.target/i386/sse2-mmx.c: Ditto.
      
      From-SVN: r133034
      Uros Bizjak committed
    • decl.c (gnat_to_gnu_entity): Do not bother propagating the TYPE_USER_ALIGN flag… · 8f5893ab
      decl.c (gnat_to_gnu_entity): Do not bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
      
      	* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Do not
      	bother propagating the TYPE_USER_ALIGN flag when creating a JM type.
      
      From-SVN: r133032
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the… · ba436c3b
      decl.c (gnat_to_gnu_entity): Do not force BIGGEST_ALIGNMENT when capping the alignment of records with...
      
      	* decl.c (gnat_to_gnu_entity) <E_Record_Type>: Do not force
      	BIGGEST_ALIGNMENT when capping the alignment of records with
      	strict alignment and size clause.
      
      From-SVN: r133031
      Eric Botcazou committed
    • lang-specs.h: Pass -gnatwa if -Wall is passed. · 6ab36dac
      	* lang-specs.h: Pass -gnatwa if -Wall is passed.
      	* misc.c (gnat_handle_option) <OPT_Wall>: Expand into -Wunused
      	and -Wuninitialized.
      	(gnat_post_options): Clear warn_unused_parameter.
      
      From-SVN: r133030
      Eric Botcazou committed
    • utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently aligned bit-fields... · 8853cb0b
      	* utils.c (finish_record_type): Clear DECL_BIT_FIELD on sufficiently
      	aligned bit-fields, bumping the alignment of the record type if deemed
      	profitable.
      	(value_factor_p): Return false instead of 0.
      
      From-SVN: r133028
      Eric Botcazou committed
    • decl.c (gnat_to_gnu_entity): Add support for scalar types with small alignment. · 66abe22c
      	* decl.c (gnat_to_gnu_entity) <E_Signed_Integer_Subtype>: Add support
      	for scalar types with small alignment.
      
      From-SVN: r133027
      Eric Botcazou committed
    • trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label from that of the… · 563569be
      trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label from that of the front-end's end label.
      
      	* trans.c (Loop_Statement_to_gnu): Set the SLOC of the loop label
      	from that of the front-end's end label.
      	(gnat_gimplify_stmt) <LOOP_STMT>: Set the SLOC of the backward goto
      	from that of the loop label.
      
      From-SVN: r133026
      Eric Botcazou committed
    • re PR target/35498 (libgomp/testsuite/libgomp.c/atomic-3.c fails on ppc-linux) · 2725b75c
      	PR target/35498
      	* config/rs6000/rs6000.c (rs6000_expand_compare_and_swapqhi): Shift
      	wdst back after sync_compare_and_swapqhi_internal.
      
      From-SVN: r133024
      Jakub Jelinek committed
    • re PR target/22152 (Poor loop optimization when using mmx builtins) · 10a97ae6
      2008-03-08  Uros Bizjak  <ubizjak@gmail.com>
      
              PR target/22152
              * config/i386/i386-modes.def (V1DI): New vector mode.
              * config/i386/i386.h (VALID_MMX_REG_MODE): Add V1DImode.
              * config/i386/mmx.md (MMXMODEI8): New mode iterator.
              (MMXMODE248): Ditto.
              (MMXMODE): Add V1DI mode.
              (mmxvecsize): Change DI mode to V1DI mode.
              ("mov<mode>): Use MMXMODEI8 mode iterator.
              ("*mov<mode>_internal_rex64"): Ditto.
              ("*mov<mode>_internal"): Ditto.
              ("mmx_add<mode>3"): Ditto.  Handle V1DImode for TARGET_SSE2.
              ("mmx_sub<mode>3"): Ditto.
              ("mmx_adddi3"): Remove insn pattern.
              ("mmx_subdi3"): Ditto.
              ("mmx_ashr<mode>3"): Use SImode and "yN" constraint for operand 2.
              ("mmx_lshr<mode>3"): Ditto. Use MMXMODE248 mode iterator.
              ("mmx_ashl<mode>3"): Ditto.
              ("mmx_lshrdi3"): Remove insn pattern.
              ("mmx_ashldi3"): Ditto.
              * config/i386/i386.c (classify_argument): Handle V1DImode.
              (function_arg_advance_32): Ditto.
              (function_arg_32): Ditto.
              (struct builtin_description) [IX86_BUILTIN_PADDQ]: Use
              mmx_addv1di3 insn pattern.
              [IX86_BUILTIN_PSUBQ]: Use mmx_subv1di3 insn pattern.
              [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?, IX86_BUILTIN_PSRA?,
              IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I, IX86_BUILTIN_PSRA?I,
              IX86_BUILTIN_PSLL?I128, IX86_BUILTIN_PSRL?I128, IX86_BUILTIN_PSRA?I128]:
              Remove definitions of built-in functions.
              (V1DI_type_node): New node.
              (v1di_ftype_v1di_int): Ditto.
              (v1di_ftype_v1di_v1di): Ditto.
              (v2si_ftype_v2si_si): Ditto.
              (v4hi_ftype_v4hi_di): Remove node.
              (v2si_ftype_v2si_di): Ditto.
              (ix86_init_mmx_sse_builtins): Handle V1DImode.
              (__builtin_ia32_psll?, __builtin_ia32_psrl?, __builtin_ia32_psra?):
              Redefine builtins using def_builtin_const with *_ftype_*_int node.
              (__builtin_ia32_psll?i, __builtin_ia32_psrl?i, __builtin_ia32_psra?i):
              Add new builtins using def_builtin_const.
              (ix86_expand_builtin) [IX86_BUILTIN_PSLL?, IX86_BUILTIN_PSRL?,
              IX86_BUILTIN_PSRA?, IX86_BUILTIN_PSLL?I, IX86_BUILTIN_PSRL?I,
              IX86_BUILTIN_PSRA?I]: Handle builtin definitions.
              * config/i386/mmintrin.h (__v1di): New typedef.
              (_mm_add_si64): Cast arguments to __v1di type.
              (_mm_sub_si64): Ditto.
              (_mm_sll_pi16): Cast __count to __v4hi type.
              (_mm_sll_pi32): Cast __count to __v2si type.
              (_mm_sll_si64): Cast arguments to __v1di type.
              (_mm_srl_pi16): Cast __count to __v4hi type.
              (_mm_srl_pi32): Cast __count to __v2si type.
              (_mm_srl_si64): Cast arguments to __v1di type.
              (_mm_sra_pi16): Cast __count to __v4hi type.
              (_mm_sra_pi32): Cast __count to __v2si type.
              (_mm_slli_pi16): Use __builtin_ia32_psllwi.
              (_mm_slli_pi32): Use __builtin_ia32_pslldi.
              (_mm_slli_si64): Use __builtin_ia32_psllqi. Cast __m to __v1di type.
              (_mm_srli_pi16): Use __builtin_ia32_psrlwi.
              (_mm_srli_pi32): Use __builtin_ia32_psrldi.
              (_mm_srli_si64): Use __builtin_ia32_psrlqi. Cast __m to __v1di type.
              (_mm_srai_pi16): Use __builtin_ia32_psrawi.
              (_mm_srai_pi32): Use __builtin_ia32_psradi.
              * config/i386/i386.md (UNSPEC_NOP): Remove unspec definition.
              * doc/extend.texi (X86 Built-in Functions) [__builtin_ia32_psll?,
              __builtin_ia32_psrl?, __builtin_ia32_psra?, __builtin_ia32_psll?i,
              __builtin_ia32_psrl?i, __builtin_ia32_psra?i]: Add new builtins.
      
      From-SVN: r133023
      Uros Bizjak committed