1. 04 Oct, 2017 11 commits
    • Enable vect_float with S/390 VXE and adjust testcases · 26412773
      The target supports routines provide vect_double and vect_float but
      these do not appear to be used consequently in the vect testcases.
      With z13 we only have support for vector double but with z14 also for
      vector float.  This patch adds vect_float to the testcases using the
      float data type and make the vect_float target check to return 1 only
      on z14.
      
      gcc/testsuite/ChangeLog:
      
      2017-10-04  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>
      
      	* lib/target-supports.exp (check_effective_target_vect_float):
      	Return 1 being on a S/390 with VXE.
      	* gcc.dg/vect/pr31699.c: Require vec_float.
      	* gcc.dg/vect/pr61194.c: Likewise.
      	* gcc.dg/vect/pr65947-10.c: Likewise.
      	* gcc.dg/vect/pr66142.c: Likewise.
      	* gcc.dg/vect/slp-10.c: Likewise.
      	* gcc.dg/vect/slp-11c.c: Likewise.
      	* gcc.dg/vect/slp-12b.c: Likewise.
      	* gcc.dg/vect/slp-18.c: Likewise.
      	* gcc.dg/vect/slp-33.c: Likewise.
      	* gcc.dg/vect/slp-cond-2-big-array.c: Likewise.
      	* gcc.dg/vect/slp-cond-2.c: Likewise.
      	* gcc.dg/vect/vect-cond-10.c: Likewise.
      	* gcc.dg/vect/vect-cond-8.c: Likewise.
      	* gcc.dg/vect/vect-cond-9.c: Likewise.
      	* gcc.dg/vect/vect-float-extend-1.c: Likewise.
      	* gcc.dg/vect/vect-float-truncate-1.c: Likewise.
      
      From-SVN: r253403
      Andreas Krebbel committed
    • Adjust test cases for attributes propagation changes for OMP outlined regions · ebb4badd
      	PR tree-optimization/82374
      	* c-c++-common/goacc/kernels-double-reduction-n.c: Adjust for
      	attributes propagation changes for OMP outlined regions.
      	* c-c++-common/goacc/kernels-double-reduction.c: Likewise.
      	* c-c++-common/goacc/kernels-reduction.c: Likewise.
      
      From-SVN: r253402
      Thomas Schwinge committed
    • PR82413: Mismatched precisions in build_range_check · f95810b5
      build_range_check explicitly allows LOW and HIGH to be a different type
      from EXP, so we need to use w::to_widest when comparing a value based on
      HIGH with a value based on EXP's type.
      
      2017-10-04  Richard Sandiford  <richard.sandiford@linaro.org>
      
      gcc/
      	PR tree-optimization/82413
      	* fold-const.c (build_range_check): Use widest_int when comparing
      	the maximum ETYPE value with HIGH.
      
      gcc/testsuite/
      	PR tree-optimization/82413
      	* g++.dg/pr82413.C: New test.
      
      From-SVN: r253401
      Richard Sandiford committed
    • re PR fortran/60458 (Error message on associate: deferred type parameter and… · 707905d0
      re PR fortran/60458 (Error message on associate: deferred type parameter and requires either the pointer or allocatable attribute)
      
      2017-10-04  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/60458
      	PR fortran/77296
      	* resolve.c (resolve_assoc_var): Deferred character type
      	associate names must not receive an integer conatant length.
      	* symbol.c (gfc_is_associate_pointer): Deferred character
      	length functions also require an associate pointer.
      	* trans-decl.c (gfc_get_symbol_decl): Deferred character
      	length functions or derived type components require the assoc
      	name to have variable string length.
      	* trans-stmt.c (trans_associate_var): Set the string length of
      	deferred string length associate names. The address expression
      	is not needed for allocatable, pointer or dummy targets. Change
      	the comment about defered string length targets.
      
      2017-10-04  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/77296
      	* gfortran.dg/associate_32.f03 : New test.
      
      From-SVN: r253400
      Paul Thomas committed
    • Fix PR82396: qsort comparator non-negative on sorted output · 3e3d1b23
      r253236 broke AArch64 bootstrap. Earlier revision r253071 changed scheduling
      behaviour on AArch64 as autopref scheduling no longer checks the base.
      
      This patch fixes the bootstrap failure and cleans up autopref scheduling.
      The code is greatly simplified.  Sort accesses on the offset first, and
      only if the offsets are the same fall back to other comparisons in
      rank_for_schedule.  This doesn't at all restore the original behaviour
      since we no longer compare the base address, but it now defines a total
      sorting order.  More work will be required to improve the sorting so
      that only loads/stores with the same base are affected.
      
          gcc/
              PR rtl-optimization/82396
              * haifa-sched.c (autopref_multipass_init): Simplify
              initialization.
              (autopref_rank_data): Simplify sort order.
              * sched-int.h (autopref_multipass_data_): Remove
              multi_mem_insn_p, min_offset and max_offset.
      
      From-SVN: r253399
      Wilco Dijkstra committed
    • Fix openacc float reduction testcases · 26596ee5
      2017-10-04  Tom de Vries  <tom@codesourcery.com>
      
      	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-3.c
      	(main): Reduce sum of arr elements.  Assert that hres is exactly
      	representable in 32-bit floating point.
      	* testsuite/libgomp.oacc-c-c++-common/par-loop-comb-reduction-4.c
      	(main): Reduce sum of arr elements.  Assert that hres and hmres are
      	exactly representable in 32-bit floating point.
      	* testsuite/libgomp.oacc-c-c++-common/reduction-7.c (gwv_np_4): Same.
      
      From-SVN: r253398
      Tom de Vries committed
    • re PR c++/78816 ([c++14] Static auto variable usage in generic/variadic lambda fails to compile) · 8bca3f59
      2017-10-04  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/78816
      	* g++.dg/cpp1y/lambda-generic-variadic6.C: New.
      
      From-SVN: r253397
      Paolo Carlini committed
    • re PR tree-optimization/82381 (internal compiler error: qsort checking failed) · 8a8e744e
      	PR tree-optimization/82381
      	* tree-ssa-reassoc.c (sort_by_operand_rank): Check for different
      	oeN->rank first.  Return 1 or -1 if one op is SSA_NAME and the other
      	is not.
      
      From-SVN: r253396
      Jakub Jelinek committed
    • re PR tree-optimization/82374 (#pragma GCC optimize is not applied to openmp-generated functions) · 5c38262d
      	PR tree-optimization/82374
      	* omp-low.c (create_omp_child_function): Copy DECL_ATTRIBUTES,
      	DECL_FUNCTION_SPECIFIC_OPTIMIZATION,
      	DECL_FUNCTION_SPECIFIC_TARGET and DECL_FUNCTION_VERSIONED from
      	current_function_decl to the new decl.
      
      	* gcc.dg/gomp/pr82374.c: New test.
      
      From-SVN: r253395
      Jakub Jelinek committed
    • id-17.f: For ilp32 allow graphite codegen errors and scan for one. · 21375f0d
      2017-10-04  Richard Biener  <rguenther@suse.de>
      
      	* gfortran.dg/graphite/id-17.f: For ilp32 allow graphite codegen
      	errors and scan for one.
      	* gfortran.dg/graphite/id-19.f: Likewise.
      	* gfortran.dg/graphite/pr29832.f90: Likewise.
      	* gfortran.dg/graphite/pr42326-1.f90: Likewise.
      	* gfortran.dg/graphite/pr42326.f90: Likewise.
      	* gfortran.dg/graphite/pr68550-2.f90: Likewise.
      	* gfortran.dg/graphite/run-id-2.f90: Likewise.
      	* gfortran.dg/graphite/run-id-3.f90: Likewise.
      	* gfortran.dg/graphite/pr42393-1.f90: Dump graphite.
      
      From-SVN: r253394
      Richard Biener committed
    • Daily bump. · 86a865a0
      From-SVN: r253393
      GCC Administrator committed
  2. 03 Oct, 2017 12 commits
    • rs6000-builtin.def (BU_FLOAT128_2_HW): Define new helper macro for IEEE float128… · 944e0841
      rs6000-builtin.def (BU_FLOAT128_2_HW): Define new helper macro for IEEE float128 hardware built-in functions.
      
      [gcc]
      2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/rs6000-builtin.def (BU_FLOAT128_2_HW): Define new
      	helper macro for IEEE float128 hardware built-in functions.
      	(SQRTF128_ODD): Add built-in functions with the round-to-odd
      	semantics.
      	(TRUNCF128_ODD): Likewise.
      	(ADDF128_ODD): Likewise.
      	(SUBF128_ODD): Likewise.
      	(MULF128_ODD): Likewise.
      	(DIVF128_ODD): Likewise.
      	(FMAF128_ODD): Likewise.
      	* config/rs6000/rs6000.md (UNSPEC_ROUND_TO_ODD): Rename to
      	UNSPEC_TRUNC_ROUND_TO_ODD.
      	(UNSPEC_TRUNC_ROUND_TO_ODD): Likewise.
      	(UNSPEC_ADD_ROUND_TO_ODD): New unspec codes for the IEEE 128-bit
      	floating point round to odd instructions.
      	(UNSPEC_SUB_ROUND_TO_ODD): Likewise.
      	(UNSPEC_MUL_ROUND_TO_ODD): Likewise.
      	(UNSPEC_DIV_ROUND_TO_ODD): Likewise.
      	(UNSPEC_FMA_ROUND_TO_ODD): Likewise.
      	(UNSPEC_SQRT_ROUND_TO_ODD): Likewise.
      	(trunc<mode>sf2_hw): Change the truncate with round to odd
      	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.
      	(add<mode>3_odd): Add insns for IEEE 128-bit floating point round
      	to odd hardware instructions.
      	(sub<mode>3_odd): Likewise.
      	(mul<mode>3_odd): Likewise.
      	(div<mode>3_odd): Likewise.
      	(sqrt<mode>2_odd): Likewise.
      	(fma<mode>4_odd): Likewise.
      	(fms<mode>4_odd): Likewise.
      	(nfma<mode>4_odd): Likewise.
      	(nfms<mode>4_odd): Likewise.
      	(trunc<mode>df2_odd): Change the truncate with round to odd
      	expansion to use UNSPEC_TRUNC_ROUND_TO_ODD.  Add a generator
      	function.
      	* doc/extend.texi (PowerPC built-in functions): Update documentation
      	for existing IEEE float128-bit built-in functions.  Add built-in
      	functions that generate the IEEE 128-bit floating point round to
      	odd instructions.
      
      [gcc/testsuite]
      2017-10-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/float128-odd.c: New test.
      
      From-SVN: r253389
      Michael Meissner committed
    • re PR c++/70343 (internal compiler error: in tsubst_copy, wrong code with lambda in template fn) · 5bd8ff41
      2017-10-03  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/70343
      	* g++.dg/cpp0x/lambda/lambda-70343.C: New.
      
      From-SVN: r253388
      Paolo Carlini committed
    • Import from libffi master repository. · fbdc3780
      2017-08-31  Tony Reix  <tony.reix@atos.net>
      
              * src/powerpc/aix.S (ffi_call_AIX): Add debugging pseudo-op and
              labels for EH.
              (ffi_call_go_AIX): New function.
              (_GLOBAL__F_libffi_src_powerpc_aix): New EH frame.
              * src/powerpc/aix_closure.S (ffi_closure_ASM): Add debugging
              pseudo-op and labels for EH.
              (ffi_go_closure_ASM): New function.
              (_GLOBAL__F_libffi_src_powerpc_aix_closure): New EH frame.
              * src/powrpc/ffi_darwin.c (ffi_call_go): New function.
              (ffi_prep_go_closure): New function.
              (ffi_closure_helper_common): Rename from ffi_closure_helper_DARWIN.
              (ffi_closure_helper_DARWIN): Call ffi_closure_helper_common.
              (ffi_go_closure_helper_DARWIN): Call ffi_closure_helper_common.
              * src/powerpc/ffitarget.h (FFI_GO_CLOSURES): Define.
      
      From-SVN: r253386
      Tony Reix committed
    • re PR target/82358 (i386/stack-check-11.c fail) · 11e3d45c
      	PR target/82358
      	* gcc.target/i386/stack-check-11.c: Use -mtune=generic.
      
      From-SVN: r253385
      Jeff Law committed
    • simplify-rtx: Remove non-simplifying simplification (PR77729) · a8ccdfa8
      If we have (X&C1)|C2 simplify_binary_operation_1 makes C1 as small as
      possible.  This makes worse code in common cases like when the AND with
      C1 is from a zero-extension.  This patch fixes it by removing this
      transformation (twice).
      
      
      	PR rtl-optimization/77729
      	* simplify-rtx.c (simplify_binary_operation_1): Delete the (X&C1)|C2
      	to (X&(C1&~C2))|C2 transformations.
      
      From-SVN: r253384
      Segher Boessenkool committed
    • [BRIGFE] Fix (more) crash with calls with more than 4 args. · 9c53f040
      It missed a reference which is required because vector expansion
      can move the object to another location.
      
      From-SVN: r253382
      Henry Linjamäki committed
    • io.c (match_wait_element): Correctly match END and EOR tags. · 4f8d1d32
      2017-10-03  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	* io.c (match_wait_element): Correctly match END and EOR tags.
      	* dump-parse-tree.c (show_code_node): Handle EXEC_WAIT.
      
      From-SVN: r253381
      Thomas Koenig committed
    • [PR 82363] Fix thinko in SRA subaccess propagation · 3b7511f9
      2017-10-03  Martin Jambor  <mjambor@suse.cz>
      
      	PR tree-optimization/82363
      	* tree-sra.c (propagate_subaccesses_across_link): In unrecoverable
      	mismatch, mark lacc written regardless of racc.
      
      	testsuite/
      	* gcc.dg/tree-ssa/pr82363.c: New test.
      
      From-SVN: r253380
      Martin Jambor committed
    • re PR tree-optimization/82381 (internal compiler error: qsort checking failed) · 33ff5dda
      	PR tree-optimization/82381
      	* tree-ssa-reassoc.c (sort_by_operand_rank): Don't check
      	stmt_to_insert nor wheather SSA_NAMEs are default defs.
      	Return 1 or -1 if one of bba and bbb is NULL. If bb_rank is equal,
      	fallthrough into reassoc_stmt_dominates_stmt_p.
      
      	* gcc.c-torture/compile/pr82381.c: New test.
      
      From-SVN: r253379
      Jakub Jelinek committed
    • re PR target/82386 (internal compiler error: Segmentation fault on 32-bit powerpc BE targets) · bb81a576
      	PR target/82386
      	* combine.c (combine_instructions): Don't combine in unreachable
      	basic blocks.
      
      	* gcc.dg/pr82386.c: New test.
      
      From-SVN: r253378
      Jakub Jelinek committed
    • ztest.c: #include <errno.h>. · 8398c1df
      	* ztest.c: #include <errno.h>.
      	(TEST_TIMING): Don't define, don't test.
      	(xclock_gettime, xclockid_t): Define if !HAVE_CLOCK_GETTIME.
      	(clockid_t, clock_gettime, CLOCK_REALTIME): Likewise.
      	(ZLIB_CLOCK_GETTIME_ARG): Define.
      	* configure.ac: Change clock_gettime_link to CLOCK_GETTIME_LINK.
      	* Makefile.am: Likewise.
      	* configure, Makefile.in: Rebuild.
      
      From-SVN: r253377
      Ian Lance Taylor committed
    • Daily bump. · 0adaaf00
      From-SVN: r253376
      GCC Administrator committed
  3. 02 Oct, 2017 17 commits