1. 23 Apr, 2014 11 commits
    • msp430.c (msp430_handle_option): Move function to msp430-common.c · f7961364
      	* 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
    • Revert · 8f78ecdb
      	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
    • Update libstdc++ baseline symbols for m68k · eab264af
      * config/abi/post/m68k-linux-gnu/baseline_symbols.txt
      (CXXABI_1.3.9): New version.
      
      From-SVN: r209683
      Andreas Schwab committed
    • cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path. · f70df035
      	* 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
    • arm.h (ASM_APP_OFF): Re-define it in a cleaner way. · 6a9accca
      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
    • re PR tree-optimization/60895 (error: address taken, but ADDRESSABLE bit not set) · 62ba699e
      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… · 92562f88
      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… · 1c33c9b7
      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
    • sh.md (mov<mode>): Replace movQIHI. · 5e66b2e5
      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
    • nios2.md (UNSPEC_ROUND): New. · aa221564
      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
    • Daily bump. · 5f056aaa
      From-SVN: r209669
      GCC Administrator committed
  2. 22 Apr, 2014 29 commits
    • compiler: Use backend interface for initialization functions. · aa492920
      	* 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
    • AArch64 add, sub, mul in TImode · 2195867f
      	* 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… · b1dc55ad
      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
    • Add ada configuration for aarch64-linux · 4a980bdc
      	* gcc-interface/Makefile.in: Support aarch64-linux.
      
      From-SVN: r209654
      Richard Henderson committed
    • Enable __gnat_alternate_stack for most linux · 19a0be3d
      	* init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
      	(__gnat_alternate_stack): Enable for all linux except ia64.
      
      From-SVN: r209653
      Richard Henderson committed
    • re PR libstdc++/43622 (Incomplete C++ library support for __float128) · 793c625f
      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… · c6d43074
      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
    • Merge longlong.h from glibc tree. · 130a7859
      From-SVN: r209649
      Yufeng Zhang committed
    • Use counter_mode on count_exp to get mode · e54c2dd3
      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
    • re PR c/59073 (ICE with missing increment in OpenMP for-loop) · e162a134
      	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
    • [AArch64] Fix TLS for ILP32. · 621ad2de
      From-SVN: r209645
      Andrew Pinski committed
    • fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer. · b6918051
      	* 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
    • [AArch64] Define TARGET_FLAGS_REGNUM · 5cb74e90
      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
    • [AArch64] 64-bit float vreinterpret implemention · bcd48995
      This patch introduces vreinterpret implementation for vectors with
      64-bit float lanes and adds testcase for those intrinsics.
      
      From-SVN: r209642
      Alex Velenko committed
    • [AArch64] Vreinterpret re-implemention. · 0bf3afc1
      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
    • [AArch64] vqneg and vqabs intrinsics implementation. · 9551c7ec
      This patch implements vqneg_s64, vqnegd_s64, vqabs_s64 and vqabsd_s64
      AArch64 intrinsics.
      
      From-SVN: r209640
      Alex Velenko committed
    • Improve sparc_init_modes readability · f2a2c4b5
              * config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
              computation to the top of the loop.
      
      From-SVN: r209637
      Richard Henderson committed
    • [AArch64] Fix aarch64_initial_elimination_offset calculation. · 53e5ace2
      This patch fixes the elimination offset calculation.  This is a latent
      bug hidden by the frame alignment calculation.
      
      
      Co-Authored-By: Jiong Wang <jiong.wang@arm.com>
      
      From-SVN: r209636
      Renlin Li committed
    • [AArch64] Fix indentation. · 78c29983
      From-SVN: r209627
      Marcus Shawcroft committed
    • machmode.h (bitwise_mode_for_mode): Declare. · dbf23a79
      gcc/
      	* machmode.h (bitwise_mode_for_mode): Declare.
      	* stor-layout.h (bitwise_type_for_mode): Likewise.
      	* stor-layout.c (bitwise_mode_for_mode): New function.
      	(bitwise_type_for_mode): Likewise.
      	* builtins.c (fold_builtin_memory_op): Use it instead of
      	int_mode_for_mode and build_nonstandard_integer_type.
      
      gcc/testsuite/
      	* gcc.dg/memcpy-5.c: New test.
      
      From-SVN: r209622
      Richard Sandiford committed
    • Remove obsolete Solaris 9 support · d9f069ab
      	libstdc++-v3:
      	* configure.host: Remove solaris2.9 handling.
      	Change os_include_dir to os/solaris/solaris2.10.
      	* acinclude.m4 (ac_has_gthreads): Remove solaris2.9* handling.
      	* crossconfig.m4: Remove *-solaris2.9 handling, simplify.
      	* configure: Regenerate.
      	* config/abi/post/solaris2.9: Remove.
      	* config/os/solaris/solaris2.9: Rename to ...
      	* config/os/solaris/solaris2.10: ... this.
      	* config/os/solaris/solaris2.10/os_defines.h (CLOCK_MONOTONIC):
      	Remove.
      
      	* doc/xml/manual/configure.xml (--enable-libstdcxx-threads):
      	Remove Solaris 9 reference.
      	* doc/html/manual/configure.html: Regenerate.
      
      	* testsuite/27_io/basic_istream/extractors_arithmetic/char/12.cc:
      	Remove *-*-solaris2.9 xfail.
      	* testsuite/27_io/basic_istream/extractors_arithmetic/wchar_t/12.cc:
      	Likewise.
      
      	* testsuite/ext/enc_filebuf/char/13598.cc: Remove *-*-solaris2.9
      	xfail.
      
      	libjava:
      	* configure.ac (THREADLIBS, THREADSPEC): Remove *-*-solaris2.9
      	handling.
      	* configure: Regenerate.
      
      	libgfortran:
      	* config/fpu-387.h [__sun__ && __svr4__]: Remove SSE execution
      	check.
      
      	libgcc:
      	* config/i386/crtfastmath.c (set_fast_math): Remove SSE execution
      	check.
      	* config/i386/sol2-unwind.h (x86_fallback_frame_state): Remove
      	Solaris 9 single-threaded support.
      	* config/sparc/sol2-unwind.h (sparc64_is_sighandler): Remove
      	Solaris 9 single-threaded support.  Add call_user_handler code
      	sequences.
      	(sparc_is_sighandler): Likewise.
      
      	libcpp:
      	* lex.c: Remove Solaris 9 reference.
      
      	gcc/testsuite:
      	* gcc.c-torture/compile/pr28865.c: Remove dg-xfail-if.
      
      	* gcc.dg/c99-stdint-6.c: Remove dg-options for *-*-solaris2.9.
      	* gcc.dg/lto/20090210_0.c: Remove dg-extra-ld-options for
      	*-*-solaris2.9.
      	* gcc.dg/torture/pr47917.c: Remove dg-options for *-*-solaris2.9.
      	* gcc.target/i386/pr22076.c: Remove i?86-*-solaris2.9 handling
      	from dg-options.
      	* gcc.target/i386/pr22152.c: Remove i?86-*-solaris2.9 handling
      	from dg-additional-options.
      	* gcc.target/i386/vect8-ret.c: Remove i?86-*-solaris2.9 handling
      	from dg-options.
      
      	* gcc.dg/vect/tree-vect.h (check_vect): Remove Solaris 9 SSE2
      	execution check.
      	* gcc.target/i386/sse-os-support.h [__sun__ && __svr4__]
      	(sigill_hdlr): Remove.
      	(sse_os_support) [__sun__ && __svr4__]: Remove SSE execution
      	check.
      
      	* gfortran.dg/erf_3.F90: Remove sparc*-*-solaris2.9* handling.
      	* gfortran.dg/fmt_en.f90: Remove i?86-*-solaris2.9* handling.
      	* gfortran.dg/round_4.f90: Remove *-*-solaris2.9* handling.
      
      	* lib/target-supports.exp (add_options_for_tls): Remove
      	*-*-solaris2.9* handling.
      
      	gcc:
      	* config.gcc (enable_obsolete): Remove *-*-solaris2.9*.
      	(*-*-solaris2.[0-9] | *-*-solaris2.[0-9].*): Mark unsupported.
      	(*-*-solaris2*): Simplify.
      	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Likewise.
      	(i[34567]86-*-solaris2* | x86_64-*-solaris2.1[0-9]*): Remove
      	*-*-solaris2.9* handling.
      
      	* configure.ac (gcc_cv_as_hidden): Remove test for Solaris 9/x86
      	as bug.
      	(gcc_cv_ld_hidden): Remove *-*-solaris2.9* handling.
      	(ld_tls_support): Remove i?86-*-solaris2.9, sparc*-*-solaris2.9
      	handling, simplify.
      	(gcc_cv_as_gstabs_flag): Remove workaround for Solaris 9/x86 as bug.
      	* configure: Regenerate.
      
      	* config/i386/sol2-9.h: Remove.
      
      	* doc/install.texi (Specific, i?86-*-solaris2.9): Remove.
      	(Specific, *-*-solaris2*): Mention Solaris 9 support removal.
      	Remove Solaris 9 references.
      
      	fixincludes:
      	* inclhack.def (math_exception): Bypass on *-*-solaris2.1[0-9]*.
      	(solaris_int_types): Remove.
      	(solaris_longjmp_noreturn): Remove.
      	(solaris_mutex_init_2): Remove.
      	(solaris_once_init_2): Remove.
      	(solaris_sys_va_list): Remove.
      	* fixincl.x: Regenerate.
      	* tests/base/iso/setjmp_iso.h: Remove.
      	* tests/base/pthread.h [SOLARIS_MUTEX_INIT_2_CHECK]: Remove.
      	[SOLARIS_ONCE_INIT_1_CHECK]: Remove wrapping done by
      	solaris_once_init_2.
      	[SOLARIS_ONCE_INIT_2_CHECK]: Remove.
      	* tests/base/sys/int_types.h: Remove.
      	* tests/base/sys/va_list.h: Remove.
      
      	contrib:
      	* config-list.mk (LIST): Remove sparc-sun-solaris2.9, i686-solaris2.9.
      
      From-SVN: r209621
      Rainer Orth committed
    • aarch64.md (float<GPI:mode><GPF:mode>2): Remove. · 0d35c5c2
      gcc/ChangeLog:
      
      2014-04-22  Vidya Praveen  <vidyapraveen@arm.com>
      
      	* aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
      	(floatuns<GPI:mode><GPF:mode>2): Remove.
      	(<optab><fcvt_target><GPF:mode>2): New pattern for equal width float
      	and floatuns conversions.
      	(<optab><fcvt_iesize><GPF:mode>2): New pattern for inequal width float
      	and floatuns conversions.
      	* iterators.md (fcvt_target, FCVT_TARGET): Support SF and DF modes.
      	(w1,w2): New mode attributes for inequal width conversions.
      
      gcc/testsuite/ChangeLog:
      
      2014-04-22  Vidya Praveen  <vidyapraveen@arm.com>
      
      	* gcc.target/aarch64/vect_cvtf_1.c: New.
      
      From-SVN: r209620
      Vidya Praveen committed
    • Re: [AArch64] Fix possible wrong code generation when comparing DImode values. · 110e1ccc
      gcc/
      
      	* config/aarch64/aarch64-simd.md
      	(aarch64_cm<optab>di): Always split.
      	(*aarch64_cm<optab>di): New.
      	(aarch64_cmtstdi): Always split.
      	(*aarch64_cmtstdi): New.
      
      From-SVN: r209617
      James Greenhalgh committed
    • re PR tree-optimization/60823 (ICE in gimple_expand_cfg, at cfgexpand.c:5644) · 2044a4c3
      	PR tree-optimization/60823
      	* omp-low.c (ipa_simd_modify_function_body): Go through
      	all SSA_NAMEs and for those refering to vector arguments
      	which are going to be replaced adjust SSA_NAME_VAR and,
      	if it is a default definition, change it into a non-default
      	definition assigned at the beginning of function from new_decl.
      	(ipa_simd_modify_stmt_ops): Rewritten.
      	* tree-dfa.c (set_ssa_default_def): When removing default def,
      	check for NULL loc instead of NULL *loc.
      
      	* c-c++-common/gomp/pr60823-1.c: New test.
      	* c-c++-common/gomp/pr60823-2.c: New test.
      	* c-c++-common/gomp/pr60823-3.c: New test.
      
      From-SVN: r209616
      Jakub Jelinek committed
    • [ARM] Allow any register for DImode values in Thumb2 · 9d8b4d1c
      Ramana commented in the submission email:
      
          I noticed that for T32 we don't allow any old register for DImode
          values. The restriction of an even register is true only for ARM state
          because the ISA doesn't allow any old register in this place. In a few
          large .i files that I had knocking about, noticed a nice drop in stack
          usage and a generally improved register allocation strategy.
      
      From-SVN: r209615
      Ramana Radhakrishnan committed
    • Optimise NotDI AND/OR ZeroExtendSI for ARMv7A · a01be1ae
      [gcc]
      	* config/arm/arm.md (*anddi_notdi_zesidi): New pattern.
      	* config/arm/thumb2.md (*iordi_notdi_zesidi): New pattern.
      
      [gcc/testsuite]
      	* gcc.target/arm/anddi_notdi-1.c: New test.
      	* gcc.target/arm/iordi_notdi-1.c: New test case.
      
      From-SVN: r209614
      Ian Bolton committed
    • AArch32 Support ORN for DIMode · 80d3417b
      [gcc]
      	* config/arm/thumb2.md (*iordi_notdi_di): New pattern.
      	(*iordi_notzesidi_di): Likewise.
      	(*iordi_notsesidi_di): Likewise.
      
      [gcc/testsuite]
      	* gcc.target/arm/iordi_notdi-1.c: New test.
      
      From-SVN: r209613
      Ian Bolton committed
    • arm-protos.h (tune_params): New struct members. · 46fbb3eb
      	* config/arm/arm-protos.h (tune_params): New struct members.
      	* config/arm/arm.c: Initialise tune_params per processor.
      	(thumb2_reorg): Suppress conversion from t32 to t16 when optimizing
      	for speed, based on new tune_params.
      
      From-SVN: r209561
      Ian Bolton committed