Commit Graph

140365 Commits

Author SHA1 Message Date
Alexandre Oliva c24f5688ad [PR64164] fix regressions reported on m68k and armeb
Defer stack slot address assignment for all parms that can't live in
pseudos, and accept pseudos assignments in assign_param_setup_block.

for  gcc/ChangeLog

	PR rtl-optimization/64164
	* cfgexpand.c (parm_maybe_byref_p): Renamed to...
	(parm_in_stack_slot_p): ... this.  Disregard mode, what
	matters is whether the parm will live in a pseudo or a stack
	slot.
	(expand_one_ssa_partition): Deal with params without a default
	def.  Disregard mode.
	* cfgexpand.h: Renamed function declaration.
	* tree-ssa-coalesce.c: Adjust.
	* function.c (split_complex_args): Allocate stack slot for
	unassigned parms before splitting.
	(parm_in_unassigned_mem_p): New.  Use it instead of
	parm_maybe_byref_p throughout this file.
	(assign_parm_setup_block): Use it.  Accept pseudos in the
	expand-assigned rtl.
	(assign_parm_setup_reg): Drop BLKmode requirement.
	(assign_parm_setup_stack): Allocate and fill in the address of
	unassigned MEM parms.

From-SVN: r227015
2015-08-19 17:00:32 +00:00
David Sherwood 8dc89e4d7e genmodes.c (emit_mode_unit_size_inline): New function.
2015-08-19  David Sherwood  <david.sherwood@arm.com>

    gcc/
	* genmodes.c (emit_mode_unit_size_inline): New function.
	(emit_mode_unit_precision_inline): New function.
	(emit_insn_modes_h): Emit new #define.  Emit new functions.
	(emit_mode_unit_size): New function.
	(emit_mode_unit_precision): New function.
	(emit_mode_adjustments): Add mode_unit_size adjustments.
	(emit_insn_modes_c): Emit new arrays.
	* machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
	use new inline methods.

From-SVN: r227013
2015-08-19 15:23:11 +00:00
Kyrylo Tkachov 8d55c61ba8 [AArch64] Use popcount_hwi instead of homebrew version
* config/aarch64/aarch64.c (bit_count): Delete prototype
	and definition.
	(aarch64_print_operand): Use popcount_hwi instead of the above.

From-SVN: r227012
2015-08-19 15:09:38 +00:00
Kyrylo Tkachov 474b0f70a8 [AArch64][obvious] Remove obsolete comment in aarch64-option-extensions.def
* config/aarch64/aarch64-option-extensions.def: Delete obsolete
	comment.

From-SVN: r227011
2015-08-19 15:01:21 +00:00
Mikael Morin ea0daf5f37 Forward-port test generic_31.f90 from the 5 branch.
gcc/testsuite/
	PR fortran/66929
	* gfortran.dg/generic_31.f90: New.

From-SVN: r227010
2015-08-19 14:47:23 +00:00
Marek Polacek 255520e020 re PR middle-end/67133 (ICE at -Os and above on x86_64-linux-gnu in gimple_op, at gimple.h:2274)
PR middle-end/67133
	* gimple-ssa-isolate-paths.c
	(insert_trap_and_remove_trailing_statements): Rename to ...
	(insert_trap): ... this.  Don't remove trailing statements; split
	block instead.
	(find_explicit_erroneous_behaviour): Don't remove all outgoing edges.

	* g++.dg/torture/pr67133.C: New test.

From-SVN: r227009
2015-08-19 14:22:26 +00:00
Mikael Morin d63c864834 Avoid signed left shift undefined behaviour in sext_hwi
gcc/
	PR other/67042
	* hwint.h (sext_hwi): Switch to unsigned for the left shift, and
	conditionalize the whole on __GNUC__.  Add fallback code
	depending neither on undefined nor implementation-defined behaviour.

From-SVN: r227008
2015-08-19 13:42:36 +00:00
Paolo Carlini dce573c43f cmath: Fix typo in comment.
2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Fix typo in comment.

From-SVN: r227007
2015-08-19 13:20:29 +00:00
Paolo Carlini 157177af99 cmath: Revert fix for libstdc++/58625...
2015-08-19  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/c_global/cmath: Revert fix for libstdc++/58625, no
	longer necessary (__builtin_signbit is now type-generic).

From-SVN: r227006
2015-08-19 13:17:51 +00:00
Jiong Wang a3957742f3 [AArch64] Cleanup whitespace in aarch64.c
2015-08-19  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
  whitespaces with tab.

From-SVN: r227005
2015-08-19 13:02:19 +00:00
Florian Weimer 4a5dc5994e Make the stack non-executable in GNAT tools
Due to PR67205, the deeply nested instantiations require trampolines,
which in turn requires an executable stack for the GNAT tools on
architectures such as x86_64.

From-SVN: r227004
2015-08-19 15:00:24 +02:00
Uros Bizjak 3bbce100e9 * ChangeLog: Fix corrupted entry.
From-SVN: r227003
2015-08-19 11:19:08 +02:00
Kyrylo Tkachov eb9137dfe3 [ARM] Use %wd format for lane printing in bounds_check
* config/arm/arm.c (bounds_check): Use %wd print format
	for HOST_WIDE_INT arguments.

From-SVN: r227002
2015-08-19 08:26:43 +00:00
Trevor Saunders a79683d5f0 remove more useless typedefs
gcc/c-family/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* c-ada-spec.h, c-common.c, c-common.h, c-format.c, c-format.h,
	c-objc.h, c-ppoutput.c, c-pragma.c, c-pragma.h: Remove useless
 typedefs.

gcc/c/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* c-aux-info.c, c-parser.c, c-tree.h: Remove useless typedefs.

gcc/cp/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* call.c, class.c, cp-tree.h, decl.c, except.c, mangle.c,
	method.c, name-lookup.h, parser.c, parser.h, rtti.c,
	semantics.c, typeck2.c: Remove useless typedefs.

gcc/fortran/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* dependency.c, dependency.h, gfortran.h, io.c, module.c,
	parse.h, resolve.c, trans-types.h, trans.h: remove useless
typedefs.

gcc/lto/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* lto.h: Remove useless typedefs.

gcc/objc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* objc-act.h, objc-next-runtime-abi-02.c, objc-runtime-hooks.h:
	Remove useless typedefs.

gcc/ChangeLog:

2015-08-18  Trevor Saunders  <tbsaunde@tbsaunde.org>

	* bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
	dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
	mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
	signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
	tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
	tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
	tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
	tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
	tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
typedefs.

From-SVN: r227001
2015-08-19 02:48:48 +00:00
Trevor Saunders 506868500a remove useless typedefs
gcc/ChangeLog:

2015-08-11  trevor Saunders  <tbsaunde@tbsaunde.org>

	* bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
	function.c, graphite-scop-detection.c, haifa-sched.c,
	ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
	tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
	varasm.c: Remove typedefs of structs.

From-SVN: r227000
2015-08-19 02:48:16 +00:00
GCC Administrator 9e110892a3 Daily bump.
From-SVN: r226998
2015-08-19 00:16:12 +00:00
Bill Schmidt 29ec406adc altivec.h (vec_adde): New define.
[gcc]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* config/rs6000/altivec.h (vec_adde): New define.
	(vec_addec): Likewise.
	(vec_double): Likewise.
	(vec_bperm): Likewise.
	(vec_gb): Likewise.
	* config/rs6000/rs6000-builtin.def (ADDE): New
	BU_ALTIVEC_OVERLOAD_3.
	(ADDEC): Likewise.
	(DOUBLE): New BU_VSX_OVERLOAD_1.
	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
	entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
	ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
	VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
	ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
	ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
	ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
	P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
	and P8V_BUILTIN_VEC_VBPERMQ.

[gcc/testsuite]

2015-08-18  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* gcc.target/powerpc/altivec-35.c: New test.
	* gcc.target/powerpc/p8vector-builtin-8.c: New test.
	* gcc.target/powerpc/vsx-vector-7.c: New test.

From-SVN: r226995
2015-08-18 22:02:46 +00:00
Jason Merrill 7940cae431 * print-tree.c (print_node): Handle TREE_BINFO.
From-SVN: r226994
2015-08-18 17:29:12 -04:00
Jason Merrill fc40eb7580 re PR c++/66919 (C++14 ICE during error reporting)
PR c++/66919
	* g++.dg/cpp1y/auto-fn27.C: New.

From-SVN: r226993
2015-08-18 17:29:07 -04:00
Jason Merrill 8e43da810d DR 1155
DR 1155
	* pt.c (convert_nontype_argument): Allow internal linkage in C++11
	and up.

From-SVN: r226992
2015-08-18 17:29:01 -04:00
Francois-Xavier Coudert 61717a4593 re PR middle-end/36757 (__builtin_signbit should be type-generic)
PR middle-end/36757

	* builtins.c (expand_builtin_signbit): Add asserts to make sure
	we can expand BUILT_IN_SIGNBIT inline.
	* builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
	* doc/extend.texi: Document the type-generic __builtin_signbit.

	* c-common.c (check_builtin_function_arguments): Add check
	for BUILT_IN_SIGNBIT argument.

	* gcc.dg/builtins-error.c: Add checks for __builtin_signbit.
	* gcc.dg/tg-tests.h: Add checks for __builtin_signbit.

From-SVN: r226990
2015-08-18 20:07:57 +00:00
Richard Sandiford a1c045caab re PR rtl-optimization/67218 (Combine incorrectly folds (double) (float) (unsigned))
gcc/
	PR rtl-optimization/67218
	* simplify-rtx.c (exact_int_to_float_conversion_p): New function.
	(simplify_unary_operation_1): Use it.

gcc/testsuite/
	PR rtl-optimization/67218
	* gcc.c-torture/execute/ieee/pr67218.c,
	gcc.target/aarch64/fcvt_int_float_double1.c,
	gcc.target/aarch64/fcvt_int_float_double2.c,
	gcc.target/aarch64/fcvt_int_float_double3.c,
	gcc.target/aarch64/fcvt_int_float_double4.c,
	gcc.target/aarch64/fcvt_uint_float_double1.c,
	gcc.target/aarch64/fcvt_uint_float_double2.c,
	gcc.target/aarch64/fcvt_uint_float_double3.c,
	gcc.target/aarch64/fcvt_uint_float_double4.c: New tests.

From-SVN: r226987
2015-08-18 19:04:41 +00:00
Jonathan Wakely f641b2d6bb re PR c++/67216 (false is still a null pointer constant)
PR c++/67216
	* testsuite/tr1/2_general_utilities/shared_ptr/observers/bool_conv.cc:
	Fix use of safe-bool idiom that isn't valid in C++11.

From-SVN: r226986
2015-08-18 19:04:48 +01:00
Jonathan Wakely e92e7c15e1 * include/bits/ptr_traits.h: Include <bits/move.h> for addressof.
From-SVN: r226985
2015-08-18 19:04:42 +01:00
Jonathan Wakely 4c2b10d6a4 re PR libstdc++/67066 (libstdc++-v3/src/filesystem/dir.cc fails to compile with --enable-concept-checks)
PR libstdc++/67066
	* doc/xml/manual/configure.xml (manual.intro.setup.configure): Add
	caveats for --enable-concept-checks. Improve link text.
	* doc/xml/manual/diagnostics.xml (std.diagnostics.concept_checking):
	Clarify caveats.
	* doc/html/*: Regenerate.
	* include/bits/stl_deque.h (deque): Only use concept checks in C++03.
	* include/bits/stl_stack.h (stack): Likewise.
	* include/bits/stl_vector.h (vector): Likewise.

From-SVN: r226984
2015-08-18 19:04:32 +01:00
Matthew Wahab f6e93c21e7 atomic-comp-swap-release-acquire.c: Adjust dg-options to disable LSE extensions.
* gcc.target/aarch64/atomic-comp-swap-release-acquire.c: Adjust
	dg-options to disable LSE extensions.
	* gcc.target/aarch64/atomic-op-acq_rel.c: Likewise.
	* gcc.target/aarch64/atomic-op-acquire.c: Likewise.
	* gcc.target/aarch64/atomic-op-char.c: Likewise.
	* gcc.target/aarch64/atomic-op-consume.c: Likewise.
	* gcc.target/aarch64/atomic-op-imm.c: Likewise.
	* gcc.target/aarch64/atomic-op-int.c: Likewise.
	* gcc.target/aarch64/atomic-op-long.c: Likewise.
	* gcc.target/aarch64/atomic-op-relaxed.c: Likewise.
	* gcc.target/aarch64/atomic-op-seq_cst.c: Likewise.
	* gcc.target/aarch64/atomic-op-release.c: Likewise.
	* gcc.target/aarch64/atomic-op-short.c: Likewise.
	* gcc.target/aarch64/sync-comp-swap.c: Likewise.
	* gcc.target/aarch64/sync-op-acquire.c: Likewise.
	* gcc.target/aarch64/sync-op-full.c: Likewise.
	* gcc.target/aarch64/sync-op-release.c: Likewise.

From-SVN: r226979
2015-08-18 16:10:10 +00:00
Paolo Carlini 329524f568 re PR c++/67160 (static_assert feature test macro)
c-family/
2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67160
	* c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_static_assert value
	in c++1z mode.

testsuite/
2015-08-18  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67160
	* g++.dg/cpp1z/feat-cxx1z.C: New.

From-SVN: r226972
2015-08-18 14:38:51 +00:00
Marek Polacek 41dd7cf747 re PR middle-end/67222 (ICE in gimple_call_arg with bogus posix_memalign)
PR middle-end/67222
	* gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
	if the call isn't valid.
	* tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
	gimple_call_builtin_p.
	(call_may_clobber_ref_p_1): Likewise.
	(stmt_kills_ref_p): Likewise.

	* gcc.dg/torture/pr67222.c: New test.

From-SVN: r226969
2015-08-18 13:41:27 +00:00
Robert Suchanek ec8a2131b6 [MIPS] Fix register renaming in the interrupt handlers.
gcc/
	* config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
	* config/mips/mips.c (mips_hard_regno_rename_ok): New function.
	(mips_hard_regno_scratch_ok): Likewise.
	(TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
	* config/mips/mips.h (HARD_REGNO_RENAME_OK): New.

gcc/testsuite/
	* gcc.target/mips/interrupt_handler-bug-1.c: New test.

From-SVN: r226968
2015-08-18 12:42:12 +00:00
Bin Cheng 7b008bbc0c tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
* tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
	(determine_value_range): Call refine_value_range_using_guard for
	each loop initial condition to improve value range.

	gcc/testsuite/ChangeLog
	* gcc.dg/tree-ssa/loop-bound-1.c: New test.
	* gcc.dg/tree-ssa/loop-bound-3.c: New test.
	* gcc.dg/tree-ssa/loop-bound-5.c: New test.

From-SVN: r226966
2015-08-18 07:57:54 +00:00
Max Filippov 991995c4e7 xtensa: fix _Unwind_GetCFA
Returning context->cfa in _Unwind_GetCFA makes CFA point one stack frame
higher than what was actually used by code at context->ra. This results
in invalid CFA value in signal frames and premature unwinding completion
in forced unwinding used by uClibc NPTL thread cancellation.
Returning context->sp from _Unwind_GetCFA makes all CFA values valid and
matching code that used them.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
	* config/xtensa/unwind-dw2-xtensa.c (_Unwind_GetCFA): Return
	context->sp instead of context->cfa.

From-SVN: r226964
2015-08-18 01:08:22 +00:00
Max Filippov 0e19db59e2 xtensa: use unwind-dw2-fde-dip instead of unwind-dw2-fde
This allows having exception cleanup code in binaries that don't
register their unwind tables.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
	* config/xtensa/t-windowed (LIB2ADDEH): Replace unwind-dw2-fde
	with unwind-dw2-fde-dip.

From-SVN: r226963
2015-08-18 01:07:10 +00:00
Max Filippov b6ac5f6231 xtensa: reimplement register spilling
Spilling windowed registers in userspace is much easier, more portable,
less error-prone and equally effective as in kernel. Now that register
spilling syscall is considered obsolete in the xtensa linux kernel
replace it with CALL12 followed by series of ENTRY in libgcc.

2015-08-18  Max Filippov  <jcmvbkbc@gmail.com>
libgcc/
	* config/xtensa/lib2funcs.S (__xtensa_libgcc_window_spill): Use
	CALL12 followed by series of ENTRY to spill windowed registers.
	(__xtensa_nonlocal_goto): Call __xtensa_libgcc_window_spill
	instead of making linux spill syscall.

From-SVN: r226962
2015-08-18 01:05:44 +00:00
GCC Administrator 3b6e040122 Daily bump.
From-SVN: r226961
2015-08-18 00:16:16 +00:00
Matthew Fortune bca0c98129 mips.exp: Redefine isa variable which is referenced in later code.
gcc/testsuite/
	* gcc.target/mips/mips.exp (mips-dg-options): Redefine isa
	which is used in later code.

From-SVN: r226957
2015-08-17 22:35:19 +00:00
Paolo Carlini 5916cfd01b re PR c++/67216 (false is still a null pointer constant)
/cp
2015-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67216
	* call.c (null_ptr_cst_p): In C++11 return 'false' for 'false'.

/testsuite
2015-08-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/67216
	* g++.dg/cpp0x/nullptr34.C: New.
	* g++.dg/warn/Wconversion2.C: Adjust.
	* g++.dg/warn/Wnull-conversion-1.C: Likewise.
	* g++.old-deja/g++.other/null3.C: Likewise.

	* g++.dg/cpp0x/pr51313.C: Adjust.

From-SVN: r226956
2015-08-17 21:40:07 +00:00
Jason Merrill b361a15ff6 re PR c++/67244 (internal compiler error: in gimplify_var_or_parm_decl, at gimplify.c:1801)
PR c++/67244
	* pt.c (tsubst_copy_and_build): Call insert_pending_capture_proxies.

From-SVN: r226950
2015-08-17 14:42:09 -04:00
Jason Merrill ceaaf873e9 re PR c++/67104 (Constant expression factory function initializes std::array with static storage duration strangely)
PR c++/67104
	* constexpr.c (array_index_cmp, find_array_ctor_elt): New.
	(cxx_eval_array_reference, cxx_eval_store_expression): Use them.

From-SVN: r226949
2015-08-17 14:42:04 -04:00
Jason Merrill c75ce5301b constexpr.c (cxx_eval_store_expression): Don't set CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR...
* constexpr.c (cxx_eval_store_expression): Don't set
	CONSTRUCTOR_NO_IMPLICIT_ZERO if we have an enclosing CONSTRUCTOR
	without it.
	(cxx_eval_array_reference): Check it.

From-SVN: r226948
2015-08-17 14:41:59 -04:00
Jason Merrill 5c563482ac * except.c (check_noexcept_r): Assert that fn is POINTER_TYPE_P.
From-SVN: r226947
2015-08-17 14:40:57 -04:00
Joseph Myers 4e1492b7cd * da.po: Update.
From-SVN: r226944
2015-08-17 18:13:16 +01:00
Aldy Hernandez 0e61382e2f * config/i386/i386.c: Remove include of fibheap.h.
From-SVN: r226943
2015-08-17 16:28:13 +00:00
Marek Polacek 4ee55665cd c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing with whitespaces before qualifier names.
* c-pretty-print.c (pp_c_cv_qualifiers): Remove code dealing
	with whitespaces before qualifier names.

From-SVN: r226939
2015-08-17 14:18:04 +00:00
Richard Biener 28251e2ce1 re PR tree-optimization/67221 (ICE at -Os and above on x86_64-linux-gnu: Segmentation fault (program cc1))
2015-08-17  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/67221
	* tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
	(sccvn_dom_walker::before_dom_children): Mark backedges of
	non-executable blocks as not executable.

	* gcc.dg/torture/pr67221.c: New testcase.

From-SVN: r226938
2015-08-17 14:17:33 +00:00
David Sherwood 6c825cd46b arm.c (neon_element_bits): Replace call to GET_MODE_BITSIZE (GET_MODE_INNER (m)) with...
* config/arm/arm.c (neon_element_bits): Replace call to
        GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
        * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
        (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
        (neon_vdup_lane<mode>): Likewise.
        * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
        (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
        (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
        * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
        * config/spu/spu.c (arith_immediate_p): Likewise.
        * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
        * expr.c (expand_expr_real_2): Likewise.
        * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
        * simplify-rtx.c (simplify_immed_subreg): Likewise.
        * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
        * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
        New variable.
        * fold-const.c (fold_binary_loc): Replace call to
        GET_MODE_PRECISION (GET_MODE_INNER (m)) with
        GET_MODE_UNIT_PRECISION (m).

From-SVN: r226936
2015-08-17 11:06:34 +00:00
Mike Stump 48efbbe8a0 [ARM] arm memcpy of aligned data
2015-08-17  Mike Stump  <mikestump@comcast.net>

	* config/arm/arm.c (arm_block_move_unaligned_straight):
	Emit normal move instead of unaligned load when source or destination
	are appropriately aligned.

2015-08-17 Mike Stump  <mikestump@comcast.net>
           Kyrylo Tkachov  <kyrylo.tkachov@arm.com>

	* gcc.target/arm/memcpy-aligned-1.c: New test.

Co-Authored-By: Kyrylo Tkachov <kyrylo.tkachov@arm.com>

From-SVN: r226935
2015-08-17 09:39:58 +00:00
Richard Biener d202f9bdb4 re PR tree-optimization/16107 (missed optimization with some math function builtins)
2015-08-17  Richard Biener  <rguenther@suse.de>
	    Naveen H.S  <Naveen.Hurugalawadi@caviumnetworks.com>

	PR middle-end/16107
	* match.pd (div (coss (op @0) : New simplifier.


Co-Authored-By: Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>

From-SVN: r226934
2015-08-17 04:47:45 +00:00
GCC Administrator df2c2c54f6 Daily bump.
From-SVN: r226932
2015-08-17 00:16:14 +00:00
Francois-Xavier Coudert 8c07a5f4b4 re PR fortran/54656 (ICE with software REAL(16) for NORM2)
PR fortran/54656

	* trans-intrinsic.c (gfc_build_intrinsic_lib_fndecls): Add decl
	for quadruple precision BUILT_IN_SQRT.

	* gfortran.dg/norm_4.f90: Rename to...
	* gfortran.dg/norm2_4.f90: this.
	* gfortran.dg/norm2_5.f90: New test.

From-SVN: r226929
2015-08-16 19:47:02 +00:00
Francois-Xavier Coudert c541d5217e trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type generic BUILT_IN_SIGNBIT.
* trans-intrinsic.c (conv_intrinsic_ieee_is_negative): Use type
	generic BUILT_IN_SIGNBIT.
	(conv_intrinsic_ieee_copy_sign): Likewise.
	* f95-lang.c (gfc_init_builtin_functions): Add BUILT_IN_ISINF,
	BUILT_IN_ISINF_SIGN, BUILT_IN_SIGNBIT, BUILT_IN_ISLESS,
	BUILT_IN_ISLESSGREATER, BUILT_IN_ISGREATER. Remove non-type generic
	variants of BUILT_IN_SIGNBIT.
	* mathbuiltins.def: Remove SIGNBIT.

From-SVN: r226924
2015-08-16 16:37:18 +00:00