1. 16 Mar, 2018 17 commits
  2. 15 Mar, 2018 20 commits
  3. 14 Mar, 2018 3 commits
    • re PR target/83451 (FAIL: gfortran.dg/matmul_10.f90 -O3 -fomit-frame-pointer… · 82e18598
      re PR target/83451 (FAIL: gfortran.dg/matmul_10.f90   -O3 -fomit-frame-pointer -funroll-loops -fpeel-loops -ftracer -finline-functions (ICE))
      
      	PR target/83451
      	* config/pa/pa.c (pa_emit_move_sequence):  Always emit secondary reload
      	insn for floating-point loads and stores.
      
      From-SVN: r258541
      John David Anglin committed
    • PR libstdc++/78420 Make std::less etc. yield total order for pointers · 0b3ec8f4
      In order for std::less<T*> etc. to meet the total order requirements of
      [comparisons] p2 we need to cast unrelated pointers to uintptr_t before
      comparing them. Those casts aren't allowed in constant expressions, so
      only cast when __builtin_constant_p says the result of the comparison is
      not a compile-time constant (because the arguments are not constants, or
      the result of the comparison is unspecified). When the result is
      constant just compare the pointers directly without casting.
      
      This ensures that the function can be called in constant expressions
      with suitable arguments, but still yields a total order even for
      otherwise unspecified pointer comparisons.
      
      For std::less<void> etc. add new overloads for pointers, which use
      std::less<common_type_t<T*,U*>> directly. Also change the generic
      overloads to detect when the comparison would call a built-in relational
      operator with pointer operands, and dispatch that case to the
      corresponding specialization for void pointers.
      
      	PR libstdc++/78420
      	* include/bits/stl_function.h (greater<_Tp*>, less<_Tp*>)
      	(greater_equal<_Tp*>, less_equal<_Tp>*): Add partial specializations
      	to ensure total order for pointers.
      	(greater<void>, less<void>, greater_equal<void>, less_equal<void>):
      	Add operator() overloads for pointer arguments and make generic
      	overloads dispatch to new _S_cmp functions when comparisons would
      	use built-in operators for pointers.
      	* testsuite/20_util/function_objects/comparisons_pointer.cc: New.
      
      From-SVN: r258540
      Jonathan Wakely committed
    • re PR target/84422 (ICE on various builtin test functions when compiled with -mcpu=power7) · dcdfd478
      gcc/ChangeLog:
      
      2018-03-14  Carl Love  <cel@us.ibm.com>
      
      	PR target/84422
      	* config/rs6000/rs6000-builtin.def: Change expansion for
      	VMULESW to BU_P8V_AV_2.
      	Change expansion for VMULEUW to BU_P8V_AV_2.
      	* config/rs6000/rs6000.c: Change
      	ALTIVEC_BUILTIN_VMULESW to P8V_BUILTIN_VMULESW.
      	Change ALTIVEC_BUILTIN_VMULEUW to P8V_BUILTIN_VMULEUW.
      	Change ALTIVEC_BUILTIN_VMULOSW to P8V_BUILTIN_VMULOSW.
      	Change ALTIVEC_BUILTIN_VMULOUW to P8V_BUILTIN_VMULOUW.
      	* config/rs6000/rs6000-c.c: Change
      	ALTIVEC_BUILTIN_VMULESW to P8V_BUILTIN_VMULESW.
      	Change ALTIVEC_BUILTIN_VMULEUW to P8V_BUILTIN_VMULEUW.
      	Change ALTIVEC_BUILTIN_VMULOSW to P8V_BUILTIN_VMULOSW.
      	Change ALTIVEC_BUILTIN_VMULOUW to P8V_BUILTIN_VMULOUW.
      
      From-SVN: r258539
      Carl Love committed