aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2015-10-05Replace REAL_VALUES_LESS with real_lessRichard Sandiford12-28/+50
This patch continues the removal of real-related macros by replacing REAL_VALUES_LESS with real_less. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested by building one target per CPU directory and checking that there were no new warnings and no changes in testsuite output at -O2. gcc/ada/ * gcc-interface/trans.c (convert_with_check): Use real_less instead of REAL_VALUES_LESS. gcc/ * doc/tm.texi.in (REAL_VALUES_LESS): Delete. * doc/tm.texi: Regenerate. * real.h (real_less): Declare. (REAL_VALUES_LESS): Delete. * real.c (real_less): New function. (real_compare): Use it. * config/m68k/m68k.c (floating_exact_log2): Use real_less instead of REAL_VALUES_LESS. * config/microblaze/microblaze.c (microblaze_const_double_ok): Likewise. * fold-const.c (fold_convert_const_int_from_real): Likewise. * simplify-rtx.c (simplify_const_unary_operation): Likewise. (simplify_const_relational_operation): Likewise. * tree-call-cdce.c (check_pow): Likewise. (gen_conditions_for_pow_cst_base): Likewise. From-SVN: r228475
2015-10-05Remove remaining uses of REAL_VALUES_IDENTICALRichard Sandiford8-12/+30
This patch continues the removal of real-related macros. We already had both the old-style REAL_VALUES_IDENTICAL and the new-style real_identical, so this patch replaces all remaining uses of the former with the latter. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested by building one target per CPU directory and checking that there were no new warnings and no changes in testsuite output at -O2. gcc/ * real.h (REAL_VALUES_IDENTICAL): Delete. * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical instead of REAL_VALUES_IDENTICAL. * fold-const.c (operand_equal_p): Likewise. * ipa-icf.c (sem_variable::equals): Likewise. * tree-complex.c (some_nonzerop): Likewise. (expand_complex_multiplication): Likewise. * tree.c (simple_cst_equal): Likewise. * varasm.c (compare_constant): Likewise. --- gcc/config/m68k/m68k.c | 5 ++--- gcc/fold-const.c | 3 +-- gcc/ipa-icf.c | 4 ++-- gcc/real.h | 1 - gcc/tree-complex.c | 4 ++-- gcc/tree.c | 2 +- gcc/varasm.c | 2 +- 7 files changed, 9 insertions(+), 12 deletions(-) From-SVN: r228474
2015-10-05Replace REAL_VALUES_EQUAL with real_equalRichard Sandiford30-72/+146
Richard B suggested we should replace dconsthalf etc. with dconst<1, 2> (). When I tried that, the extra comma caused problems with some lingering uses of the old target macros for handling reals (e.g. REAL_ARITHMETIC instead of real_arithmetic), since the constant was then treated as two macro parameters. It would have been possible to add an extra level of brackets to avoid this, but I thought I might as well take the opportunity to remove the macros instead. (Note that I'm only removing macros that caused a problem directly, or are closely related to ones that did.) This first patch replaces REAL_VALUES_EQUAL with a real_equal function. The prototype is the same as for real_identical, which has already undergone a half-transition in this direction. Bootstrapped & regression-tested on x86_64-linux-gnu. Also tested by building one target per CPU directory and checking that there were no new warnings and no changes in testsuite output at -O2. gcc/c-family/ * c-lex.c (interpret_float): Use real_equal instead of REAL_VALUES_EQUAL. gcc/c/ * c-typeck.c (c_tree_equal): Use real_equal instead of REAL_VALUES_EQUAL. gcc/cp/ * tree.c (cp_tree_equal): Use real_equal instead of REAL_VALUES_EQUAL. gcc/ * real.h (real_equal): Declare. (REAL_VALUES_EQUAL): Delete. * real.c (real_equal): New function. (real_compare): Use it. * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete. * doc/tm.texi: Regenerate. * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use real_equal instead of REAL_VALUES_EQUAL. * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise. * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate) (fp_const_from_val): Likewise. * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise. * config/m68k/m68k.c (standard_68881_constant_p): Likewise. (floating_exact_log2): Likewise. * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise. * config/vax/vax.c (vax_float_literal): Likewise. * config/xtensa/predicates.md (const_float_1_operand): Likewise. * cprop.c (implicit_set_cond_p): Likewise. * expmed.c (expand_mult): Likewise. * fold-const.c (const_binop): Likewise. * simplify-rtx.c (simplify_binary_operation_1): Likewise. (simplify_const_binary_operation): Likewise. (simplify_const_relational_operation): Likewise. * tree-call-cdce.c (check_pow): Likewise. (gen_conditions_for_pow_cst_base): Likewise. * tree-inline.c (estimate_num_insns): Likewise. * tree-ssa-dom.c (record_equality): Likewise. * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise. (gimple_expand_builtin_pow): Likewise. (pass_optimize_widening_mul::execute): Likewise. * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise. * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise. * tree.c (real_zerop, real_onep, real_minus_onep): Likewise. --- gcc/builtins.c | 14 +++++++------- gcc/c-family/c-lex.c | 6 +++--- gcc/c/c-typeck.c | 2 +- gcc/config/aarch64/aarch64.c | 2 +- gcc/config/arm/arm.c | 6 +++--- gcc/config/fr30/fr30.c | 2 +- gcc/config/m68k/m68k.c | 6 +++--- gcc/config/sh/sh.c | 4 ++-- gcc/config/vax/vax.c | 4 ++-- gcc/config/xtensa/predicates.md | 2 +- gcc/cp/tree.c | 2 +- gcc/cprop.c | 2 +- gcc/doc/tm.texi | 7 ------- gcc/doc/tm.texi.in | 7 ------- gcc/expmed.c | 2 +- gcc/fold-const.c | 2 +- gcc/real.c | 10 +++++++++- gcc/real.h | 4 ++-- gcc/simplify-rtx.c | 16 ++++++++-------- gcc/tree-call-cdce.c | 4 ++-- gcc/tree-inline.c | 5 +++-- gcc/tree-ssa-dom.c | 2 +- gcc/tree-ssa-math-opts.c | 16 ++++++++-------- gcc/tree-ssa-uncprop.c | 2 +- gcc/tree-vect-patterns.c | 4 ++-- gcc/tree.c | 6 +++--- 26 files changed, 67 insertions(+), 72 deletions(-) From-SVN: r228473
2015-10-05re PR ipa/67783 (quadratic time consumption in IPA inlining with -O1 and higher)Richard Biener2-40/+31
2015-10-05 Richard Biener <rguenther@suse.de> PR ipa/67783 * ipa-inline-analysis.c (estimate_function_body_sizes): Only consider loop header PHI defs as IVs. From-SVN: r228472
2015-10-05tree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ...Richard Biener2-169/+111
2015-10-05 Richard Biener <rguenther@suse.de> * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move call handling ... (create_expression_by_pieces): ... here and build GIMPLE calls directly. Use gimple_build API and avoid force_gimple_operand. (insert_into_preds_of_block): Simplify. (do_regular_insertion): Add comment. From-SVN: r228471
2015-10-05[Patch ARM/ AArch64] Fix typo in vcvt_f16.c testcase .Ramana Radhakrishnan2-2/+9
This test worked by accident. While looking at why this was failing randomly in my builds, I discovered a bug in the way in which the testcases were written up in this case. 2015-10-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> * gcc.target/aarch64/advsimd-intrinsics/vcvt_f16.c (TEST_MSG): Fix typo. (exec_vcvt): Add comments. From-SVN: r228470
2015-10-05re PR c++/67844 (Cannot make tuple of class with template constructor)Ville Voutilainen4-1/+76
2015-10-05 Ville Voutilainen <ville.voutilainen@gmail.com> PR 67844. * include/std/tuple (_TC::_NonNestedTuple): Eagerly reject conversions from tuple types same as the target tuple. * testsuite/20_util/tuple/67844.cc: New. * testsuite/20_util/tuple/cons/nested_tuple_construct.cc: Add a missing copyright header. From-SVN: r228468
2015-10-05Daily bump.GCC Administrator1-1/+1
From-SVN: r228465
2015-10-04Implement N4514, C++ Extensions for Transactional Memory.Jason Merrill62-56/+833
gcc/ * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute. gcc/c-family/ * c-common.c (c_common_reswords): Add C++ TM TS keywords. (c_common_attribute_table): Add transaction_safe_dynamic. transaction_safe now affects type identity. (handle_tm_attribute): Handle transaction_safe_dynamic. * c-common.h (enum rid): Add RID_ATOMIC_NOEXCEPT, RID_ATOMIC_CANCEL, RID_SYNCHRONIZED. (OBJC_IS_CXX_KEYWORD): Add RID_SYNCHRONIZED. (D_TRANSMEM): New. * c-cppbuiltin.c (c_cpp_builtins): Define __cpp_transactional_memory. * c-pretty-print.c (pp_c_attributes_display): Don't print transaction_safe in C++. gcc/c/ * c-parser.c (c_lex_one_token): Handle @synchronized. * c-decl.c (match_builtin_function_types): A declaration of a built-in can change whether the function is transaction_safe. gcc/cp/ * cp-tree.h (struct cp_declarator): Add tx_qualifier field. (BCS_NORMAL, BCS_TRANSACTION): New enumerators. * lex.c (init_reswords): Limit TM kewords to -fgnu-tm. * parser.c (cp_lexer_get_preprocessor_token): Fix @synchronized. (make_call_declarator): Take tx_qualifier. (cp_parser_tx_qualifier_opt): New. (cp_parser_lambda_declarator_opt): Use it. (cp_parser_direct_declarator): Likewise. (cp_parser_statement): Handle atomic_noexcept, atomic_cancel. (cp_parser_compound_statement): Change in_try parameter to bcs_flags. (cp_parser_std_attribute): Map optimize_for_synchronized to transaction_callable. (cp_parser_transaction): Take the token. Handle atomic_noexcept. * lambda.c (maybe_add_lambda_conv_op): Handle transaction-safety. * call.c (enum conversion_kind): Add ck_tsafe. (standard_conversion): Handle transaction-safety conversion. (convert_like_real, resolve_address_of_overloaded_function): Likewise. (check_methods): Diagnose transaction_safe_dynamic on non-virtual function. (look_for_tm_attr_overrides): Don't inherit transaction_safe_dynamic. * cvt.c (tx_safe_fn_type_p, tx_unsafe_fn_variant) (can_convert_tx_safety): New. * typeck.c (composite_pointer_type): Handle transaction-safety. * name-lookup.h (enum scope_kind): Add sk_transaction. * name-lookup.c (begin_scope): Handle it. * semantics.c (begin_compound_stmt): Pass it. * decl.c (check_previous_goto_1): Check it. (struct named_label_entry): Add in_transaction_scope. (poplevel_named_label_1): Set it. (check_goto): Check it. (duplicate_decls): A specialization can be transaction_safe independently of its template. (grokdeclarator): Handle tx-qualifier. * rtti.c (ptr_initializer): Handle transaction-safe. * search.c (check_final_overrider): Check transaction_safe_dynamic. Don't check transaction_safe. * mangle.c (write_function_type): Mangle transaction_safe here. (write_CV_qualifiers_for_type): Not here. (write_type): Preserve transaction_safe when stripping attributes. * error.c (dump_type_suffix): Print transaction_safe. libiberty/ * cp-demangle.c (d_cv_qualifiers): Dx means transaction_safe. (cplus_demangle_type): Let d_cv_qualifiers handle it. (d_dump, d_make_comp, has_return_type, d_encoding) (d_count_templates_scopes, d_print_comp_inner) (d_print_mod_list, d_print_mod, d_print_function_type) (is_ctor_or_dtor): Handle DEMANGLE_COMPONENT_TRANSACTION_SAFE. From-SVN: r228462
2015-10-04re PR rtl-optimization/67447 (ICE in extract_constrain_insn ↵Uros Bizjak2-0/+30
(reload_cse_simplify_operands): insn does not satisfy its constraints) PR rtl-optimization/67447 * gcc.target/i386/pr67447.c: New test. From-SVN: r228461
2015-10-04i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register.Uros Bizjak2-7/+16
* config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to check for general register. (ix86_emit_save_regs): Ditto. (ix86_emit_save_regs_using_mov): Ditto. (ix86_emit_restore_regs_using_pop): Ditto. (ix86_emit_restore_regs_using_mov): Ditto. From-SVN: r228460
2015-10-04vect-pack-trunc-1.c: Require avx512bw effective target.Uros Bizjak7-0/+16
* gcc.target/i386/vect-pack-trunc-1.c: Require avx512bw effective target. * gcc.target/i386/vect-pack-trunc-2.c: Ditto. * gcc.target/i386/vect-perm-even-1.c: Ditto. * gcc.target/i386/vect-perm-odd-1.c: Ditto. * gcc.target/i386/vect-unpack-1.c: Ditto. * gcc.target/i386/vect-unpack-2.c: Ditto. From-SVN: r228459
2015-10-04Remove dead codeMikael Morin2-8/+5
gcc/fortran/ * match.c (gfc_match_common): Remove dead variable old_blank_common. From-SVN: r228458
2015-10-04Fix fortran common-related error recovery ICE.Mikael Morin5-7/+37
Upon reverting a symbol in a common block (after throwing an error), the compiler was ICEing because the symbol's common_block field was set, but the symbol was not in the common block's list of symbols. Fixed by both adding the symbol to the common block list and setting the symbol's common_block field at the same time. Furthermore, the gfc_add_in_common call is delayed and its result is ignored, so that its error messages are ignored and the compiler has the opportunity to give a better error message. Another gfc_add_in_common call is added later during resolution to emit again the missing errors. PR fortran/67758 gcc/fortran/ * match.c (gfc_match_common): Delay the common_block pointer assignment after error checking. Delay the call to gfc_add_in_common attribute after the handling of array specs. * resolve.c (resolve_common_vars): Call gfc_add_in_common again. gcc/testsuite/ * gfortran.dg/common_24.f: New. From-SVN: r228457
2015-10-04Factor access to the common block head symbolMikael Morin2-4/+10
* resolve.c (resolve_common_vars): Move access to the common block's head symbol inside the function. (resolve_common_blocks, resolve_types): Update callers. From-SVN: r228456
2015-10-04Daily bump.GCC Administrator1-1/+1
From-SVN: r228454
2015-10-03Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.Marek Polacek2-2/+5
* Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond. (insn-dfatab.o): Likewise. From-SVN: r228451
2015-10-03xtensa: add uclinux supportMax Filippov6-0/+121
2015-10-03 Max Filippov <jcmvbkbc@gmail.com> gcc/ * config.gcc (xtensa*-*-uclinux*): New configuration. * config/xtensa/uclinux.h: New file. * config/xtensa/uclinux.opt: New file. libgcc/ * config.host (xtensa*-*-uclinux*): New configuration. From-SVN: r228450
2015-10-03Document value of __cplusplus for C++14Jonathan Wakely2-4/+12
* doc/cpp.texi (Standard Predefined Macros): Document value of __cplusplus for C++14. From-SVN: r228448
2015-10-03Remove pretty printing for 'any' with allocatorsJonathan Wakely2-4/+3
* python/libstdcxx/v6/printers.py (StdExpAnyPrinter): Remove support for _Manager_alloc. From-SVN: r228447
2015-10-03Fix comments saying why headers are includedJonathan Wakely3-2/+4
* src/c++98/locale.cc: Fix comment. * src/c++98/locale_init.cc: Likewise. From-SVN: r228446
2015-10-03pr67756.c: Fixed warnings.Bernd Edlinger2-0/+6
2015-10-03 Bernd Edlinger <bernd.edlinger@hotmail.de> * gcc.target/arm/pr67756.c: Fixed warnings. From-SVN: r228445
2015-10-03Daily bump.GCC Administrator1-1/+1
From-SVN: r228442
2015-10-03Fix testsuite failures with --disable-wchar_tJonathan Wakely7-4/+29
* testsuite/21_strings/basic_string/literals/types.cc: Guard use of wchar_t with _GLIBCXX_USE_WCHAR_T. * testsuite/21_strings/basic_string/literals/values.cc: Likewise. * testsuite/21_strings/basic_string/requirements/citerators.cc: Likewise. * testsuite/22_locale/messages/13631.cc: Likewise. * testsuite/experimental/string_view/literals/types.cc: Likewise. * testsuite/experimental/string_view/literals/values.cc: Likewise. From-SVN: r228439
2015-10-03Enable dual ABI for Filesystem libraryJonathan Wakely9-4/+124
* src/filesystem/Makefile.am: Add cxx11_abi_sources. * src/filesystem/Makefile.in: Regenerate. * src/filesystem/cow-dir.cc: New. * src/filesystem/cow-ops.cc: New. * src/filesystem/cow-path.cc: New. * src/filesystem/dir.cc: Define macro for new ABI. * src/filesystem/ops.cc: Likewise. * src/filesystem/path.cc: Likewise. From-SVN: r228437
2015-10-02minimal.cc: Minor tweaks to match narrow char version.Jonathan Wakely2-2/+6
* testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Minor tweaks to match narrow char version. From-SVN: r228436
2015-10-02Fix tests that fail with old std::stringJonathan Wakely3-7/+15
* testsuite/21_strings/basic_string/allocator/char/minimal.cc: Guard explicit instantiation with check for new ABI. * testsuite/21_strings/basic_string/allocator/wchar_t/minimal.cc: Likewise. Use wchar_t as char_type. From-SVN: r228435
2015-10-02Use noexcept instead of _GLIBCXX_NOEXCEPTJonathan Wakely3-6/+11
* include/bits/basic_string.h [!_GLIBCXX_USE_CXX11_ABI] (basic_string::front() const, basic_string::back() const): Use noexcept instead of _GLIBCXX_NOEXCEPT macro. (__versa_string::front, __versa_string::back): Likewise. From-SVN: r228434
2015-10-02* acinclude.m4 (GLIBCXX_ENABLE_DEBUG_FLAGS): Fix comment.Jonathan Wakely2-1/+3
From-SVN: r228433
2015-10-02Help the offload gcc driver find the right assemblerBernd Schmidt2-1/+6
gcc/ * gcc.c (process_command): Use spec_machine rather than spec_host_machine to build tooldir_prefix2. From-SVN: r228429
2015-10-02nvptx offloading linkingThomas Schwinge10-1089/+617
gcc/ * config/nvptx/mkoffload.c (Kind, Vis): Remove enums. (Token, Stmt): Remove structs. (decls, vars, fns): Remove variables. (alloc_comment, append_stmt, is_keyword): Remove macros. (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts) (write_stmt, write_stmts, parse_insn, parse_list_nosemi) (parse_init, parse_file): Remove functions. (read_file): Accept a pointer to a length and store into it. (process): Don't try to parse the input file, just write it out as a string, but looking for maps. Also write out the length. (main): Don't use "-S" to compile PTX code. libgomp/ * oacc-ptx.h: Remove file, moving its content into... * config/nvptx/fortran.c: ... here... * config/nvptx/oacc-init.c: ..., here... * config/nvptx/oacc-parallel.c: ..., and here. * config/nvptx/openacc.f90: New file. * plugin/plugin-nvptx.c: Don't include "oacc-ptx.h". (link_ptx): Don't link in predefined bits of PTX code. Co-Authored-By: Bernd Schmidt <bernds@codesourcery.com> From-SVN: r228418
2015-10-02Allow Filesystem TS to compile without wchar_tJonathan Wakely7-8/+42
* include/bits/locale_conv.h [!_GLIBCXX_USE_WCHAR_T] (__do_str_codecvt, __str_codecvt_in, __str_codecvt_out): Enable. * include/experimental/fs_path.h [!_GLIBCXX_USE_WCHAR_T] (path::wstring, path::generic_wstring): Disable. * src/filesystem/path.cc (path::_S_convert_loc) [!_GLIBCXX_USE_WCHAR_T]: Skip conversion. * testsuite/experimental/filesystem/path/assign/assign.cc: Check for wchar_t support. * testsuite/experimental/filesystem/path/concat/strings.cc: Likewise. * testsuite/experimental/filesystem/path/construct/range.cc: Likewise. From-SVN: r228417
2015-10-02testsuite_fs.h (nonexistent_path): Use less generic name for paths.Jonathan Wakely2-2/+9
* testsuite/util/testsuite_fs.h (nonexistent_path): Use less generic name for paths. Prefer snprintf to sprintf. From-SVN: r228416
2015-10-02Re: [PATCH] Improve DOM's optimization of control statementsJeff Law2-0/+11
* tree-ssa-dom.c (optimize_stmt): Note when loop structures need fixups. From-SVN: r228415
2015-10-02[PR target/67822] OpenMP offloading to nvptx failsThomas Schwinge2-2/+11
gcc/ PR target/67822 * config/nvptx/mkoffload.c (main): Scan the argument vector for -fopenmp, and skip generating an offloading image if specified. From-SVN: r228414
2015-10-02system.h (ROUND_UP): New macro definition.Uros Bizjak5-32/+47
* system.h (ROUND_UP): New macro definition. (ROUND_DOWN): Ditto. * ggc-page.c (ROUND_UP): Remove local macro definition. (PAGE_ALIGN): Implement using ROUND_UP macro. * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro. * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro to align values. (ix86_compute_frame_layout): Ditto. (ix86_expand_prologue): Ditto. (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro to round down values. (expand_set_or_movmem_via_rep): Ditto. From-SVN: r228410
2015-10-02re PR c/67730 (No warning when returning NULL in void function)Marek Polacek6-0/+87
PR c/67730 * c-typeck.c (convert_for_assignment): Use the expansion point location throughout. * gcc.dg/pr67730-1.c: New test. * gcc.dg/pr67730-2.c: New test. * gcc.dg/pr67730.h: New test. From-SVN: r228408
2015-10-02re PR c/67819 (-Wduplicated-cond should take macros into account)Marek Polacek6-2/+15
* genemit.c (gen_exp): Remove -Wduplicated-cond hack. * c.opt (Wduplicated-cond): Don't enable by -Wall anymore. * c-c++-common/Wduplicated-cond-2.c: Skip until PR67819 is resolved. From-SVN: r228405
2015-10-02PR libstdc++/67747 use readdir instead of readdir_rJonathan Wakely2-32/+33
PR libstdc++/67747 * src/filesystem/dir.cc (native_readdir): Remove. (_Dir::advance): Use readdir instead of native_readdir. (recursive_directory_iterator(const path&, directory_options, error_code*)): Use swap instead of reset. From-SVN: r228404
2015-10-02reject loops early where ivs cannot be representedAditya Kumar3-59/+58
From-SVN: r228403
2015-10-02fix PR67754Sebastian Pop3-2/+10
From-SVN: r228402
2015-10-02add testcaseSebastian Pop2-0/+44
From-SVN: r228401
2015-10-02outline functions from stmt_simple_for_scop_pAditya Kumar2-30/+53
Outlined functions from stmt_simple_for_scop_p. No functional changes intended. Passes regtest and bootstrap. gcc/ChangeLog: 2015-10-01 Aditya Kumar <hiraditya@msn.com> * graphite-scop-detection.c (stmt_has_side_effects): New function outlined from stmt_simple_for_scop_p. (graphite_can_represent_stmt): Same. (stmt_simple_for_scop_p): Moved code out of this function for better readability. From-SVN: r228400
2015-10-02AVX-512.Kirill Yukhin6-1/+30
AVX-512. Add missing features to cpuinfo.c gcc/ * config/i386/i386.c (processor_features): Add F_AVX512VBMI, F_AVX512IFMA. (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA. libgcc/ * config/i386/cpuinfo.c (processor_features): Add FEATURE_AVX512VBMI and FEATURE_AVX512VBMI. testsuite/ * gcc.target/i386/builtin_target.c: Handle "avx512ifma" and "avx512vbmi". From-SVN: r228399
2015-10-02[AArch64] Use default_elf_asm_named_section instead of special cased hookRamana Radhakrishnan2-3/+4
* config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete. From-SVN: r228397
2015-10-02re PR rtl-optimization/67756 (ICE compiling Linux Kernel fs/namei.c on ARM)Vladimir Makarov4-12/+94
2015-10-02 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/67756 * lra-constraints.c (match_reload): Add a new parameter. Use it for creating a pseudo with the same value. (curr_insn_transform): Pass a new argument to match_reload. 2015-10-02 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/67756 * gcc.target/arm/pr67756.c: New. From-SVN: r228396
2015-10-02[AArch64] Add more TLS local executable testcasesJiong Wang5-0/+45
2015-10-02 Jiong Wang <jiong.wang@arm.com> * gcc.target/aarch64/tlsle12_tiny_1.c: New testcase for tiny model. * gcc.target/aarch64/tlsle24_tiny_1.c: Likewise. * gcc.target/aarch64/tlsle_sizeadj_tiny_1.c: TLS size truncation test for tiny model. * gcc.target/aarch64/tlsle_sizeadj_small_1.c: TLS size truncation test for small model. From-SVN: r228395
2015-10-02Update extract_even_odd w/ AVX-512BW insns.Kirill Yukhin10-12/+288
gcc/ * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New. (expand_vec_perm_even_odd_1): Handle V64QImode. (ix86_expand_vec_perm_const_1): Try expansion with expand_vec_perm_even_odd_trunc as well. * config/i386/sse.md (VI124_AVX512F): Rename to ... (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend to V54QI. (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ... (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend to V32HI and V16SI. (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name. (define_expand "vec_pack_trunc_<mode>"): Update iterator name. (define_expand "vec_unpacks_lo_<mode>"): Ditto. (define_expand "vec_unpacks_hi_<mode>"): Ditto. (define_expand "vec_unpacku_lo_<mode>"): Ditto. (define_expand "vec_unpacku_hi_<mode>"): Ditto. gcc/testsuite/ * gcc.target/i386/vect-pack-trunc-1.c: New test. * gcc.target/i386/vect-pack-trunc-2.c: Ditto. * gcc.target/i386/vect-perm-even-1.c: Ditto. * gcc.target/i386/vect-perm-odd-1.c: Ditto. * gcc.target/i386/vect-unpack-1.c: Ditto. * gcc.target/i386/vect-unpack-2.c: Ditto. From-SVN: r228394
2015-10-02invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, -mavx521vbmi, ↵Kirill Yukhin2-4/+40
-mavx512ifma. gcc/ * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq, -mavx521vbmi, -mavx512ifma. Add missing opindex-es. From-SVN: r228393
2015-10-02re PR c/59218 (atomic transactions: accesses to volatiles not disallowed in ↵Jason Merrill4-15/+36
transaction_safe code) PR c/59218 * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p. (diagnose_tm_1_op): Also diagnose volatile accesses in transaction_safe function. From-SVN: r228392