Zhenqiang Chen
0a6aa4763e
re PR rtl-optimization/63917 (r217646 caused many failures)
...
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
PR rtl-optimization/63917
* ifcvt.c (cc_in_cond): New function.
(end_ifcvt_sequence): Make sure new generated insns do not clobber CC.
(noce_process_if_block, check_cond_move_block): Check CC references.
testsuite/ChangeLog:
2014-12-12 Zhenqiang Chen <zhenqiang.chen@arm.com>
* gcc.dg/pr64007.c: New test.
From-SVN: r218658
2014-12-12 05:51:19 +00:00
Bin Cheng
e8c8ffa900
ldp_stp_2.c: Make test less vulnerable.
...
gcc/testsuite
* gcc.target/aarch64/ldp_stp_2.c: Make test less vulnerable.
* gcc.target/aarch64/ldp_stp_3.c: Ditto.
From-SVN: r218657
2014-12-12 04:45:58 +00:00
Jason Merrill
acaa5911a2
* c-cppbuiltin.c (c_cpp_builtins): Enable C++14 __cpp_constexpr.
...
From-SVN: r218656
2014-12-11 22:49:19 -05:00
Jason Merrill
94a073b251
Remove N3639 "array of runtime length" from -std=c++14.
...
gcc/cp/
* decl.c (compute_array_index_type): VLAs are not part of C++14.
(create_array_type_for_decl, grokdeclarator): Likewise.
* lambda.c (add_capture): Likewise.
* pt.c (tsubst): Likewise.
* rtti.c (get_tinfo_decl): Likewise.
* semantics.c (finish_decltype_type): Likewise.
* typeck.c (cxx_sizeof_or_alignof_type): Likewise.
(cp_build_addr_expr_1): Likewise.
* init.c (build_vec_init): Don't throw bad_array_length.
gcc/c-family/
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
we aren't complaining about VLAs.
libstdc++-v3/
* libsupc++/new (bad_array_length): Move...
* bad_array_length.cc: ...here.
* cxxabi.h, eh_aux_runtime.cc (__cxa_throw_bad_array_new_length): Also
move to bad_array_length.cc.
* c-cppbuiltin.c (c_cpp_builtins): Define __cpp_runtime_arrays if
we aren't complaining about VLAs.
From-SVN: r218655
2014-12-11 22:49:13 -05:00
Jason Merrill
8c7e9a616e
re PR c++/64248 (Error: declarator-id missing; using reserved word ‘__FUNCTION__’)
...
PR c++/64248
Revert:
* parser.c (cp_parser_unqualified_id): Handle __func__ here.
(cp_parser_primary_expression): Not here.
From-SVN: r218654
2014-12-11 22:49:03 -05:00
Jason Merrill
89631a4336
re PR c++/57510 (subobjects not destroyed when exception thrown during list-initialization)
...
PR c++/57510
* typeck2.c (split_nonconstant_init_1): Handle arrays here.
(store_init_value): Not here.
(split_nonconstant_init): Look through TARGET_EXPR. No longer static.
* cp-tree.h: Declare split_nonconstant_init.
* call.c (set_up_extended_ref_temp): Use split_nonconstant_init.
From-SVN: r218653
2014-12-11 22:48:55 -05:00
Chung-Ju Wu
923e09ee92
Adjust the comment in contrib/download_prerequisties.
...
contrib/
* download_prerequisites: Modify the comment for GRAPHITE_LOOP_OPT.
From-SVN: r218652
2014-12-12 03:23:16 +00:00
GCC Administrator
bcff67ea0a
Daily bump.
...
From-SVN: r218651
2014-12-12 00:16:29 +00:00
Andrew Pinski
b4917c98f0
aarch64-protos.h (tune_params): Add align field.
...
2014-12-11 Andrew Pinski <apinski@cavium.com>
* config/aarch64/aarch64-protos.h (tune_params): Add align field.
* config/aarch64/aarch64.c (generic_tunings): Specify align.
(cortexa53_tunings): Likewise.
(cortexa57_tunings): Likewise.
(thunderx_tunings): Likewise.
(aarch64_override_options): Set align_loops, align_jumps,
align_functions based on what the tuning struct.
From-SVN: r218645
2014-12-11 15:11:03 -08:00
Eric Botcazou
0c94b59f47
* doc/md.texi (Insn Lengths): Fix description of (pc).
...
From-SVN: r218642
2014-12-11 22:37:56 +00:00
Eric Botcazou
3334c72564
builtin-arith-overflow-1.c (fn2): Take signed char.
...
* gcc.dg/builtin-arith-overflow-1.c (fn2): Take signed char.
(fn3): Likewise.
From-SVN: r218641
2014-12-11 22:16:09 +00:00
Jan Hubicka
17e0fc9202
re PR ipa/61324 (ICE: SIGSEGV at ipa-comdats.c:321 with -fno-use-cxa-atexit -fkeep-inline-functions)
...
PR ipa/61324
* testsuite/g++.dg/pr61324.C: New testcase by Trevor Saunders.
* testsuite/g++.dg/tm/pr51411-2.C: Update se the extern function is
not eliminated early.
* testsuite/gcc.target/i386/pr57756.c: Turn extern inline into static
inline.
* passes.c (execute_todo): Update call of remove_unreachable_nodes.
* ipa-chkp.c (chkp_produce_thunks): Use TODO_remove_functions.
* cgraphunit.c (symbol_table::process_new_functions): Add
IPA_SSA_AFTER_INLINING.
(ipa_passes): Update call of remove_unreachable_nodes.
(symbol_table::compile): Remove call of remove_unreachable_nodes.
* ipa-inline.c (inline_small_functions): Do not ICE with
-flto-partition=none
(ipa_inline): Update symtab->state; fix formatting
update call of remove_unreachable_nodes.
* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
* cgraph.h (enum symtab_state): Add IPA_SSA_AFTER_INLINING.
(remove_unreachable_nodes): Update.
* ipa.c (process_references): Keep external references only
when optimizing.
(walk_polymorphic_call_targets): Keep possible polymorphic call
target only when devirtualizing.
(symbol_table::remove_unreachable_nodes): Remove BEFORE_INLINING_P
parameter.
(ipa_single_use): Update comment.
* ipa-pure-const.c (cdtor_p): New function.
(propagate_pure_const): Track if some cdtor was turned pure/const.
(execute): Return TODO_remove_functions if needed.
* ipa-comdats.c (ipa_comdats): Update comment.
* lto.c (read_cgraph_and_symbols): Update call of
remove_unreachable_nodes.
(do_whole_program_analysis): Remove call of
symtab->remove_unreachable_nodes
From-SVN: r218640
2014-12-11 21:48:48 +00:00
Aldy Hernandez
d4b7742db2
dwarf2out.c (gen_lexical_block_die): Remove unused `depth' parameter.
...
* dwarf2out.c (gen_lexical_block_die): Remove unused `depth'
parameter.
(gen_inlined_subroutine_die): Same.
(gen_block_die): Same.
(decls_for_scope): Same.
From-SVN: r218639
2014-12-11 19:13:57 +00:00
Jonathan Wakely
b8c555ac7c
3.cc: Only use a thread_local when __cxa_thread_atexit_impl is available.
...
* testsuite/30_threads/condition_variable/members/3.cc: Only use
a thread_local when __cxa_thread_atexit_impl is available.
From-SVN: r218638
2014-12-11 17:58:22 +00:00
David Malcolm
7b31ff5e79
Move changelog entries from r218617 from gcc/ChangeLog to gcc/jit/ChangeLog
...
From-SVN: r218637
2014-12-11 17:55:22 +00:00
David Malcolm
35291c7dda
Document gccjit::context::set_str_option
...
gcc/jit/ChangeLog:
* docs/cp/topics/contexts.rst (gccjit::context::set_str_option):
Document new function.
* docs/_build/texinfo/libgccjit.texi: Regenerate.
From-SVN: r218636
2014-12-11 17:50:56 +00:00
Renlin Li
faa542268c
[AArch64]Use AARCH64_FL_FPSIMD flags for all cores in aarch64-cores.def
...
gcc/
2014-12-11 Renlin Li <renlin.li@arm.com>
* config/aarch64/aarch64-cores.def: Change all AARCH64_FL_FPSIMD to
AARCH64_FL_FOR_ARCH8.
* config/aarch64/aarch64.c (all_cores): Use FLAGS from
aarch64-cores.def file only.
From-SVN: r218635
2014-12-11 17:30:39 +00:00
Richard Biener
d17271de7f
re PR tree-optimization/42108 (50% performance regression)
...
2014-12-11 Richard Biener <rguenther@suse.de>
PR tree-optimization/42108
* trans-stmt.c (gfc_trans_do): Execute the division computing
countm1 before the loop entry check.
* gfortran.dg/pr42108.f90: Amend.
From-SVN: r218630
2014-12-11 15:52:47 +00:00
Paolo Carlini
b214b73391
typeck.c (maybe_warn_about_useless_cast): Remove unnecessary conditional.
...
2014-12-11 Paolo Carlini <paolo.carlini@oracle.com>
* typeck.c (maybe_warn_about_useless_cast): Remove unnecessary
conditional.
From-SVN: r218629
2014-12-11 15:45:32 +00:00
Manuel López-Ibáñez
4011a145dc
do_iterator.f90: Remove bogus dg-warning.
...
gcc/testsuite/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gfortran.dg/do_iterator.f90: Remove bogus dg-warning.
From-SVN: r218628
2014-12-11 15:28:27 +00:00
Manuel López-Ibáñez
c4100eaea3
re PR fortran/44054 (Handle -Werror, -Werror=, -fdiagnostics-show-option, !GCC$ diagnostic (pragmas) and color)
...
gcc/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* diagnostic.c (diagnostic_action_after_output): Make it extern.
Take diagnostic_t argument instead of diagnostic_info. Count also
DK_WERROR towards max_errors.
(diagnostic_report_diagnostic): Update call according to the above.
(error_recursion): Likewise.
* diagnostic.h (diagnostic_action_after_output): Declare.
* pretty-print.c (pp_formatted_text_data): Delete.
(pp_append_r): Call output_buffer_append_r.
(pp_formatted_text): Call output_buffer_formatted_text.
(pp_last_position_in_text): Call output_buffer_last_position_in_text.
* pretty-print.h (output_buffer_formatted_text): New.
(output_buffer_append_r): New.
(output_buffer_last_position_in_text): New.
gcc/fortran/ChangeLog:
2014-12-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR fortran/44054
* error.c (pp_error_buffer): New static variable.
(pp_warning_buffer): Make it a pointer.
(gfc_output_buffer_empty_p): New.
(gfc_error_init_1): Call gfc_buffer_error.
(gfc_buffer_error): Do not use pp_warning_buffer.flush_p as the
buffered_p flag.
(gfc_clear_warning): Likewise.
(gfc_warning_check): Call gfc_clear_warning. Only check the new
pp_warning_buffer if the old warning_buffer was empty. Call
diagnostic_action_after_output.
(gfc_error_1): Renamed from gfc_error.
(gfc_error): New.
(gfc_clear_error): Clear also pp_error_buffer.
(gfc_error_flag_test): Check also pp_error_buffer.
(gfc_error_check): Likewise. Only check the new pp_error_buffer
if the old error_buffer was empty.
(gfc_move_output_buffer_from_to): New.
(gfc_push_error): Use it here. Take also an output_buffer as argument.
(gfc_pop_error): Likewise.
(gfc_free_error): Likewise.
(gfc_diagnostics_init): Use XNEW and placement-new to init
pp_error_buffer and pp_warning_buffer. Set flush_p to false for
both pp_warning_buffer and pp_error_buffer.
* Update gfc_push_error, gfc_pop_error and gfc_free_error calls
according to the above changes.
* Use gfc_error_1 for all gfc_error calls that use multiple
locations.
* Use %qs instead of '%s' for many gfc_error calls.
From-SVN: r218627
2014-12-11 15:13:33 +00:00
Kyrylo Tkachov
217d0904fa
[AArch64] Fix usage of +no in error message for aarch64_parse_extension
...
* config/aarch64/aarch64.c (aarch64_parse_extension): Update error
message to say +no only when removing extension.
From-SVN: r218626
2014-12-11 15:09:01 +00:00
Andrew MacLeod
b61d924dce
gen-mul-tables.cc: Add insn-codes.h to include list for generator file.
...
2014-12-11 Andrew MacLeod <amacleod@redhat.com>
* config/tilepro/gen-mul-tables.cc: Add insn-codes.h to include list
for generator file. Add comment indicating it is a generated file.
* config/tilepro/mul-tables.c: Update generated file.
* config/tilegx/mul-tables.c: Likewise.
From-SVN: r218624
2014-12-11 14:57:00 +00:00
Segher Boessenkool
08e39a5406
combine.c (try_combine): Do not allow combining a PARALLEL I2 with a register move I3 if that I2 is an asm.
...
* combine.c (try_combine): Do not allow combining a PARALLEL I2
with a register move I3 if that I2 is an asm.
From-SVN: r218623
2014-12-11 15:29:14 +01:00
Kyrylo Tkachov
26a4d424e1
[ARM] Fix names of some rounding intrinsics, impement vrndx_f32 and vrndxq_f32
...
* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.
* config/arm/arm_neon.h (vrndqn_f32): Rename to...
(vrndnq_f32): ... this.
(vrndqa_f32): Rename to...
(vrndaq_f32): ... this.
(vrndqp_f32): Rename to...
(vrndpq_f32): ... this.
(vrndqm_f32): Rename to...
(vrndmq_f32): ... this.
(vrndx_f32): New intrinsic.
(vrndxq_f32): Likewise.
From-SVN: r218622
2014-12-11 13:34:22 +00:00
Marek Polacek
20bd649ae4
fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
...
* fold-const.c (fold_negate_expr): Add ANY_INTEGRAL_TYPE_P check.
(extract_muldiv_1): Likewise.
(maybe_canonicalize_comparison_1): Likewise.
(fold_comparison): Likewise.
(tree_binary_nonnegative_warnv_p): Likewise.
(tree_binary_nonzero_warnv_p): Likewise.
* gimple-ssa-strength-reduction.c (legal_cast_p_1): Likewise.
* tree-scalar-evolution.c (simple_iv): Likewise.
(scev_const_prop): Likewise.
* tree-ssa-loop-niter.c (expand_simple_operations): Likewise.
* tree-vect-generic.c (expand_vector_operation): Likewise.
* tree.h (ANY_INTEGRAL_TYPE_CHECK): Define.
(ANY_INTEGRAL_TYPE_P): Define.
(TYPE_OVERFLOW_WRAPS, TYPE_OVERFLOW_UNDEFINED, TYPE_OVERFLOW_TRAPS):
Add ANY_INTEGRAL_TYPE_CHECK.
(any_integral_type_check): New function.
From-SVN: r218621
2014-12-11 11:07:58 +00:00
Kyrylo Tkachov
f63950e561
[testsuite][1/2] Move ${tool}_check_unsupported_p into separate file
...
* lib/target-utils.exp: New file.
* lib/gcc-defs.exp (${tool}_check_unsupported_p): Delete.
Include target-utils.exp.
* lib/objc.exp: Likewise.
* lib/mike-gcc.exp: Load target-utils.exp.
* lib/mike-g++.exp: Likewise.
* lib/go-torture.exp: Likewise.
* lib/fortran-torture.exp: Likewise.
* lib/c-torture.exp: Likewise.
From-SVN: r218620
2014-12-11 09:43:53 +00:00
Tobias Burnus
c9db45aaf4
diagnostic.c (get_terminal_width): Renamed from
...
2014-12-11 Tobias Burnus <burnus@net-b.de>
Manuel López-Ibáñez <manu@gcc.gnu.org>
gcc/
* diagnostic.c (get_terminal_width): Renamed from
* getenv_columns,
removed static, and additionally use ioctl to get width.
(diagnostic_set_caret_max_width): Update call.
* diagnostic.h (get_terminal_width): Add prototype.
* opts.c (print_specific_help): Use it for x_help_columns.
* doc/invoke.texi (fdiagnostics-show-caret): Document how the
width is set.
gcc/fortran/
* error.c (gfc_get_terminal_width): Renamed from
get_terminal_width and use same-named common function.
(gfc_error_init_1): Update call.
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218619
2014-12-11 09:20:24 +01:00
Uros Bizjak
01ca36af91
xvasprintf.c: New file.
...
* xvasprintf.c: New file.
* vprintf-support.h: Likewise.
* vprintf-support.c: Likewise.
* Makefile.in (CFILES): Add vprintf-support.c, xvasprintf.c.
(REQUIRED_OFILES): Add vprintf-support.$(objext), xvasprintf.$(objext).
(vprintf-support.$(objext), xvasprintf.$(objext)): New targets.
(vasprintf.$(objext)): Depend on $(srcdir)/vprintf-support.h.
* functions.texi: Regenerate.
* vasprintf.c (int_vasprintf): Use libiberty_vprintf_buffer_size.
include/ChangeLog:
* libiberty.h (xvasprintf): Declare.
libcpp/ChangeLog:
* directives.c (cpp_define_formatted): Use xvasprintf.
Co-Authored-By: Ben Elliston <bje@au.ibm.com>
Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>
From-SVN: r218618
2014-12-11 09:15:37 +01:00
Ulrich Drepper
c168eab92c
Minor interface cleanups of libgccjit
...
Minor interface cleanups of libgccjit
* jit/jit-playback.c (convert_to_dso): Use auto_vec instead
of automatic array to build up command line.
* jit/jit-recording.c (recording::context::set_str_option):
Make copy of the string.
(recording::context::~context): Free string options.
* jit/jit-recording.h (recording::context): Adjust type
of m_str_options member.
* jit/libgccjit.h: Adjust comment about
gcc_jit_context_set_str_option parameter begin used after
the call.
Update comment now that all interfaces are copy strings
if necessary.
* jit/libgccjit++.h (gccjit::context): Add set_str_option
member function.
From-SVN: r218617
2014-12-11 04:31:52 +00:00
GCC Administrator
67dab5e0a3
Daily bump.
...
From-SVN: r218616
2014-12-11 00:16:24 +00:00
Aldy Hernandez
53afce203b
gdbhooks.py (class DWDieRefPrinter): New class.
...
* gdbhooks.py (class DWDieRefPrinter): New class.
(build_pretty_printer): Register dw_die_ref's.
From-SVN: r218612
2014-12-10 23:16:42 +00:00
Ilya Tocar
52747219da
Add march=knl.
...
gcc/
* config.gcc: Support "knl".
* config/i386/driver-i386.c (host_detect_local_cpu): Detect "knl".
* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_KNL.
* config/i386/i386.c (m_KNL): Define.
(processor_target_table): Add "knl".
(PTA_KNL): Define.
(ix86_issue_rate): Add PROCESSOR_KNL.
(ix86_adjust_cost): Ditto.
(ia32_multipass_dfa_lookahead): Ditto.
(get_builtin_code_for_version): Handle "knl".
(fold_builtin_cpu): Ditto.
* config/i386/i386.h (TARGET_KNL): Define.
(processor_type): Add PROCESSOR_KNL.
* config/i386/i386.md (attr "cpu"): Add knl.
* config/i386/x86-tune.def: Add m_KNL.
gcc/testsuite/
* gcc.target/i386/funcspec-5.c: Test avx512f and knl.
From-SVN: r218610
2014-12-11 00:25:12 +03:00
Jan Hubicka
1e29e4d36f
invoke.texi: (-devirtualize-at-ltrans): Document.
...
* doc/invoke.texi: (-devirtualize-at-ltrans): Document.
* lto-cgraph.c (lto_output_varpool_node): Mark initializer as removed
when it is not streamed to the given ltrans.
(compute_ltrans_boundary): Make code adding all polymorphic
call targets conditional with !flag_wpa || flag_ltrans_devirtualize.
* common.opt (fdevirtualize-at-ltrans): New flag.
From-SVN: r218609
2014-12-10 21:17:28 +00:00
David Edelsohn
a06478dd6c
Commit missing part of patch.
...
From-SVN: r218608
2014-12-10 16:14:36 -05:00
Ilya Verbin
2354caecd9
Force output of vars with "omp declare target" attribute in gcc/varpool.c
...
gcc/
* varpool.c (varpool_node::get_create): Force output of vars with
"omp declare target" attribute.
libgomp/
* testsuite/libgomp.c/target-9.c: New test.
From-SVN: r218607
2014-12-10 20:52:10 +00:00
Ian Lance Taylor
c44f74e4cb
re PR go/61316 (gccgo: spurious "incompatible types in assignment" error [GoSmith])
...
PR go/61316
compiler: Don't lower multi-valued arguments into temporaries.
From-SVN: r218606
2014-12-10 20:38:13 +00:00
Marc Glisse
1b457aa45d
real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
...
2014-12-10 Marc Glisse <marc.glisse@inria.fr>
* real.h (HONOR_NANS): Replace macro with 3 overloaded declarations.
* real.c: Include rtl.h and options.h.
(HONOR_NANS): Define three overloads.
* builtins.c (fold_builtin_classify, fold_builtin_unordered_cmp):
Simplify argument of HONOR_NANS.
* fold-const.c (combine_comparisons, fold_truth_not_expr,
fold_cond_expr_with_comparison, merge_truthop_with_opposite_arm,
fold_comparison, fold_binary_loc): Likewise.
* ifcvt.c (noce_try_move, noce_try_minmax): Likewise.
* ipa-inline-analysis.c (add_clause,
set_cond_stmt_execution_predicate): Likewise.
* match.pd: Likewise.
* rtlanal.c (may_trap_p_1): Likewise.
* simplify-rtx.c (simplify_const_relational_operation): Likewise.
* tree-if-conv.c (parse_predicate): Likewise.
* tree-ssa-ccp.c (valid_lattice_transition): Likewise.
* tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
* tree-ssa-phiopt.c (minmax_replacement, neg_replacement): Likewise.
* tree-ssa-reassoc.c (eliminate_using_constants): Likewise.
* tree-ssa-tail-merge.c (gimple_equal_p): Likewise.
From-SVN: r218605
2014-12-10 20:26:05 +00:00
Jakub Jelinek
1c4967b998
re PR tree-optimization/62021 (ICE in verify_gimple_assign_single)
...
PR tree-optimization/62021
* omp-low.c (simd_clone_adjust_return_type): Use
vector of pointer_sized_int_node types instead vector of pointer
types.
(simd_clone_adjust_argument_types): Likewise.
* gcc.dg/vect/pr62021.c: New test.
From-SVN: r218603
2014-12-10 21:01:12 +01:00
Jakub Jelinek
3ec5dd98f0
re PR target/64252 (expand_vec_perm_pblendv caused miscompilation)
...
PR target/64252
* config/i386/i386.c (expand_vec_perm_pblendv): If not testing_p,
set dcopy.target to a new pseudo.
* gcc.dg/vect/pr64252.c: New test.
* gcc.dg/pr64252.c: New test.
* gcc.target/i386/avx2-pr64252.c: New test.
Co-Authored-By: Evgeny Stupachenko <evstupac@gmail.com>
From-SVN: r218602
2014-12-10 20:59:57 +01:00
Ilya Enkovich
e90f3d6cfc
chkp-privatize_0.c: Remove unneeded selector from target check.
...
* gcc.dg/lto/chkp-privatize_0.c: Remove unneeded selector
from target check.
From-SVN: r218601
2014-12-10 19:08:57 +00:00
Paolo Carlini
bf79db5ad0
pr64127.C: Fix.
...
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp/pr64127.C: Fix.
From-SVN: r218600
2014-12-10 19:05:56 +00:00
Paolo Carlini
9e10d54ac5
pr64127.C: Fix.
...
2014-12-10 Paolo Carlini <paolo.carlini@oracle.com>
* g++.dg/cpp/pr64127.C: Fix.
From-SVN: r218599
2014-12-10 19:05:43 +00:00
Segher Boessenkool
0ccf5264a3
* config/rs6000/rs6000.md (*add<mode>3): Remove condition.
...
From-SVN: r218598
2014-12-10 19:41:37 +01:00
Segher Boessenkool
f5ae5a23ac
40x.md (ppc403-compare): Remove "compare".
...
* config/rs6000/40x.md (ppc403-compare): Remove "compare".
config/rs6000/440.md (ppc440-compare): Remove "compare".
config/rs6000/476.md (ppc476-compare): Remove "compare".
config/rs6000/601.md (ppc601-compare): Remove "compare".
config/rs6000/603.md (ppc603-compare): Remove "compare".
config/rs6000/6xx.md (ppc604-compare): Remove "compare".
config/rs6000/7450.md (ppc7450-compare): Remove "compare".
config/rs6000/7xx.md (ppc750-compare): Remove "compare".
config/rs6000/8540.md (ppc8540_su): Remove "compare".
config/rs6000/cell.md (cell-fast-cmp, cell-cmp-microcoded): Remove
"compare".
config/rs6000/e300c2c3.md (ppce300c3_cmp): Remove "compare".
config/rs6000/e500mc.md (e500mc_su): Remove "compare".
config/rs6000/e500mc64.md (e500mc64_su2): Remove "compare".
config/rs6000/e5500.md (e5500_sfx2): Remove "compare".
config/rs6000/e6500.md (e6500_sfx2): Remove "compare".
config/rs6000/mpc.md (mpccore-compare): Remove "compare".
config/rs6000/power4.md (power4-compare): Remove "compare".
config/rs6000/power5.md (power5-compare): Remove "compare".
config/rs6000/power6.md (power6-compare): Remove "compare".
config/rs6000/power7.md (power7-compare): Remove "compare".
config/rs6000/power8.md (power8-compare): Remove "compare". Update
comment.
config/rs6000/rs6000.c (rs6000_adjust_cost) <TYPE_COMPARE>: Remove
(three times).
(is_cracked_insn): Remove TYPE_COMPARE case.
(insn_must_be_first_in_group) <TYPE_COMPARE>: Remove (twice).
config/rs6000/rs6000.md (type): Remove "compare".
(cell_micro): Remove "compare".
config/rs6000/rs64.md (rs64a-compare): Remove "compare".
From-SVN: r218597
2014-12-10 19:40:26 +01:00
Segher Boessenkool
823dc8bde7
rs6000.md (*anddi3_2rld_dot, [...]): Change type from "compare" to "two".
...
* config/rs6000/rs6000.md (*anddi3_2rld_dot, *anddi3_rld_dot2):
Change type from "compare" to "two".
From-SVN: r218596
2014-12-10 19:39:14 +01:00
Segher Boessenkool
a935964dea
re PR target/64180 (PowerPC carry bit improvements)
...
PR target/64180
* config/rs6000/predicates.md (unsigned_comparison_operator): New.
(signed_comparison_operator): New.
* config/rs6000/rs6000-protos.h (rs6000_emit_eqne): Declare.
* config/rs6000/rs6000.c (rs6000_emit_eqne): New function.
(rs6000_emit_sCOND): Remove ISEL test (move it to the expander).
* config/rs6000/rs6000.md (add<mode>3 for SDI): Expand DImode
add to addc,adde directly, if !TARGET_POWERPC64.
(sub<mode>3 for SDI): Expand DImode sub to subfc,subfe directly,
if !TARGET_POWERPC64.
(neg<mode>2): Delete expander.
(*neg<mode>2): Rename to "neg<mode>2".
(addti3, subti3): Delete.
(addti3, subti3): New expanders.
(*adddi3_noppc64, *subdi3_noppc64, *negdi2_noppc64): Delete.
(cstore<mode>4_unsigned): New expander.
(cstore<mode>4): Allow GPR as output (not just SI). Rewrite.
(cstore<mode>4 for FP): Remove superfluous quotes.
(*eq<mode>, *eq<mode>_compare, *plus_eqsi and splitter,
*compare_plus_eqsi and splitter, *plus_eqsi_compare and splitter,
*neg_eq0<mode>, *neg_eq<mode>, *ne0_<mode>, plus_ne0_<mode>,
compare_plus_ne0_<mode> and splitter, *compare_plus_ne0_<mode>_1 and
splitter, *plus_ne0_<mode>_compare and splitter, *leu<mode>,
*leu<mode>_compare and splitter, *plus_leu<mode>, *neg_leu<mode>,
*and_neg_leu<mode>, *ltu<mode>, *ltu<mode>_compare, *plus_ltu<mode>,
*plus_ltu<mode>_1, *plus_ltu<mode>compare, *neg_ltu<mode>, *geu<mode>,
*geu<mode>_compare and splitter, *plus_geu<mode>, *neg_geu<mode>,
*and_neg_geu<mode>, *plus_gt0<mode>, *gtu<mode>, *gtu<mode>_compare,
*plus_gtu<mode>, *plus_gtu<mode>_1, *plus_gtu<mode>_compare,
*neg_gtu<mode>, 12 anonymous insns, and 12 anonymous splitters):
Delete.
(eq<mode>3, ne<mode>3): New.
(*neg_eq_<mode>, *neg_ne_<mode>): New.
(*plus_eq_<mode>, *plus_ne_<mode>): New.
(*minus_eq_<mode>, *minus_ne_<mode>): New.
From-SVN: r218595
2014-12-10 19:37:58 +01:00
Segher Boessenkool
969ce0b0a6
re PR target/64180 (PowerPC carry bit improvements)
...
PR target/64180
* config/rs6000/predicates.md (adde_operand): New.
* config/rs6000/rs6000.md (add<mode>3_carry): New.
(*add<mode>3_imm_carry_pos): New.
(*add<mode>3_imm_carry_0): New.
(*add<mode>3_imm_carry_m1): New.
(*add<mode>3_imm_carry_neg): New.
(add<mode>3_carry_in): New.
(*add<mode>3_carry_in_internal): New.
(add<mode>3_carry_in_0): New.
(add<mode>3_carry_in_m1): New.
(subf<mode>3_carry): New.
(*subf<mode>3_imm_carry_0): New.
(*subf<mode>3_imm_carry_m1): New.
(subf<mode>3_carry_in): New.
(*subf<mode>3_carry_in_internal): New.
(subf<mode>3_carry_in_0): New.
(subf<mode>3_carry_in_m1): New.
(subf<mode>3_carry_in_xx): New.
From-SVN: r218594
2014-12-10 19:36:18 +01:00
Segher Boessenkool
46121d60c5
re PR target/64180 (PowerPC carry bit improvements)
...
PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Rename to
"*add<mode>3".
(*add<mode>3_internal2, *add<mode>3_internal3, and (their splitters):
Delete.
(*add<mode>3_dot, *add<mode>3_dot2): New.
(*add<mode>3_imm_dot, *add<mode>3_imm_dot2): New.
From-SVN: r218593
2014-12-10 19:33:26 +01:00
Segher Boessenkool
d262c86cc9
re PR target/64180 (PowerPC carry bit improvements)
...
PR target/64180
* config/rs6000/rs6000.md (*add<mode>3_internal1): Remove addic
alternative.
From-SVN: r218592
2014-12-10 19:32:15 +01:00