1. 19 Mar, 2018 10 commits
    • [PR81647][AARCH64] Fix handling of Unordered Comparisons in aarch64-simd.md · f7d884d4
      This patch fixes the inconsistent behavior observed at -O3 for the unordered
      comparisons. According to the online docs (https://gcc.gnu.org/onlinedocs
      /gcc-7.2.0/gccint/Unary-and-Binary-Expressions.html), all of the following
      should not raise an FP exception:
      - UNGE_EXPR
      - UNGT_EXPR
      - UNLE_EXPR
      - UNLT_EXPR
      - UNEQ_EXPR
      Also ORDERED_EXPR and UNORDERED_EXPR should only return zero or one.
      
      The aarch64-simd.md handling of these were generating exception raising
      instructions such as fcmgt. This patch changes the instructions that are
      emitted in order to not give out the exceptions. We first check each
      operand for NaNs and force any elements containing NaN to zero before using
      them in the compare.
      
      Example: UN<cc> (a, b) -> UNORDERED (a, b)
      			  | (cm<cc> (isnan (a) ? 0.0 : a, isnan (b) ? 0.0 : b))
      
      
      The ORDERED_EXPR is now handled as (cmeq (a, a) & cmeq (b, b)) and
      UNORDERED_EXPR as ~ORDERED_EXPR and UNEQ as (~ORDERED_EXPR | cmeq (a,b)).
      
      ChangeLog Entries:
      
      *** gcc/ChangeLog ***
      
      2018-03-19  Sudakshina Das  <sudi.das@arm.com>
      
      	PR target/81647
      	* config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Modify
      	instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED.
      
      *** gcc/testsuite/ChangeLog ***
      
      2018-03-19  Sudakshina Das  <sudi.das@arm.com>
      
      	PR target/81647
      	* gcc.target/aarch64/pr81647.c: New.
      
      From-SVN: r258653
      Sudakshina Das committed
    • * es.po, sv.po: Update. · a84677b8
      From-SVN: r258651
      Joseph Myers committed
    • RISC-V: Fix bootstrap failure. · c0d3d1b6
      	gcc/
      	PR bootstrap/84856
      	* config/riscv/riscv.c (riscv_function_arg_boundary): Use
      	PREFERRED_STACK_BOUNDARY instead of STACK_BOUNDARY.
      	(riscv_first_stack_step): Likewise.
      	(riscv_option_override): Use STACK_BOUNDARY instead of
      	MIN_STACK_BOUNDARY.
      	* config/riscv/riscv.h (STACK_BOUNDARY): Renamed from
      	MIN_STACK_BOUNDARY.
      	(BIGGEST_ALIGNMENT): Set to 128.
      	(PREFERRED_STACK_BOUNDARY): Renamed from STACK_BOUNDARY.
      	(RISCV_STACK_ALIGN): Use PREFERRED_STACK_BOUNDARY instead of
      	STACK_BOUNDARY.
      
      From-SVN: r258650
      Jim Wilson committed
    • re PR tree-optimization/84933 (ICE in set_value_range, at tree-vrp.c:288 since r257852) · be742eb4
      2018-03-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84933
      	* tree-vrp.c (set_and_canonicalize_value_range): Treat out-of-bound
      	values as -INF/INF when canonicalizing an ANTI_RANGE to a RANGE.
      
      	* g++.dg/pr84933.C: New testcase.
      
      From-SVN: r258646
      Richard Biener committed
    • re PR tree-optimization/84859 (bogus -Warray-bounds on a memcpy in a loop) · 68d93a19
      2018-03-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84859
      	* tree-ssa-phiopt.c (single_trailing_store_in_bb): New function.
      	(cond_if_else_store_replacement): Perform sinking operation on
      	single-store BBs regardless of MAX_STORES_TO_SINK setting.
      	Generalize what a BB with a single eligible store is.
      
      	* gcc.dg/tree-ssa/pr84859.c: New testcase.
      	* gcc.dg/tree-ssa/pr35286.c: Disable cselim.
      	* gcc.dg/tree-ssa/split-path-6.c: Likewise.
      	* gcc.dg/tree-ssa/split-path-7.c: Likewise.
      
      From-SVN: r258645
      Richard Biener committed
    • [C++/84812] ICE with local fn decl · 8f3284a4
      https://gcc.gnu.org/ml/gcc-patches/2018-03/msg00872.html
      	PR c++/84812
      	* name-lookup.c (set_local_extern_decl_linkage): Defend against
      	ambiguous lookups.
      
      	PR c++/84812
      	* g++.dg/lookup/pr84812.C: New.
      
      From-SVN: r258644
      Nathan Sidwell committed
    • re PR tree-optimization/84929 (ICE at -O3 on valid code on x86_64-linux-gnu:… · 25f91fda
      re PR tree-optimization/84929 (ICE at -O3 on valid code on x86_64-linux-gnu: tree check: expected polynomial_chrec, have nop_expr in analyze_siv_subscript_cst_affine, at tree-data-ref.c:3018)
      
      2018-03-19  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/84929
      	* tree-data-ref.c (analyze_siv_subscript_cst_affine): Guard
      	chrec_is_positive against non-chrec arg.
      
      	* gcc.dg/torture/pr84929.c: New testcase.
      
      From-SVN: r258643
      Richard Biener committed
    • re PR target/84711 (AArch32 big-endian fails when taking subreg of a vector mode to a scalar mode.) · 8455b50e
      gcc/
      2018-03-19  Tamar Christina  <tamar.christina@arm.com>
      
      	PR target/84711
      	* config/arm/arm.c (arm_can_change_mode_class): revert r258554.
             
      gcc/testsuite/
      2018-03-19  Tamar Christina  <tamar.christina@arm.com>
      
      	PR target/84711
      	* gcc.target/arm/big-endian-subreg.c: Delete.
      
      From-SVN: r258642
      Tamar Christina committed
    • re PR fortran/84931 (Expansion of array constructor with constant implied-do-object goes sideways) · 949d0060
      2018-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/84931
      	* simplify.c (gfc_convert_constant): Correctly handle iterators
      	for type conversion.
      
      2018-03-19  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/84931
      	* gfortran.dg/array_constructor_52.f90: New test.
      
      From-SVN: r258641
      Thomas Koenig committed
    • Daily bump. · 43bb589d
      From-SVN: r258640
      GCC Administrator committed
  2. 18 Mar, 2018 11 commits
  3. 17 Mar, 2018 6 commits
  4. 16 Mar, 2018 13 commits