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
Jonathan Wakely [Wed, 29 Jul 2015 12:55:58 +0000 (13:55 +0100)]
* testsuite/24_iterators/container_access.cc: New.
From-SVN: r226349
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
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
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
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
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
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
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
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
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
GCC Administrator [Wed, 29 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226334
David Sherwood [Tue, 28 Jul 2015 20:31:17 +0000 (20:31 +0000)]
arm.c (neon_element_bits, [...]): Call GET_MODE_INNER unconditionally.
gcc/
2015-07-28 David Sherwood <david.sherwood@arm.com>
* config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
GET_MODE_INNER unconditionally.
* config/spu/spu.c (arith_immediate_p): Likewise.
* config/i386/i386.c (ix86_build_signbit_mask): Likewise.
* expmed.c (synth_mult): Remove check for VOIDmode result from
GET_MODE_INNER.
(expand_mult_const): Likewise.
* fold-const.c (fold_binary_loc): Replace call to element_precision
with call to GET_MODE_PRECISION.
* genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
m->name.
(emit_mode_inner): Likewise.
* lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
result check.
* machmode.h (GET_MODE_UNIT_SIZE): Simplify.
(GET_MODE_UNIT_PRECISION): Likewise.
* rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
* simplify-rtx.c (simplify_immed_subreg): Likewise.
* stor-layout.c (bitwise_type_for_mode): Update assert.
(element_precision): Remove.
From-SVN: r226328
Richard Sandiford [Tue, 28 Jul 2015 20:06:57 +0000 (20:06 +0000)]
target-insns.def (reload_load_address): New targetm instruction pattern.
gcc/
* target-insns.def (reload_load_address): New targetm instruction
pattern.
* reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
From-SVN: r226326
Richard Sandiford [Tue, 28 Jul 2015 20:03:22 +0000 (20:03 +0000)]
target-insns.def (atomic_test_and_set): New targetm instruction pattern.
gcc/
* target-insns.def (atomic_test_and_set): New targetm instruction
pattern.
* optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
HAVE_*/gen_* interface.
From-SVN: r226325
Richard Sandiford [Tue, 28 Jul 2015 19:59:40 +0000 (19:59 +0000)]
target-insns.def (can_extend, ptr_extend): New targetm instruction patterns.
gcc/
* target-insns.def (can_extend, ptr_extend): New targetm instruction
patterns.
* optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
* simplify-rtx.c (simplify_unary_operation_1): Likewise.
* emit-rtl.c (set_reg_attrs_from_value): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
From-SVN: r226324
Richard Sandiford [Tue, 28 Jul 2015 19:54:06 +0000 (19:54 +0000)]
target-insns.def (eh_return): New targetm instruction pattern.
gcc/
* target-insns.def (eh_return): New targetm instruction pattern.
* except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
interface.
* function.c (thread_prologue_and_epilogue_insns): Remove
preprocessor condition.
From-SVN: r226322
Richard Sandiford [Tue, 28 Jul 2015 19:50:22 +0000 (19:50 +0000)]
target-insns.def (indirect_jump): New targetm instruction pattern.
gcc/
* target-insns.def (indirect_jump): New targetm instruction pattern.
* optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
interface.
From-SVN: r226321
Richard Sandiford [Tue, 28 Jul 2015 19:34:12 +0000 (19:34 +0000)]
fr30.md (indirect_jump): Use pmode_register_operand instead of nonimmediate_operand.
gcc/
* config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
instead of nonimmediate_operand. Remove C condiition.
From-SVN: r226320
Eric Gallager [Tue, 28 Jul 2015 18:11:22 +0000 (18:11 +0000)]
check.tpl: Ignore .DS_Store directories.
2015-07-28 Eric Gallager <egall@gwmail.gwu.edu>
* check.tpl: Ignore .DS_Store directories.
From-SVN: r226317
Richard Biener [Tue, 28 Jul 2015 11:53:37 +0000 (11:53 +0000)]
match.pd: Add more simplification of address comparisons.
2015-07-28 Richard Biener <rguenther@suse.de>
* match.pd: Add more simplification of address comparisons.
From-SVN: r226312
Richard Biener [Tue, 28 Jul 2015 11:52:55 +0000 (11:52 +0000)]
match.pd: Re-order two cases in comparison with max/min value simplification to make it...
2015-07-28 Richard Biener <rguenther@suse.de>
* match.pd: Re-order two cases in comparison with max/min
value simplification to make it apply for bools.
From-SVN: r226311
Kyrylo Tkachov [Tue, 28 Jul 2015 11:00:07 +0000 (11:00 +0000)]
[AArch64] Properly handle simple arith+extend ops in rtx costs
* config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
Handle simple SIGN_EXTEND or ZERO_EXTEND.
(aarch64_rtx_costs): Properly strip extend or extract before
passing down to rtx costs again.
From-SVN: r226309
Paolo Carlini [Tue, 28 Jul 2015 08:53:57 +0000 (08:53 +0000)]
call.c (build_op_delete_call, [...]): Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead of "%q+D".
2015-07-28 Paolo Carlini <paolo.carlini@oracle.com>
* call.c (build_op_delete_call, convert_like_real, build_over_call):
Use Use DECL_SOURCE_LOCATION and "%qD" in inform and pedwarn instead
of "%q+D".
* constexpr.c (explain_invalid_constexpr_fn): Likewise.
* decl.c (duplicate_decls): Likewise for warning/warning_at.
* except.c (maybe_noexcept_warning): Likewise.
* friend.c (make_friend_class): Likewise for inform.
* mangle.c (mangle_decl): Likewise for warning/warning_at.
* method.c (process_subob_fn, walk_field_subobs,
maybe_explain_implicit_delete): Likewise for inform.
* parser.c (cp_parser_lambda_introducer): Likewise.
* pt.c (check_specialization_namespace,
maybe_process_partial_specialization): Likewise for permerror.
(redeclare_class_template): Likewise for inform_n.
(coerce_template_parms, tsubst_copy_and_build): Likewise for inform.
* search.c (check_final_overrider): Likewise.
* semantics.c (process_outer_var_ref): Likewise.
From-SVN: r226308
Nick Clifton [Tue, 28 Jul 2015 08:09:09 +0000 (08:09 +0000)]
rl78.c (rl78_addsi3_internal): New function.
* config/rl78/rl78.c (rl78_addsi3_internal): New function.
Optimizes the case where -mes0 is active and a constant symbolic
address is used.
* config/rl78/rl78-protos.h: Prototype the new function.
* config/rl78/rl78.md (addsi3_internal_real): Call new function.
From-SVN: r226306
Tom de Vries [Tue, 28 Jul 2015 07:54:04 +0000 (07:54 +0000)]
Handle double reduction in parloops
2015-07-28 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (reduc_stmt_res): New function.
(initialize_reductions, add_field_for_reduction)
(create_phi_for_local_result, create_loads_for_reductions)
(create_stores_for_reduction, build_new_reduction): Handle case that
reduc_stmt is a phi.
(gather_scalar_reductions): Allow double_reduc reductions.
* gcc.dg/autopar/uns-outer-4.c: Remove xfail on scan for parallelizing
outer loop.
* testsuite/libgomp.c/uns-outer-4.c: New test.
From-SVN: r226300
Richard Biener [Tue, 28 Jul 2015 07:20:33 +0000 (07:20 +0000)]
fold-const.c (fold_comparison): Remove equality folding of decl addresses ...
2015-07-28 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_comparison): Remove equality folding
of decl addresses ...
* match.pd: ... here and merge with existing pattern.
From-SVN: r226299
Thomas Preud'homme [Tue, 28 Jul 2015 06:54:50 +0000 (06:54 +0000)]
re PR tree-optimization/66828 (gcc/tree-ssa-math-opts.c:2182:38: runtime error: left shift of
72057594037927936 by 8 places cannot be represented in type 'long int')
2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
PR tree-optimization/66828
* tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
from int64_t to uint64_t.
From-SVN: r226298
Dominik Vogt [Tue, 28 Jul 2015 05:51:01 +0000 (05:51 +0000)]
Honour DriverOnly for enum values in error messages
/gcc/ChangeLog
* opts-common.c (read_cmdline_option): List DriverOnly enum values as
valid only in the error message of the driver, not in the messages of
the language compilers.
From-SVN: r226297
Ben Elliston [Tue, 28 Jul 2015 00:57:40 +0000 (10:57 +1000)]
* config.sub, config.guess: Import from upstream.
From-SVN: r226296
GCC Administrator [Tue, 28 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226294
Luis Felipe Strano Moraes [Mon, 27 Jul 2015 22:26:34 +0000 (22:26 +0000)]
c-decl.c (get_parm_info): Remove static var.
gcc/c/ChangeLog
2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
* c-decl.c (get_parm_info): Remove static var. Update warning
message.
gcc/testsuite/ChangeLog
2015-07-28 Luis Felipe Strano Moraes <luis.strano@gmail.com>
Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/parm-incomplete-1.c: Update.
* gcc.dg/pr18809-1.c: Update.
* gcc.dg/pr27953.c: Update.
* gcc.dg/vla-11.c: Update.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r226274
Marek Polacek [Mon, 27 Jul 2015 20:51:48 +0000 (20:51 +0000)]
* c-c++-common/Wtautological-compare-2.c: Remove unused line.
From-SVN: r226271
Tom de Vries [Mon, 27 Jul 2015 20:05:19 +0000 (20:05 +0000)]
Simplify gather_scalar_reductions
2015-07-27 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gather_scalar_reductions): Simplify function
structure.
From-SVN: r226270
Tom de Vries [Mon, 27 Jul 2015 20:05:09 +0000 (20:05 +0000)]
Update outer-4.c and uns-outer-4.c
2015-07-27 Tom de Vries <tom@codesourcery.com>
* gcc.dg/autopar/outer-4.c (parloop): Remove superfluous noinline
attribute. Update comment.
(main): Remove.
Add scan for not parallelizing inner loop.
* gcc.dg/autopar/uns-outer-4.c (parloop): Remove superfluous noinline
attribute.
(main): Remove.
From-SVN: r226269
Marek Polacek [Mon, 27 Jul 2015 19:36:40 +0000 (19:36 +0000)]
* ipa-devirt.c (types_same_for_odr): Fix typo.
From-SVN: r226266
Marek Polacek [Mon, 27 Jul 2015 19:09:27 +0000 (19:09 +0000)]
re PR bootstrap/67030 (ARM bootstrap failure due to [-Werror=tautological-compare])
PR bootstrap/67030
* c-common.c (warn_tautological_cmp): Don't warn for macro expansion.
* c-c++-common/Wtautological-compare-2.c: New test.
From-SVN: r226264
Jason Merrill [Mon, 27 Jul 2015 16:57:21 +0000 (12:57 -0400)]
constexpr.c (cxx_eval_call_expression): Don't add this call to the hash table if !depth_ok.
* constexpr.c (cxx_eval_call_expression): Don't add this call to
the hash table if !depth_ok.
From-SVN: r226256
Jason Merrill [Mon, 27 Jul 2015 16:57:15 +0000 (12:57 -0400)]
re PR lto/66468 (ICE in in check_die, at dwarf2out.c:5719)
PR debug/66468
* dwarf2out.c (gen_inlined_subroutine_die): Check
cgraph_function_possibly_inlined_p.
From-SVN: r226255
H.J. Lu [Mon, 27 Jul 2015 16:24:35 +0000 (16:24 +0000)]
Add more tests for PR target/66232
PR target/66232
* gcc.target/i386/pr66232-6.c: New tests.
* gcc.target/i386/pr66232-7.c: Likewise.
* gcc.target/i386/pr66232-8.c: Likewise.
* gcc.target/i386/pr66232-9.c: Likewise.
From-SVN: r226254
Wilco Dijkstra [Mon, 27 Jul 2015 16:18:36 +0000 (16:18 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shr patterns
gcc/
* gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
Place integer variant first.
(aarch64_ashr_sisd_or_int_<mode>3): Likewise.
From-SVN: r226253
Alan Lawrence [Mon, 27 Jul 2015 15:55:23 +0000 (15:55 +0000)]
[ARM] PR/63870 Add a __builtin_lane_check
* config/arm/arm-builtins.c (enum arm_builtins):
Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
(ARM_BUILTIN_NEON_BASE): Rename macro to....
(ARM_BUILTIN_NEON_PATTERN_START): ...this.
(arm_init_neon_builtins): Register __builtin_arm_lane_check.
(arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
From-SVN: r226252
Alan Lawrence [Mon, 27 Jul 2015 15:44:26 +0000 (15:44 +0000)]
[ARM] PR/63870 Add qualifier to check lane bounds in expand
* config/arm/arm-builtins.c (enum arm_type_qualifiers):
Add qualifier_lane_index.
(arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
(arm_getlane_qualifiers): Use qualifier_lane_index.
(arm_lanemac_qualifiers): Rename to...
(arm_mac_n_qualifiers): ...this.
(LANEMAC_QUALIFIERS): Rename to...
(MAC_N_QUALIFIERS): ...this.
(arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
(arm_setlane_qualifiers): Use qualifier_lane_index.
(arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
(enum builtin_arg): Add NEON_ARG_LANE_INDEX.
(arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
(arm_expand_neon_builtin): Handle qualifier_lane_index.
* config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
* config/arm/arm.c (bounds_check): Likewise, improve error message.
(neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
* config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
(vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
qualifiers to TERNOP_IMM.
(vdup_lane): Change qualifiers to GETLANE.
(vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
(vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
vqdmlsl_n): Change qualifiers to MAC_N.
* config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
Remove call to neon_lane_bounds.
From-SVN: r226251
Wilco Dijkstra [Mon, 27 Jul 2015 15:02:55 +0000 (15:02 +0000)]
[PATCH][AArch64] Improve spill code - swap order in shl pattern
gcc/
* config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
Place integer variant first.
From-SVN: r226247
Thomas Schwinge [Mon, 27 Jul 2015 14:26:41 +0000 (16:26 +0200)]
Fix logic error in Fortran OpenACC parsing
gcc/fortran/
* parse.c (parse_oacc_structured_block): Fix logic error.
Reported by Mikael Morin <mikael.morin@sfr.fr>.
From-SVN: r226246
Matthew Wahab [Mon, 27 Jul 2015 13:07:09 +0000 (13:07 +0000)]
arm-arches.def: Add "armv6kz".
2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
* config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
* config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
for armv6kz targets.
* config/arm/arm-cores.def: Replace 6ZK with 6KZ.
* config/arm/arm-protos.h (FL_ARCH6KZ): New.
(FL_FOR_ARCH6ZK): Remove.
(FL_FOR_ARCH6KZ): New.
(arm_arch6zk): New declaration.
* config/arm/arm-tables.opt: Regenerate.
* config/arm/arm.c (arm_arch6kz): New.
(arm_option_override): Set arm_arch6kz.
* config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
* config/arm/driver-arm.c: Add comment to "armv6zk" entry.
* doc/invoke.texi: Replace "armv6zk" with "armv6kz".
From-SVN: r226243
Marek Polacek [Mon, 27 Jul 2015 12:40:45 +0000 (12:40 +0000)]
re PR c++/66555 (Fails to warn for if (j == 0 && i == i))
PR c++/66555
PR c/54979
* c-common.c (find_array_ref_with_const_idx_r): New function.
(warn_tautological_cmp): New function.
* c-common.h (warn_tautological_cmp): Declare.
* c.opt (Wtautological-compare): New option.
* c-typeck.c (parser_build_binary_op): Call warn_tautological_cmp.
* call.c (build_new_op_1): Call warn_tautological_cmp.
* pt.c (tsubst_copy_and_build): Use sentinel to suppress tautological
compare warnings.
* doc/invoke.texi: Document -Wtautological-compare.
* c-c++-common/Wtautological-compare-1.c: New test.
From-SVN: r226242
Richard Biener [Mon, 27 Jul 2015 10:59:18 +0000 (10:59 +0000)]
genmatch.c (decision_tree::gen_gimple): Split out large subtrees into separate functions.
2015-07-27 Richard Biener <rguenther@suse.de>
* genmatch.c (decision_tree::gen_gimple): Split out large
subtrees into separate functions.
(decision_tree::gen_generic): Likewise.
From-SVN: r226241
GCC Administrator [Mon, 27 Jul 2015 00:16:14 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226240
Patrick Palka [Sun, 26 Jul 2015 17:04:31 +0000 (17:04 +0000)]
Fix PR c++/18969 (invalid return statement diagnosed too late)
gcc/cp/ChangeLog:
PR c++/18969
* typeck.c (check_return_expr): Also do the basic return-value
validity checking if processing_template_decl and yet types are
not dependent. Remove obsolete code.
gcc/testsuite/ChangeLog:
PR c++/18969
* g++.dg/template/pr18969.C: New test.
* g++.dg/template/pr18969-2.C: New test.
* g++.old-deja/g++.jason/overload.C: Remove return value in
template function returning void.
From-SVN: r226236
Paolo Carlini [Sun, 26 Jul 2015 09:17:03 +0000 (09:17 +0000)]
decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD" in warning_at instead of "%q+D" in warning.
2015-07-26 Paolo Carlini <paolo.carlini@oracle.com>
* decl.c (poplevel): Use Use DECL_SOURCE_LOCATION and "%qD"
in warning_at instead of "%q+D" in warning.
(warn_extern_redeclared_static): Likewise for inform.
(check_redeclaration_no_default_args): Likewise for permerror.
(duplicate_decls): Likewise.
(check_previous_goto_1): Likewise for inform.
(check_goto, start_decl, check_for_uninitialized_const_var,
start_preparsed_function, finish_function§): Likewise.
* decl2.c (build_anon_union_vars, c_parse_final_cleanups): Likewise.
* init.c (sort_mem_initializers): Likewise.
* typeck.c (convert_for_initialization): Likewise for inform.
(maybe_warn_about_returning_address_of_local): Likewise.
* typeck2.c (abstract_virtuals_error_sfinae): Likewise for inform.
(cxx_incomplete_type_diagnostic): Likewise for emit_diagnostic.
From-SVN: r226234
Uros Bizjak [Sun, 26 Jul 2015 09:08:04 +0000 (11:08 +0200)]
pr66140.c (lpfc_bg_setup_bpl): Use unsigned immediates to avoid shift-overflow warnings.
* gcc.target/alpha/pr66140.c (lpfc_bg_setup_bpl): Use unsigned
immediates to avoid shift-overflow warnings.
From-SVN: r226233
Uros Bizjak [Sun, 26 Jul 2015 08:51:14 +0000 (10:51 +0200)]
alpha.c: Use SUBREG_P predicate.
* config/alpha/alpha.c: Use SUBREG_P predicate.
* config/alpha/predicates.md: Ditto.
From-SVN: r226232
GCC Administrator [Sun, 26 Jul 2015 00:16:17 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226231
Patrick Palka [Sat, 25 Jul 2015 23:15:44 +0000 (23:15 +0000)]
re PR c++/66857 (Reference not bound to lvalue)
Fix PR c++/66857
gcc/cp/ChangeLog:
PR c++/66857
* cvt.c (ocp_convert): Don't call scalar_constant_value when
converting to a class type.
gcc/testsuite/ChangeLog:
PR c++/66857
* g++.dg/init/pr66857.C: New test.
From-SVN: r226228
Dominik Vogt [Sat, 25 Jul 2015 18:34:15 +0000 (18:34 +0000)]
S390: Clean up cross-compile for S390.
gcc/ChangeLog
* config.host (s390*-*-*): Include driver-native.c only when
building with s390* as host *and* target.
From-SVN: r226223
Oleg Endo [Sat, 25 Jul 2015 14:07:17 +0000 (14:07 +0000)]
re PR target/66930 (gengtype.c is miscompiled during stage2)
gcc/
PR target/66930
* config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
T bit register modified_between_p check.
From-SVN: r226218
Uros Bizjak [Sat, 25 Jul 2015 12:57:23 +0000 (14:57 +0200)]
ChangeLog: Fix whitespace.
* ChangeLog: Fix whitespace.
* testsuite/ChangeLog: Ditto.
From-SVN: r226217
Uros Bizjak [Sat, 25 Jul 2015 12:47:35 +0000 (14:47 +0200)]
i386.c: Use SUBREG_P predicate.
* config/i386/i386.c: Use SUBREG_P predicate.
* config/i386/i386.md: Ditto.
* config/i386/sse.md: Ditto.
* config/i386/predicates.md: Ditto.
From-SVN: r226216
Uros Bizjak [Sat, 25 Jul 2015 11:34:59 +0000 (13:34 +0200)]
re PR target/67004 (valgrind error in recog_memoized & shorten_branches)
PR target/67004
* config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
From-SVN: r226215
Sebastian Pop [Sat, 25 Jul 2015 09:29:11 +0000 (09:29 +0000)]
remove tree-browser
* Makefile.in: Remove use of TREEBROWSER.
* config.in: Regenerated.
* configure: Regenerated.
* configure.ac: Remove definition of TREEBROWSER.
* tree-browser.c: Removed.
* tree-browser.def: Removed.
From-SVN: r226214
Sebastian Pop [Sat, 25 Jul 2015 09:22:29 +0000 (09:22 +0000)]
dump reasons why graphite failed to detect a scop
When trying to analyze why Graphite does not handle a loop nest, it is easy to
look in the dumps of -fdump-tree-graphite-all to guess what has to be changed to
catch the loop. This patch makes the dumps a bit more verbose and useful.
* graphite-scop-detection.c: Include gimple-pretty-print.h.
(stmt_simple_for_scop_p): Print when a stmt is not handled in Graphite.
(scopdet_basic_block_info): Print when a loop or bb cannot be
represented in Graphite.
From-SVN: r226213
Uros Bizjak [Sat, 25 Jul 2015 09:19:24 +0000 (11:19 +0200)]
re PR target/66648 (incorrect memcpy expansion with unrolled_loop strategy at -O2)
PR target/66648
* config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
execution guard when min_size is less than size_needed.
testsuite/ChangeLog:
PR target/66648
* gcc.target/i386/pr66648.c: New test.
From-SVN: r226212
Sebastian Pop [Sat, 25 Jul 2015 09:14:55 +0000 (09:14 +0000)]
update doc for supported isl versions
* doc/install.texi: Document supported versions of ISL.
From-SVN: r226211
Tom de Vries [Sat, 25 Jul 2015 07:52:59 +0000 (07:52 +0000)]
Fixup graphite/uns-*.c testcases
2015-07-25 Tom de Vries <tom@codesourcery.com>
* gcc.dg/graphite/graphite.exp: Include uns-*.c files in
interchange_files and block_files variables.
* gcc.dg/graphite/uns-block-1.c (main): Change signed into unsigned
arithmetic.
* gcc.dg/graphite/uns-interchange-12.c: Same.
* gcc.dg/graphite/uns-interchange-14.c: Same.
* gcc.dg/graphite/uns-interchange-15.c: Same.
* gcc.dg/graphite/uns-interchange-9.c (foo): Same.
* gcc.dg/graphite/uns-interchange-mvt.c: Same.
From-SVN: r226209
Jason Merrill [Sat, 25 Jul 2015 07:12:31 +0000 (03:12 -0400)]
re PR c++/64969 (generic functions do not work with placeholder return types)
PR c++/64969
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.
From-SVN: r226208
Jason Merrill [Sat, 25 Jul 2015 06:54:57 +0000 (02:54 -0400)]
re PR c++/64989 (constant-initialization of self-referencing array)
PR c++/64989
* pt.c (splice_late_return_type): Correct deduced return type for
abbreviated function template.
From-SVN: r226207
Jeff Law [Sat, 25 Jul 2015 05:45:42 +0000 (23:45 -0600)]
revert: re PR lto/66752 (spec2000 255.vortex performance compiled with GCC is ~20% lower than with CLANG)
Revert:
PR lto/66752
* tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
unable to find X NE 0 in the tables, return X as the simplified
condition.
(fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
to VISISTED_BBS. */
* tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
after removing the control flow statement and unnecessary edges.
testsuite/
PR lto/66752
* gcc.dg/tree-ssa/pr66752-2.c: New test.
* gcc.dg/torture/pr66752-1.c: New test
* g++.dg/torture/pr66752-2.C: New test.
From-SVN: r226206
David Edelsohn [Sat, 25 Jul 2015 01:28:21 +0000 (01:28 +0000)]
Revert:
2015-07-23 Alexandre Oliva <aoliva@redhat.com>
From-SVN: r226202
GCC Administrator [Sat, 25 Jul 2015 00:16:13 +0000 (00:16 +0000)]
Daily bump.
From-SVN: r226199
Ian Lance Taylor [Sat, 25 Jul 2015 00:01:04 +0000 (00:01 +0000)]
syscall: Add ioctl consts from if_tun.h
During the gccgo build define constants from
some header files are processed by mksysinfo.sh and
added to syscall.go. In some cases the constants
are based on macros which are not processed
correctly by mksysinfo.sh. This adds the support
to generate the correct values for the TUN* constants
from linux/if_tun.h.
Fixes golang/go#11707
Reviewed-on: https://go-review.googlesource.com/12491
From-SVN: r226196
Uros Bizjak [Fri, 24 Jul 2015 22:21:54 +0000 (00:21 +0200)]
i386.c (ix86_va_start): Remove unneeded !TARGET_64BIT check.
* config/i386/i386.c (ix86_va_start): Remove
unneeded !TARGET_64BIT check.
(ix86_gimplify_va_arg): Ditto.
From-SVN: r226195
Tom de Vries [Fri, 24 Jul 2015 20:55:31 +0000 (20:55 +0000)]
Enable reductions without fassociative-math in graphite
2015-07-24 Tom de Vries <tom@codesourcery.com>
* graphite-sese-to-poly.c (build_poly_scop): Always call
rewrite_commutative_reductions_out_of_ssa.
From-SVN: r226194
Tom de Vries [Fri, 24 Jul 2015 20:55:22 +0000 (20:55 +0000)]
Don't allow unsafe reductions in graphite
2015-07-24 Tom de Vries <tom@codesourcery.com>
* graphite-sese-to-poly.c (is_reduction_operation_p): Limit
flag_associative_math to FLOAT_TYPE_P. Honour
TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
* gcc.dg/graphite/block-1.c: Xfail scan.
* gcc.dg/graphite/interchange-12.c: Same.
* gcc.dg/graphite/interchange-14.c: Same.
* gcc.dg/graphite/interchange-15.c: Same.
* gcc.dg/graphite/interchange-9.c: Same.
* gcc.dg/graphite/interchange-mvt.c: Same.
* gcc.dg/graphite/uns-block-1.c: New test.
* gcc.dg/graphite/uns-interchange-12.c: New test.
* gcc.dg/graphite/uns-interchange-14.c: New test.
* gcc.dg/graphite/uns-interchange-15.c: New test.
* gcc.dg/graphite/uns-interchange-9.c: New test.
* gcc.dg/graphite/uns-interchange-mvt.c: New test.
From-SVN: r226193
Manuel López-Ibáñez [Fri, 24 Jul 2015 20:20:13 +0000 (20:20 +0000)]
re PR c++/64079 (%+D in diagnostics breaks pragma GCC diagnostic)
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
and "%qD" in warning_at instead of "%q+D" in warning.
/testsuite
2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR c++/64079
* c-c++-common/Wunused-function-1.c: New.
From-SVN: r226191
Uros Bizjak [Fri, 24 Jul 2015 19:03:45 +0000 (21:03 +0200)]
i386.c (ix86_call_abi_override): Call ix86_function_abi.
* config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
(ix86_function_abi): Cleanup.
From-SVN: r226187
Ian Lance Taylor [Fri, 24 Jul 2015 18:51:13 +0000 (18:51 +0000)]
compiler: Don't parse malformed receiver/parameters.
Fixes golang/go#11576.
Reviewed-on: https://go-review.googlesource.com/12157
From-SVN: r226185
Ian Lance Taylor [Fri, 24 Jul 2015 18:28:40 +0000 (18:28 +0000)]
compiler: Disallow rune literals with '\X'.
http://golang.org/ref/spec#Rune_literals states that rune literals
encoded as hex bytes must begin with lowercase '\x'.
Fixes golang/go#11575.
Reviewed-on: https://go-review.googlesource.com/12158
From-SVN: r226184
Jeff Law [Fri, 24 Jul 2015 18:20:44 +0000 (12:20 -0600)]
re PR other/66259 (Combined gcc and binutils build from git-master fails, with gas/as-new not existing)
PR other/66259
* config-ml.in: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise
boehm-gc/
PR other/66259
* Makefile.direct: Reflects renaming of configure.in to configure.ac
* Makefile.dist: Likewise
* version.h: Likewise
* doc/README: Likewise
config/
PR other/66259
* gettext.m4: Reflects renaming of configure.in to configure.ac
* po.m4: Likewise
* stdint.m4: Likewise
* tcl.m4: Likewise
gcc/
PR other/66259
* acinclude.m4: Reflects renaming of configure.in to configure.ac
* configure: Likewise
* configure.ac: Likewise
* doc/install.texi: Likewise
* doc/tm.texi: Likewise
* doc/tm.texi.in: Likewise
gcc/ada/
PR other/66259
* prj-nmsc.adb: Reflects renaming of configure.in to configure.ac
* gcc-interface/Makefile.in: Likewise
intl/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
libjava/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
libjava/classpath
PR other/66259
* INSTALL: Reflects renaming of configure.in to configure.ac
* ltconfig: Likewise
* missing: Likewise
* m4/ac_prog_javac.m4: Likewise
* m4/ac_prog/javac_works.m4: Likewise
* resource/META-INF/mimetypes.default: Likewise
libjava/libltdl
PR other/66259
* THREADS: Reflects renaming of configure.in to configure.ac
liboffloadmic/
PR other/66259
* configure: Reflects renaming of configure.in to configure.ac
From-SVN: r226183
Ian Lance Taylor [Fri, 24 Jul 2015 17:22:03 +0000 (17:22 +0000)]
compiler: Don't make temporaries for constant expressions.
Fixes golang/go#11039.
Reviewed-on: https://go-review.googlesource.com/10645
From-SVN: r226180
Kyrylo Tkachov [Fri, 24 Jul 2015 16:46:04 +0000 (16:46 +0000)]
[obvious] Use std::swap instead of manually swapping in a few more places
* alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
manually swapping values.
* cse.c (fold_rtx): Likewise.
* lra-eliminations.c (form_sum): Likewise.
From-SVN: r226179
Joseph Myers [Fri, 24 Jul 2015 16:44:23 +0000 (17:44 +0100)]
* nl.po: Update.
From-SVN: r226177
Joseph Myers [Fri, 24 Jul 2015 16:41:44 +0000 (17:41 +0100)]
be.po, [...]: Update.
* 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, vi.po, zh_CN.po,
zh_TW.po: Update.
* uk.po: New file.
From-SVN: r226175
Jonathan Wakely [Fri, 24 Jul 2015 16:30:04 +0000 (17:30 +0100)]
* include/bits/atomic_futex.h [_GLIBCXX_HAVE_LINUX_FUTEX]
(_M_load_and_test_until): Whitespace.
(_M_load_and_test): Value-initialize the unused durations.
(_M_load_when_equal): Add missing return value.
From-SVN: r226174
Uros Bizjak [Fri, 24 Jul 2015 16:25:56 +0000 (18:25 +0200)]
re PR target/64003 (valgrind complains about get_attr_length_nobnd in insn-attrtab.c from i386.md)
PR target/64003
* config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
* config/i386/i386.md (maybe_prefix_bnd): New attribute.
(*jcc_1, *jcc_2, jump, simple_return_internal)
(simple_return_pop_internal): Set attribute maybe_prefix_bnd.
Set length_nobnd attribute instead of length attribute.
(indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
(length_nobnd): Remove attribute.
(length): Remove length_nobnd processing.
From-SVN: r226173
Nathan Sidwell [Fri, 24 Jul 2015 16:13:04 +0000 (16:13 +0000)]
gimplify.c (omp_default_clause): New function.
* gimplify.c (omp_default_clause): New function. Reorganize flow
for clarity. Broken out of ...
(omp_notice_variable): ... here.
From-SVN: r226170
Gary Funck [Fri, 24 Jul 2015 16:10:39 +0000 (16:10 +0000)]
re PR middle-end/66984 (ICE: fold_binary changes type of operand, causing failure in verify_gimple_assign_binary)
2015-07-24 Gary Funck <gary@intrepid.com>
PR middle-end/66984
* fold-const.c (fold_binary_loc): Call fold_convert on arguments to
fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
From-SVN: r226168
Tom de Vries [Fri, 24 Jul 2015 15:00:59 +0000 (15:00 +0000)]
Add transform_to_exit_first_loop_alt dump success message
2015-07-24 Tom de Vries <tom@codesourcery.com>
* tree-parloops.c (gen_parallel_loop): Add debug print for alternative
exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-2.c: Use debug print for
alternative exit-first loop transform.
* gcc.dg/parloops-exit-first-loop-alt-3.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-4.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-5.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-6.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-7.c: Same.
* gcc.dg/parloops-exit-first-loop-alt-pr66652.c: Same.
* gcc.dg/parloops-exit-first-loop-alt.c: Same.
* gfortran.dg/parloops-exit-first-loop-alt-2.f95: Same.
* gfortran.dg/parloops-exit-first-loop-alt.f95: Same.
From-SVN: r226164
Mikael Morin [Fri, 24 Jul 2015 14:44:59 +0000 (14:44 +0000)]
Fix gfortran.dg/class_to_type_4.f90 deallocation code misordering failure
PR fortran/64986
gcc/fortran/
* trans-expr.c (gfc_trans_assignment_1): Put component deallocation
code at the beginning of the block.
From-SVN: r226162
Cesar Philippidis [Fri, 24 Jul 2015 14:38:43 +0000 (07:38 -0700)]
re PR libgomp/66714 (ICE in loc_list_from_tree with -g)
PR 66714
gcc/
* tree-cfg.c (struct replace_decls_d): New struct.
(replace_block_vars_by_duplicates_1): New function.
(replace_block_vars_by_duplicates): Use it to replace the decls
in the value exprs by duplicates.
libgomp/
* testsuite/libgomp.c/pr66714.c: New test.
From-SVN: r226160
Szabolcs Nagy [Fri, 24 Jul 2015 14:30:41 +0000 (14:30 +0000)]
[AArch64] elf toolchain does not pass -shared linker option
2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
* config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
-shared, -symbolic, -rdynamic.
From-SVN: r226159
Szabolcs Nagy [Fri, 24 Jul 2015 14:27:55 +0000 (14:27 +0000)]
[AArch64] Fix LINUX_TARGET_LINK_SPEC to be consistent with ARM
2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/65711
* config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
-dynamic-linker within %{!static %{!shared, and -rdynamic within
%{!static.
From-SVN: r226158
Ilya Enkovich [Fri, 24 Jul 2015 13:15:49 +0000 (13:15 +0000)]
re PR ipa/66566 ([CHKP] ICE in early_inliner: internal compiler error: in operator[], at vec.h:714)
gcc/
PR ipa/66566
* ipa-inline-analysis.c (estimate_calls_size_and_time): Check
edge summary is available.
gcc/testsuite/
PR ipa/66566
* gcc.target/i386/mpx/pr66566.c: New test.
From-SVN: r226155
Richard Biener [Fri, 24 Jul 2015 12:39:08 +0000 (12:39 +0000)]
genmatch.c (struct dt_node): Add statistic fields.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (struct dt_node): Add statistic fields.
(dt_node::analyze): New method.
(decision_tree::gen_gimple): Call analyze on the root node
and print statistics to stderr.
(decision_tree::gen_generic): Likewise.
From-SVN: r226154
Richard Biener [Fri, 24 Jul 2015 12:36:00 +0000 (12:36 +0000)]
fold-const.c (fold_binary_loc): Move simplifying of comparisons against the highest or lowest possible integer ...
2015-07-24 Richard Biener <rguenther@suse.de>
* fold-const.c (fold_binary_loc): Move simplifying of comparisons
against the highest or lowest possible integer ...
* match.pd: ... as patterns here.
From-SVN: r226153
Richard Biener [Fri, 24 Jul 2015 12:35:22 +0000 (12:35 +0000)]
genmatch.c (struct capture_info): Add same_as field.
2015-07-24 Richard Biener <rguenther@suse.de>
* genmatch.c (struct capture_info): Add same_as field.
(capture_info::capture_info): Initialize same_as.
(capture_info::walk_match): Compute same_as.
(capture_info::walk_result): Compute stuff for the leader.
(capture_info::walk_c_expr): Likewise.
(dt_simplify::gen_1): Only look at leaders when deciding
to force no side-effects or emit side-effects of omitted operands.
From-SVN: r226152
H.J. Lu [Fri, 24 Jul 2015 12:08:00 +0000 (12:08 +0000)]
Add a testcase for PR bootstrap/66978
PR bootstrap/66978
* gcc.target/i386/pr66978.c: New test.
From-SVN: r226150
Andreas Krebbel [Fri, 24 Jul 2015 11:29:50 +0000 (11:29 +0000)]
S/390: Fix cfi for GPR 2 FPR saves
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
reg note to the GPR -> FPR save instructions.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/gpr2fprsavecfi.c: New test.
From-SVN: r226149
Andreas Krebbel [Fri, 24 Jul 2015 11:28:06 +0000 (11:28 +0000)]
[PATCH] S/390: Improve risbg usage
gcc/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_rtx_costs): Make risbg patterns
cheaper.
(s390_expand_insv): Don't generate risbg pattern for constant zero
sources.
* config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
splitters.
gcc/testsuite/ChangeLog:
2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/insv-1.c: New test.
* gcc.target/s390/insv-2.c: New test.
* gcc.target/s390/insv-3.c: New test.
From-SVN: r226148
Dominik Vogt [Fri, 24 Jul 2015 11:25:01 +0000 (11:25 +0000)]
[PATCH 4/4] S390 -march=native related fixes
gcc/ChangeLog
* config/s390/s390.c (s390_reorg): Clean up handling of processors with
-mtune=
(s390_issue_rate): Likewise.
(s390_sched_reorder): Likewise.
(s390_sched_variable_issue): Likewise.
(s390_loop_unroll_adjust): Likewise.
(s390_option_override): Likewise.
From-SVN: r226147