1. 09 Sep, 2016 13 commits
  2. 08 Sep, 2016 4 commits
  3. 07 Sep, 2016 8 commits
    • Correct libgcc complex multiply excess precision handling (PR libgcc/77519). · d758aeb5
      libgcc complex multiply is meant to eliminate excess
      precision from certain internal values by forcing them to memory in
      exactly those cases where the type has excess precision.  But in
      https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01894.html I
      accidentally inverted the logic so that values get forced to memory in
      exactly the cases where it's not needed.  (This is a pessimization in
      the no-excess-precision case, in principle could lead to bad results
      depending on code generation in the excess-precision case.  Note: I do
      not have a test demonstrating bad results.)
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.  Code size
      went down on x86_64 as expected; old sizes:
      
         text    data     bss     dec     hex filename
          887       0       0     887     377 _muldc3.o
          810       0       0     810     32a _mulsc3.o
         2032       0       0    2032     7f0 _multc3.o
          983       0       0     983     3d7 _mulxc3.o
      
      New sizes:
      
          847       0       0     847     34f _muldc3.o
          770       0       0     770     302 _mulsc3.o
         2032       0       0    2032     7f0 _multc3.o
          951       0       0     951     3b7 _mulxc3.o
      
      	PR libgcc/77519
      	* libgcc2.c (NOTRUNC): Invert settings.
      
      From-SVN: r240033
      Joseph Myers committed
    • PR middle-end/77475: Fix AArch64 testcases. · 34718542
      2016-09-07  Jakub Jelinek  <jakub@redhat.com>
      
      	PR middle-end/77475
      	* gcc.target/aarch64/arch-diagnostics-1.c: Expect error on line 0.
      	* gcc.target/aarch64/arch-diagnostics-2.c: Likewise.
      	* gcc.target/aarch64/cpu-diagnostics-1.c: Likewise.
      	* gcc.target/aarch64/cpu-diagnostics-2.c: Likewise.
      	* gcc.target/aarch64/cpu-diagnostics-3.c: Likewise.
      	* gcc.target/aarch64/cpu-diagnostics-4.c: Likewise.
      
      From-SVN: r240030
      Jakub Jelinek committed
    • Move class substring_loc from c-family into gcc · e5106e27
      gcc/ChangeLog:
      	* Makefile.in (OBJS): Add substring-locations.o.
      	* langhooks-def.h (class substring_loc): New forward decl.
      	(lhd_get_substring_location): New decl.
      	(LANG_HOOKS_GET_SUBSTRING_LOCATION): New macro.
      	(LANG_HOOKS_INITIALIZER): Add LANG_HOOKS_GET_SUBSTRING_LOCATION.
      	* langhooks.c (lhd_get_substring_location): New function.
      	* langhooks.h (class substring_loc): New forward decl.
      	(struct lang_hooks): Add field get_substring_location.
      	* substring-locations.c: New file, taking definition of
      	format_warning_va and format_warning_at_substring from
      	c-family/c-format.c, making them non-static.
      	* substring-locations.h (class substring_loc): Move class here
      	from c-family/c-common.h.  Add and rewrite comments.
      	(format_warning_va): New decl.
      	(format_warning_at_substring): New decl.
      	(get_source_location_for_substring): Add comment.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (get_cpp_ttype_from_string_type): Handle being passed
      	a POINTER_TYPE.
      	(substring_loc::get_location): Move to substring-locations.c,
      	keeping implementation as...
      	(c_get_substring_location): New function, from the above, reworked
      	to use accessors rather than member lookup.
      	* c-common.h (class substring_loc): Move to substring-locations.h,
      	replacing with a forward decl.
      	(c_get_substring_location): New decl.
      	* c-format.c: Include "substring-locations.h".
      	(format_warning_va): Move to substring-locations.c.
      	(format_warning_at_substring): Likewise.
      
      gcc/c/ChangeLog:
      	* c-lang.c (LANG_HOOKS_GET_SUBSTRING_LOCATION): Use
      	c_get_substring_location for this new langhook.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_test_string_literals.c: Include
      	"substring-locations.h".
      
      From-SVN: r240028
      David Malcolm committed
    • i386.c: Add 'U' suffix to processor feature bits to avoid -Wnarrowing warning. · 7100c1f2
      	* config/i386/i386.c: Add 'U' suffix to processor feature bits
      	to avoid -Wnarrowing warning.
      	* config/i386/x86-tune.def: Likewise for DEF_TUNE selector bitmasks.
      	* opts.c: Likewise for SANITIZER_OPT bitmasks.
      
      From-SVN: r240027
      Eric Gallager committed
    • Improve aarch64_legitimize_address - avoid splitting the offset if it is supported. · ff0f3f1c
      Improve aarch64_legitimize_address - avoid splitting the offset if it is
      supported.  When we do split, take the mode size into account.  BLKmode
      falls into the unaligned case but should be treated like LDP/STP.
      This improves codesize slightly due to fewer base address calculations:
      
      int f(int *p) { return p[5000] + p[7000]; }
      
      Now generates:
      
      f:
      	add	x0, x0, 16384
      	ldr	w1, [x0, 3616]
      	ldr	w0, [x0, 11616]
      	add	w0, w1, w0
      	ret
      
      instead of:
      
      f:
      	add	x1, x0, 16384
      	add	x0, x0, 24576
      	ldr	w1, [x1, 3616]
      	ldr	w0, [x0, 3424]
      	add	w0, w1, w0
      	ret
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_legitimize_address):
      	Avoid use of base_offset if offset already in range.
      
      From-SVN: r240026
      Wilco Dijkstra committed
    • re PR tree-optimization/77450 (ICE: in verify_ssa, at tree-ssa.c:1016 on very… · ca235a85
      re PR tree-optimization/77450 (ICE: in verify_ssa, at tree-ssa.c:1016 on very simple code with vectors)
      
      2016-09-07  Richard Biener  <rguenther@suse.de>
      
      	PR c/77450
      	* c-c++-common/vector-subscript-8.c: Move ..
      	* gcc.dg/pr77450.c: ... here.
      
      From-SVN: r240025
      Richard Biener committed
    • Daily bump. · cdc65c28
      From-SVN: r240022
      GCC Administrator committed
  4. 06 Sep, 2016 11 commits
  5. 05 Sep, 2016 4 commits