1. 08 Jan, 2016 8 commits
    • re PR tree-optimization/67781 (wrong code generated on big-endian with -O1… · 80e9b3aa
      re PR tree-optimization/67781 (wrong code generated on big-endian with -O1 -fexpensive-optimizations)
      
      2016-01-08  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/
          PR tree-optimization/67781
          * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
          and cmpnop in two steps: first the ones not accessed in original
          gimple expression in a endian independent way and then the ones not
          accessed in the final result in an endian-specific way.
      
          gcc/testsuite/
          PR tree-optimization/67781
          * gcc.c-torture/execute/pr67781.c: New file.
      
      From-SVN: r232154
      Thomas Preud'homme committed
    • re PR tree-optimization/69083 (ICE at -O3 in 64-bit mode on x86_64-linux-gnu… · 262a363f
      re PR tree-optimization/69083 (ICE at -O3 in 64-bit mode on x86_64-linux-gnu (verify_gimple failed))
      
      	PR tree-optimization/69083
      	* tree-vect-slp.c (vect_get_constant_vectors): For
      	VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
      	element type.  If op is fold_convertible_p to vector_type's element
      	type, use NOP_EXPR instead of VCE.
      
      	* gcc.dg/vect/pr69083.c: New test.
      
      From-SVN: r232153
      Jakub Jelinek committed
    • Restrict to linux and gnu targets as not all math.h implementations support the issignaling macro. · 6e1f093f
      Restrict to linux and gnu targets as not all math.h implementations support the
      issignaling macro. Use -fexcess-precision=standard for compiler options. Use fabs()
      only when  __FLT_EVAL_METHOD__ == 0.
      
      gcc/testsuite/
      	* gcc.dg/pr61441.c: Restrict to linux and gnu targets.
      	Use -fexcess-precision=standard for compiler options.
      	Use fabs() only when  __FLT_EVAL_METHOD__ == 0.
      
      From-SVN: r232152
      Sujoy Saraswati committed
    • re PR fortran/69128 (OpenMP workshare problem with SUM()) · 57bf3072
      	PR fortran/69128
      	* trans.h (OMPWS_SCALARIZER_BODY): Define.
      	(OMPWS_NOWAIT): Renumber.
      	* trans-stmt.c (gfc_trans_where_3): Only set OMPWS_SCALARIZER_WS
      	if OMPWS_SCALARIZER_BODY is not set already, and set also
      	OMPWS_SCALARIZER_BODY until the final loop creation.
      	* trans-expr.c (gfc_trans_assignment_1): Likewise.
      	* trans-openmp.c (gfc_trans_omp_workshare): Also clear
      	OMPWS_SCALARIZER_BODY.
      	* trans-array.c (gfc_trans_scalarized_loop_end): Don't create
      	OMP_FOR if OMPWS_SCALARIZER_BODY is set.
      
      	* gfortran.dg/gomp/pr69128.f90: New test.
      
      From-SVN: r232151
      Jakub Jelinek committed
    • re PR c++/69145 (Bogus 'warning: #pragma implementation for ‘...’ appears after file is included') · 53290e07
      	PR c++/69145
      	* files.c (cpp_included_before): If IS_ADHOC_LOC (location), lookup
      	real location from the line_table.
      
      	* g++.dg/ext/pr69145-1.C: New test.
      	* g++.dg/ext/pr69145-2-very-long-filename.cc: New file.
      	* g++.dg/ext/pr69145-2.h: New file.
      
      From-SVN: r232150
      Jakub Jelinek committed
    • shrink-wrap: Once more PRs 67778, 68634, and now 68909 · 52ad5601
      If a candidate PRE cannot get the prologue because a block BB is
      reachable from it, but PRE does not dominate BB, we try again with the
      dominators of PRE.  That "try again" needs to again consider BB though,
      we aren't done with it.
      
      	PR rtl-optimization/67778
      	PR rtl-optimization/68634
      	PR rtl-optimization/68909
      	* shrink-wrap.c (try_shrink_wrapping): Add comment.  Don't pop
      	block from the stack until done with it.  Remove a superfluous
      	bitmap set.  Remove a superfluous bitmap test.
      
      From-SVN: r232148
      Segher Boessenkool committed
    • PR c/68966 - atomic_fetch_* on atomic_bool not diagnosed · 7a127fa7
      gcc/ChangeLog:
      	* doc/extend.texi (__atomic Builtins, __sync Builtins): Document
      	constraint on the type of arguments.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (sync_resolve_size): Reject first argument when it's
      	a pointer to _Bool.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/atomic-fetch-bool.c: New test.
      	* gcc.dg/sync-fetch-bool.c: New test.
      
      From-SVN: r232147
      Martin Sebor committed
    • Daily bump. · c9733b85
      From-SVN: r232146
      GCC Administrator committed
  2. 07 Jan, 2016 14 commits
  3. 06 Jan, 2016 14 commits
  4. 05 Jan, 2016 4 commits
    • re PR target/1078 (Problems with attributes documentation) · d1396c97
      2016-01-05  Sandra Loosemore <sandra@codesourcery.com>
      
      	PR 1078
      	gcc/
      	* doc/extend.texi (RL78 Variable Attributes): New section.
      
      From-SVN: r232092
      Sandra Loosemore committed
    • re PR c/69104 (invalid atomic memory order not diagnosed) · 8d9fdb49
      	PR c/69104
      	* builtins.c (get_memmodel): Use expansion point location rather than
      	the input location.  Call warning_at rather than warning.
      	(expand_builtin_atomic_compare_exchange): Likewise.
      	(expand_builtin_atomic_load): Likewise.
      	(expand_builtin_atomic_store): Likewise.
      	(expand_builtin_atomic_clear): Likewise.
      
      	* gcc.dg/atomic-invalid-2.c: New.
      
      From-SVN: r232090
      Marek Polacek committed
    • libiberty: {count,dup,write}argv: constify argv input slightly · 66f49f07
      Would be more useful if we could use "const char * const *", but there's
      a long standing bug where gcc warns about incompatible pointers when you
      try to pass in "char **".  We can at least constify the array itself as
      gcc will not warn in that case.
      
      From-SVN: r232089
      Mike Frysinger committed
    • Use vector_operand on SSE with 16b memory operand · acf93f1e
      Add vector_operand, which is vector_memory_operand or register_operand,
      and use it, instead of nonimmediate_operand, in SSE patterns with 16-byte
      memory operand.
      
      gcc/
      
      	PR target/68991
      	* config/i386/i386.c (ix86_expand_vector_logical_operator):
      	Replace nonimmediate_operand with vector_operand.
      	* config/i386/predicates.md (vector_operand): New predicate.
      	(general_vector_operand): Replace nonimmediate_operand with
      	vector_operand.
      	* config/i386/sse.md: Replace nonimmediate_operand with
      	vector_operand and m constraint with Bm constraint on SSE
      	patterns with 16-byte memory operand.
      	* config/i386/subst.md (round_nimm_predicate): Replace
      	nonimmediate_operand with vector_operand.
      	(round_saeonly_nimm_predicate): Likewise.
      	(round_saeonly_nimm_scalar_predicate): New.
      
      gcc/testsuite/
      
      	PR target/68991
      	* gcc.target/i386/pr68991.c: New test.
      
      From-SVN: r232088
      H.J. Lu committed