Commit Graph

144161 Commits

Author SHA1 Message Date
Jeff Law
8981d7127b re PR tree-optimization/68541 (Path splitting causes if-conversion miss)
PR tree-optimization/68541
	* gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
	(count_stmts_in_block): New function.
	(poor_ifcvt_candidate_code): Likewise.
	(is_feasible_trace): Add some heuristics to determine when path
	splitting is profitable.
	(find_block_to_duplicate_for_splitting_paths): Make sure the graph
	is a diamond with a single exit.

        PR tree-optimization/68541
	* gcc.dg/tree-ssa/split-path-2.c: New test.
	* gcc.dg/tree-ssa/split-path-3.c: New test.
	* gcc.dg/tree-ssa/split-path-4.c: New test.
	* gcc.dg/tree-ssa/split-path-5.c: New test.
	* gcc.dg/tree-ssa/split-path-6.c: New test.
	* gcc.dg/tree-ssa/split-path-7.c: New test.

From-SVN: r233191
2016-02-05 16:49:08 -07:00
Martin Sebor
46cb933227 PR c++/69662 - -Wplacement-new on allocated one element array members
gcc/testsuite/ChangeLog:
	PR c++/69662
	* g++.dg/warn/Wplacement-new-size-1.C: New test.
	* g++.dg/warn/Wplacement-new-size-2.C: New test.

gcc/cp/ChangeLog:
	PR c++/69662
	* init.c (find_field_init): New function.
	(warn_placement_new_too_small): Call it.  Handle one-element arrays
        at ends of structures special.

gcc/c-family/ChangeLog:
	PR c++/69662
	* c.opt (Warning options): Update -Wplacement-new to take
        an optional argument.

gcc/ChangeLog:
	PR c++/69662
	* doc/invoke.texi: Update -Wplacement-new to take an optional
        argument.

From-SVN: r233190
2016-02-05 15:27:37 -07:00
Richard Henderson
be2083eab7 re PR middle-end/69643 (Address space discarded)
PR c/69643

  * tree.c (tree_nop_conversion_p): Do not strip casts into or
  out of non-standard address spaces.
testsuite/
  * gcc.target/i386/addr-space-4.c: New.
  * gcc.target/i386/addr-space-5.c: New.

From-SVN: r233189
2016-02-05 14:05:17 -08:00
Mikael Morin
711d7c231f Fix fortran scalar elemental dependency mishandling
PR fortran/66089
gcc/fortran/
	* trans-expr.c (expr_is_variable, gfc_expr_is_variable): Rename
	the former to the latter and make it non-static.  Update callers.
	* gfortran.h (gfc_expr_is_variable): New declaration.
	(struct gfc_ss_info): Add field needs_temporary.
	* trans-array.c (gfc_scalar_elemental_arg_saved_as_argument):
	Tighten the condition on aggregate expressions with a check
	that the expression is a variable and doesn't need a temporary.
	(gfc_conv_resolve_dependency): Add intermediary reference variable.
	Set the needs_temporary field.
gcc/testsuite/
	* gfortran.dg/elemental_dependency_6.f90: New.

From-SVN: r233188
2016-02-05 21:41:15 +00:00
Jakub Jelinek
861c7bcd62 re PR rtl-optimization/69691 (wrong code at -O2 on x86_64-linux-gnu)
PR rtl-optimization/69691
	* lra-eliminations.c (move_plus_up): Don't add the addend twice.

	* gcc.c-torture/execute/pr69691.c: New test.

From-SVN: r233187
2016-02-05 22:13:43 +01:00
Jakub Jelinek
b5c1c98852 re PR c++/69628 (Conditional jump or move depends on uninitialised value(s) in lex_charconst(cpp_token const*) (c-lex.c:1252))
PR c++/69628
	* charset.c (cpp_interpret_charconst): Clear *PCHARS_SEEN
	and *UNSIGNEDP if bailing out early due to errors.

	* g++.dg/parse/pr69628.C: New test.

From-SVN: r233186
2016-02-05 20:39:48 +01:00
Jason Merrill
0fd9d4921f Make issues similar to PR c++/68948 fail loudly.
* semantics.c (finish_expr_stmt): If expr is error_mark_node,
	make sure we've seen_error().

From-SVN: r233183
2016-02-05 12:52:07 -05:00
Uros Bizjak
f7dfa966ee asan.c: Move to ...
* gcc.dg/sancov/asan.c: Move to ...
	* gcc.dg/asan/sancov-1.c: ... here.

From-SVN: r233182
2016-02-05 17:41:36 +01:00
Uros Bizjak
9b143e6488 pr69577.c: Require avx_runtime target.
* gcc.target/i386/pr69577.c: Require avx_runtime target.

From-SVN: r233181
2016-02-05 17:36:38 +01:00
H.J. Lu
f5d4b899a5 Add a testcase for PR target/69677
PR target/69677
	* gcc.target/i386/pr69677.c: New test.

From-SVN: r233180
2016-02-05 08:24:06 -08:00
Pat Haugen
10ecae7407 crypto.md (crypto_vpermxor_<mode>): Correct insn type.
* config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
	* config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
	(*ieee128_mfvsrd_64bit): Likewise.
	(*ieee128_mfvsrd_32bit): Likewise.

From-SVN: r233179
2016-02-05 15:25:39 +00:00
Ilya Enkovich
fd9794e37a re PR target/69369 (internal compiler error: in remove_unreachable_nodes, at ipa.c:457)
gcc/

2016-02-05  Ilya Enkovich  <enkovich.gnu@gmail.com>

	PR target/69369
	Revert r232560:
	2016-01-19  Jan Hubicka  <hubicka@ucw.cz>

	* cgraphunit.c (cgraph_node::reset): Clear thunk info and
	instrumented_version.

From-SVN: r233177
2016-02-05 14:41:00 +00:00
Patrick Palka
76c85fbbe7 Fix PR c++/68948 (wrong code generation due to invalid constructor call)
gcc/cp/ChangeLog:

	PR c++/68948
	* pt.c (tsubst_baselink): Diagnose an invalid constructor call
	if lookup_fnfields returns NULL_TREE and the name being looked
	up has the form A::A.

gcc/testsuite/ChangeLog:

	PR c++/68948
	* g++.dg/template/pr68948.C: New test.

From-SVN: r233176
2016-02-05 14:36:44 +00:00
Jeremy Bennett
dfcfe1846a invoke.texi (Optimize Options): In table of --param options rename second occurrence of tracer-min-branch-ratio...
2016-01-05  Jeremy Bennett  <jeremy.bennett@embecosm.com>

        * doc/invoke.texi (Optimize Options): In table of --param options
        rename second occurrence of tracer-min-branch-ratio to
        tracer-min-branch-probability, rename
        tracer-min-branch-ratio-feedback to
        tracer-min-branch-probability-feedback and clarify description,
        rename sched-spec-state-edge-prob-cutoff to
        sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
        to selsched-insns-to-rename, rename lto-minpartition to
        lto-min-partition, delete reorder-blocks-duplicate and
        reorder-blocks-duplicate-feedback.

From-SVN: r233175
2016-02-05 14:27:26 +00:00
Joseph Myers
5fe98942b0 * fi.po: Update.
From-SVN: r233174
2016-02-05 13:24:28 +00:00
Andreas Krebbel
4894733ddf S/390: Remove superfluous loops.
gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_register_info_set_ranges): Remove
	superfluous loops.

From-SVN: r233173
2016-02-05 11:38:52 +00:00
Dominik Vogt
44b325d248 S/390: Correct documentation
gcc/ChangeLog

	* doc/extend.texi: S/390: Correct some typos.

From-SVN: r233172
2016-02-05 10:36:21 +00:00
Dominik Vogt
f181bf9088 S/390: Do not require -march=z13 on s390 but only on s390x.
gcc/testsuite/ChangeLog

	* gcc.dg/tree-ssa/ssa-dom-cse-2.c: Remove -march=z13 for s390
	(only necessary on s390x).

From-SVN: r233171
2016-02-05 10:33:21 +00:00
Dominik Vogt
acc046464c libstdc++: S/390: Add missing baseline_symbols.txt for s390x/-m31.
The attached patch copies the existing 
libstdc++-v3/config/abi/post/s390-linux-gnu/baseline_symbols.txt
to .../s390x-linux-gnu/32/baseline_symbols.txt.  This fixes the
abi test failure on s390x with -m31.

libstdc++-v3/ChangeLog

	* config/abi/post/s390x-linux-gnu/32/baseline_symbols.txt (FUNC):
	New file.  Copied over from s390-linux-gnu.

From-SVN: r233170
2016-02-05 10:25:08 +00:00
Andreas Krebbel
15288e9a94 S/390: Fix 64 bit sibcall
This fixes a problem revealed during the split-stack work:
https://gcc.gnu.org/ml/gcc-patches/2016-02/msg00322.html

gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	* config/s390/s390.c (s390_emit_call): Add missing 64 bit check.

From-SVN: r233169
2016-02-05 10:10:35 +00:00
Andreas Krebbel
82379bdf02 S/390: Fix r6 vararg handling.
This patch fixes a problem introduced with the GPR into FPR slot save
feature for leaf functions.

r6 is argument register as well as call-saved.  Currently we might
decide that it will be a candidate for being saved into an FPR.  If it
turns out later that r6 also needs to be saved due to being required
for vararg we undo the FPR save decision and put it on the stack
again.  Unfortunately the code did not adjust the GPR restore range
accordingly so that the register does not get restored in the load
multiple.

This fixes the following testcases on s390x:

< FAIL: libgomp.c/doacross-1.c execution test
< FAIL: libgomp.c/doacross-2.c execution test
< FAIL: libgomp.c/doacross-3.c execution test
< FAIL: libgomp.c++/doacross-1.C execution test

gcc/ChangeLog:

2016-02-05  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

	    PR target/69625
	    * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New
	    defines.
	    (s390_register_info_gprtofpr): Use new macros above.
	    (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
	    its name.
	    (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
	    its name.  Adjust restore and save gpr ranges.
	    (s390_register_info_set_ranges): New function.
	    (s390_register_info): Use new macros above.  Call
	    s390_register_info_set_ranges.
	    (s390_optimize_register_info): Likewise.
	    (s390_hard_regno_rename_ok): Use new macros.
	    (s390_hard_regno_scratch_ok): Likewise.
	    (s390_emit_epilogue): Likewise.
	    (s390_can_use_return_insn): Likewise.
	    (s390_optimize_prologue): Likewise.
	    * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.

From-SVN: r233168
2016-02-05 10:08:17 +00:00
Jakub Jelinek
5421e2cab2 re PR bootstrap/69677 (bootstrap failed with --with-arch=corei7 --with-cpu=corei7)
PR bootstrap/69677
	* config/i386/i386.c (convert_scalars_to_vector): Readd stack
	alignment fixes.
	(ix86_option_override_internal): Disable TARGET_STV even for
	-m{incoming,preferred}-stack-boundary=3.

From-SVN: r233167
2016-02-05 10:23:03 +01:00
H.J. Lu
714fb282d8 Compile pr69454-2.c with -msse2 -mno-accumulate-outgoing-args
2016-02-04  H.J. Lu  <hongjiu.lu@intel.com>

	* gcc.target/i386/pr69454-2.c: Compile with -msse2
	-mno-accumulate-outgoing-args.

From-SVN: r233166
2016-02-04 19:06:40 -08:00
Trevor Saunders
c59da7f351 obsolete the deprecated rtems targets
gcc/ChangeLog:

2016-02-03  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* config.gcc: Mark deprecated rtems targets as obsolete.

From-SVN: r233165
2016-02-05 01:40:39 +00:00
GCC Administrator
f8d50b5756 Daily bump.
From-SVN: r233164
2016-02-05 00:16:12 +00:00
Jonathan Wakely
3555173fb9 Test for C99 stdlib.h functions with -std=c++98
PR libstdc++/69626
	* acinclude.m4 (GLIBCXX_ENABLE_C99): Check C99 stdlib.h functions
	with -std=c++98 and define _GLIBCXX98_USE_C99_STDLIB.
	* config.h.in: Regenerate.
	* configure: Regenerate.
	* testsuite/21_strings/c_strings/char/69626.cc: New.

From-SVN: r233161
2016-02-04 23:47:21 +00:00
Segher Boessenkool
171dc40ede combine: distribute_notes again (PR69567, PR64682)
As it happens the patch I did over a year ago for PR64682 isn't quite
correct.  This is PR69567.  This fixes it.


	PR rtl-optimization/64682
	PR rtl-optimization/69567
	* combine.c (distribute_notes) <REG_DEAD>: Place the death note
	before I2 only if the register is both used and set in I2.

From-SVN: r233159
2016-02-05 00:09:51 +01:00
Patrick Palka
618d6c1c4d Fix constexpr evaluation of comparisons involving pointer-to-members
gcc/cp/ChangeLog:

	* constexpr.c (cxx_eval_binary_expression): Fold equality
	comparisons involving PTRMEM_CSTs.

gcc/testsuite/ChangeLog:

	* g++.dg/cpp0x/constexpr-ptrmem5.C: New test.

From-SVN: r233158
2016-02-04 22:54:52 +00:00
DJ Delorie
d094128b5b * config/msp430/msp430.c (msp430_start_function): Add function type.
From-SVN: r233157
2016-02-04 17:54:30 -05:00
Ian Lance Taylor
d5bc1c65ef libgo: bump version number for upgrade to 1.6rc1
Reviewed-on: https://go-review.googlesource.com/19233

From-SVN: r233156
2016-02-04 22:54:20 +00:00
Jakub Jelinek
1066e9b533 re PR c/69669 (ICE with enum __attribute__((mode(QI))))
PR c/69669
	* c-decl.c (finish_enum): When honoring mode attribute,
	make sure to use proper TYPE_MIN_VALUE and TYPE_MAX_VALUE.

	* c-c++-common/pr69669.c: New test.

From-SVN: r233154
2016-02-04 23:17:05 +01:00
Jakub Jelinek
25f738f210 re PR fortran/69368 (spec2006 test case 416.gamess fails with the g++ 6.0 compiler starting with r232508)
PR fortran/69368
	* tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.

From-SVN: r233153
2016-02-04 23:15:33 +01:00
Uros Bizjak
cfca2d6deb re PR target/69577 (wrong code with -fno-forward-propagate -mavx and 128bit arithmetics since r215450)
PR rtl-optimization/69577
	Revert:
	2015-10-29  Richard Henderson  <rth@redhat.com>

	PR target/68124
	PR rtl-opt/67609
	* config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
	sse check to the exact conditions of PR 67609.

From-SVN: r233152
2016-02-04 23:10:56 +01:00
Jonathan Wakely
15ebf37974 Regenerate front page of libstdc++ HTML docs
* doc/html/index.html: Regenerate.

From-SVN: r233151
2016-02-04 21:46:19 +00:00
Jonathan Wakely
dbcda3ee8e Update copyright years in libstdc++ manual and add link
* doc/xml/manual/containers.xml: Add cross-reference to Dual ABI.
	* doc/xml/manual/spine.xml: Update copyright years and author blurb.
	* doc/html/*: Regenerate.

From-SVN: r233150
2016-02-04 21:43:40 +00:00
Michael Meissner
76255d0d5a re PR target/69667 (ppc64le -mlra: ICE: Max. number of generated reload insns per insn is achieved (90))
[gcc]
2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/69667
	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
	instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
	not allowed into the traditional Altivec registers.
	(movtd_64bit_nodm): Likewise.
	(mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.

[gcc/testsuite]
2016-02-04  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/69667
	* g++.dg/pr69667.C: New file.

From-SVN: r233147
2016-02-04 21:05:14 +00:00
David Malcolm
0168b518a0 Fix jit crash on aarch64
gcc/ChangeLog:
	* config/aarch64/cortex-a57-fma-steering.c
	(aarch64_register_fma_steering): Remove "static" from arguments
	to register_pass.

From-SVN: r233146
2016-02-04 19:30:28 +00:00
Wilco Dijkstra
e0b059b1dd This patch fixes an exponential issue in ccmp.c.
This patch fixes an exponential issue in ccmp.c.  When deciding which ccmp
expansion to use, the tree nodes gs0 and gs1 are fully expanded twice.  If
they contain more CCMP opportunities, their subtrees are also expanded twice.
When the trees are complex the expansion takes exponential time and memory.
As a workaround in GCC6 compute the cost of the first expansion early, and
only try the alternative expansion if the cost is low enough.  This rarely
affects real code, eg. SPECINT2006 has identical codesize.

2016-02-04  Wilco Dijkstra  <wdijkstr@arm.com>

    gcc/
	PR target/69619
	* ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
	twice when complex.

    gcc/testsuite/
	PR target/69619
	* gcc.dg/pr69619.c: Add new test.

From-SVN: r233145
2016-02-04 18:23:35 +00:00
Mike Frysinger
56f3bb3822 gcc: invoke: delete -mno-fma4 docs
We don't document the -mno-xxx variants for other flags here, and the
paragraph here specifically says "Each has a corresponding -mno- option
to disable use of these instructions".  Drop the -mno-fma4 line.

From-SVN: r233144
2016-02-04 17:32:11 +00:00
Richard Sandiford
2692b5c857 PR 69577: Invalid RA of destination subregs
In PR 69577 we have:

      A: (set (reg:V2TI X) ...)
      B: (set (subreg:TI (reg:V2TI X) 0) ...)

X gets allocated to an AVX register, as usual for V2TI.  The problem is
that the movti for B doesn't then preserve the other half of X, even
though the subreg semantics are supposed to guarantee that.

If instead the same value had been set by:

      A': (set (subreg:TI (reg:V2TI X) 16) ...)
      B: (set (subreg:TI (reg:V2TI X) 0) ...)

the subreg in A' would have prevented the use of AVX registers for X,
since you can't directly access the high part.

IMO these are really the same thing.  An alternative way to view it
is that the original sequence is equivalent to:

      A: (set (reg:V2TI X) ...)
      B1: (set (subreg:TI (reg:V2TI X) 0) ...)
      B2: (set (subreg:TI (reg:V2TI X) 16) (subreg:TI (reg:V2TI X) 16))

in which B2 is a no-op and therefore implicit.  The handling ought
to be the same regardless of whether there is an rtl insn that
explicitly assigns to (subreg:TI (reg:V2TI X) 16).

This patch implements that idea.  Hopefully the comments explain
what's going on.

Tested on x86_64-linux-gnu, aarch64-linux-gnu and arm-linux-gnueabihf.

gcc/
	PR rtl-optimization/69577
	* reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
	(find_subregs_of_mode): Update accordingly.  Iterate over partial
	definitions.

gcc/testsuite/
	PR rtl-optimization/69577
	* gcc.target/i386/pr69577.c: New test.

From-SVN: r233143
2016-02-04 15:01:15 +00:00
Alan Lawrence
1d10863481 [ARM] Remove neon_reinterpret, use casts
* config/arm/arm-protos.h (neon_reinterpret): Remove.
	* config/arm/arm.c (neon_reinterpret): Remove.
	* config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
	vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
	vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
	vreinterpretti): Remove.
	* config/arm/neon.md (neon_vreinterpretv8qi<mode>,
	neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
	neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
	neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
	neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
	neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
	* config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
	vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
	vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
	vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
	vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
	vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
	vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
	vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
	vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
	vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
	vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
	vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
	vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
	vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
	vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
	vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
	vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
	vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
	vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
	vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
	vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
	vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
	vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
	vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
	vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
	vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
	vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
	vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
	vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
	vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
	vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
	vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
	vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
	vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
	vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
	vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
	vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
	vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
	vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
	vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
	vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
	vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
	vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
	vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
	vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
	vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
	vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
	vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
	vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
	vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
	vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
	vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
	vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
	vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
	vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
	vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
	vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
	vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
	vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
	vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
	vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
	vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
	vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
	vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
	vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
	vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
	vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
	vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
	vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
	vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
	vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
	vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
	vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
	vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
	vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
	vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
	vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
	vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
	vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
	vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
	vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
	vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
	vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
	vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
	vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
	vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
	vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
	vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
	vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
	vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
	vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
	vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
	vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
	vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
	vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
	vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
	vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.

From-SVN: r233142
2016-02-04 14:49:02 +00:00
Joseph Myers
d44cb386b8 Update gcc .po files.
* be.po, da.po, de.po, el.po, es.po, fi.po, fr.po, hr.po, id.po,
	ja.po, nl.po, ru.po, sr.po, sv.po, tr.po, uk.po, vi.po, zh_CN.po,
	zh_TW.po: Update.

From-SVN: r233141
2016-02-04 14:17:21 +00:00
Joseph Myers
ed84c4aaf8 Update cpplib .po files.
* be.po, ca.po, da.po, de.po, el.po, eo.po, es.po, fi.po, fr.po,
	id.po, ja.po, nl.po, pr_BR.po, ru.po, sr.po, sv.po, tr.po, uk.po,
	vi.po, zh_CN.po, zh_TW.po: Update.

From-SVN: r233140
2016-02-04 14:15:08 +00:00
Martin Liska
7db337c247 re PR sanitizer/69276 (Address sanitizer does not handle heap overflow)
Fix PR sanitizer/69276

	* g++.dg/asan/pr69276.C: New test.
	PR sanitizer/PR69276
	* asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
	that are gimple_store_p.
	(maybe_instrument_call): Likewise.

From-SVN: r233137
2016-02-04 11:50:40 +00:00
Bin Cheng
60d27907cc aarch64.c (aarch64_legitimize_address): Force register scaling out of memory reference and comment why.
* config/aarch64/aarch64.c (aarch64_legitimize_address): Force
	register scaling out of memory reference and comment why.

From-SVN: r233136
2016-02-04 11:05:46 +00:00
Jakub Jelinek
d1243d278c class.c (find_flexarrays): Don't declare dom variable.
* class.c (find_flexarrays): Don't declare dom variable.
	(diagnose_flexarray): Likewise.

From-SVN: r233135
2016-02-04 12:04:07 +01:00
Kyrylo Tkachov
cc9c0829f7 [ARM][4/4] Adjust gcc.target/arm/wmul-[123].c tests
PR target/65932
	PR target/67714
	* gcc.target/arm/wmul-3.c: Simplify test to generate just
	a single smulbb instruction.
	* gcc.target/amr/wmul-1.c: Add -mtune=cortex-a9 to dg-options.
	* gcc.target/amr/wmul-2.c: Likewise.

From-SVN: r233134
2016-02-04 09:57:36 +00:00
Kyrylo Tkachov
625d55afc1 [cse][3/4] Don't overwrite original rtx when folding source of set
PR target/65932
	PR target/67714
	* cse.c (cse_insn): Pass NULL to fold_rtx when initially
	folding the source of a SET.

From-SVN: r233133
2016-02-04 09:56:13 +00:00
Kyrylo Tkachov
9fec9595fb [ARM][2/4] Fix operand costing logic for SMUL[TB][TB]
PR target/65932
	PR target/67714
	* config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
	the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.

From-SVN: r233132
2016-02-04 09:54:37 +00:00
Kyrylo Tkachov
eb9feb52f9 [ARM][1/4] PR target/65932: Add testcase
PR target/65932
	PR target/67714
	* gcc.c-torture/execute/pr67714.c: New test.

From-SVN: r233131
2016-02-04 09:51:35 +00:00