Commit Graph

129419 Commits

Author SHA1 Message Date
Marek Polacek
c07d7c02d7 c-common.c (handle_tm_wrap_attribute): Tweak error message.
* c-common.c (handle_tm_wrap_attribute): Tweak error message.

From-SVN: r209693
2014-04-23 10:54:53 +00:00
Nick Clifton
f796136458 msp430.c (msp430_handle_option): Move function to msp430-common.c
* 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
2014-04-23 10:35:49 +00:00
Eric Botcazou
8f78ecdbe0 Revert
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
2014-04-23 10:29:47 +00:00
Andreas Schwab
eab264af0c Update libstdc++ baseline symbols for m68k
* config/abi/post/m68k-linux-gnu/baseline_symbols.txt
(CXXABI_1.3.9): New version.

From-SVN: r209683
2014-04-23 10:07:06 +00:00
Nick Clifton
f70df03530 cygwin.h (ENDFILE_SPEC): Include default-manifest.o if it can be found in the search path.
* 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
2014-04-23 09:42:40 +00:00
Terry Guo
6a9accca8f arm.h (ASM_APP_OFF): Re-define it in a cleaner way.
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
2014-04-23 08:59:07 +00:00
Richard Biener
62ba699e01 re PR tree-optimization/60895 (error: address taken, but ADDRESSABLE bit not set)
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
2014-04-23 08:27:00 +00:00
Richard Biener
92562f8869 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
2014-04-23 08:23:33 +00:00
Jakub Jelinek
1c33c9b70c 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
2014-04-23 10:20:12 +02:00
Christian Bruel
5e66b2e564 sh.md (mov<mode>): Replace movQIHI.
2014-04-22  Christian Bruel  <christian.bruel@st.com>

        * config/sh/sh.md (mov<mode>): Replace movQIHI.
         Force immediates to SImode.

From-SVN: r209671
2014-04-23 09:30:12 +02:00
Sandra Loosemore
aa22156410 nios2.md (UNSPEC_ROUND): New.
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
2014-04-22 22:14:42 -04:00
GCC Administrator
5f056aaaf5 Daily bump.
From-SVN: r209669
2014-04-23 00:17:11 +00:00
Chris Manghane
aa4929209a compiler: Use backend interface for initialization functions.
* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
	call to create_tmp_var.  Require that function be non-NULL.

From-SVN: r209665
2014-04-22 23:46:30 +00:00
Richard Henderson
2195867f1d AArch64 add, sub, mul in TImode
* 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
2014-04-22 13:31:29 -07:00
Tobias Burnus
b1dc55ad71 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
2014-04-22 21:28:43 +02:00
Richard Henderson
4a980bdc6e Add ada configuration for aarch64-linux
* gcc-interface/Makefile.in: Support aarch64-linux.

From-SVN: r209654
2014-04-22 09:54:25 -07:00
Richard Henderson
19a0be3d6b Enable __gnat_alternate_stack for most linux
* init.c [__linux__] (HAVE_GNAT_ALTERNATE_STACK): New define.
	(__gnat_alternate_stack): Enable for all linux except ia64.

From-SVN: r209653
2014-04-22 09:51:14 -07:00
Marc Glisse
793c625fb8 re PR libstdc++/43622 (Incomplete C++ library support for __float128)
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
2014-04-22 16:44:46 +00:00
Martin Jambor
c6d43074d8 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
2014-04-22 18:33:29 +02:00
Yufeng Zhang
130a78598c Merge longlong.h from glibc tree.
From-SVN: r209649
2014-04-22 16:31:45 +00:00
H.J. Lu
e54c2dd3e2 Use counter_mode on count_exp to get mode
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
2014-04-22 09:31:41 -07:00
Jakub Jelinek
e162a13486 re PR c/59073 (ICE with missing increment in OpenMP for-loop)
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
2014-04-22 18:22:22 +02:00
Andrew Pinski
621ad2de21 [AArch64] Fix TLS for ILP32.
From-SVN: r209645
2014-04-22 16:18:49 +00:00
Eric Botcazou
b691805167 fe.h (Compiler_Abort): Replace Fat_Pointer with String_Pointer.
* 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
2014-04-22 16:16:25 +00:00
Ramana Radhakrishnan
5cb74e90b3 [AArch64] Define TARGET_FLAGS_REGNUM
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
2014-04-22 16:08:33 +00:00
Alex Velenko
bcd48995ef [AArch64] 64-bit float vreinterpret implemention
This patch introduces vreinterpret implementation for vectors with
64-bit float lanes and adds testcase for those intrinsics.

From-SVN: r209642
2014-04-22 16:06:05 +00:00
Alex Velenko
0bf3afc14d [AArch64] Vreinterpret re-implemention.
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
2014-04-22 16:02:39 +00:00
Alex Velenko
9551c7ec22 [AArch64] vqneg and vqabs intrinsics implementation.
This patch implements vqneg_s64, vqnegd_s64, vqabs_s64 and vqabsd_s64
AArch64 intrinsics.

From-SVN: r209640
2014-04-22 15:55:53 +00:00
Richard Henderson
f2a2c4b573 Improve sparc_init_modes readability
* config/sparc/sparc.c (sparc_init_modes): Hoist GET_MODE_SIZE
        computation to the top of the loop.

From-SVN: r209637
2014-04-22 07:48:47 -07:00
Renlin Li
53e5ace2e9 [AArch64] Fix aarch64_initial_elimination_offset calculation.
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
2014-04-22 14:35:33 +00:00
Marcus Shawcroft
78c29983f2 [AArch64] Fix indentation.
From-SVN: r209627
2014-04-22 13:19:44 +00:00
Richard Sandiford
dbf23a7900 machmode.h (bitwise_mode_for_mode): Declare.
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
2014-04-22 12:46:07 +00:00
Rainer Orth
d9f069ab4f Remove obsolete Solaris 9 support
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
2014-04-22 12:30:59 +00:00
Vidya Praveen
0d35c5c270 aarch64.md (float<GPI:mode><GPF:mode>2): Remove.
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
2014-04-22 12:34:52 +01:00
Renlin Li
16a3246f05 [AArch64] Add a space to memory asm code between base register and offset.
From-SVN: r209618
2014-04-22 11:02:20 +00:00
James Greenhalgh
110e1ccc08 Re: [AArch64] Fix possible wrong code generation when comparing DImode values.
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
2014-04-22 10:49:48 +00:00
Jakub Jelinek
2044a4c3cc re PR tree-optimization/60823 (ICE in gimple_expand_cfg, at cfgexpand.c:5644)
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
2014-04-22 12:21:32 +02:00
Ramana Radhakrishnan
9d8b4d1ce9 [ARM] Allow any register for DImode values in Thumb2
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
2014-04-22 10:05:48 +00:00
Ian Bolton
a01be1aeb2 Optimise NotDI AND/OR ZeroExtendSI for ARMv7A
[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
2014-04-22 09:59:50 +00:00
Ian Bolton
80d3417b69 AArch32 Support ORN for DIMode
[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
2014-04-22 09:50:33 +00:00
Ian Bolton
46fbb3ebae arm-protos.h (tune_params): New struct members.
* 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
2014-04-22 09:33:00 +00:00
Alex Velenko
74dc11ed84 [AArch64] vrnd<*>_f64 patch
This patch adds vrnd<*>_f64 aarch64 intrinsics.  A testcase for those
intrinsics is added.  Run a complete LE and BE regression run with no
regressions.

From-SVN: r209559
2014-04-22 08:39:48 +00:00
Jakub Jelinek
b716608c3d * gennews (files): Add files for GCC 4.9.
From-SVN: r209557
2014-04-22 10:23:08 +02:00
Zhenqiang Chen
35923e4673 arm.c (arm_print_operand, thumb_exit): Make sure GET_MODE_SIZE argument is enum machine_mode.
2014-04-22  Zhenqiang Chen  <zhenqiang.chen@linaro.org>

	* config/arm/arm.c (arm_print_operand, thumb_exit): Make sure
	GET_MODE_SIZE argument is enum machine_mode.

From-SVN: r209556
2014-04-22 08:12:22 +00:00
Jakub Jelinek
4552e70cf7 re PR target/60910 (sparc-linux bootstrap failure due to many "invalid conversion from 'int' to 'machine_mode'" errors)
PR target/60910
	* config/sparc/sparc.c (sparc_init_modes): Pass enum machine_mode
	value instead of int to GET_MODE_CLASS and GET_MODE_SIZE macros.

From-SVN: r209555
2014-04-22 09:25:12 +02:00
Lin Zuojian
e5dcd6954a re PR middle-end/60281 (Address Sanitizer triggers alignment fault in ARM machines)
PR middle-end/60281
	* asan.c (asan_emit_stack_protection): Force the base to align to
	appropriate bits if STRICT_ALIGNMENT.  Set shadow_mem align to
	appropriate bits if STRICT_ALIGNMENT.
	* cfgexpand.c (expand_stack_vars): Set base_align appropriately
	when asan is on.
	(expand_used_vars): Leave a space in the stack frame for alignment
	if STRICT_ALIGNMENT.

From-SVN: r209554
2014-04-22 07:55:40 +02:00
GCC Administrator
f8c503f094 Daily bump.
From-SVN: r209553
2014-04-22 00:16:28 +00:00
David Malcolm
7455080c70 Const-correctness fixes for some gimple accessors
gcc/
	* gimple.h (gimple_assign_single_p): Accept a const_gimple rather
	than a gimple.
	(gimple_store_p): Likewise.
	(gimple_assign_load_p): Likewise.
	(gimple_assign_cast_p): Likewise.
	(gimple_clobber_p): Likewise.

	* doc/gimple.texi (gimple_assign_cast_p): Accept a const_gimple
	rather than a gimple.
	(gimple_assign_cast_p): Likewise.

From-SVN: r209548
2014-04-21 22:04:01 +00:00
Michael Meissner
aeb9579a5a re PR target/60735 (GCC targeting E500 with SPE has errors with the _Decimal64 type)
[gcc]
2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60735
	* config/rs6000/rs6000.md (mov<mode>_softfloat32, FMOVE64 case):
	If mode is DDmode and TARGET_E500_DOUBLE allow move.

	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Print some
	more debug information for E500 if -mdebug=reg.

[gcc/testsuite]
2014-04-21  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/60735
	* gcc.target/powerpc/pr60735.c: New test.  Insure _Decimal64 does
	not cause errors if -mspe.

From-SVN: r209546
2014-04-21 20:51:37 +00:00
Uros Bizjak
b15d92bfdd re PR target/60909 (ICE: in extract_insn, at recog.c:2202 (unrecognizable insn) with -mrdrnd and __builtin_ia32_rdrand32_step())
PR target/60909
	* config/i386/i386.c (ix86_expand_builtin)
	<case IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Use temporary
	register for target RTX.
	<case IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Ditto.

Testsuite/ChangeLog:

	PR target/60909
	* gcc.target/i386/pr60909-1.c: New test.
	* gcc.target/i386/pr60909-2.c: Ditto.

From-SVN: r209545
2014-04-21 20:34:10 +02:00