- 23 Apr, 2014 24 commits
-
-
This patch adds vdup intrinsic testcases for AArch64. those testcases are nice to have, as it allows to reason about vdup consistency for both LE and BE compiler flavors. From-SVN: r209713
Alex Velenko committed -
From-SVN: r209712
Venkataramanan Kumar committed -
From-SVN: r209711
Richard Earnshaw committed -
gcc/ * config/arm/arm.c (arm_cortex_a57_tune): Initialize all fields. (arm_cortex_a12_tune): Likewise. From-SVN: r209710
James Greenhalgh committed -
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP. From-SVN: r209706
Kyrylo Tkachov committed -
* config/arm/arm.md (arm_rev16si2): New pattern. (arm_rev16si2_alt): Likewise. * config/arm/arm.c (arm_new_rtx_costs): Handle rev16 case. * gcc.target/arm/rev16.c: New test. From-SVN: r209705
Kyrylo Tkachov committed -
* config/aarch64/aarch64.md (rev16<mode>2): New pattern. (rev16<mode>2_alt): Likewise. * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle rev16 case. * config/arm/aarch-common.c (aarch_rev16_shright_mask_imm_p): New. (aarch_rev16_shleft_mask_imm_p): Likewise. (aarch_rev16_p_1): Likewise. (aarch_rev16_p): Likewise. * config/arm/aarch-common-protos.h (aarch_rev16_p): Declare extern. (aarch_rev16_shright_mask_imm_p): Likewise. (aarch_rev16_shleft_mask_imm_p): Likewise. * gcc.target/aarch64/rev16_1.c: New test. From-SVN: r209704
Kyrylo Tkachov committed -
* config/arm/aarch-common-protos.h (alu_cost_table): Add rev field. * config/arm/aarch-cost-tables.h (generic_extra_costs): Specify rev cost. (cortex_a53_extra_costs): Likewise. (cortex_a57_extra_costs): Likewise. * config/arm/arm.c (cortexa9_extra_costs): Likewise. (cortexa7_extra_costs): Likewise. (cortexa8_extra_costs): Likewise. (cortexa12_extra_costs): Likewise. (cortexa15_extra_costs): Likewise. (v7m_extra_costs): Likewise. (arm_new_rtx_costs): Handle BSWAP. From-SVN: r209703
Kyrylo Tkachov committed -
* config/arm/arm.c (cortexa8_extra_costs): New table. (arm_cortex_a8_tune): New tuning struct. * config/arm/arm-cores.def (cortex-a8): Use cortex_a8 tuning struct. From-SVN: r209702
Kyrylo Tkachov committed -
* config/arm/arm.c (arm_new_rtx_costs): Handle FMA. From-SVN: r209701
Kyrylo Tkachov committed -
2014-04-23 Richard Biener <rguenther@suse.de> * Makefile.in (OBJS): Remove loop-unswitch.o. * loop-unswitch.c: Delete. * tree-pass.h (make_pass_rtl_unswitch): Remove. * passes.def (pass_rtl_unswitch): Likewise. * loop-init.c (gate_rtl_unswitch): Likewise. (rtl_unswitch): Likewise. (pass_data_rtl_unswitch): Likewise. (pass_rtl_unswitch): Likewise. (make_pass_rtl_unswitch): Likewise. * rtl.h (reversed_condition): Likewise. (compare_and_jump_seq): Likewise. * loop-iv.c (reversed_condition): Move here from loop-unswitch.c and make static. * loop-unroll.c (compare_and_jump_seq): Likewise. From-SVN: r209698
Richard Biener committed -
re PR tree-optimization/60903 (ICE: in verify_loop_structure, at cfgloop.c:1647: : edge from 13 to 14 should be marked irreducible) 2014-04-23 Richard Biener <rguenther@suse.de> PR tree-optimization/60903 * tree-ssa-loop-im.c (analyze_memory_references): Remove commented code block. (execute_sm_if_changed): Properly apply IRREDUCIBLE_LOOP loop flags to newly created BBs and edges. * gcc.dg/torture/pr60903.c: New testcase. From-SVN: r209694
Richard Biener committed -
* c-common.c (handle_tm_wrap_attribute): Tweak error message. From-SVN: r209693
Marek Polacek committed -
* config/msp430/msp430.c (msp430_handle_option): Move function to msp430-common.c (msp430_option_override): Simplify mcu and mcpu option handling. (msp430_is_f5_mcu): Rename to msp430_use_f5_series_hwmult. Add support for -mhwmult command line option. (has_32bit_hwmult): Rename to use_32bit_hwmult. Add support for -mhwmult command line option. (msp430_hwmult_enabled): Delete. (msp43o_output_labelref): Add support for -mhwmult command line option. * config/msp430/msp430.md (mulhisi3, umulhisi3, mulsidi3) (umulsidi3): Likewise. * config/msp430/msp430.opt (mmcu): Add Report attribute. (mcpu, mlarge, msmall): Likewise. (mhwmult): New option. * config/msp430/msp430-protos.h (msp430_hwmult_enabled): Remove prototype. (msp430_is_f5_mcu): Remove prototype. (msp430_use_f5_series_hwmult): Add prototype. * config/msp430/msp430-opts.h: New file. * common/config/msp430: New directory. * common/config/msp430/msp430-common.c: New file. * config.gcc (msp430): Remove target_has_targetm_common. * doc/invoke.texi: Document -mhwmult command line option. From-SVN: r209685
Nick Clifton committed -
2014-04-22 Richard Henderson <rth@redhat.com> * gcc-interface/Makefile.in: Support aarch64-linux. 2014-04-22 Eric Botcazou <ebotcazou@adacore.com> * fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer. (Error_Msg_N): Likewise. (Error_Msg_NE): Likewise. (Get_External_Name_With_Suffix): Likewise. * types.h (Fat_Pointer): Delete. (String_Pointer): New type. (DECLARE_STRING_POINTER): New macro. * gcc-interface/decl.c (create_concat_name): Adjust. * gcc-interface/trans.c (post_error): Likewise. (post_error_ne): Likewise. * gcc-interface/misc.c (internal_error_function): Likewise. From-SVN: r209684
Eric Botcazou committed -
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt (CXXABI_1.3.9): New version. From-SVN: r209683
Andreas Schwab committed -
* config/i386/cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path. * config/i386/mingw32.h (ENDFILE_SPEC): Likewise. From-SVN: r209681
Nick Clifton committed -
2014-04-23 Terry Guo <terry.guo@arm.com> * config/arm/arm.h (ASM_APP_OFF): Re-define it in a cleaner way. From-SVN: r209678
Terry Guo committed -
2014-04-23 Richard Biener <rguenther@suse.de> PR middle-end/60895 * tree-inline.c (declare_return_variable): Use mark_addressable. * g++.dg/torture/pr60895.C: New testcase. From-SVN: r209675
Richard Biener committed -
re PR tree-optimization/60891 (ICE: SIGSEGV (Invalid write/read) in pre_and_rev_post_order_compute_fn with -O -fno-tree-ch -fno-tree-cselim -fno-tree-dominator-opts) 2014-04-23 Richard Biener <rguenther@suse.de> PR middle-end/60891 * loop-init.c (loop_optimizer_init): Make sure to apply LOOPS_MAY_HAVE_MULTIPLE_LATCHES before fixing up loops. * gcc.dg/torture/pr60891.c: New testcase. From-SVN: r209673
Richard Biener committed -
re PR sanitizer/60275 ([UBSAN] Add -f[no-]sanitize-recover/-fsanitize-undefined-trap-on-error to make UBSAN's runtime errors fatal) PR sanitizer/60275 * common.opt (fsanitize-recover, fsanitize-undefined-trap-on-error): New options. * gcc.c (sanitize_spec_function): Don't return "" for "undefined" if flag_sanitize_undefined_trap_on_error. * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DIVREM_OVERFLOW_ABORT, BUILT_IN_UBSAN_HANDLE_SHIFT_OUT_OF_BOUNDS_ABORT, BUILT_IN_UBSAN_HANDLE_VLA_BOUND_NOT_POSITIVE_ABORT, BUILT_IN_UBSAN_HANDLE_TYPE_MISMATCH_ABORT, BUILT_IN_UBSAN_HANDLE_ADD_OVERFLOW_ABORT, BUILT_IN_UBSAN_HANDLE_SUB_OVERFLOW_ABORT, BUILT_IN_UBSAN_HANDLE_MUL_OVERFLOW_ABORT, BUILT_IN_UBSAN_HANDLE_NEGATE_OVERFLOW_ABORT, BUILT_IN_UBSAN_HANDLE_LOAD_INVALID_VALUE_ABORT): New builtins. * ubsan.c (ubsan_instrument_unreachable): Return __builtin_trap () if flag_sanitize_undefined_trap_on_error. (ubsan_expand_null_ifn): Emit __builtin_trap () if flag_sanitize_undefined_trap_on_error and __ubsan_handle_type_mismatch_abort if !flag_sanitize_recover. (ubsan_expand_null_ifn, ubsan_build_overflow_builtin, instrument_bool_enum_load): Emit __builtin_trap () if flag_sanitize_undefined_trap_on_error and __builtin_handle_*_abort () if !flag_sanitize_recover. * doc/invoke.texi (-fsanitize-recover, -fsanitize-undefined-trap-on-error): Document. c-family/ * c-ubsan.c (ubsan_instrument_return): Return __builtin_trap () if flag_sanitize_undefined_trap_on_error. (ubsan_instrument_division, ubsan_instrument_shift, ubsan_instrument_vla): Likewise. Use __ubsan_handle_*_abort () if !flag_sanitize_recover. testsuite/ * g++.dg/ubsan/return-2.C: Revert 2014-03-24 changes, add -fno-sanitize-recover to dg-options. * g++.dg/ubsan/cxx11-shift-1.C: Remove c++11 target restriction, add -std=c++11 to dg-options. * g++.dg/ubsan/cxx11-shift-2.C: Likewise. * g++.dg/ubsan/cxx1y-vla.C: Remove c++1y target restriction, add -std=c++1y to dg-options. * c-c++-common/ubsan/undefined-1.c: Revert 2014-03-24 changes, add -fno-sanitize-recover to dg-options. * c-c++-common/ubsan/overflow-sub-1.c: Likewise. * c-c++-common/ubsan/vla-4.c: Likewise. * c-c++-common/ubsan/pr59503.c: Likewise. * c-c++-common/ubsan/vla-3.c: Likewise. * c-c++-common/ubsan/save-expr-1.c: Likewise. * c-c++-common/ubsan/overflow-add-1.c: Likewise. * c-c++-common/ubsan/shift-3.c: Likewise. * c-c++-common/ubsan/overflow-1.c: Likewise. * c-c++-common/ubsan/overflow-negate-2.c: Likewise. * c-c++-common/ubsan/vla-2.c: Likewise. * c-c++-common/ubsan/overflow-mul-1.c: Likewise. * c-c++-common/ubsan/pr60613-1.c: Likewise. * c-c++-common/ubsan/shift-6.c: Likewise. * c-c++-common/ubsan/overflow-mul-3.c: Likewise. * c-c++-common/ubsan/overflow-add-3.c: New test. * c-c++-common/ubsan/overflow-add-4.c: New test. * c-c++-common/ubsan/div-by-zero-6.c: New test. * c-c++-common/ubsan/div-by-zero-7.c: New test. From-SVN: r209672
Jakub Jelinek committed -
2014-04-22 Christian Bruel <christian.bruel@st.com> * config/sh/sh.md (mov<mode>): Replace movQIHI. Force immediates to SImode. From-SVN: r209671
Christian Bruel committed -
2014-04-22 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.md (UNSPEC_ROUND): New. (lroundsfsi2): New. * config/nios2/nios2.opt (mno-custom-round, mcustom-round=): New. * config/nios2/nios2-opts.h (N2FPU_ALL_CODES): Add round. * config/nios2/nios2.c (N2F_NO_ERRNO): Define. (nios2_fpu_insn): Add entry for round. (N2FPU_NO_ERRNO_P): Define. (nios2_custom_check_insns): Add check for N2F_NO_ERRNO and flag_errno_math. * doc/invoke.texi (Nios II Options): Document -mcustom-round. gcc/testsuite/ * gcc.target/nios2/custom-fp-conversion.c: Adjust to test that lroundf generates custom round instruction, too. From-SVN: r209670
Sandra Loosemore committed -
From-SVN: r209669
GCC Administrator committed
-
- 22 Apr, 2014 16 commits
-
-
* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around call to create_tmp_var. Require that function be non-NULL. From-SVN: r209665
Chris Manghane committed -
* config/aarch64/aarch64.md (multi3): New expander. (madd<GPI>): Remove leading * from name. * config/aarch64/aarch64.md (<su_optab>mulditi3): New expander. * config/aarch64/aarch64 (addti3, subti3): New expanders. (add<GPI>3_compare0): Remove leading * from name. (add<GPI>3_carryin): Likewise. (sub<GPI>3_compare0): Likewise. (sub<GPI>3_carryin): Likewise. From-SVN: r209659
Richard Henderson committed -
re PR fortran/60881 (ICE on dummy argument that extends a type with scalar and scalar coarry components) 2014-04-22 Tobias Burnus <burnus@net-b.de> PR fortran/60881 * trans-expr.c (gfc_trans_subcomponent_assign): Fix handling of scalar coarrays. 2014-04-22 Tobias Burnus <burnus@net-b.de> PR fortran/60881 * coarray/alloc_comp_3.f90: New. From-SVN: r209657
Tobias Burnus committed -
* gcc-interface/Makefile.in: Support aarch64-linux. From-SVN: r209654
Richard Henderson committed -
* init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define. (__gnat_alternate_stack): Enable for all linux except ia64. From-SVN: r209653
Richard Henderson committed -
2014-04-22 Marc Glisse <marc.glisse@inria.fr> PR libstdc++/43622 gcc/c-family/ * c-common.c (registered_builtin_types): Make non-static. * c-common.h (registered_builtin_types): Declare. gcc/cp/ * rtti.c (emit_support_tinfo_1): New function, extracted from emit_support_tinfos. (emit_support_tinfos): Call it and iterate on registered_builtin_types. libstdc++-v3/ * config/abi/pre/gnu.ver (CXXABI_1.3.9): New version, new symbols. * config/abi/pre/gnu-versioned-namespace.ver: New symbols. * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Likewise. From-SVN: r209652
Marc Glisse committed -
cgraphclones.c (cgraph_function_versioning): Copy ipa_transforms_to_apply instead of asserting it is empty. 2014-04-22 Martin Jambor <mjambor@suse.cz> * cgraphclones.c (cgraph_function_versioning): Copy ipa_transforms_to_apply instead of asserting it is empty. From-SVN: r209650
Martin Jambor committed -
From-SVN: r209649
Yufeng Zhang committed -
gcc/ PR target/60868 * config/i386/i386.c (ix86_expand_set_or_movmem): Call counter_mode on count_exp to get mode. gcc/testsuite/ PR target/60868 * gcc.target/i386/pr60868.c: New testcase. From-SVN: r209648
H.J. Lu committed -
PR c/59073 c/ * c-parser.c (c_parser_omp_parallel): If c_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. cp/ * parser.c (cp_parser_omp_parallel): If cp_parser_omp_for fails, don't set OM_PARALLEL_COMBINED and return NULL. testsuite/ * c-c++-common/gomp/pr59073.c: New test. From-SVN: r209646
Jakub Jelinek committed -
From-SVN: r209645
Andrew Pinski committed -
* fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer. (Error_Msg_N): Likewise. (Error_Msg_NE): Likewise. (Get_External_Name_With_Suffix): Likewise. * types.h (Fat_Pointer): Delete. (String_Pointer): New type. (DECLARE_STRING_POINTER): New macro. * gcc-interface/decl.c (create_concat_name): Adjust. * gcc-interface/trans.c (post_error): Likewise. (post_error_ne): Likewise. * gcc-interface/misc.c (internal_error_function): Likewise. From-SVN: r209644
Eric Botcazou committed -
Ramana noted: This defines TARGET_FLAGS_REGNUM for AArch64 to be CC_REGNUM. Noticed this turns on the cmpelim pass after reload and in a few examples and a couple of benchmarks I noticed a number of comparisons getting deleted. From-SVN: r209643
Ramana Radhakrishnan committed -
This patch introduces vreinterpret implementation for vectors with 64-bit float lanes and adds testcase for those intrinsics. From-SVN: r209642
Alex Velenko committed -
This patch re-implements vreinterpret intrinsics to directly call a cast. The aim is to forward as much information to front-end as possible. From-SVN: r209641
Alex Velenko committed -
This patch implements vqneg_s64, vqnegd_s64, vqabs_s64 and vqabsd_s64 AArch64 intrinsics. From-SVN: r209640
Alex Velenko committed
-