gcc.git
9 years agoDaily bump.
GCC Administrator [Tue, 4 Aug 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226538

9 years agosyscall: RawSockaddr fix for ppc64, ppc64le
Ian Lance Taylor [Mon, 3 Aug 2015 21:18:56 +0000 (21:18 +0000)]
syscall:  RawSockaddr fix for ppc64, ppc64le

    The struct RawSockaddr contains a field Data which
    should be uint8 on ppc64 and ppc64le, but is declared
    as int8 in gccgo.  This change adds a two new files
    which contain the structure declaration for
    RawSockaddr, one with the correct types for for ppc64
    and ppc64le, and the other for non-ppc64 platforms.

    Fixes golang/go#11469

    Reviewed-on: https://go-review.googlesource.com/11946

From-SVN: r226533

9 years agohtm.md (tabort.): Restrict the source operand to using a base register.
Peter Bergner [Mon, 3 Aug 2015 21:11:20 +0000 (16:11 -0500)]
htm.md (tabort.): Restrict the source operand to using a base register.

gcc/
* config/rs6000/htm.md (tabort.): Restrict the source operand to
using a base register.

gcc/testsuite/
* gcc.target/powerpc/htm-tabort-no-r0.c: New test.

From-SVN: r226532

9 years agoRefactoring of timevar API
David Malcolm [Mon, 3 Aug 2015 20:14:21 +0000 (20:14 +0000)]
Refactoring of timevar API

gcc/ChangeLog:
* main.c (main): Pass in NULL for toplev's external_timer.
* timevar.c: Include coretypes.h.
(class timer::named_items): New.
(timer::named_items::named_items): New.
(timer::named_items::~named_items): New.
(timer::named_items::push): New.
(timer::named_items::pop): New.
(timer::named_items::print): New.
(timer::timer): Initialize field "m_jit_client_items".
(timer::~timer): New.
(timer::push): Move bulk of implementation to...
(timer::push_internal): ...here.  New function.
(timer::pop): Move bulk of implementation to...
(timer::pop_internal): ...here.  New function.
(timer::push_client_item): New.
(timer::pop_client_item): New.
(timer::print_row): New function, taken from timer::print.
(timer::print): Print "GCC items" header if we also have client
items.  Move row-printing to timer::print_row.  Print any client
items.
(timer::get_topmost_item_name): New method.
* timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
(TV_JIT_CLIENT_CODE): New.
* timevar.h (timer::push_client_item): New declaration.
(timer::pop_client_item): New declaration.
(timer::get_topmost_item_name): New method.
(timer::push_internal): New declaration.
(timer::pop_internal): New declaration.
(timer::print_row): New declaration.
(timer::named_items): New declaration.
(timer::m_jit_client_items): New field.
(timer): Add friend class named_items.
(auto_timevar::auto_timevar): Add timer param.
(auto_timevar::~auto_timevar): Use field "m_timer".
(auto_timevar::m_timer): New field.
* toplev.c (initialize_rtl): Add g_timer as param when
constructing auto_timevar instance.
(toplev::toplev): Add "external_timer" param, and use it to
initialize the "g_timer" global if non-NULL.
(toplev::~toplev): If this created "g_timer", delete it.
* toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
with "external_timer" timer *.

gcc/jit/ChangeLog:
* docs/topics/compatibility.rst (LIBGCCJIT_ABI_4): New.
* docs/topics/contexts.rst (GCC_JIT_BOOL_OPTION_DUMP_SUMMARY):
We no longer show a profile.
* docs/topics/index.rst (Topic Reference): Add performance.rst.
* docs/topics/performance.rst: New file.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
* jit-playback.c (gcc::jit::playback::context::compile): Add timer
param when constructing the "toplev" instance.
(gcc::jit::playback::context::acquire_mutex): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::make_fake_args): If we have a timer,
add "-ftime-report".
(gcc::jit::playback::context::invoke_driver): Add timer param when
constructing auto_timevar instance.
(gcc::jit::playback::context::dlopen_built_dso): Likewise.
* jit-playback.h (gcc::jit::playback::context::get_timer): New accessor.
* jit-recording.c: Include timevar.h.
(gcc::jit::recording::context::context): Initialize field "m_timer".
* jit-recording.h: Add forward declaration of class timer.
(gcc::jit::recording::context::set_timer): New method.
(gcc::jit::recording::context::get_timer): New method.
(gcc::jit::recording::context::m_timer): New field.
* libgccjit++.h (gccjit::timer): New class.
(gccjit::auto_time): New class.
(gccjit::context::set_timer): New method.
(gccjit::context::get_timer): New.
(gccjit::timer::timer): New.
(gccjit::timer::push): New.
(gccjit::timer::pop): New.
(timer::print): New.
(timer::get_inner_timer): New.
(timer::release): New.
(auto_time::auto_time): New.
(auto_time::~auto_time): New.
* libgccjit.c: Include timevar.h.
(struct gcc_jit_timer): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.h (LIBGCCJIT_HAVE_TIMING_API): New macro.
(gcc_jit_timer): New typedef.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.
* libgccjit.map (LIBGCCJIT_ABI_4): New.
(gcc_jit_timer_new): New function.
(gcc_jit_timer_release): New function.
(gcc_jit_context_set_timer): New function.
(gcc_jit_context_get_timer): New function.
(gcc_jit_timer_push): New function.
(gcc_jit_timer_pop): New function.
(gcc_jit_timer_print): New function.

gcc/testsuite/ChangeLog:
* jit.dg/test-benchmark.c (test_jit): Add param "timer" and use
it to push/pop timing items.
(main): For each optimization level, create a gcc_jit_timer, and
time all of the iteration within that level cumulatively.
* jit.dg/test-error-gcc_jit_timer_pop-mismatch.c: New test case.
* jit.dg/test-error-gcc_jit_timer_pop-too-many.c: New test case.

From-SVN: r226530

9 years agocompiler: Don't allow multiple function declarations.
Ian Lance Taylor [Mon, 3 Aug 2015 19:55:00 +0000 (19:55 +0000)]
compiler: Don't allow multiple function declarations.

    Fixes golang/go#11573.

    Reviewed-on: https://go-review.googlesource.com/12508

From-SVN: r226529

9 years agore PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr...
Alexander Basov [Mon, 3 Aug 2015 19:34:31 +0000 (19:34 +0000)]
re PR middle-end/64744 (ARM: gcc internal compiler error: in store_field, at expr.c:6659)

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* cfgexpand.c (expand_one_var): Add check if stack is going to
be used in naked function.
* expr.c (expand_expr_addr_expr_1): Remove excess checking
whether expression should not reside in MEM.
* function.c (use_register_for_decl): Do not use registers for
non-register things (volatile, float, BLKMode) in naked functions.

PR middle-end/64744
PR middle-end/48470
PR middle-end/43404
* gcc.target/arm/pr43404.c : New testcase.
* gcc.target/arm/pr48470.c : New testcase.
* gcc.target/arm/pr64744-1.c : New testcase.
* gcc.target/arm/pr64744-2.c : New testcase.

From-SVN: r226528

9 years agocompiler: Don't make erroneous type descriptors.
Ian Lance Taylor [Mon, 3 Aug 2015 18:53:56 +0000 (18:53 +0000)]
compiler: Don't make erroneous type descriptors.

    There is no need to make type descriptors for named types when there
    are errors during package compilation.  Particularly, if the error in
    package compilation is from a malformed named type, there is no
    guarantee a type descriptor can be created.

    Fixes golang/go#11560.

    Reviewed-on: https://go-review.googlesource.com/12792

From-SVN: r226527

9 years agolibgo/testsuite: kill sleep process in gotest
Ian Lance Taylor [Mon, 3 Aug 2015 18:23:42 +0000 (18:23 +0000)]
libgo/testsuite: kill sleep process in gotest

    This change modifies the "gotest" shell script
    to kill all processes, including "sleep", spawned
    by the timeout subshell. This prevents the sleep
    process from living beyond the gotest process.

    BACKGROUND

    The "gotest" shell script spawns "sleep" processes
    in the background to kill off test cases that run
    past their specified timeout. There are commands
    included that appear to kill the sleep process,
    but they only kill the parent shell, causing the
    sleep process to reparent.

    The orphaned sleep process can cause issues when
    gotest is run under some build systems, such as
    Ninja [0]. The particular issue with Ninja is the
    method it uses to identify terminated processes:
    it creates a pipe, passes the write end to the
    child process, and waits for EOF. In the case of
    libgo/gotest, the orphaned sleep process inherits
    the pipe FD and keeps it open for 4 minutes by
    default.

    [0] https://github.com/martine/ninja

    Reviewed-on: https://go-review.googlesource.com/12227

From-SVN: r226526

9 years agore PR go/67101 (mprof.goc:408:5: error: calling ‘__builtin_frame_address’ with a...
Ian Lance Taylor [Mon, 3 Aug 2015 17:54:50 +0000 (17:54 +0000)]
re PR go/67101 (mprof.goc:408:5: error: calling ‘__builtin_frame_address’ with a nonzero argument is unsafe [-Werror=frame-address])

PR go/67101

    runtime: Remove call to __builtin_frame_address.

    __builtin_frame_address was only supposed to use nonzero arguments
    for debugging purposes.  Calling it with nonzero arguments can have
    unpredictable results and uses are now marked unsafe when
    -Wframe-address is enabled.

    Reviewed-on: https://go-review.googlesource.com/13063

From-SVN: r226525

9 years agore PR target/67060 (FAIL: gcc.dg/pr56228.c (test for excess errors))
John David Anglin [Mon, 3 Aug 2015 17:26:19 +0000 (17:26 +0000)]
re PR target/67060 (FAIL: gcc.dg/pr56228.c (test for excess errors))

PR target/67060
* config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
Adjust splits to match new pattern.

From-SVN: r226522

9 years agovector.md (VEC_L): Add KFmode and TFmode.
Michael Meissner [Mon, 3 Aug 2015 17:06:24 +0000 (17:06 +0000)]
vector.md (VEC_L): Add KFmode and TFmode.

2015-08-03  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
(VEC_M): Likewise.
(VEC_N): Likewise.
(mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
point in VSX registers.

* config/rs6000/constraints.md (wb constraint): Document unused
w<x> constraint.
(we constraint): Likewise.
(wo constraint): Likewise.
(wp constraint): New constraint for IEEE 128-bit floating point in
VSX registers.
(wq constraint): Likewise.

* config/rs6000/predicates.md (easy_fp_constant): Add support for
IEEE 128-bit floating point in VSX registers.
(easy_scalar_constant): Likewise.

* config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
constraints (wp, wq) for IEEE 128-bit floating point in VSX
registers.
(rs6000_init_hard_regno_mode_ok): Likewise.

* config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
floating point in VSX registers.
(VSX_L): Likewise.
(VSX_M): Likewise.
(VSX_M2): Likewise.
(VSm): Likewise.
(VSs): Likewise.
(VSr): Likewise.
(VSa): Likewise.
(VSv): Likewise.
(vsx_le_permute_<mode>): Add support to properly swap bytes for
IEEE 128-bit floating point in VSX registers on little endian.
(vsx_le_undo_permute_<mode>): Likewise.
(vsx_le_perm_load_<mode>): Likewise.
(vsx_le_perm_store_<mode>): Likewise.
(splitters for IEEE 128-bit fp moves): Likewise.

* config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
wq constraints.

* config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
floating point in VSX registers.
(VM2): Likewise.

* doc/md.text (Machine Constraints): Document wp and wq
constraints on PowerPC.

From-SVN: r226520

9 years agoAdd a testcase for PR tree-optimization/67077
H.J. Lu [Mon, 3 Aug 2015 16:58:03 +0000 (16:58 +0000)]
Add a testcase for PR tree-optimization/67077

PR tree-optimization/67077
* gcc.dg/pr67077.c: New test.

From-SVN: r226518

9 years agore PR fortran/66942 (trans-expr.c:5701 runtime error: member call on null pointer...
Steven G. Kargl [Mon, 3 Aug 2015 16:56:39 +0000 (16:56 +0000)]
re PR fortran/66942 (trans-expr.c:5701 runtime error: member call on null pointer of type 'struct vec')

2015-08-03  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/66942
* trans-expr.c (gfc_conv_procedure_call): Avoid NULL pointer reference

From-SVN: r226517

9 years agore PR middle-end/66314 (ice in verify_loop_structure)
Jeff Law [Mon, 3 Aug 2015 16:26:13 +0000 (10:26 -0600)]
re PR middle-end/66314 (ice in verify_loop_structure)

PR middle-end/66314
PR gcov-profile/66899
* tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
iterate over the jump threading paths when an element in the
jump threading paths array is eliminated.

PR middle-end/66314
PR gcov-profile/66899
* gcc.dg/pr66899.c: New test.
* gcc.dg/pr66314.c: New test.

From-SVN: r226516

9 years agore PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors...
Jonathan Wakely [Mon, 3 Aug 2015 15:56:17 +0000 (16:56 +0100)]
re PR libstdc++/67078 (FAIL: 24_iterators/container_access.cc (test for excess errors) on aarch64-none-elf)

PR libstdc++/67078
* include/bits/range_access.h (size, empty, data): Fix _N bad name.

From-SVN: r226515

9 years ago* Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
Segher Boessenkool [Mon, 3 Aug 2015 15:33:45 +0000 (17:33 +0200)]
* Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.

From-SVN: r226514

9 years agoAvoid recomputing the defining predicate chains for the same PHI
Patrick Palka [Mon, 3 Aug 2015 14:57:25 +0000 (14:57 +0000)]
Avoid recomputing the defining predicate chains for the same PHI

gcc/ChangeLog:

* tree-ssa-uninit.c (find_uninit_use): Declare and pass to
is_use_properly_guarded the variable def_preds.  Free its
contents before returning.
(prune_uninit_phi_opnds_in_unrealizable_paths): Same.
(is_use_properly_guarded): Replace local variable def_preds with
a parameter.  Adjust accordingly.  Only update *def_preds if it's
the empty vector.

From-SVN: r226511

9 years agore PR c/67088 (Incorrect location of error on invalid type used in bit-field declaration)
Marek Polacek [Mon, 3 Aug 2015 13:55:28 +0000 (13:55 +0000)]
re PR c/67088 (Incorrect location of error on invalid type used in bit-field declaration)

PR c/67088
* c-decl.c (check_bitfield_type_and_width): Add location parameter.
Use it.
(grokdeclarator): Pass LOC down to check_bitfield_type_and_width.

* gcc.dg/pr67088.c: New test.

From-SVN: r226506

9 years agogenmatch.c (simplify::for_subst_vec): New member.
Richard Biener [Mon, 3 Aug 2015 13:45:22 +0000 (13:45 +0000)]
genmatch.c (simplify::for_subst_vec): New member.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.

From-SVN: r226505

9 years agogenmatch.c (simplify::for_subst_vec): New member.
Richard Biener [Mon, 3 Aug 2015 13:28:46 +0000 (13:28 +0000)]
genmatch.c (simplify::for_subst_vec): New member.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (simplify::for_subst_vec): New member.
(binary_ok): New helper for for lowering.
(lower_for): Delay substituting operators into result expressions
if we can merge the results eventually again.
(capture_info::walk_result): Adjust for user_id appearing as
result expression operator.
(expr::gen_transform): Likewise.
(dt_simplify::gen_1): Likewise.
(dt_simplify::gen): Pass not substituted operators to tail
functions or initialize local variable with it.
(decision_tree::gen): Adjust function signature.
* match.pd: Fix tests against global code and add default
cases to switch stmts.

From-SVN: r226504

9 years agogenmatch.c (dt_simplify::gen): Create captures array with an initializer.
Richard Biener [Mon, 3 Aug 2015 13:20:22 +0000 (13:20 +0000)]
genmatch.c (dt_simplify::gen): Create captures array with an initializer.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (dt_simplify::gen): Create captures array
with an initializer.

From-SVN: r226503

9 years agoconfigure.ac: Set aliasing_flags to -fno-strict-aliasing if...
Ulrich Weigand [Mon, 3 Aug 2015 11:48:57 +0000 (11:48 +0000)]
configure.ac: Set aliasing_flags to -fno-strict-aliasing if...

gcc/ChangeLog:

* configure.ac: Set aliasing_flags to -fno-strict-aliasing if
the host compiler is affected by placement new aliasing bug.
* configure: Regenerate.
* Makefile.in (ALIASING_FLAGS): New variable.
(ALL_CXXFLAGS): Add $(ALIASING_FLAGS).

From-SVN: r226499

9 years ago[ARM] PR target/66731 Fix vnmul insn with -frounding-math
Szabolcs Nagy [Mon, 3 Aug 2015 11:12:00 +0000 (11:12 +0000)]
[ARM] PR target/66731 Fix vnmul insn with -frounding-math

gcc:

PR target/66731
* config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
(negmulsf3_vfp): Likewise.
(muldf3negdf_vfp): Disable for -frounding-math.
(mulsf3negsf_vfp): Likewise.
* config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
fix MULT cost with -frounding-math.

gcc/testsuite:

PR target/66731
* gcc.target/arm/vnmul-1.c: New.
* gcc.target/arm/vnmul-2.c: New.
* gcc.target/arm/vnmul-3.c: New.
* gcc.target/arm/vnmul-4.c: New.

From-SVN: r226496

9 years agoFix random class_allocate_18.f90 failure
Mikael Morin [Mon, 3 Aug 2015 10:03:55 +0000 (10:03 +0000)]
Fix random class_allocate_18.f90 failure

PR fortran/64921
gcc/fortran/
* class.c (generate_finalization_wrapper): Set finalization
procedure symbol's always_explicit attribute.
gcc/testsuite/
* gfortran.dg/class_allocate_20.f90: New.

From-SVN: r226493

9 years ago[RTL-ifcvt] Improve conditional select ops on immediates
Kyrylo Tkachov [Mon, 3 Aug 2015 08:14:42 +0000 (08:14 +0000)]
[RTL-ifcvt] Improve conditional select ops on immediates

* ifcvt.c (noce_try_store_flag_constants): Make logic of the case
when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
explicit.  Prefer to add the flag whenever possible.
(noce_process_if_block): Try noce_try_store_flag_constants before
noce_try_cmove.

* gcc.target/aarch64/csel_bfx_1.c: New test.
* gcc.target/aarch64/csel_imms_inc_1.c: Likewise.

From-SVN: r226491

9 years agogenmatch.c (struct sinfo, [...]): New hash-map to record equivalent transforms.
Richard Biener [Mon, 3 Aug 2015 07:39:12 +0000 (07:39 +0000)]
genmatch.c (struct sinfo, [...]): New hash-map to record equivalent transforms.

2015-08-03  Richard Biener  <rguenther@suse.de>

* genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
New hash-map to record equivalent transforms.
(dt_node::analyze): Populate the equivalent transforms hash-map.
(dt_simplify::info): Add reference to hash-map entry.
(dt_simplify::gen): If we have split out a function for the
transform, generate a call to it.
(sinfo_hashmap_traits::hash): New function.
(compare_op): New helper function for ...
(sinfo_hashmap_traits::equal_keys): ... this new function.
(decision_tree::gen): Split out common equivalent transforms
into functions.

From-SVN: r226490

9 years agogimple-fold.c (fold_gimple_assign): Remove folding of the comparison in COND_EXPRs.
Richard Biener [Mon, 3 Aug 2015 07:28:11 +0000 (07:28 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of the comparison in COND_EXPRs.

2015-08-03  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove folding of
the comparison in COND_EXPRs.

From-SVN: r226489

9 years agogimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs on the rhs of assignments...
Richard Biener [Mon, 3 Aug 2015 07:27:40 +0000 (07:27 +0000)]
gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs on the rhs of assignments first simplify the embedded...

2015-08-03  Richard Biener  <rguenther@suse.de>

* gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
on the rhs of assignments first simplify the embedded
GENERIC condition.

From-SVN: r226488

9 years agore PR tree-optimization/66917 (ARM: NEON: memcpy compiles to vst1 with incorrect...
Richard Biener [Mon, 3 Aug 2015 07:13:36 +0000 (07:13 +0000)]
re PR tree-optimization/66917 (ARM: NEON: memcpy compiles to vst1 with incorrect alignment)

2015-08-03  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66917
* tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
field.
(DR_VECT_AUX): New macro.
(set_dr_misalignment): Adjust.
(dr_misalignment): Likewise.
* tree-vect-data-refs.c (vect_compute_data_ref_alignment):
Compute whether the base is at least element aligned.
* tree-vect-stmts.c (ensure_base_align): Adjust.
(vectorizable_store): If the base is not element aligned
preserve alignment of the original access if misalignment is unknown.
(vectorizable_load): Likewise.

From-SVN: r226487

9 years agoMAINTAINERS (loop ivopts): Add the entry and myself.
Bin Cheng [Mon, 3 Aug 2015 01:54:28 +0000 (01:54 +0000)]
MAINTAINERS (loop ivopts): Add the entry and myself.

* MAINTAINERS (loop ivopts): Add the entry and myself.

From-SVN: r226486

9 years agoDaily bump.
GCC Administrator [Mon, 3 Aug 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226483

9 years agoc.opt (-Wframe-address): New warning option.
Martin Sebor [Sun, 2 Aug 2015 23:14:18 +0000 (23:14 +0000)]
c.opt (-Wframe-address): New warning option.

gcc/ChangeLog
2015-07-28  Martin Sebor  <msebor@redhat.com>

    * c-family/c.opt (-Wframe-address): New warning option.
    * doc/invoke.texi (Wframe-address): Document it.
    * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
    Clarify possible effects of calling the functions with non-zero
    arguments and mention -Wframe-address.
    * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.

gcc/testsuite/ChangeLog
2015-07-28  Martin Sebor  <msebor@redhat.com>

    * g++.dg/Wframe-address-in-Wall.C: New test.
    * g++.dg/Wframe-address.C: New test.
    * g++.dg/Wno-frame-address.C: New test.
    * gcc.dg/Wframe-address-in-Wall.c: New test.
    * gcc.dg/Wframe-address.c: New test.
    * gcc.dg/Wno-frame-address.c: New test.

From-SVN: r226480

9 years agoImprove -Wmisleading-indentation heuristics
Patrick Palka [Sun, 2 Aug 2015 17:39:23 +0000 (17:39 +0000)]
Improve -Wmisleading-indentation heuristics

gcc/c-family/ChangeLog:

* c-indentation.c (should_warn_for_misleading_indentation):
Improve heuristics.

gcc/testsuite/ChangeLog:

* c-c++-common/Wmisleading-indentation.c: Add more tests.

From-SVN: r226479

9 years agoRemove is_first_nonwhitespace_on_line(), instead improve get_visual_column()
Patrick Palka [Sun, 2 Aug 2015 17:35:33 +0000 (17:35 +0000)]
Remove is_first_nonwhitespace_on_line(), instead improve get_visual_column()

gcc/c-family/ChangeLog:

* c-indentation.c (get_visual_column): Add parameter first_nws,
use it.  Update comment documenting the function.
(is_first_nonwhitespace_on_line): Remove.
(should_warn_for_misleading_indentation): Replace usage of
of is_first_nonwhitespace_on_line with get_visual_column.

From-SVN: r226478

9 years agoRefactor entry point to -Wmisleading-indentation
Patrick Palka [Sun, 2 Aug 2015 17:31:55 +0000 (17:31 +0000)]
Refactor entry point to -Wmisleading-indentation

gcc/c-family/ChangeLog:

* c-indentation.h (struct token_indent_info): Define.
(get_token_indent_info): Define.
(warn_for_misleading_information): Declare.
* c-common.h (warn_for_misleading_information): Remove.
* c-identation.c (warn_for_misleading_indentation):
Change declaration to take three token_indent_infos.  Adjust
accordingly.
* c-identation.c (should_warn_for_misleading_indentation):
Likewise.  Bail out early if the body is a compound statement.
(guard_tinfo_to_string): Define.

gcc/c/ChangeLog:

* c-parser.c (c_parser_if_body): Take token_indent_info
argument. Call warn_for_misleading_indentation even when the
body is a semicolon.  Extract token_indent_infos corresponding
to the guard, body and next tokens.  Adjust call to
warn_for_misleading_indentation accordingly.
(c_parser_else_body): Likewise.
(c_parser_if_statement): Likewise.
(c_parser_while_statement): Likewise.
(c_parser_for_statement): Likewise.

gcc/cp/ChangeLog:

* parser.c (cp_parser_selection_statement): Move handling of
semicolon body to ...
(cp_parser_implicitly_scoped_statement): .. here.  Call
warn_for_misleading_indentation even when the body is a
semicolon.  Extract token_indent_infos corresponding to the
guard, body and next tokens.  Adjust call to
warn_for_misleading_indentation accordingly.  Take
token_indent_info argument.
(cp_parser_already_scoped_statement): Likewise.
(cp_parser_selection_statement, cp_parser_iteration_statement):
Extract a token_indent_info corresponding to the guard token.

From-SVN: r226477

9 years agoarm.md (*arm_smin_cmp): New pattern.
Michael Collison [Sun, 2 Aug 2015 05:15:55 +0000 (05:15 +0000)]
arm.md (*arm_smin_cmp): New pattern.

2015-08-01  Michael Collison  <michael.collison@linaro.org
    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

* gcc/config/arm/arm.md (*arm_smin_cmp): New pattern.
(*arm_umin_cmp): Likewise.

* gcc.target/arm/mincmp.c: New test.

From-SVN: r226476

9 years agore PR bootstrap/66521 (xgcc: cc1plus segfaults when compiling libstdc++-v3/src/c...
Caroline Tice [Sun, 2 Aug 2015 01:17:39 +0000 (18:17 -0700)]
re PR bootstrap/66521 (xgcc: cc1plus segfaults when compiling libstdc++-v3/src/c++11/ostream-inst.cc)

Fix PR 66521

libvtv/ChangeLog

2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * Makefile.am: Update to match latest tree.
        * Makefile.in: Regenerate.
        * testsuite/lib/libvtv: Brought up to date.
        * vtv_malloc.cc (VTV_DEBUG): Update function call to match renamed
        function (old bug!).
        * vtv_rts.cc (debug_functions, debug_init, debug_verify_vtable): Update
        initializations to work correctly with VTV_DEBUG defined.

gcc/ChangeLog:

2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
        global variables.
        (vtbl_find_mangled_name):  New function.
        (vtbl_register_mangled_name):  New function.
        (vtbl_map_get_node):  If DECL_ASSEMBLER_NAME is "<anon>", look up
        mangled name in mangled name vectors.
        (find_or_create_vtbl_map_node):  Ditto.
        (var_is_used_for_virtual_call_p):  Add recursion_depth parameter;
        update recursion_depth on function entry; pass it to every recursive
        call; automatically exit if depth > 25 (give up looking at that point).
        (verify_bb_vtables):  Initialize recursion_depth and pass it to
        var_is_used_for_virtual_call_p.
        * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
        global variable decls.
        (vtbl_register_mangled_name): New extern function decl.

gcc/cp/ChangeLog:
2015-08-01  Caroline Tice  <cmtice@google.com>

        PR 66521
        * mangle.c : Add vtable-verify.h to include files.
        (get_mangled_vtable_map_var_name):  If the DECL_ASSEMBLER_NAME
        is "<anon>" get the real mangled name for the class instead, and
        also store the real mangled name in a vector for use later.

From-SVN: r226471

9 years agoDaily bump.
GCC Administrator [Sun, 2 Aug 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226468

9 years agore PR fortran/67091 ([OOP] Bad result for type-bound procedures returning pointers...
Paul Thomas [Sat, 1 Aug 2015 18:37:25 +0000 (18:37 +0000)]
re PR fortran/67091 ([OOP] Bad result for type-bound procedures returning pointers to the intrinsic function ASSOCIATED)

2015-08-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67091
* trans-intrinsic.c (gfc_conv_associated): Add the pre and post
blocks for the second argument to se.

2015-08-01  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/67091
* gfortran.dg/associated_target_6.f03: New test

From-SVN: r226464

9 years agoAllow non-overflow ops in reductions
Tom de Vries [Sat, 1 Aug 2015 08:29:29 +0000 (08:29 +0000)]
Allow non-overflow ops in reductions

2015-08-01  Tom de Vries  <tom@codesourcery.com>

* tree.c (operation_can_overflow, operation_no_trapping_overflow): New
function.
* tree.h (operation_can_overflow, operation_no_trapping_overflow):
Declare.
* tree-vect-loop.c (vect_is_simple_reduction_1): Use
operation_no_trapping_overflow.  Allow non-overflow operations.
* graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
operations.

* gcc.dg/autopar/reduc-2char.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0").
Add successful scans for 2 detected reductions.  Add xfail scans for 3
detected reductions.
* gcc.dg/autopar/reduc-2short.c: Same.
* gcc.dg/autopar/reduc-8.c (init_arrays): Mark with attribute
optimize ("-ftree-parallelize-loops=0").  Add successful scans for 2
detected reductions.
* gcc.dg/vect/trapv-vect-reduc-4.c: Update scan to match vectorized min
and max reductions.

From-SVN: r226463

9 years agoDaily bump.
GCC Administrator [Sat, 1 Aug 2015 00:16:16 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226462

9 years agocompiler: Report errors for malformed builtin calls.
Ian Lance Taylor [Fri, 31 Jul 2015 23:17:49 +0000 (23:17 +0000)]
compiler: Report errors for malformed builtin calls.

    Errors reported from malformed builtin calls are handled in a later
    pass than the one in which they are detected.  If a malformed builtin
    call is lowered into an error expression too early, these errors will
    never be reported.

    Fixes golang/go#11561.

    Reviewed-on: https://go-review.googlesource.com/12778

From-SVN: r226459

9 years agore PR target/67049 (sh64-elf: internal compiler error: in df_uses_record, at df-scan...
Kaz Kojima [Fri, 31 Jul 2015 22:19:51 +0000 (22:19 +0000)]
re PR target/67049 (sh64-elf: internal compiler error: in df_uses_record, at df-scan.c:3001)

PR target/67049
* config/sh/sh.md (GOTaddr2picreg): Fix typo added with the last change.

From-SVN: r226457

9 years agocompiler: Check the type in function declarations.
Ian Lance Taylor [Fri, 31 Jul 2015 22:16:12 +0000 (22:16 +0000)]
compiler: Check the type in function declarations.

    Function declarations don't create a block where the variables listed
    in the parameter list are declared.  Because there are no variables
    declared, the types of the parameter variables is unchecked, allowing
    for invalid values to be used as the type.  This patch adds a special
    case to the check_types pass for function declarations.

    Fixes golang/go#11567.

    Reviewed-on: https://go-review.googlesource.com/12662

From-SVN: r226456

9 years agocompiler: Update unicode tables.
Ian Lance Taylor [Fri, 31 Jul 2015 19:11:18 +0000 (19:11 +0000)]
compiler: Update unicode tables.

    Fixes golang/go#11569.

    Reviewed-on: https://go-review.googlesource.com/12652

From-SVN: r226452

9 years ago* MAINTAINERS (nvptx): Add self.
Nathan Sidwell [Fri, 31 Jul 2015 17:54:31 +0000 (17:54 +0000)]
* MAINTAINERS (nvptx): Add self.

From-SVN: r226449

9 years agocompiler: Don't allow builtin function values.
Ian Lance Taylor [Fri, 31 Jul 2015 17:52:38 +0000 (17:52 +0000)]
compiler: Don't allow builtin function values.

    According to the spec, http://golang.org/ref/spec#Built-in_functions:
    "built-in functions do not have standard Go types, so they can only
    appear in call expressions; they cannot be used as function values."

    Fixes golang/go#11570.

    Reviewed-on: https://go-review.googlesource.com/12543

From-SVN: r226448

9 years ago[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split
Kyrylo Tkachov [Fri, 31 Jul 2015 16:39:35 +0000 (16:39 +0000)]
[ARM][2/3] Make if_neg_move and if_move_neg into insn_and_split

* config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
Enable for TARGET_32BIT.
(*if_move_neg): Likewise.

From-SVN: r226447

9 years agom32r.c (m32r_attribute_identifier): New function.
Nick Clifton [Fri, 31 Jul 2015 15:55:16 +0000 (15:55 +0000)]
m32r.c (m32r_attribute_identifier): New function.

* config/m32r/m32r.c (m32r_attribute_identifier): New function.
Returns true for __model__.
(TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.

From-SVN: r226445

9 years agore PR go/66870 (split stack issues on ppc64le and ppc64)
Alan Modra [Fri, 31 Jul 2015 14:05:42 +0000 (23:35 +0930)]
re PR go/66870 (split stack issues on ppc64le and ppc64)

PR target/66870
* config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
(rs6000_emit_prologue): Set it.
(rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.

From-SVN: r226443

9 years agore PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)
Marek Polacek [Fri, 31 Jul 2015 11:12:57 +0000 (11:12 +0000)]
re PR sanitizer/66977 (-fsanitize=shift may introduce uninitialized variables)

PR sanitizer/66977
* typeck.c (get_member_function_from_ptrfunc): Don't sanitize
RSHIFT_EXPR.

* g++.dg/ubsan/pr66977.C: New test.

From-SVN: r226440

9 years agofold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is alread...
Richard Biener [Fri, 31 Jul 2015 10:36:56 +0000 (10:36 +0000)]
fold-const.c (fold_binary_loc): Remove X ^ C1 == C2 -> X == (C1 ^ C2) which is already implemented in match.pd.

2015-07-31  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
-> X == (C1 ^ C2) which is already implemented in match.pd.
Remove redundant dispatching to fold_relational_const.
Move unordered self and NaN compares ...
* match.pd: ... as patterns here.  Remove some stray captures
and add a comment.

From-SVN: r226434

9 years agoRefactoring masked built-in decls to use proper mask type.
Petr Murzin [Fri, 31 Jul 2015 09:14:07 +0000 (09:14 +0000)]
Refactoring masked built-in decls to use proper mask type.

gcc/
* config/i386/i386.c
(bdesc_special_args): Convert mask type from signed to unsigned for
masked builtins.
(ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
* config/i386/i386-builtin-types.def
(V16QI_FTYPE_V16SI): Remove.
(V8DF_FTYPE_V8SI): Ditto.
(V8HI_FTYPE_V8DI): Ditto.
(V8SI_FTYPE_V8DI): Ditto.
(V8SF_FTYPE_V8DF): Ditto.
(V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
(V16HI_FTYPE_V16SI): Ditto.
(V16SF_FTYPE_V16HI): Ditto.
(V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI): Ditto.
(V4DI_FTYPE_V4DI): Ditto.
(V16SI_FTYPE_V16SF): Ditto.
(V16SF_FTYPE_FLOAT): Ditto.
(V8DF_FTYPE_DOUBLE): Ditto.
(V8DI_FTYPE_INT64): Ditto.
(V8DI_FTYPE_V4DI): Ditto.
(V16QI_FTYPE_V8DI): Ditto.
(UINT_FTYPE_V4SF): Ditto.
(UINT64_FTYPE_V4SF): Ditto.
(UINT_FTYPE_V2DF): Ditto.
(UINT64_FTYPE_V2DF): Ditto.
(V16SI_FTYPE_V16SI): Ditto.
(V8DI_FTYPE_V8DI): Ditto.
(V16SI_FTYPE_PV4SI): Ditto.
(V16SF_FTYPE_PV4SF): Ditto.
(V8DI_FTYPE_PV2DI): Ditto.
(V8DF_FTYPE_PV2DF): Ditto.
(V4DI_FTYPE_PV2DI): Ditto.
(V4DF_FTYPE_PV2DF): Ditto.
(V16SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV2SF): Ditto.
(V8DI_FTYPE_PV4DI): Ditto.
(V8DF_FTYPE_PV4DF): Ditto.
(V8SF_FTYPE_FLOAT): Ditto.
(V4SF_FTYPE_FLOAT): Ditto.
(V4DF_FTYPE_DOUBLE): Ditto.
(V8SF_FTYPE_PV4SF): Ditto.
(V8SI_FTYPE_PV4SI): Ditto.
(V4SI_FTYPE_PV2SI): Ditto.
(V8SF_FTYPE_PV2SF): Ditto.
(V8SI_FTYPE_PV2SI): Ditto.
(V16SF_FTYPE_PV8SF): Ditto.
(V16SI_FTYPE_PV8SI): Ditto.
(V8DI_FTYPE_V8SF): Ditto.
(V4DI_FTYPE_V4SF): Ditto.
(V2DI_FTYPE_V4SF): Ditto.
(V64QI_FTYPE_QI): Ditto.
(V32HI_FTYPE_HI): Ditto.
(V8UHI_FTYPE_V8UHI): Ditto.
(V16UHI_FTYPE_V16UHI): Ditto.
(V32UHI_FTYPE_V32UHI): Ditto.
(V2UDI_FTYPE_V2UDI): Ditto.
(V4UDI_FTYPE_V4UDI): Ditto.
(V8UDI_FTYPE_V8UDI): Ditto.
(V4USI_FTYPE_V4USI): Ditto.
(V8USI_FTYPE_V8USI): Ditto.
(V16USI_FTYPE_V16USI): Ditto.
(V2DF_FTYPE_V2DF_UINT64): Ditto.
(V2DI_FTYPE_V2DF_V2DF): Ditto.
(V2UDI_FTYPE_V4USI_V4USI): Ditto.
(V8DF_FTYPE_V8DF_V8DI): Ditto.
(V4SF_FTYPE_V4SF_UINT64): Ditto.
(V4SI_FTYPE_V4SF_V4SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI): Ditto.
(V64QI_FTYPE_V32HI_V32HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI): Ditto.
(V16SI_FTYPE_V16SI_V16SI): Ditto.
(V16SI_FTYPE_V32HI_V32HI): Ditto.
(V16SI_FTYPE_V16SI_SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI): Ditto.
(V4UDI_FTYPE_V8USI_V8USI): Ditto.
(V8DI_FTYPE_V16SI_V16SI): Ditto.
(V8DI_FTYPE_V8DI_V2DI): Ditto.
(QI_FTYPE_QI): Ditto.
(SI_FTYPE_SI): Ditto.
(DI_FTYPE_DI): Ditto.
(QI_FTYPE_QI_QI): Ditto.
(QI_FTYPE_QI_INT): Ditto.
(HI_FTYPE_HI_INT): Ditto.
(SI_FTYPE_SI_INT): Ditto.
(DI_FTYPE_DI_INT): Ditto.
(HI_FTYPE_V16QI_V16QI): Ditto.
(SI_FTYPE_V32QI_V32QI): Ditto.
(DI_FTYPE_V64QI_V64QI): Ditto.
(QI_FTYPE_V8HI_V8HI): Ditto.
(HI_FTYPE_V16HI_V16HI): Ditto.
(SI_FTYPE_V32HI_V32HI): Ditto.
(QI_FTYPE_V4SI_V4SI): Ditto.
(QI_FTYPE_V8SI_V8SI): Ditto.
(QI_FTYPE_V2DI_V2DI): Ditto.
(QI_FTYPE_V4DI_V4DI): Ditto.
(QI_FTYPE_V8DI_V8DI): Ditto.
(HI_FTYPE_V16SI_V16SI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
(V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
(V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
(V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
(V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
(V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
(V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
(V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
(V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
(V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
(V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
(V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
(V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
(V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
(V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
(V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
(V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
(V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
(V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
(V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
(V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
(VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
(VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
(V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
(V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
(V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
(V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
(V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
(V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
(V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
(V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
(PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
(V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
(V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
(V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
(V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
(V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
(V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
(V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
(V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
(V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
(V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
(V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
(V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
(V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
(V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
(V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
(V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
(V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
(V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
(V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
(V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
(V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
(HI_FTYPE_HI): Ditto.
(HI_FTYPE_V16QI): Ditto.
(SI_FTYPE_V32QI): Ditto.
(DI_FTYPE_V64QI): Ditto.
(QI_FTYPE_V8HI): Ditto.
(HI_FTYPE_V16HI): Ditto.
(SI_FTYPE_V32HI): Ditto.
(QI_FTYPE_V4SI): Ditto.
(QI_FTYPE_V8SI): Ditto.
(HI_FTYPE_V16SI): Ditto.
(QI_FTYPE_V2DI): Ditto.
(QI_FTYPE_V4DI): Ditto.
(QI_FTYPE_V8DI): Ditto.
(V16QI_FTYPE_HI): Ditto.
(V32QI_FTYPE_SI): Ditto.
(V64QI_FTYPE_DI): Ditto.
(V8HI_FTYPE_QI): Ditto.
(V16HI_FTYPE_HI): Ditto.
(V32HI_FTYPE_SI): Ditto.
(V4SI_FTYPE_QI): Ditto.
(V4SI_FTYPE_HI): Ditto.
(V8SI_FTYPE_QI): Ditto.
(V8SI_FTYPE_HI): Ditto.
(V2DI_FTYPE_QI): Ditto.
(V4DI_FTYPE_QI): Ditto.
(HI_FTYPE_HI_HI): Ditto.
(SI_FTYPE_SI_SI): Ditto.
(DI_FTYPE_DI_DI): Ditto.
(HI_FTYPE_V16QI_V16QI_HI): Ditto.
(HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
(SI_FTYPE_V32QI_V32QI_SI): Ditto.
(SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
(DI_FTYPE_V64QI_V64QI_DI): Ditto.
(DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
(QI_FTYPE_V8HI_V8HI_QI): Ditto.
(QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
(HI_FTYPE_V16HI_V16HI_HI): Ditto.
(HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
(SI_FTYPE_V32HI_V32HI_SI): Ditto.
(SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
(QI_FTYPE_V4SI_V4SI_QI): Ditto.
(QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_QI): Ditto.
(QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_QI): Ditto.
(QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
(QI_FTYPE_V8DI_V8DI_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_HI): Ditto.
(QI_FTYPE_V8DI_V8DI_INT): Ditto.
(QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
(HI_FTYPE_V16SI_V16SI_INT): Ditto.
(HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
(QI_FTYPE_V8DF_V8DF_INT): Ditto.
(QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT): Ditto.
(HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
(V16SI_FTYPE_HI): Ditto.
(V8DI_FTYPE_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
(V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
(V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
(V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
(V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
(V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
(V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
(V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
(V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
(V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
(V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
(V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
(V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
(V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
(V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
(V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
(V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
(V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
(V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
(V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
(V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
(V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
(V16SI_FTYPE_SI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
(V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
(V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
(V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
(V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
(V8DI_FTYPE_DI_V8DI_QI): Ditto.
(V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
(V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
(V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
(V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
(V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
(V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
(V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
(V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
(V8SI_FTYPE_SI_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
(V4SI_FTYPE_SI_V4SI_QI): Ditto.
(V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
(V4DI_FTYPE_DI_V4DI_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
(V2DI_FTYPE_DI_V2DI_QI): Ditto.
(V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
(V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
(V64QI_FTYPE_QI_V64QI_DI): Ditto.
(V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
(V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
(V32QI_FTYPE_QI_V32QI_SI): Ditto.
(V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
(V16QI_FTYPE_QI_V16QI_HI): Ditto.
(V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
(V32HI_FTYPE_HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
(V16HI_FTYPE_HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
(V8HI_FTYPE_HI_V8HI_QI): Ditto.
(V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
(V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
(V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
(V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
(V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
(V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
(V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
(V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
(V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
(V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
(V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
(V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
(V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
(V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
(V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
(V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
(V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
(V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
(V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
(V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
(V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
(V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
(V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
(V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
(V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
(V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
(V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
(V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
(V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
(V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
(V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
(V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
(V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
(V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
(V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
(V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
(V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
(V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
(V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
(V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
(V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
(VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
(VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
(VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
(VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
(VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
(VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
(VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
(VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
(VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
(VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
(VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
(VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
(VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
(VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
(VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
(VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
(VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
(VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
(VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
(VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
(VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
(VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
(VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
(V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
(V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
(V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
(V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
(V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
(V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
(V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
(V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
(V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
(V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
(V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
(V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
(V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
(V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
(V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
(V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
(V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
(V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
(V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
(V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
(V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
(V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
(V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
(V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
(V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
(V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
(V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
(V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
(V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
(V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
(V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
(QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
(QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
(QI_FTYPE_V8DF_INT_QI): Ditto.
(QI_FTYPE_V4DF_INT_QI): Ditto.
(QI_FTYPE_V2DF_INT_QI): Ditto.
(HI_FTYPE_V16SF_INT_HI): Ditto.
(QI_FTYPE_V8SF_INT_QI): Ditto.
(QI_FTYPE_V4SF_INT_QI): Ditto.
(V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.

From-SVN: r226431

9 years agogimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.
Richard Biener [Fri, 31 Jul 2015 07:29:55 +0000 (07:29 +0000)]
gimple-fold.c (fold_gimple_assign): Remove folding of GIMPLE_BINARY_RHS.

2015-07-31  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Remove folding of
GIMPLE_BINARY_RHS.

From-SVN: r226429

9 years agogo-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.
Andreas Schwab [Fri, 31 Jul 2015 07:08:20 +0000 (07:08 +0000)]
go-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack.

* go-lang.c (go_langhook_init_options_struct): Don't set
x_flag_split_stack.
(go_langhook_post_options): Set it here instead.

From-SVN: r226428

9 years agoDon't cancel loop tree in parloops
Tom de Vries [Fri, 31 Jul 2015 06:26:44 +0000 (06:26 +0000)]
Don't cancel loop tree in parloops

2015-07-31  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66846
* omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
(expand_omp_target) [ENABLE_CHECKING]: Same.
(execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
cfun if !LOOPS_NEED_FIXUP.
(expand_omp_for_static_nochunk): Handle simple latch bb.  Handle case
that omp_for already has its own loop struct.
* tree-parloops.c (create_phi_for_local_result)
(create_call_for_reduction): Handle simple latch bb.
(create_parallel_loop): Add simple latch bb to preserve
LOOPS_HAVE_SIMPLE_LATCHES.  Record new exit.  Handle simple latch bb.
(gen_parallel_loop): Remove call to cancel_loop_tree.
(parallelize_loops): Skip loops that are inner loops of parallelized
loops.
(pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
verify_loop_structure.

From-SVN: r226427

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:49:18 +0000 (01:49 +0100)]
* sv.po: Update.

From-SVN: r226425

9 years ago* sv.po: Update.
Joseph Myers [Fri, 31 Jul 2015 00:48:04 +0000 (01:48 +0100)]
* sv.po: Update.

From-SVN: r226423

9 years agoDaily bump.
GCC Administrator [Fri, 31 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226422

9 years ago[V850] Hookize LIBCALL_VALUE
Anatoly Sokolov [Thu, 30 Jul 2015 21:36:18 +0000 (00:36 +0300)]
[V850] Hookize LIBCALL_VALUE

From-SVN: r226418

9 years agoUse lowpart_subreg instead of simplify_gen_subreg
Anatoly Sokolov [Thu, 30 Jul 2015 21:25:29 +0000 (00:25 +0300)]
Use lowpart_subreg instead of simplify_gen_subreg

From-SVN: r226417

9 years agoc-pretty-print.c (unary_expression): Don't print '*' for reference decay.
Jason Merrill [Thu, 30 Jul 2015 19:16:23 +0000 (15:16 -0400)]
c-pretty-print.c (unary_expression): Don't print '*' for reference decay.

* c-pretty-print.c (unary_expression) [INDIRECT_REF]: Don't print
'*' for reference decay.

From-SVN: r226410

9 years ago* gcc.target/i386/pr66648.c: Move to correct place.
Uros Bizjak [Thu, 30 Jul 2015 16:13:02 +0000 (18:13 +0200)]
* gcc.target/i386/pr66648.c: Move to correct place.

From-SVN: r226409

9 years ago[AArch64] Removed unused VRL2/3/4 iterator values
Alan Lawrence [Thu, 30 Jul 2015 16:04:08 +0000 (16:04 +0000)]
[AArch64] Removed unused VRL2/3/4 iterator values

* config/aarch64/iterators.md (VRL2, VRL3, VRL4): Remove values for
128-bit vector modes.

From-SVN: r226408

9 years agobuiltins.c (HAVE_atomic_clear, [...]): Delete.
Richard Sandiford [Thu, 30 Jul 2015 13:22:56 +0000 (13:22 +0000)]
builtins.c (HAVE_atomic_clear, [...]): Delete.

gcc/
* builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
(expand_builtin_atomic_clear): Remove support for atomic_clear
pattern.

From-SVN: r226405

9 years agogimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.
Richard Biener [Thu, 30 Jul 2015 13:11:41 +0000 (13:11 +0000)]
gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison binaries.

2015-07-30  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
binaries.  Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
(fold_stmt_1): ... here and work on GIMPLE directly.  Remove
redundant operand canonicalization.

From-SVN: r226404

9 years agoaarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER...
David Sherwood [Thu, 30 Jul 2015 13:06:25 +0000 (13:06 +0000)]
aarch64-simd.md (aarch64_ext<mode>): Replace call to GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).

gcc/
2015-07-30  David Sherwood  <david.sherwood@arm.com>

* config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
* config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
* config/arm/arm.c (neon_valid_immediate): Likewise.
* config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
(expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
(expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq): Likewise.
(expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
(expand_vec_perm_vpshufb4_vpermq2): Likewise.
* config/i386/sse.md
(<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
(*ssse3_palignr<mode>_perm): Likewise.
* config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
* config/spu/spu.c (arith_immediate_p): Likewise.
* simplify-rtx.c (simplify_const_unary_operation): Likewise.
(simplify_binary_operation_1, simplify_ternary_operation): Likewise.

From-SVN: r226403

9 years agocurrent_path.cc: Use canonical paths for comparisons.
Jonathan Wakely [Thu, 30 Jul 2015 12:41:33 +0000 (13:41 +0100)]
current_path.cc: Use canonical paths for comparisons.

* testsuite/experimental/filesystem/operations/current_path.cc: Use
canonical paths for comparisons.

From-SVN: r226402

9 years agogenmatch.c (decision_tree::gen_gimple): Merge with ...
Richard Biener [Thu, 30 Jul 2015 11:20:21 +0000 (11:20 +0000)]
genmatch.c (decision_tree::gen_gimple): Merge with ...

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (decision_tree::gen_gimple): Merge with ...
(decision_tree::gen_generic): ... this into ...
(decision_tree::gen): ... this.
(main): Adjust callers.

From-SVN: r226396

9 years agoregex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State...
Tim Shen [Thu, 30 Jul 2015 10:35:45 +0000 (10:35 +0000)]
regex_automaton.h (_State_base, _State<>): Remove _TraitsT dependency from _State<>...

* include/bits/regex_automaton.h (_State_base, _State<>):
Remove _TraitsT dependency from _State<>; Make matcher member
into the union to reduce struct size.
* include/bits/regex_automaton.tcc (_State_base<>::_M_print,
_State_base<>::_M_dot, _StateSeq<>::_M_clone):
Adjust to fit the interface. Factor out common parts in
_M_clone as _State<>::_M_has_alt.
* include/bits/regex_executor.h (_Executer<>::_M_lookahead):
Only pass state id instead of the whole state.
* include/bits/regex_executor.tcc (_Executer<>::_M_dfs,
_Executer<>::_M_lookahead): Adjust to fit the interface.
* include/std/regex: Include <ext/aligned_buffer.h>

From-SVN: r226395

9 years agoclass.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instea...
Paolo Carlini [Thu, 30 Jul 2015 10:24:46 +0000 (10:24 +0000)]
class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.

2015-07-30  Paolo Carlini  <paolo.carlini@oracle.com>

* class.c (check_for_override): Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_hidden): Likewise but use location_of.
(finish_struct_anon_r): Likewise use DECL_SOURCE_LOCATION in permerror.
(check_bitfield_decl, check_field_decls): Likewise in warning_at.
(check_field_decls): Likewise for permerror.
(explain_non_literal_class): Likewise for inform.
(check_bases_and_members, layout_class_type): Likewise for warning_at.
(note_name_declared_in_class): Use location_of in permerror.
* name-lookup.c (diagnose_name_conflict): Use location_of in inform.
(pushdecl_maybe_friend_1): Use DECL_SOURCE_LOCATION in pedwarn,
inform, and warning_at.
(check_for_out_of_scope_variable): Likewise for warning_at and
permerror.

From-SVN: r226394

9 years agoany (any::operator=(const any&)): Check for self-assignment.
Jonathan Wakely [Thu, 30 Jul 2015 10:00:39 +0000 (11:00 +0100)]
any (any::operator=(const any&)): Check for self-assignment.

* include/experimental/any (any::operator=(const any&)): Check for
self-assignment.
* testsuite/experimental/any/assign/self.cc: New.
* testsuite/experimental/any/misc/any_cast_neg.cc: Adjust dg-error.

From-SVN: r226393

9 years agoc-common.c (warn_tautological_cmp): Bail for float types.
Marek Polacek [Thu, 30 Jul 2015 08:31:59 +0000 (08:31 +0000)]
c-common.c (warn_tautological_cmp): Bail for float types.

* c-common.c (warn_tautological_cmp): Bail for float types.

* c-c++-common/Wtautological-compare-3.c: New test.

From-SVN: r226388

9 years agogenmatch.c (verbose): New global.
Richard Biener [Thu, 30 Jul 2015 07:56:23 +0000 (07:56 +0000)]
genmatch.c (verbose): New global.

2015-07-30  Richard Biener  <rguenther@suse.de>

* genmatch.c (verbose): New global.
(warning_at): Add overload with source_location.
(capture_info::capture_info): Add bool whether generating gimple
or generic.  Add gimple member.
(capture_info::cinfo): Add capture member.
(capture_info::walk_match): Record capture.  Warn on
non-captured leafs.
(capture_info::walk_c_expr): Add more fragments captures cannot
escape through.  Warn on escaped captures.
(dt_simplify::gen_1): Warn on operands we force to have no
side-effects.
(main): Initialize verbose.
* match.pd: Add integer_nonzerop and HONOR_NANS predicates.

From-SVN: r226386

9 years agore PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)
Richard Biener [Thu, 30 Jul 2015 07:09:20 +0000 (07:09 +0000)]
re PR middle-end/67053 (FAIL: experimental/optional/constexpr/make_optional.cc)

2015-07-30  Richard Biener  <rguenther@suse.de>

PR middle-end/67053
* match.pd: Allow both operands to independently have conversion
when simplifying compares of addresses.

From-SVN: r226384

9 years agoDR 1558 PR c++/67021
Jason Merrill [Thu, 30 Jul 2015 05:27:34 +0000 (01:27 -0400)]
DR 1558 PR c++/67021

DR 1558
PR c++/67021
* pt.c (tsubst_decl) [TYPE_DECL]: Clear TYPE_DEPENDENT_P_VALID.

From-SVN: r226381

9 years agore PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)
Segher Boessenkool [Thu, 30 Jul 2015 02:34:09 +0000 (04:34 +0200)]
re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal)

PR target/66217
PR target/67045
* config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
around those cases that need one.

From-SVN: r226378

9 years agoDaily bump.
GCC Administrator [Thu, 30 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226377

9 years agosyscall: Fix to libgo/mksysinfo.sh
Ian Lance Taylor [Wed, 29 Jul 2015 21:42:30 +0000 (21:42 +0000)]
syscall:  Fix to libgo/mksysinfo.sh

    In a recent change to mksysinfo.sh, a space was missing on
    some lines which caused the libgo build to hang on some
    systems.  This corrects that problem.

    Fixes golang/go#11924

    Reviewed-on: https://go-review.googlesource.com/12835

From-SVN: r226366

9 years ago[graphite] reduce the number of params in a scop to 3
Aditya Kumar [Wed, 29 Jul 2015 21:28:27 +0000 (21:28 +0000)]
[graphite] reduce the number of params in a scop to 3

* params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.

From-SVN: r226365

9 years agoDefine DBX_REGISTER_NUMBER for IA MCU
H.J. Lu [Wed, 29 Jul 2015 21:06:23 +0000 (21:06 +0000)]
Define DBX_REGISTER_NUMBER for IA MCU

Since IA MCU uses the same debug register map as Linux/x86, we copy
DBX_REGISTER_NUMBER together with TARGET_ASM_FILE_START_FILE_DIRECTIVE
and ASM_COMMENT_START from i386/gnu-user.h to i386/iamcu.h.

* config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
New.  Copied from config/i386/gnu-user.h.
(ASM_COMMENT_START): Likewise.
(DBX_REGISTER_NUMBER): Likewise.

From-SVN: r226363

9 years agoFix whitespace in my MAINTAINERS change commit.
Ville Voutilainen [Wed, 29 Jul 2015 19:17:47 +0000 (22:17 +0300)]
Fix whitespace in my MAINTAINERS change commit.

* MAINTAINERS (Write After Approval): Add a blank line.

From-SVN: r226361

9 years ago* MAINTAINERS (Write After Approval): Add myself.
Ville Voutilainen [Wed, 29 Jul 2015 17:20:23 +0000 (20:20 +0300)]
* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r226358

9 years agore PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift...
Uros Bizjak [Wed, 29 Jul 2015 15:42:03 +0000 (17:42 +0200)]
re PR libfortran/66650 (libgfortran: warning: left shift of negative value [-Wshift-negative-value])

PR libgfortran/66650
* libgfortran.h (GFC_DTYPE_SIZE_MASK): Rewrite to avoid
"left shift of negative value" warning.

From-SVN: r226355

9 years agore PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage...
Jonathan Wakely [Wed, 29 Jul 2015 14:56:11 +0000 (15:56 +0100)]
re PR libstdc++/66829 (FAIL: 23_containers/multiset/modifiers/erase/dr130-linkage-check.cc)

PR libstdc++/66829
* testsuite/lib/libstdc++.exp (v3-build_support): Compile
testsuite_shared.cc with -std=gnu++98.

From-SVN: r226354

9 years ago[AArch64 Testsuite] vld1_lane.c: Remove unused test data
Alan Lawrence [Wed, 29 Jul 2015 14:27:21 +0000 (14:27 +0000)]
[AArch64 Testsuite] vld1_lane.c: Remove unused test data

(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)

        * gcc.target/aarch64/vld1_lane.c (main): Remove unused test data.
        (CHECK): Pass address of scalar, rather than array.

From-SVN: r226353

9 years ago[AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t case
Alan Lawrence [Wed, 29 Jul 2015 14:21:19 +0000 (14:21 +0000)]
[AArch64 Testsuite] vld1-vst1_1.c: Add missing float32x4_t case

(taken from [AArch64] Add support for float14x{4,8}_t vectors/builtins)

        * gcc.target/aarch64/vld1-vst1_1.c: Add missing float32x4_t case.

From-SVN: r226352

9 years agogimple-fold.c (fold_gimple_cond): Remove.
Richard Biener [Wed, 29 Jul 2015 14:17:49 +0000 (14:17 +0000)]
gimple-fold.c (fold_gimple_cond): Remove.

2015-07-29  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (fold_gimple_cond): Remove.
(fold_stmt_1): Do not call it.

From-SVN: r226351

9 years ago[ARM/AArch64 Testsuite] Add basic fp16 tests
Alan Lawrence [Wed, 29 Jul 2015 13:28:54 +0000 (13:28 +0000)]
[ARM/AArch64 Testsuite] Add basic fp16 tests

* gcc.target/aarch64/fp16/fp16.exp: New.
* gcc.target/aarch64/fp16/f16_convs_1.c: New.
* gcc.target/aarch64/fp16/f16_convs_2.c: New.

From-SVN: r226350

9 years ago* testsuite/24_iterators/container_access.cc: New.
Jonathan Wakely [Wed, 29 Jul 2015 12:55:58 +0000 (13:55 +0100)]
* testsuite/24_iterators/container_access.cc: New.

From-SVN: r226349

9 years agorange_access.h: Change class to typename in every template.
Ville Voutilainen [Wed, 29 Jul 2015 12:41:32 +0000 (15:41 +0300)]
range_access.h: Change class to typename in every template.

2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

* include/bits/range_access.h: Change class to typename in every
template.
(size, empty, data): New functions from N4280.
* testsuite/24_iterators/container_access.cc: New.

From-SVN: r226348

9 years agore PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))
Ville Voutilainen [Wed, 29 Jul 2015 12:41:23 +0000 (15:41 +0300)]
re PR libstdc++/60970 (Support std::hash with enum types (LWG 2148))

2015-07-29  Ville Voutilainen  <ville.voutilainen@gmail.com>

PR libstdc++/60970
* include/bits/functional_hash.h (__hash_enum): New.
(hash): Derive from __hash_enum.
* testsuite/20_util/hash/60970.cc: New.

From-SVN: r226347

9 years ago[AArch64] Add basic FP16 support
Alan Lawrence [Wed, 29 Jul 2015 12:27:05 +0000 (12:27 +0000)]
[AArch64] Add basic FP16 support

gcc/:

* config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
(aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.

* config/aarch64/aarch64-modes.def: Add HFmode.

* config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
__ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.

* config/aarch64/aarch64.c (aarch64_init_libfuncs,
aarch64_promoted_type): New.

(aarch64_float_const_representable_p): Disable HFmode.
(aarch64_mangle_type): Mangle half-precision floats to "Dh".
(TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
(TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.

* config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
(movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.

* config/aarch64/iterators.md (GPF_F16): New.

gcc/testsuite/:

* gcc.target/aarch64/f16_movs_1.c: New test.

From-SVN: r226346

9 years agomatch.pd: Merge address comparison patterns and make them handle some more cases.
Richard Biener [Wed, 29 Jul 2015 12:14:08 +0000 (12:14 +0000)]
match.pd: Merge address comparison patterns and make them handle some more cases.

2015-07-29  Richard Biener  <rguenther@suse.de>

* match.pd: Merge address comparison patterns and make them
handle some more cases.

From-SVN: r226345

9 years agogenmatch.c (c_expr::gen_transform): Error on unknown captures.
Richard Biener [Wed, 29 Jul 2015 12:06:14 +0000 (12:06 +0000)]
genmatch.c (c_expr::gen_transform): Error on unknown captures.

2015-07-29  Richard Biener  <rguenther@suse.de>

* genmatch.c (c_expr::gen_transform): Error on unknown captures.
(parser::parse_capture): Add bool argument on whether to reject
unknown captures.
(parser::parse_expr): Adjust.
(parser::parse_op): Likewise.
(parser::parse_pattern): Likewise.

From-SVN: r226344

9 years agogimple-fold.c (has_use_on_stmt): New function.
Richard Biener [Wed, 29 Jul 2015 07:48:10 +0000 (07:48 +0000)]
gimple-fold.c (has_use_on_stmt): New function.

2015-07-29  Richard Biener  <rguenther@suse.de>

* gimple-fold.c (has_use_on_stmt): New function.
(replace_stmt_with_simplification): Use it to allow
abnormals originally referenced in the stmt.
(fold_stmt_1): Canonicalize operand order.

From-SVN: r226339

9 years agoUse fast unwinder for PowerPC
Markus Trippelsdorf [Wed, 29 Jul 2015 06:32:09 +0000 (06:32 +0000)]
Use fast unwinder for PowerPC

2015-07-29  Markus Trippelsdorf  <markus@trippelsdorf.de>

PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.h: Use fast unwinder
for PowerPC.

From-SVN: r226338

9 years agore PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)
Tim Shen [Wed, 29 Jul 2015 03:45:35 +0000 (03:45 +0000)]
re PR libstdc++/67015 ("^[a-z0-9][a-z0-9-]*$", std::regex::extended is miscompiled)

PR libstdc++/67015
* include/bits/regex_compiler.h (_Compiler<>::_M_expression_term,
_BracketMatcher<>::_M_add_collating_element): Change signature
to make checking the and of bracket expression easier.
* include/bits/regex_compiler.tcc (_Compiler<>::_M_expression_term):
Treat '-' as a valid literal if it's at the end of bracket expression.
* testsuite/28_regex/algorithms/regex_match/cstring_bracket_01.cc:
New testcases.

From-SVN: r226336

9 years agore PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)
Bill Schmidt [Wed, 29 Jul 2015 03:33:10 +0000 (03:33 +0000)]
re PR sanitizer/63927 (AddressSanitizer painfully slow on ppc64)

2015-07-28  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

PR sanitizer/63927
* sanitizer_common/sanitizer_stacktrace.cc
(BufferedStackTrace::FastUnwindStack): Fix code for PowerPC to
find the link register at an offset of 16 from the base of the
caller's stack frame.

From-SVN: r226335

9 years agoDaily bump.
GCC Administrator [Wed, 29 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r226334