- 25 Jan, 2015 7 commits
-
-
gcc/ChangeLog: * config/i386/i386.c (get_builtin_code_for_version): Add support for BMI and BMI2 multiversion functions. (fold_builtin_cpu): Add F_BMI and F_BMI2. libgcc/ChangeLog: * config/i386/cpuinfo.c (enum processor_features): Add FEATURE_BMI and FEATURE_BMI2. (get_available_features): Detect FEATURE_BMI and FEATURE_BMI2. testsuite/ChangeLog: * gcc.target/i386/funcspec-5.c: Test new multiversion targets. * g++.dg/ext/mv17.C: Test BMI/BMI2 multiversion dispatcher. Co-Authored-By: Uros Bizjak <ubizjak@gmail.com> From-SVN: r220095
Allan Sandfeld Jensen committed -
libstdc++-v3/ PR target/29366 * config/cpu/sh/atomicity.h (__exchange_and_add, __atomic_add): Remove SH4A inline asm and lock based implementations and use the defaults from ext/atomicity.h. From-SVN: r220094
Oleg Endo committed -
gcc/testsuite/ PR target/54236 * gcc.target/sh/pr54236-4.c: New. From-SVN: r220093
Oleg Endo committed -
2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> * emit-rtl.h (store_bit_field): Move prototype to expmed.h. (extract_bit_field): Likewise. (extract_low_bits): Likewise. (expand_mult): Likewise. (expand_mult_highpart_adjust): Likewise. From-SVN: r220092
Prathamesh Kulkarni committed -
2015-01-25 Tom de Vries <tom@codesourcery.com> * MAINTAINERS: Make whitespace consistent. From-SVN: r220091
Tom de Vries committed -
gcc/ * config/i386/driver-i386.c (host_detect_local_cpu): Check new Silvermont, Haswell, Broadwell and Knights Landing model numbers. * config/i386/i386.c (processor_model): Add M_INTEL_COREI7_BROADWELL. (arch_names_table): Add "broadwell". gcc/testsuite/ * gcc.target/i386/builtin_target.c (check_intel_cpu_model): Add Silvermont, Ivy Bridge, Haswell and Broadwell tests. Update Sandy Bridge test. 2015-01-24 H.J. Lu <hongjiu.lu@intel.com> * config/i386/cpuinfo.c (processor_subtypes): Add INTEL_COREI7_BROADWELL. (get_intel_cpu): Support new Silvermont, Haswell and Broadwell model numbers. From-SVN: r220090
H.J. Lu committed -
From-SVN: r220089
GCC Administrator committed
-
- 24 Jan, 2015 9 commits
-
-
libgfortran ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * io/unit.c (filename_from_unit): Check that u->filename != NULL before calling strdup. testsuite ChangeLog: 2015-01-24 Janne Blomqvist <jb@gcc.gnu.org> PR libfortran/64770 * gfortran.dg/open_new_segv.f90: New test. From-SVN: r220086
Janne Blomqvist committed -
2015-01-24 Tobias Burnus <burnus@net-b.de> * parse.c (gfc_parse_file): Fix two-location gfc_error call. From-SVN: r220084
Tobias Burnus committed -
2015-01-25 Venkataramanan Kumar <venkataramanan.kumar@linaro.org> * configure.ac (TSAN_TARGET_DEPENDENT_OBJECTS): Undefine. * configure: Regenerate. * configure.tgt (TSAN_TARGET_DEPENDENT_OBJECTS): Define. From-SVN: r220083
Venkataramanan Kumar committed -
gcc/ PR target/49263 PR target/53987 PR target/64345 PR target/59533 PR target/52933 PR target/54236 PR target/51244 * config/sh/sh-protos.h (sh_extending_set_of_reg::can_use_as_unextended_reg, sh_extending_set_of_reg::use_as_unextended_reg, sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn, sh_is_movrt_insn, sh_insn_operands_modified_between_p, sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr, sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions. (sh_treg_insns): New class. * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook. (scope_counter): New class. (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn, sh_extending_set_of_reg::can_use_as_unextended_reg, sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr, sh_in_recog_treg_set_expr, sh_try_split_insn_simple, sh_split_treg_set_expr): New functions. (addsubcosts): Handle treg_set_expr. (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT. (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND. (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases. (sh_insn_operands_modified_between_p): Make non-static. * config/sh/predicates.md (zero_extend_movu_operand): Allow simple_mem_operand in addition to displacement_mem_operand. (zero_extend_operand): Don't allow zero_extend_movu_operand. (treg_set_expr, treg_set_expr_not_const01, arith_reg_or_treg_set_expr): New predicates. * config/sh/sh.md (tstsi_t): Use arith_reg_operand and arith_or_int_operand instead of logical_operand. Convert to insn_and_split. Try to optimize constant operand in splitter. (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split. (*tstqi_t_zero): Delete. (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition. (tstsi_t_and_not): Delete. (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract. Convert to insn_and_split. (unnamed split, tstsi_t_zero_extract_xor, tstsi_t_zero_extract_subreg_xor_little, tstsi_t_zero_extract_subreg_xor_big): Delete. (*tstsi_t_shift_mask): New insn_and_split. (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try to recombine with surrounding insns when splitting. (*negtstsi): Add !sh_in_recog_treg_set_expr condition. (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ... (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4, *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns. (*cbranch_div0s: Delete. (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. Try to recombine with surrounding insns when splitting. Add operand order variants. (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01. (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb, *addc_r_r_msb, *addc_2r_msb): Delete. (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand order variant. (*addc_negreg_t): New insn_and_split. (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand. Try to recombine with surrounding insns when splitting. Add operand order variants. (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New insn_and_split patterns. (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with surrounding insns when splitting. (unnamed rotcr split): Use arith_reg_or_treg_set_expr. (*rotcl): Likewise. Add zero_extract variant. (*ashrsi2_31): New insn_and_split. (*negc): Convert to insn_and_split. Use treg_set_expr. (*zero_extend<mode>si2_disp_mem): Update comment. (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split condition. (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine with surrounding insns when splitting. (any_treg_expr_to_reg): New insn_and_split. (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2, *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5, *neg_zero_extract_6, *zero_extract_0, *zero_extract_1, *zero_extract_2): New single bit zero extract patterns. (bld_reg, *bld_regqi): Fold into bld<mode>_reg. (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load, *movdi_gbr_load): Use arith_reg_dest instead of register_operand for set destination. (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of register_operand for set source. gcc/testsuite/ PR target/49263 PR target/53987 PR target/64345 PR target/59533 PR target/52933 PR target/54236 PR target/51244 * gcc.target/sh/pr64345-1.c: New. * gcc.target/sh/pr64345-2.c: New. * gcc.target/sh/pr59533-1.c: New. * gcc.target/sh/pr49263.c: Adjust matching of expected insns. * gcc.target/sh/pr52933-2.c: Likewise. * gcc.target/sh/pr54089-1.c: Likewise. * gcc.target/sh/pr54236-1.c: Likewise. * gcc.target/sh/pr51244-20-sh2a.c: Likewise. * gcc.target/sh/pr49263-1.c: Remove xfails. * gcc.target/sh/pr49263-2.c: Likewise. * gcc.target/sh/pr49263-3.c: Likewise. * gcc.target/sh/pr53987-1.c: Likewise. * gcc.target/sh/pr52933-1.c: Adjust matching of expected insns. (test_24, test_25, test_26, test_27, test_28, test_29, test_30): New. * gcc.target/sh/pr51244-12.c: Adjust matching of expected insns. (test05, test06, test07, test08, test09, test10, test11, test12): New. * gcc.target/sh/pr54236-3.c: Adjust matching of expected insns. (test_002, test_003, test_004, test_005, test_006, test_007, test_008, test_009): New. * gcc.target/sh/pr51244-4.c: Adjust matching of expected insns. (test_02): New. From-SVN: r220081
Oleg Endo committed -
2015-01-24 Tom de Vries <tom@codesourcery.com> * gcc.target/i386/funcspec-5.c: Replace avx512 with avx512f. From-SVN: r220079
Tom de Vries committed -
* i386.opt (prefetch_sse): New targetsave. * i386.c (ix86_function_specific_save): Save prefetch_sse. (ix86_function_specific_restore): Restore prefetch_sse and initialize ix86_cost/ix86_tune_cost. From-SVN: r220077
Jan Hubicka committed -
2015-01-24 Matthias Klose <doko@ubuntu.com> * configure.ac: Move AM_ENABLE_MULTILIB before AC_PROG_CC. * configure: Regenerate. From-SVN: r220075
Matthias Klose committed -
From-SVN: r220073
GCC Administrator committed -
PR go/63565 * gccgo.texi (Invoking gccgo): Mention that Go programs should not be stripped. * gccgo.texi (C Interoperability): Mention that people should use cgo. From-SVN: r220070
Ian Lance Taylor committed
-
- 23 Jan, 2015 24 commits
-
-
PR go/64510 * go.test/go-test.exp (go-gc-tests): Skip nilptr2.go test on targets without split stack support. From-SVN: r220069
Ian Lance Taylor committed -
PR go/64573 syscall: Restore line somehow lost in libgo merge. From-SVN: r220068
Ian Lance Taylor committed -
re PR go/64725 (FAIL: libgo/runtime TestFinalizerType testing.go:278: #2: finalizer for type func(*int) didn't run) PR go/64725 runtime: Disable tests that require that a finalizer run. From-SVN: r220067
Ian Lance Taylor committed -
PR go/64738 * Makefile.am (AM_LDFLAGS): Remove -static-libgo. * Makefile.in: Rebuild. From-SVN: r220066
Ian Lance Taylor committed -
gcc/ChangeLog * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support the JIT by using 0 as the language type. From-SVN: r220065
David Malcolm committed -
PR go/64595 * go-lang.c (go_langhook_init_options_struct): Set default debug_info_level. (go_langhook_post_options): If debug_info_level is still the default, make sure write_symbols is set. * gccgo.texi (Invoking gccgo): Document that -g1 is the default. From-SVN: r220064
Ian Lance Taylor committed -
From-SVN: r220062
Vladimir Makarov committed -
2015-01-23 Vladimir Makarov <vmakarov@redhat.com> PR target/64317 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo. (mark_regno_live, process_bb_lives): Pass new paramater value to make_hard_regno_born. 2015-01-23 Vladimir Makarov <vmakarov@redhat.com> PR target/64317 * gcc.target/i386/pr64317.c: New test. From-SVN: r220060
Vladimir Makarov committed -
PR rtl-optimization/63637 PR rtl-optimization/60663 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST if elt->cost is MAX_COST for ASM_OPERANDS. (find_sets_in_insn): Fix up comment typo. (cse_insn): Don't set src_volatile for all non-volatile ASM_OPERANDS in PARALLELs, but just those with multiple outputs or with "memory" clobber. Set elt->cost to MAX_COST for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST if new_src is ASM_OPERANDS and elt->cost is MAX_COST. * gcc.dg/pr63637-1.c: New test. * gcc.dg/pr63637-2.c: New test. * gcc.dg/pr63637-3.c: New test. * gcc.dg/pr63637-4.c: New test. * gcc.dg/pr63637-5.c: New test. * gcc.dg/pr63637-6.c: New test. * gcc.target/i386/pr63637-1.c: New test. * gcc.target/i386/pr63637-2.c: New test. * gcc.target/i386/pr63637-3.c: New test. * gcc.target/i386/pr63637-4.c: New test. * gcc.target/i386/pr63637-5.c: New test. * gcc.target/i386/pr63637-6.c: New test. From-SVN: r220059
Jakub Jelinek committed -
* config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for alternative 1. From-SVN: r220058
Uros Bizjak committed -
PR go/64595 runtime: Don't crash in runtime_callers if no debug info available. From-SVN: r220057
Ian Lance Taylor committed -
libgcc/ChangeLog: * config/i386/elf-lib.h: New file. (CRT_GET_RFIB_DATA): Move definition from gcc/config/i386/gnu-user.h. Wrap definition in #ifdef __i386__. * libgcc/config.host (i[34567]86-*-linux*, i[34567]86-*-kfreebsd*-gnu) (i[34567]86-*-knetbsd*-gnu, i[34567]86-*-gnu*) (i[34567]86-*-kopensolaris*-gnu, x86_64-*-linux*) (x86_64-*-kfreebsd*-gnu, x86_64-*-knetbsd*-gnu): Add i386/elf-lib.h to tm_file. gcc/ChangeLog: * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to libgcc/config/i386/elf-lib.h. From-SVN: r220056
Uros Bizjak committed -
PR driver/64737 * gcc.c (print_configuration): Don't print a blank line at the end here... (run_attempt): ... but here unstead. From-SVN: r220055
Jakub Jelinek committed -
PR middle-end/64734 * omp-low.c (scan_sharing_clauses): Don't ignore OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses on target data/update constructs. * libgomp.c/pr64734.c: New test. From-SVN: r220053
Jakub Jelinek committed -
From-SVN: r220049
Jason Merrill committed -
2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de> PR target/50928 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here. (DEBUG_RELOAD): Removed define. (m32c_limit_reload_class): Enable traces with if DEBUG0. (m32c_function_arg): Added a type cast. (m32c_legitimize_reload_address): Push A_REGS reload with PSImode. * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments. * config/m32c/bitops.md (andqi3_16): Likewise. * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise. (push_a01_l): Likewise. From-SVN: r220048
Bernd Edlinger committed -
PR c++/64314 PR c++/57510 * typeck2.c (split_nonconstant_init_1): Remove a sub-CONSTRUCTOR that has been completely split out. From-SVN: r220047
Jason Merrill committed -
PR c++/64701 * constexpr.c (maybe_constant_value): Just hand back STATEMENT_LIST. From-SVN: r220046
Jason Merrill committed -
gcc/ChangeLog: PR jit/64721 * main.c (main): Construct toplev instances with init_signals=true. * toplev.c (general_init): Add param "init_signals", and use it to conditionalize the calls to signal and host_hooks.extra_signals. (toplev::toplev): Add param "init_signals". (toplev::main): When invoking general_init, pass m_init_signals to control whether signal-handlers are installed. * toplev.h (toplev::toplev): Add param "init_signals". (toplev::m_init_signals): New field. gcc/jit/ChangeLog: PR jit/64721 * jit-playback.c (gcc::jit::playback::context::compile): Construct toplev instances with init_signals=false. From-SVN: r220045
David Malcolm committed -
gcc/ChangeLog: PR jit/64722 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the latter may be affected by the former (e.g. on i686). From-SVN: r220044
David Malcolm committed -
* config/abi/pre/gnu.ver: Tighten GLIBCXX_3.4 patterns to not match new std::string constructors for byname facets. From-SVN: r220043
Jonathan Wakely committed -
* tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow false positive during profiledbootstrap. * decl.c (attr_decl1): Workaround -Wmaybe-uninitialized false positive during profiledbootstrap by initializing them. * matchexp.c (match_mult_operand): Likewise. * module.c (write_atom): Likewise. (read_module): Likewise. From-SVN: r220042
Martin Liska committed -
re PR c++/64727 (g++.dg/torture/darwin-cfstring-3.C:11:80: internal compiler error: Segmentation fault: 11) PR c++/64727 * constexpr.c (cxx_eval_constant_expression): Allow for lvalue use of CONST_DECL. From-SVN: r220041
Jason Merrill committed -
re PR testsuite/63439 (FAIL: gcc.dg/vect/vect-33.c scan-tree-dump vect "Alignment of access forced using peeling") 2015-01-23 Richard Biener <rguenther@suse.de> PR testsuite/63439 * gcc.dg/vect/bb-slp-11.c: Require vect_pack_trunc. * gcc.dg/vect/bb-slp-26.c: Require vect_hw_misalign. From-SVN: r220039
Richard Biener committed
-