Commit Graph

110532 Commits

Author SHA1 Message Date
Richard Guenther 64fb0d3a78 re PR middle-end/49893 (-O3 generates wrong code for volatile)
2011-07-29  Richard Guenther  <rguenther@suse.de>

	PR tree-optimization/49893
	* tree-predcom.c (suitable_reference_p): Volatile references
	are not suitable.

From-SVN: r176921
2011-07-29 09:54:23 +00:00
Georg-Johann Lay 6130646b88 re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	* config/avr/libgcc.S (__ffshi2): Don't skip 2-word instruction.
	(__ctzsi2): Result for 0 may be undefined.
	(__ctzhi2): Result for 0 may be undefined.
	(__popcounthi2): Don't clobber r30. Use __popcounthi2_tail.
	(__popcountsi2): Ditto. And don't clobber r26.
	(__popcountdi2): Ditto. And don't clobber r27.
	* config/avr/avr.md (UNSPEC_COPYSIGN): New c_enum.
	(parityhi2): New expand.
	(paritysi2): New expand.
	(popcounthi2): New expand.
	(popcountsi2): New expand.
	(clzhi2): New expand.
	(clzsi2): New expand.
	(ctzhi2): New expand.
	(ctzsi2): New expand.
	(ffshi2): New expand.
	(ffssi2): New expand.
	(copysignsf3): New insn.
	(bswapsi2): New expand.
	(*parityhi2.libgcc): New insn.
	(*parityqihi2.libgcc): New insn.
	(*paritysihi2.libgcc): New insn.
	(*popcounthi2.libgcc): New insn.
	(*popcountsi2.libgcc): New insn.
	(*popcountqi2.libgcc): New insn.
	(*popcountqihi2.libgcc): New insn-and-split.
	(*clzhi2.libgcc): New insn.
	(*clzsihi2.libgcc): New insn.
	(*ctzhi2.libgcc): New insn.
	(*ctzsihi2.libgcc): New insn.
	(*ffshi2.libgcc): New insn.
	(*ffssihi2.libgcc): New insn.
	(*bswapsi2.libgcc): New insn.

From-SVN: r176920
2011-07-29 09:33:54 +00:00
Rainer Orth f2b4b91a9e re PR tree-optimization/47407 (gcc.dg/tree-ssa/pr42585.c FAILs on Tru64 UNIX V5.1B)
PR tree-optimization/47407
	* gcc.dg/tree-ssa/pr42585.c: XFAIL scan-tree-dump-times on
	alpha*-dec-osf*.
	Sort target list.

From-SVN: r176919
2011-07-29 09:29:10 +00:00
Richard Guenther a9b332d4fa tree-vrp.c (get_value_range): Only set parameter default definitions to varying, leave others at undefined.
2011-07-29  Richard Guenther  <rguenther@suse.de>

	* tree-vrp.c (get_value_range): Only set parameter default
	definitions to varying, leave others at undefined.
	(extract_range_from_binary_expr): Fix undefined handling.
	(vrp_visit_phi_node): Handle merged undefined state.

	* gcc.dg/uninit-suppress.c: Also disable VRP.
	* gcc.dg/uninit-suppress_2.c: Likewise.

From-SVN: r176918
2011-07-29 09:24:23 +00:00
Jason Merrill 17b3c7a2db re PR c++/49808 (GCC adds an address-of somewhere!)
PR c++/49808
	* pt.c (tsubst) [TEMPLATE_PARM_INDEX]: Call convert_from_reference.
	(convert_nontype_argument, tsubst_template_arg): Handle its output.

From-SVN: r176916
2011-07-29 03:10:21 -04:00
H.J. Lu 7d7d50baf7 Add a testcase for PR rtl-optimization/47958.
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR rtl-optimization/47958
	* gcc.dg/torture/pr47958-1.c: New.

From-SVN: r176914
2011-07-28 22:17:36 -07:00
H.J. Lu 02a8fe00b5 Add x32 support to config/i386/morestack.S.
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/morestack.S (X86_64_SAVE_NEW_STACK_BOUNDARY): New.
	Use X86_64_SAVE_NEW_STACK_BOUNDARY to save the new stack boundary
	for x86-64.  Properly check __x86_64__ and __LP64__.

From-SVN: r176912
2011-07-28 21:09:17 -07:00
Wei Guozhi 154516d9d2 re PR rtl-optimization/49799 (gcc arm generates illegal sbfx instruction)
PR rtl-optimization/49799

	* combine.c (make_compound_operation): Check if the bit field is valid
	before change it to bit field extraction.

	* gcc.dg/pr49799.c: New test case.

From-SVN: r176911
2011-07-29 01:27:29 +00:00
GCC Administrator 4bd1d898d2 Daily bump.
From-SVN: r176910
2011-07-29 00:18:32 +00:00
Bernd Schmidt e40a0b691b re PR rtl-optimization/49891 (ICE in redirect_jump_1)
PR rtl-optimization/49891
	* cfgrtl.c (force_nonfallthru_and_redirect): Set JUMP_LABEL for
	newly created returnjumps.

From-SVN: r176905
2011-07-28 22:47:21 +00:00
DJ Delorie 69135c94b3 expr.c (expand_expr_addr_expr_1): Detect a user request for a local frame in a naked function...
* expr.c (expand_expr_addr_expr_1): Detect a user request for a
local frame in a naked function, and produce a suitable error for
that specific case.

From-SVN: r176904
2011-07-28 18:26:23 -04:00
DJ Delorie 13a234421d m32c.c (m32c_secondary_reload_class): Allow PSI registers to be reloaded in HI classes when the target is HI.
* config/m32c/m32c.c (m32c_secondary_reload_class): Allow PSI
registers to be reloaded in HI classes when the target is HI.

From-SVN: r176903
2011-07-28 18:07:39 -04:00
Sebastian Pop 6c6c79a939 Replace v1, v2, lb, ub with bound_one, bound_two
2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

	* graphite-clast-to-gimple.c: Replace v1, v2, lb, ub with
	bound_one, bound_two.

From-SVN: r176902
2011-07-28 21:57:20 +00:00
Sebastian Pop 0c43dbaf55 Fix PR48648: Handle CLAST assignments.
The CLAST produced by CLooG-ISL contains an assignment and GCC chokes
on it.  The exact CLAST contains an assignment followed by an if:

scat_1 = max(0,ceild(T_4-7,8));
if (scat_1 <= min(1,floord(T_4-1,8))) {
  S7(scat_1);
}

This is equivalent to a loop that iterates only once, and so CLooG
generates an assignment followed by an if instead of a loop.  This is
an important optimization that was improved in ISL, that allows
if-conversion: imagine GCC having to figure out that a loop like the
following actually iterates only once, and can be converted to an if:

for (scat_1 = max(0,ceild(T_4-7,8)); scat_1 <= min(1,floord(T_4-1,8)); scat_1++)
  S7(scat_1);

This patch implements the translation of CLAST assignments.
Bootstrapped and tested on amd64-linux.

2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/48648
	* graphite-clast-to-gimple.c (clast_get_body_of_loop): Handle
	CLAST assignments.
	(translate_clast): Same.
	(translate_clast_assignment): New.

	* gcc.dg/graphite/id-pr48648.c: New.

From-SVN: r176901
2011-07-28 21:57:10 +00:00
Sebastian Pop 60cf26cce2 Fix PR49876: Continue code generation with integer_zero_node on gloog_error
When setting gloog_error, graphite should continue code generation
without early returns, as otherwise the SSA representation would not
be complete.  So set the new expression to integer_zero_node, that
would not require more SSA updates, and continue code generation as
nothing happened.

Regstrapped on amd64-linux.

2011-07-28  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/49876
	* sese.c (rename_uses): Do not return false on gloog_error: set
	the new_expr to integer_zero_node and continue code generation.
	(graphite_copy_stmts_from_block): Remove early exit on gloog_error.

From-SVN: r176900
2011-07-28 21:57:00 +00:00
Paolo Carlini f715f0c186 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-07-28  Paolo Carlini  <paolo.carlini@oracle.com>

        PR c++/49813
        * semantics.c (potential_constant_expression_1):  Handle FMA_EXPR.

	Checking this in for Paolo.

From-SVN: r176899
2011-07-28 20:59:11 +00:00
Gabriel Charette 0681d04c47 line-map.h (struct line_maps): Remove unused field last_listed.
* include/line-map.h (struct line_maps):
Remove unused field last_listed. Update all users.

From-SVN: r176898
2011-07-28 20:57:20 +00:00
Jakub Jelinek d266391244 re PR fortran/31067 (MINLOC should sometimes be inlined (gas_dyn is sooooo sloooow))
PR fortran/31067
	* frontend-passes.c (optimize_minmaxloc): New function.
	(optimize_expr): Call it.

	* gfortran.dg/maxloc_2.f90: New test.
	* gfortran.dg/maxloc_3.f90: New test.
	* gfortran.dg/minloc_1.f90: New test.
	* gfortran.dg/minloc_2.f90: New test.
	* gfortran.dg/minloc_3.f90: New test.
	* gfortran.dg/minmaxloc_7.f90: New test.

From-SVN: r176897
2011-07-28 22:56:50 +02:00
H.J. Lu 5fce91262c Use long long for 64bit int.
2010-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/64/sfp-machine.h (_FP_W_TYPE): Always use _WIN64
	version.
	(_FP_WS_TYPE): Likewise.
	(_FP_I_TYPE): Likewise.

From-SVN: r176894
2011-07-28 13:36:39 -07:00
H.J. Lu f53d712fa9 Check ia32 instead of ilp32 for ia32 tests.
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* testsuite/lib/libgomp.exp (libgomp_init): Add -march=i486
	for ia32 instead of ilp32.

	* testsuite/libgomp.c/atomic-1.c: Require ia32 instead of ilp32.
	* testsuite/libgomp.c/atomic-6.c: Likewise.

From-SVN: r176893
2011-07-28 13:35:32 -07:00
Jakub Jelinek 4fe249e748 re PR debug/49846 (entryval: missing DW_TAG_GNU_call_site_parameter for stack-passed `double' parameter)
PR debug/49846
	* var-tracking.c (prepare_call_arguments): For non-MODE_INT stack
	arguments also check if they aren't initialized with a MODE_INT
	mode of the same size.

From-SVN: r176892
2011-07-28 22:35:12 +02:00
Aldy Hernandez 86f9864124 expr.c (get_bit_range): Handle *MEM_REF's.
* expr.c (get_bit_range): Handle *MEM_REF's.

From-SVN: r176891
2011-07-28 19:48:48 +00:00
Bernd Schmidt dc0ff1c802 rtlanal.c (tablejump_p): False for returns.
* rtlanal.c (tablejump_p): False for returns.
	* reorg.c (first_active_target_insn): New static function.
	(find_end_label): Set JUMP_LABEL for a new returnjump.
	(optimize_skip, get_jump_flags, rare_destination,
	mostly_true_jump, get_branch_condition,
	steal_delay_list_from_target, own_thread_p,
	fill_simple_delay_slots, follow_jumps, fill_slots_from_thread,
	fill_eager_delay_slots, relax_delay_slots, make_return_insns,
	dbr_schedule): Adjust to handle ret_rtx in JUMP_LABELs.
	* jump.c (delete_related_insns): Likewise.
	(jump_to_label_p): New function.
	(redirect_target): New static function.
	(redirect_exp_1): Use it.  Adjust to handle ret_rtx in JUMP_LABELS.
	(redirect_jump_1): Assert that the new label is nonnull.
	(redirect_jump): Likewise.
	(redirect_jump_2): Check for ANY_RETURN_P rather than NULL labels.
	* ifcvt.c (find_if_case_1): Take care when redirecting jumps to the
	exit block.
	(dead_or_predicable): Change NEW_DEST arg to DEST_EDGE.  All callers
	changed.  Ensure that the right label is passed to redirect_jump.
	* function.c (emit_return_into_block,
	thread_prologue_and_epilogue_insns): Ensure new returnjumps have
	ret_rtx in their JUMP_LABEL.
	* print-rtl.c (print_rtx): Handle ret_rtx in a JUMP_LABEL.
	* emit-rtl.c (skip_consecutive_labels): Allow the caller to
	pass ret_rtx as label.
	* cfglayout.c (fixup_reorder_chain): Use
	force_nonfallthru_and_redirect rather than force_nonfallthru.
	(duplicate_insn_chain): Copy JUMP_LABELs for returns.
	* rtl.h (ANY_RETURN_P): New macro.
	(jump_to_label_p): Declare.
	* resource.c (find_dead_or_set_registers): Handle ret_rtx in
	JUMP_LABELs.
	(mark_target_live_regs): Likewise.
	* basic-block.h (force_nonfallthru_and_redirect): Declare.
	* cfgrtl.c (force_nonfallthru_and_redirect): No longer static.
	* config/alpha/alpha.c (alpha_tablejump_addr_vec,
	alpha_tablejump_best_label): Remove functions.
	* config/alpha/alpha-protos.c (alpha_tablejump_addr_vec,
	alpha_tablejump_best_label): Remove declarations.
	* config/sh/sh.c (barrier_align, split_branches): Adjust for
	ret_rtx in JUMP_LABELs.
	* config/arm/arm.c (is_jump_table): Likewise.

From-SVN: r176881
2011-07-28 18:45:20 +00:00
Uros Bizjak a2e49bb27e predicates.md (pic_32bit_opreand): Do not define as special predicate.
* config/i386/predicates.md (pic_32bit_opreand): Do not define as
	special predicate.  Remove explicit mode checks.

From-SVN: r176879
2011-07-28 18:40:21 +02:00
Jakub Jelinek b388214880 dwarf2out.c (resolve_addr): For -gdwarf-2 don't optimize DW_AT_data_member_location containing just...
* dwarf2out.c (resolve_addr): For -gdwarf-2 don't
	optimize DW_AT_data_member_location containing just
	DW_OP_plus_uconst.

From-SVN: r176878
2011-07-28 18:23:20 +02:00
Jakub Jelinek 64153cceb2 re PR debug/49871 (-gdwarf-3 creates invalid DWARF3 with DW_AT_data_member_location attribute)
PR debug/49871
	* dwarf2out.c (size_of_die, value_format, output_die): Use
	DW_FORM_udata instead of DW_FORM_data[48] for
	dw_val_class_unsigned_const DW_AT_data_member_location for DWARF 3.

	* gcc.dg/debug/dwarf2/pr49871.c: New test.

From-SVN: r176876
2011-07-28 18:21:08 +02:00
Uros Bizjak 844bf05b0d * ChangeLog: Remove mess.
From-SVN: r176874
2011-07-28 17:15:47 +02:00
H.J. Lu 0465f4f893 Update length attribute on *tls_global_dynamic_64.
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config/i386/i386.md (*tls_global_dynamic_64): Update length
	attribute.

From-SVN: r176873
2011-07-28 07:54:02 -07:00
Uros Bizjak f51c4a8aab re PR target/47715 ([x32] TLS doesn't work)
PR target/47715
	* config/i386/i386.md (*tls_global_dynamic_64): Remove mode from
	tls_symbolic_operand check.  Update code sequence for TARGET_X32.
	(tls_global_dynamic_64): Remove mode from tls_symbolic_operand check.
	(tls_dynamic_gnu2_64): Ditto.
	(*tls_dynamic_gnu2_lea_64): Ditto.
	(*tls_dynamic_gnu2_call_64): Ditto.
	(*tls_dynamic_gnu2_combine_64): Ditto.

From-SVN: r176872
2011-07-28 16:42:45 +02:00
H.J. Lu 5e9627caa4 Set need_64bit_hwint to yes for x86 targets.
gcc/

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* config.gcc: Set need_64bit_hwint to yes for x86 targets.

libcpp/

2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Set need_64bit_hwint to yes for x86 targets.
	* configure: Regenerated.

From-SVN: r176871
2011-07-28 07:29:38 -07:00
Rainer Orth 6da2ca7d77 init.c (__gnat_error_handler): Cast reason to int.
* init.c (__gnat_error_handler): Cast reason to int.
	(__gnat_install_handler): Explain sa_sigaction use.

From-SVN: r176870
2011-07-28 13:40:51 +00:00
H.J. Lu 40b9321d84 Only expand strlen to Pmode.
2011-07-28  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/47364
	* config/i386/i386.md (strlen<mode>): Replace SWI48x with P.

From-SVN: r176868
2011-07-28 05:32:23 -07:00
Ramana Radhakrishnan 95f89bb3f8 vfp.md ("*movdf_vfp"): Handle the VFP constraints before the core constraints.
2011-07-28  Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>

	* config/arm/vfp.md ("*movdf_vfp"): Handle the VFP constraints
	before the core constraints. Adjust attributes.
	(*thumb2_movdf_vfp"): Likewise.

From-SVN: r176867
2011-07-28 12:02:17 +00:00
Kai Tietz 9895824116 tree-vrp.c (simplify_stmt_using_ranges): Remove TRUTH_NOT_EXPR case.
2011-07-28  Kai Tietz  <ktietz@redhat.com>

        * tree-vrp.c (simplify_stmt_using_ranges): Remove
        TRUTH_NOT_EXPR case.
        (simplify_truth_ops_using_ranges): Likewise.
        (build_assert_expr_for): Likewise.
        (build_assert_expr_for_1): Remove TRUTH_NOT_EXPR case
        and handle BIT_NOT_EXPR for truth-operation.

From-SVN: r176866
2011-07-28 12:41:51 +02:00
Georg-Johann Lay f627fef27a re PR target/49313 (Inefficient libgcc implementations for avr)
PR target/49313
	Undo r176835 from trunk
	2011-07-27  Georg-Johann Lay

From-SVN: r176865
2011-07-28 10:29:17 +00:00
Alan Modra c35c943f68 update copyright
From-SVN: r176863
2011-07-28 17:55:26 +09:30
Georg-Johann Lay 296799ba06 re PR target/49687 ([avr] Missed optimization for widening MUL)
PR target/49687
	* config/avr/t-avr (LIB1ASMFUNCS): Remove _xmulhisi3_exit.
	Add _muluhisi3, _mulshisi3, _usmulhisi3.
	* config/avr/libgcc.S (__mulsi3): Rewrite.
	(__mulhisi3): Rewrite.
	(__umulhisi3): Rewrite.
	(__usmulhisi3): New.
	(__muluhisi3): New.
	(__mulshisi3): New.
	(__mulohisi3): New.
	(__mulqi3, __mulqihi3, __umulqihi3, __mulhi3): Use DEFUN/ENDF to
	declare.
	* config/avr/predicates.md (pseudo_register_operand): Rewrite.
	(pseudo_register_or_const_int_operand): New.
	(combine_pseudo_register_operand): New.
	(u16_operand): New.
	(s16_operand): New.
	(o16_operand): New.
	* config/avr/avr.c (avr_rtx_costs): Handle costs for mult:SI.
	* config/avr/avr.md (QIHI, QIHI2): New mode iterators.
	(any_extend, any_extend2): New code iterators.
	(extend_prefix): New code attribute.
	(mulsi3): Rewrite. Turn insn to expander.
	(mulhisi3): Ditto.
	(umulhisi3): Ditto.
	(usmulhisi3): New expander.
	(*mulsi3): New insn-and-split.
	(mulu<mode>si3): New insn-and-split.
	(muls<mode>si3): New insn-and-split.
	(mulohisi3): New insn-and-split.
	(*uumulqihisi3, *uumulhiqisi3, *uumulhihisi3, *uumulqiqisi3,
	*usmulqihisi3, *usmulhiqisi3, *usmulhihisi3, *usmulqiqisi3,
	*sumulqihisi3, *sumulhiqisi3, *sumulhihisi3, *sumulqiqisi3,
	*ssmulqihisi3, *ssmulhiqisi3, *ssmulhihisi3, *ssmulqiqisi3): New
	insn-and-split.
	(*mulsi3_call): Rewrite.
	(*mulhisi3_call): Rewrite.
	(*umulhisi3_call): Rewrite.
	(*usmulhisi3_call): New insn.
	(*muluhisi3_call): New insn.
	(*mulshisi3_call): New insn.
	(*mulohisi3_call): New insn.
	(extendqihi2): Use combine_pseudo_register_operand as predicate
	for operand 1.
	(extendqisi2): Ditto.
	(zero_extendqihi2): Ditto.
	(zero_extendqisi2): Ditto.
	(zero_extendhisi2): Ditto.
	(extendhisi2): Ditto. Don't early-clobber operand 0.

From-SVN: r176862
2011-07-28 08:03:07 +00:00
Alan Modra 2374a88acf linux-unwind.h (frob_update_context <__powerpc64__>): Leave r2 REG_UNSAVED if stopped on the instruction that saves r2 in a plt call stub.
* config/rs6000/linux-unwind.h (frob_update_context <__powerpc64__>):
	Leave r2 REG_UNSAVED if stopped on the instruction that saves r2
	in a plt call stub.  Do restore r2 if stopped on bctrl.

From-SVN: r176861
2011-07-28 17:14:24 +09:30
Uros Bizjak d8fa1b739f i386.c (add->lea splitter): Add SWI mode to PLUS RTX.
* config/i386/i386.c (add->lea splitter): Add SWI mode to PLUS RTX.

From-SVN: r176860
2011-07-28 09:18:49 +02:00
Jakub Jelinek 542550cf6c i386.exp (check_effective_target_bmi): Make sure the builtin isn't optimized away.
* gcc.target/i386/i386.exp (check_effective_target_bmi): Make sure
	the builtin isn't optimized away.

From-SVN: r176859
2011-07-28 08:35:38 +02:00
GCC Administrator 1c9275a9ab Daily bump.
From-SVN: r176856
2011-07-28 00:18:04 +00:00
Tobias Burnus 4bfd470b85 re PR fortran/45586 (ICE non-trivial conversion at assignment)
2011-07-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45586
        * trans-types.c (gfc_get_derived_type): Ensure that pointer
        component types are marked as nonrestricted.

2011-07-27  Tobias Burnus  <burnus@net-b.de>

        PR fortran/45586
        * gfortran.dg/lto/pr45586-2_0.f90: New.

From-SVN: r176852
2011-07-28 00:33:00 +02:00
Aldy Hernandez fa8a398ea9 re PR middle-end/49875 (FAIL: c-c++-common/cxxbitfields-4.c)
PR middle-end/49875
        * c-c++-common/cxxbitfields-4.c: Check for smaller than long
        moves.
        * c-c++-common/cxxbitfields-5.c: Same.

From-SVN: r176848
2011-07-27 19:51:04 +00:00
Paolo Carlini fa45990097 re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)
2011-07-27  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/49813
	* include/c_global/cmath: Use _GLIBCXX_CONSTEXPR and constexpr.

From-SVN: r176847
2011-07-27 19:33:51 +00:00
Ulrich Weigand a5f9523c7c target-supports.exp (check_effective_target_mmap): Use check_function_available.
* lib/target-supports.exp (check_effective_target_mmap): Use
	check_function_available.

From-SVN: r176846
2011-07-27 19:01:23 +00:00
Jeffrey Yasskin ce77c22f1b Propagate the source location of a template's function_decl to the template_decl built out of it.
Propagate the source location of a template's function_decl to the
template_decl built out of it.  Without this, specializations
generated before the template was defined get the location of the
closing ')' instead of the location of the template's name, which can
produce inconsistent locations between translation units, which makes
gold's ODR checker unhappy.

	* gcc/cp/pt.c (build_template_decl): Copy the function_decl's source
	location to the new template_decl.
	* gcc/testsuite/g++.old-deja/g++.pt/crash60.C: Updated.
	* libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Updated.

From-SVN: r176845
2011-07-27 18:38:48 +00:00
Jakub Jelinek f22cfb2e4e re PR target/49866 (-mcmodel=large tail call fails to assemble)
PR target/49866
	* gcc.target/i386/pr49866.c: New test.

From-SVN: r176842
2011-07-27 20:19:40 +02:00
Yukhin Kirill 084e45a515 Add BMI testcases.
2011-07-27  Yukhin Kirill  <kirill.yukhin@intel.com>

	* gcc.target/i386/i386.exp (check_effective_target_bmi): New.
	* gcc.target/i386/bmi-andn-1.c: New test.
	* gcc.target/i386/bmi-andn-1a.c: Likewise.
	* gcc.target/i386/bmi-andn-2.c: Likewise.
	* gcc.target/i386/bmi-andn-2a.c: Likewise.
	* gcc.target/i386/bmi-bextr-1.c: Likewise.
	* gcc.target/i386/bmi-bextr-1a.c: Likewise.
	* gcc.target/i386/bmi-bextr-2.c: Likewise.
	* gcc.target/i386/bmi-bextr-2a.c: Likewise.
	* gcc.target/i386/bmi-blsi-1.c: Likewise.
	* gcc.target/i386/bmi-blsi-1a.c: Likewise.
	* gcc.target/i386/bmi-blsi-2.c: Likewise.
	* gcc.target/i386/bmi-blsi-2a.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-1.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-1a.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-2.c: Likewise.
	* gcc.target/i386/bmi-blsmsk-2a.c: Likewise.
	* gcc.target/i386/bmi-blsr-1.c: Likewise.
	* gcc.target/i386/bmi-blsr-1a.c: Likewise.
	* gcc.target/i386/bmi-blsr-2.c: Likewise.
	* gcc.target/i386/bmi-blsr-2a.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-1.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-1a.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-2.c: Likewise.
	* gcc.target/i386/bmi-tzcnt-2a.c: Likewise.

From-SVN: r176840
2011-07-27 10:45:41 -07:00
Sebastian Pop 3689198db0 Fix PR49471: canonicalize_loop_ivs should not generate unsigned types.
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR tree-optimization/49471
	* tree-ssa-loop-manip.c (canonicalize_loop_ivs): Build an unsigned
	iv only when the largest type is unsigned.  Do not call
	lang_hooks.types.type_for_size.

	* testsuite/libgomp.graphite/force-parallel-1.c: Un-xfail.
	* testsuite/libgomp.graphite/force-parallel-2.c: Adjust pattern.

From-SVN: r176838
2011-07-27 16:53:09 +00:00
Sebastian Pop 27165eddf6 PR45450: disable legality check after an openscop read
2011-07-27  Sebastian Pop  <sebastian.pop@amd.com>

	PR middle-end/45450
	* graphite-poly.c (apply_poly_transforms): Disable legality check
	after an openscop read.

From-SVN: r176837
2011-07-27 16:53:02 +00:00