1. 18 Mar, 2012 2 commits
  2. 17 Mar, 2012 6 commits
  3. 16 Mar, 2012 19 commits
  4. 15 Mar, 2012 13 commits
    • re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX) · 81de8b03
      	PR target/52568
      	* config/i386/i386.c (expand_vec_perm_vperm2f128_vblend): New
      	function.
      	(ix86_expand_vec_perm_const_1): Use it.
      
      	* gcc.dg/torture/vshuf-4.inc: Add two new tests.
      	* gcc.dg/torture/vshuf-8.inc: Likewise.
      	* gcc.dg/torture/vshuf-16.inc: Likewise.
      	* gcc.dg/torture/vshuf-32.inc: Likewise.
      
      From-SVN: r185447
      Jakub Jelinek committed
    • re PR target/52568 (suboptimal __builtin_shuffle on cycles with AVX) · b8227739
      	PR target/52568
      	* config/i386/sse.md (UNSPEC_VPERMDF): Remove.
      	(avx2_permv4df): Remove.
      	(avx2_permv4di): Macroize into...
      	(avx2_perm<mode>): ... this using VI8F_256 iterator.
      	(avx2_permv4di_1): Macroize into...
      	(avx2_perm<mode>_1): ... this using VI8F_256 iterator.
      
      From-SVN: r185446
      Jakub Jelinek committed
    • Remove commented out debug printf:s · 192b716b
      From-SVN: r185444
      Janne Blomqvist committed
    • re PR c++/52582 (g++ ICE when compiling qt-4.8.0 with -O2 on PPC (32bit)) · 92caa91a
      	PR c++/52582
      	* method.c (implicitly_declare_fn): Set DECL_EXTERNAL.
      
      From-SVN: r185443
      Jason Merrill committed
    • Enable BUILT_IN_IROUND. · 6715d47b
      2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>
      
      	* f95-lang.c (gfc_init_builtin_functions): Initialize
      	BUILT_IN_IROUND.
      	* mathbuiltins.def: Add IROUND.
      	* trans-intrinsic.c (build_round_expr): Use BUILT_IN_IROUND if
      	type size matches.
      	(gfc_build_intrinsic_lib_fndecls): Build iround functions.
      
      From-SVN: r185442
      Janne Blomqvist committed
    • fortran-modules.exp: New file which was forgotten in r185430. · 28eccf2d
      2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
      
              * lib/fortran-modules.exp: New file which was forgotten in r185430.
      
      From-SVN: r185439
      Bernhard Reutner-Fischer committed
    • tree-vect-patterns.c (widened_name_p): Rename to ... · bc4fb355
      ChangeLog:
      
      	* tree-vect-patterns.c (widened_name_p): Rename to ...
      	(type_conversion_p): ... this.  Add new argument to determine
      	if it's a promotion or demotion operation.  Check for
      	CONVERT_EXPR_CODE_P instead of NOP_EXPR.
      	(vect_recog_dot_prod_pattern): Call type_conversion_p instead
      	widened_name_p.
      	(vect_recog_widen_mult_pattern, vect_recog_widen_sum_pattern,
      	vect_operation_fits_smaller_type, vect_recog_widen_shift_pattern):
      	Likewise.
      	(vect_recog_mixed_size_cond_pattern): Likewise and allow
      	non-constant then and else clauses.
      
      testsuite/ChangeLog:
      
      	* gcc.dg/vect/slp-cond-3.c: New test.
      	* gcc.dg/vect/slp-cond-4.c: New test.
      
      Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>
      
      From-SVN: r185437
      Ira Rosen committed
    • tree-vectorizer.h (vect_pattern_recog): Add new argument. · f5709183
      ChangeLog:
      
      	* tree-vectorizer.h (vect_pattern_recog): Add new argument.
      	* tree-vect-loop.c (vect_analyze_loop_2): Update call to
      	vect_pattern_recog.
      	* tree-vect-patterns.c (widened_name_p): Pass basic block
      	info to vect_is_simple_use.
      	(vect_recog_dot_prod_pattern): Fail for basic blocks.
      	(vect_recog_widen_sum_pattern): Likewise.
      	(vect_handle_widen_op_by_const): Support basic blocks.
      	(vect_operation_fits_smaller_type,
      	vect_recog_over_widening_pattern): Likewise.
      	(vect_recog_vector_vector_shift_pattern): Support basic blocks.
      	Update call to vect_is_simple_use.
      	(vect_recog_mixed_size_cond_pattern): Support basic blocks.
      	Add printing.
      	(check_bool_pattern): Add an argument, update call to
      	vect_is_simple_use and the recursive calls.
      	(vect_recog_bool_pattern): Update relevant function calls.
      	Add printing.
      	(vect_mark_pattern_stmts): Update calls to new_stmt_vec_info.
      	(vect_pattern_recog_1): Check for reduction only in loops.
      	(vect_pattern_recog): Add new argument.  Support basic blocks.
      	* tree-vect-stmts.c (vectorizable_conversion): Pass basic block
      	info to vect_is_simple_use_1.
      	* tree-vect-slp.c (vect_get_and_check_slp_defs): Support basic
      	blocks.
      	(vect_slp_analyze_bb_1): Call vect_pattern_recog.
      
      testsuite/ChangeLog:
      
      	* gcc.dg/vect/bb-slp-pattern-1.c: New test.
      	* gcc.dg/vect/bb-slp-pattern-2.c: New test.
      
      Co-Authored-By: Ulrich Weigand <ulrich.weigand@linaro.org>
      
      From-SVN: r185436
      Ira Rosen committed
    • re PR libfortran/52434 (Insufficient number of digits in floating point formatting) · 37b659dd
      2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>
      
              PR libfortran/52434
              PR libfortran/48878
              PR libfortran/38199
              * io/unit.c (get_internal_unit): Default to ROUND_UNSPECIFIED.
              (init_units): Likewise.
              * io/write_float.def (determine_precision): New function.
              (output_float): Take into account buffer with %f format, no need
              for our own rounding if unspecified or processor specified
              rounding.
              (DTOA): Simplify format string, add parameters.
              (FDTOA): New macros similar to DTOA, but using %f format.
              (OUTPUT_FLOAT_FMT_G): Stack allocate newf, determine correct
              precision and fill buffer.
              (EN_PREC): New macro.
              (determine_en_precision): New function.
              (WRITE_FLOAT): For G format, move buffer filling into
              output_float_FMT_G, use FDTOA for F format.
              (write_float): Increase buffer due to F format.
      
      testsuite ChangeLog:
      
      2012-03-15  Janne Blomqvist  <jb@gcc.gnu.org>
      
              PR libfortran/52434
              PR libfortran/48878
              PR libfortran/38199
              * gfortran.dg/edit_real_1.f90: Don't assume roundTiesToAway.
              * gfortran.dg/round_1.f03: Likewise.
      
      From-SVN: r185433
      Janne Blomqvist committed
    • re PR middle-end/52592 (compilation failure with undefined reference to `__builtin_iround') · ff63ac4d
      	PR middle-end/52592
      	* builtins.c (expand_builtin_int_roundingfn_2): If expanding
      	BUILT_IN_IR{INT,OUND}* using optab fails, emit lr{int,ound}*
      	calls instead of __builtin_ir{int,ound}*.
      
      	* gcc.dg/pr52592.c: New test.
      
      Co-Authored-By: Andrew Pinski <apinski@cavium.com>
      
      From-SVN: r185431
      Jakub Jelinek committed
    • gfortran testsuite: implicitly cleanup-modules · b3781fcb
      gcc/ChangeLog:
      2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
      
      	* doc/sourcebuild.texi (cleanup-modules, keep-modules): Update
      	documentation.
      
      gcc/testsuite/ChangeLog:
      
      2012-03-15  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>
      
      	* gfortran.fortran-torture/compile/compile.exp: Simplify.
      	* gfortran.fortran-torture/execute/execute.exp: Likewise.
      	* lib/gcc-dg.exp (cleanup-modules): Move to ..
      	* lib/fortran-modules.exp: .. this new file. Adjust users.
      	* lib/gfortran-dg.exp (gfortran-dg-runtest,
      	gfortran-dg-debug-runtest): Call cleanup-modules.
      	* lib/fortran-torture.exp (fortran-torture-execute,
      	fortran-torture): Likewise.
      	* gfortran.dg/coarray/caf.exp: Likewise.
      	* lib/lto.exp: Likewise.
      	* gfortran.dg/class_4a.f03: Adjust cleanup-modules and keep-modules.
      	* gfortran.dg/class_4b.f03: Likewise.
      	* gfortran.dg/class_4c.f03: Likewise.
      	* gfortran.dg/class_45a.f03: Likewise.
      	* gfortran.dg/binding_label_tests_10.f03: Likewise.
      	* gfortran.dg/binding_label_tests_10_main.f03: Likewise.
      	* gfortran.dg/binding_label_tests_11.f03: Likewise.
      	* gfortran.dg/binding_label_tests_11_main.f03: Likewise.
      	* gfortran.dg/binding_label_tests_13.f03: Likewise.
      	* gfortran.dg/binding_label_tests_13_main.f03: Likewise.
      	* gfortran.dg/test_common_binding_labels_2.f03: Likewise.
      	* gfortran.dg/test_common_binding_labels_2_main.f03: Likewise.
      	* gfortran.dg/test_common_binding_labels_3.f03: Likewise.
      	* gfortran.dg/test_common_binding_labels_3_main.f03: Likewise.
      	* gfortran.dg/whole_file_28.f90: Likewise.
      	* gfortran.dg/whole_file_29.f90: Likewise.
      	* gfortran.dg/whole_file_30.f90: Likewise.
      	* gfortran.dg/whole_file_31.f90: Likewise.
      
      From-SVN: r185430
      Bernhard Reutner-Fischer committed
    • Fix date from last commit. · 42183685
      From-SVN: r185429
      Ramana Radhakrishnan committed