Commit Graph

132574 Commits

Author SHA1 Message Date
Trevor Saunders
e60365d30e use rtx_insn * a little more
gcc/ChangeLog:

2014-09-04  Trevor Saunders  <tsaunders@mozilla.com>

	* config/bfin/bfin.c, config/c6x/c6x.c, config/m32c/m32c.c,
	config/mn10300/mn10300.c, config/s390/s390.c, config/sh/sh.c,
	ifcvt.c, reorg.c: Change types of variables from rtx to rtx_insn *.

From-SVN: r214923
2014-09-04 21:11:34 +00:00
Trevor Saunders
e4685bc8ca Change the types of arguments and return values for several functions from rtx to rtx_insn *
gcc/ChangeLog:

2014-09-04  Trevor Saunders  <tsaunders@mozilla.com>

	* emit-rtl.c (get_first_nonnote_insn): Return rtx_insn * instead of
	rtx.
	(get_last_nonnote_insn): Likewise.
	(next_nonnote_insn_bb): Take rtx_insn * instead of rtx.
	* resource.c (find_basic_block): Likewise.
	* rtl.h: Adjust.
	* rtlanal.c (keep_with_call_p): Take const rtx_insn * instead of
	const_rtx.

From-SVN: r214922
2014-09-04 21:11:23 +00:00
David Malcolm
b28e4e4427 insn_latency takes a pair of rtx_insn
gcc/
2014-09-04  David Malcolm  <dmalcolm@redhat.com>

	* genattr.c (main): Within the prototype of insn_latency written
	out to insn-attr.h, strengthen both params from rtx to rtx_insn *.
	* genautomata.c (output_internal_maximal_insn_latency_func):
	Within the implementation of insn_latency written out to
	insn-automata.c, strengthen both params from rtx to rtx_insn *,
	eliminating a pair of checked casts.

From-SVN: r214921
2014-09-04 20:56:16 +00:00
David Malcolm
8e3177d9a6 eh_returnjump_p takes an rtx_insn
2014-09-04  David Malcolm  <dmalcolm@redhat.com>

gcc/
	* jump.c (eh_returnjump_p): Strengthen param "insn" from rtx to
	rtx_insn *.

	* rtl.h (eh_returnjump_p): Likewise.

From-SVN: r214919
2014-09-04 20:34:36 +00:00
Aldy Hernandez
b67b29f62f * Makefile.in (TAGS): Handle constructs in timevar.def.
From-SVN: r214918
2014-09-04 19:19:46 +00:00
Aldy Hernandez
09f2f0aaa2 Revert mistakenly committed change.
From-SVN: r214917
2014-09-04 18:22:13 +00:00
Aldy Hernandez
7b4786be78 Remove file that was mistakenly added.
From-SVN: r214916
2014-09-04 18:08:47 +00:00
Aldy Hernandez
60081a2b59 Merge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
Conflicts:
	gcc/ChangeLog.debug-early
	gcc/dwarf2out.c

From-SVN: r214915
2014-09-04 18:08:42 +00:00
Aldy Hernandez
9de41e5786 Revert incorrect merging of debug-early branch.
From-SVN: r214914
2014-09-04 18:04:14 +00:00
Aldy Hernandez
c5a3685015 Merge remote-tracking branch 'origin/aldyh/debug-early' into debug-early
Conflicts:
	gcc/ChangeLog.debug-early
	gcc/dwarf2out.c

From-SVN: r214912
2014-09-04 16:38:29 +00:00
Aldy Hernandez
989f386cf0 + * c/c-decl.c (write_global_declarations_1): Call global_decl() + with early=true.
+       * c/c-decl.c (write_global_declarations_1): Call global_decl()
+       with early=true.
+       (write_global_declarations_2): Call global_decl() with
+       early=false.
+       * dbxout.c (dbxout_global_decl): New argument.
+       * debug.c (do_nothing_debug_hooks): Use debug_nothing_tree_bool
+       for global_decl hook.
+       (debug_nothing_tree_bool): New.
+       (struct gcc_debug_hooks): New argument to global_decl.
+       * dwarf2out.c (output_die): Add misc debugging information.
+       (gen_variable_die): Do not reparent children.
+       (dwarf2out_global_decl): Add new documentation.  Add EARLY
+       argument.
+       (dwarf2out_decl): Make sure we don't generate new DIEs if we
+       already have a DIE.
+       * cp/name-lookup.c (do_namespace_alias): New argument to
+       global_decl debug hook.
+       * fortran/trans-decl.c (gfc_emit_parameter_debug_info): Same.
+       * godump.c (go_global_decl): Same.
+       * lto/lto-lang.c (lto_write_globals): Same.
+       * sdbout.c (sdbout_global_decl): Same.
+       * toplev.c (emit_debug_global_declarations): Same.
+       * vmsdbgout.c (vmsdbgout_global_decl): Same.
+       * tree.c (free_lang_data_in_decl): Do not call
+       dwarf2out_early_decl from here.

From-SVN: r214911
2014-09-04 16:38:21 +00:00
Aldy Hernandez
177e6c965a Add missing ChangeLog entries for last commit.
From-SVN: r214910
2014-09-04 16:38:11 +00:00
Aldy Hernandez
7c371a4c90 dwarf2out.c (struct die_struct): Add dumped_early field.
* dwarf2out.c (struct die_struct): Add dumped_early field.
	(reparent_child): New.
	(splice_child_die): Use reparent_child.
	(gen_subprogram_die): Do not regenerate parameters if previously
	dumped.
	(gen_variable_die): Fix parent of decls that have been dumped
	early to reflect correct context.
	Do not regenerate decls if previously dumped.
	(dwarf2out_decl): Add return value.
	(dwarf2out_early_decl): Set dumped_early bit.

From-SVN: r214909
2014-09-04 16:38:04 +00:00
Aldy Hernandez
b7af73a719 Make output_die() output the parent DIE for each DIE.
From-SVN: r214908
2014-09-04 16:37:54 +00:00
Aldy Hernandez
c9fd354aec Make gen_formal_parameter_die() merge DIEs from a previous execution.
Do not set DW_AT_inline incorrectly on all functions.

Do not remove formal parameters when a previous DIE has been found.
Instead, augment the missing bits later.

From-SVN: r214907
2014-09-04 16:37:45 +00:00
Aldy Hernandez
73179e4a24 dearly: Emit DIEs for decls early in the compilation process.
This is the original patch from Michael Matz, ported to a more recent
mainline.

From-SVN: r214906
2014-09-04 16:37:36 +00:00
Guozhi Wei
5143726943 re PR target/62040 (internal compiler error: in simplify_const_unary_operation, at simplify-rtx.c:1555)
PR target/62040
	* config/aarch64/iterators.md (VQ_NO2E, VQ_2E): New iterators.
	* config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>): Split
	it into two patterns.
	(move_lo_quad_internal_be_<mode>): Likewise.
	
	* gcc.target/aarch64/pr62040.c: New test.

From-SVN: r214905
2014-09-04 16:06:13 +00:00
Manuel López-Ibáñez
2b71f4a4f8 options.texi: Document that Var and Init are required if CPP is given.
gcc/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* doc/options.texi: Document that Var and Init are required if CPP
	is given.
	* optc-gen.awk: Require Var and Init if CPP is given.
	* common.opt (Wpedantic): Use Init.

libcpp/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* macro.c (replace_args): Use cpp_pedwarning, cpp_warning and
	CPP_W flags.
	* include/cpplib.h: Add CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
	* init.c (cpp_create_reader): Do not init to -1 here.
	* expr.c (num_binary_op): Use cpp_pedwarning.

gcc/c-family/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
	Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
	(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
	and Init.
	* c-opts.c (c_common_handle_option): Do not handle here.
	(sanitize_cpp_opts): Likewise.
	* c-common.c (struct reason_option_codes_t): Handle
	CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.

gcc/testsuite/ChangeLog:

2014-09-04  Manuel López-Ibáñez  <manu@gcc.gnu.org>

	* gcc.dg/cpp/endif-pedantic2.c: More general options do not
	override specific ones, but specific ones do.

From-SVN: r214904
2014-09-04 15:13:40 +00:00
Bill Schmidt
6bf5ce8f85 rs6000.c (special_handling_values): Add SH_EXTRACT.
[gcc]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000.c (special_handling_values): Add
	SH_EXTRACT.
	(rtx_is_swappable_p): Look for patterns with a VEC_SELECT, perhaps
	wrapped in a VEC_DUPLICATE, representing an extract.  Mark these
	as swappable with special handling SH_EXTRACT.  Remove
	UNSPEC_VSX_XXSPLTW from the list of disallowed unspecs for the
	optimization.
	(adjust_extract): New function.
	(handle_special_swappables): Add default to case statement; add
	case for SH_EXTRACT that calls adjust_extract.
	(dump_swap_insn_table): Handle SH_EXTRACT.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/swaps-p8-13.c: New test.
	* gcc.target/powerpc/swaps-p8-14.c: New test.
	* gcc.target/powerpc/swaps-p8-15.c: New test.

From-SVN: r214903
2014-09-04 14:31:34 +00:00
Bill Schmidt
2b3106ecef vsx.md (*vsx_extract_<mode>_load): Always match selection of 0th memory doubleword, regardless of endianness.
[gcc]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (*vsx_extract_<mode>_load): Always match
	selection of 0th memory doubleword, regardless of endianness.

[gcc/testsuite]

2014-09-04  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vsx-extract-1.c:  Test 0th doubleword
	regardless of endianness.

From-SVN: r214902
2014-09-04 14:27:45 +00:00
Jan-Benedict Glaw
aad038845a rx.h (HARD_REGNO_MODE_OK): Add braces.
2014-09-04  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* config/rx/rx.h (HARD_REGNO_MODE_OK): Add braces.

From-SVN: r214901
2014-09-04 13:22:53 +00:00
Markus Trippelsdorf
382995f56c re PR ipa/61659 (Extra undefined symbol because of devirtualization)
PR ipa/61659
	* decl.c (duplicate_decls): Check DECL_DECLARED_INLINE_P on
	newdecl, not olddecl.

From-SVN: r214900
2014-09-04 08:37:05 -04:00
Alan Modra
5c15381263 re PR debug/60655 (ICE: output_operand: invalid expression as operand)
PR debug/60655
	* dwarf2out.c (mem_loc_descriptor <PLUS>): Return NULL if addend
	can't be output.

From-SVN: r214899
2014-09-04 21:48:25 +09:30
Matthew Fortune
ff050c66b1 Add target hook to override DWARF2 frame register size
gcc/

	* target.def (TARGET_DWARF_FRAME_REG_MODE): New target hook.
	* targhooks.c (default_dwarf_frame_reg_mode): New function.
	* targhooks.h (default_dwarf_frame_reg_mode): New prototype.
	* doc/tm.texi.in (TARGET_DWARF_FRAME_REG_MODE): Document.
	* doc/tm.texi: Regenerate.
	* dwarf2cfi.c (expand_builtin_init_dwarf_reg_sizes): Abstract mode
	selection logic to default_dwarf_frame_reg_mode.

From-SVN: r214898
2014-09-04 08:32:05 +00:00
GCC Administrator
a0f75fa8c3 Daily bump.
From-SVN: r214897
2014-09-04 00:17:00 +00:00
Chris Manghane
f1d2ac4f84 compiler: Add precise type information on the heap.
* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
	parameter.  Add is_hidden parameter.
	(Gcc_backend::implicit_variable_set_init): New method.
	(Gcc_backend::implicit_variable_reference): New method.

From-SVN: r214894
2014-09-03 22:56:09 +00:00
Marek Polacek
d2e4feca24 invoke.texi: Document that -Wlogical-not-parentheses is enabled by -Wall.
* doc/invoke.texi: Document that -Wlogical-not-parentheses is enabled
	by -Wall.
c-family/
	* c.opt (Wlogical-not-parentheses): Enable by -Wall.

From-SVN: r214893
2014-09-03 20:37:33 +00:00
Fritz Reese
88f7d6fb23 [multiple changes]
2014-09-03  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * decl.c (variable_decl): Don't overwrite typespecs of Cray
        * pointees
        when matching a component declaration.

2014-09-02  Fritz Reese  <Reese-Fritz@zai.com>

        PR fortran/62174
        * gfortran.dg/cray_pointers_11.f90: New.

From-SVN: r214891
2014-09-03 20:50:27 +02:00
Richard Sandiford
64e04187a1 rtl.texi (RTX_AUTOINC): Document that the first operand is the automodified register.
gcc/
	* doc/rtl.texi (RTX_AUTOINC): Document that the first operand is
	the automodified register.

From-SVN: r214890
2014-09-03 18:43:29 +00:00
Richard Sandiford
4fbca4ba44 output.h (get_some_local_dynamic_name): Declare.
gcc/
	* output.h (get_some_local_dynamic_name): Declare.
	* final.c (some_local_dynamic_name): New variable.
	(get_some_local_dynamic_name): New function.
	(final_end_function): Clear some_local_dynamic_name.
	* config/alpha/alpha.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/i386/i386.c (get_some_local_dynamic_name): Delete.
	(get_some_local_dynamic_name_1): Delete.
	* config/rs6000/rs6000.c (machine_function): Remove some_ld_name.
	(rs6000_get_some_local_dynamic_name): Delete.
	(rs6000_get_some_local_dynamic_name_1): Delete.
	(print_operand): Report an error if '%&' is used inappropriately.
	* config/s390/s390.c (machine_function): Remove some_ld_name.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.
	(print_operand): Assert that get_some_local_dynamic_name is nonnull.
	* config/sparc/sparc.c: Include rtl-iter.h.
	(machine_function): Remove some_ld_name.
	(sparc_print_operand): Report an error if '%&' is used inappropriately.
	(get_some_local_dynamic_name, get_some_local_dynamic_name_1): Delete.

From-SVN: r214889
2014-09-03 18:36:10 +00:00
Richard Henderson
dd991abb1b aarch64: Improve epilogue unwind info
* config/aarch64/aarch64.c (aarch64_popwb_single_reg): Remove.
        (aarch64_popwb_pair_reg): Remove.
        (aarch64_set_frame_expr): Remove.
        (aarch64_restore_callee_saves): Add CFI_OPS argument; fill it with
        the restore ops performed by the insns generated.
        (aarch64_expand_epilogue): Attach CFI_OPS to the stack deallocation
        insn.  Perform the calls_eh_return addition later; do not attempt to
        preserve the CFA in that case.  Don't use aarch64_set_frame_expr.
        (aarch64_expand_prologue): Use REG_CFA_ADJUST_CFA directly, or no
        special markup at all.  Load cfun->machine->frame.hard_fp_offset
        into a local variable.
        (aarch64_frame_pointer_required): Don't check calls_alloca.

From-SVN: r214886
2014-09-03 10:00:31 -07:00
Richard Biener
b30e733a13 opts.c (default_options_optimization): Adjust max-combine-insns to 2 for -Og.
2014-09-03  Richard Biener  <rguenther@suse.de>

	* opts.c (default_options_optimization): Adjust
	max-combine-insns to 2 for -Og.

From-SVN: r214879
2014-09-03 14:28:20 +00:00
Martin Jambor
c8f403525a re PR ipa/62015 (ipa-cp-clone uses a clone that is too specialized for the call context)
2014-09-03  Martin Jambor  <mjambor@suse.cz>

	PR ipa/62015
	* ipa-cp.c (intersect_aggregates_with_edge): Handle impermissible
	pass-trough jump functions correctly.

testsuite/
	* g++.dg/ipa/pr62015.C: New test.

From-SVN: r214878
2014-09-03 16:26:38 +02:00
Martin Jambor
6f9549ee68 re PR ipa/61986 (ICE on valid code at -O3 on x86_64-linux-gnu indecide_about_value, at ipa-cp.c:3480)
2014-09-03  Martin Jambor  <mjambor@suse.cz>
    
	PR ipa/61986
	* ipa-cp.c (find_aggregate_values_for_callers_subset): Chain
	created replacements in ascending order of offsets.
	(known_aggs_to_agg_replacement_list): Likewise.
    
gcc/testsuite/
	* gcc.dg/ipa/pr61986.c: New test.

From-SVN: r214877
2014-09-03 16:16:54 +02:00
Marek Polacek
2b3ae5d12a re PR c/62294 (Missing "passing argument [...] from incompatible pointer type" warning.)
PR c/62294
	* gcc.dg/pr62294.c: New test.
	* gcc.dg/pr62294.h: New file.

From-SVN: r214876
2014-09-03 13:20:43 +00:00
Martin Liska
27732ffd58 Fix for tree-ssa-pre
* tree-ssa-sccvn.c (vn_reference_lookup_call): default (NULL) value
	is set to preserve uninitialized value for vnresult.

From-SVN: r214873
2014-09-03 12:42:01 +00:00
Kaz Kojima
a0d3407e32 pr39228.c: Use dg-add-options instead of dg-options.
* gcc.c-torture/execute/pr39228.c: Use dg-add-options instead
	of dg-options.  Add "inline" keyword to test functions.

From-SVN: r214872
2014-09-03 12:27:52 +00:00
Marek Polacek
8d95fe25c5 re PR c/62024 (__atomic_always_lock_free is not a constant expression)
PR c/62024
	* c-parser.c (c_parser_static_assert_declaration_no_semi): Strip no-op
	conversions.

	* g++.dg/cpp0x/pr62024.C: New test.
	* gcc.dg/pr62024.c: New test.

From-SVN: r214871
2014-09-03 11:16:29 +00:00
Chung-Ju Wu
d40f3c4030 [NDS32] No need to take padding into consideration in Andes ABI2 because we can...
[NDS32] No need to take padding into consideration in Andes ABI2 because
        we can pass arguments in registers for variadic function.

  -- By default GCC uses must_pass_in_stack_var_size_or_pad for TARGET_MUST_PASS_IN_STACK.
     For Andes ABI2, the data layout in memory will be incorrect when calling variadic function
     under big-endian configuration.

	* config/nds32/nds32.c (nds32_must_pass_in_stack): New implementation
	for TARGET_MUST_PASS_IN_STACK.

From-SVN: r214869
2014-09-03 10:19:39 +00:00
Chung-Ju Wu
650fc46935 [NDS32] Provide TARGET_ARG_PARTIAL_BYTES so that we can have structure argument
partially in registers and stack.

  -- This is needed if we would like to pass variadic arguments via registers
     that are pused on the stack by callee.  So that va_arg() can access
     arguments continously in memory.

	* config/nds32/nds32.c (nds32_arg_partial_bytes): New implementation
	for TARGET_ARG_PARTIAL_BYTES.

From-SVN: r214868
2014-09-03 10:15:06 +00:00
Chung-Ju Wu
557430f169 [NDS32] Emit stack push instructions for varargs at prologue stage and emit...
[NDS32]  Emit stack push instructions for varargs at prologue stage and
         emit stack adjustment instructions for varargs at epilogue stage.

  -- Note that we do not need to handle it in v3push/v3pop prologue/epilogue
     expanding because we do not apply v3push/v3pop for variadic function.

	* config/nds32/nds32.c (nds32_expand_prologue): Emit stack push
	instructions for varargs implementation.
	(nds32_expand_epilogue): Emit stack adjustment instructions for
	varargs implementation.

From-SVN: r214867
2014-09-03 10:09:14 +00:00
Chung-Ju Wu
99575d60c8 [NDS32] Since we are going to provide new heuristic for fp-as-gp optimization,
we better not to set cfun->machine->fp_as_gp_p at prologue expanding.

	* config/nds32/nds32.c (nds32_expand_prologue): Suppress fp-as-gp
	optimization detection.

From-SVN: r214866
2014-09-03 10:01:54 +00:00
Chung-Ju Wu
7f6cd86bef [NDS32] Deal with nameless arguments in nds32_function_arg and nds32_function_arg_advance.
1. We have caller prepare nameless arguments in the way of calling a normal function.

     e.g. Assume a function: void va_test (int n, ...);
          When calling "va_test (6, 11, 22, 33, 44, 55, 66);",
               r0    <- 6
               r1    <- 11
               r2    <- 22
               r3    <- 33
               r4    <- 44
               r5    <- 55
            [sp + 0] <- 66

  2. Note that we DO NOT handle it for TARGET_HARD_FLOAT case.
     The TARGET_HARD_FLOAT should push all the nameless arguments into
     stack and GCC is able to take care of them itself.
     In addition, we have not implemented hard float on trunk yet.

	* config/nds32/nds32.c (nds32_function_arg): Deal with nameless
	arguments.
	(nds32_function_arg_advance): Deal with nameless arguments.
	* config/nds32/nds32.h (NDS32_ARG_PASS_IN_REG_P): Split it into ...
	(NDS32_ARG_ENTIRE_IN_GPR_REG_P): ... this one and ...
	(NDS32_ARG_PARTIAL_IN_GPR_REG_P): ... this one.

From-SVN: r214865
2014-09-03 09:55:28 +00:00
Richard Biener
52e4630c51 tree-ssa-pre.c (alloc_expression_id): Use quick_grow_cleared.
2014-09-03  Richard Biener  <rguenther@suse.de>

	* tree-ssa-pre.c (alloc_expression_id): Use quick_grow_cleared.
	(struct bb_bitmap_sets): Remove deferred member.
	(BB_DEFERRED): Remove.
	(defer_or_phi_translate_block): Remove.
	(compute_antic_aux): Remove deferring of blocks, assert
	proper iteration order.
	(compute_antic): Do not set BB_DEFERRED.
	(eliminate): Allocate el_avail of proper size initially.

From-SVN: r214864
2014-09-03 09:50:24 +00:00
Chung-Ju Wu
4f44e960ea [NDS32] Since argument pointer must be 8-byte alignment...
[NDS32] Since argument pointer must be 8-byte alignment, our first parameter may
        require 4-byte offset if pushed varargs is not 8-byte aligned.

	* config/nds32/nds32.h (FIRST_PARM_OFFSET): Set proper location
	according to the value of crtl->args.pretend_args_size.

From-SVN: r214863
2014-09-03 09:44:49 +00:00
Chung-Ju Wu
35da54a608 [NDS32] Prepare necessary varargs information in compute_stack_frame().
* config/nds32/nds32.c (nds32_compute_stack_frame): Prepare necessary
	varargs information.

From-SVN: r214862
2014-09-03 09:37:36 +00:00
Chung-Ju Wu
d4a6a4d9a0 [NDS32] Implement TARGET_SETUP_INCOMING_VARARGS target hook.
* config/nds32/nds32.c (nds32_setup_incoming_varargs): New
	implementation for TARGET_SETUP_INCOMING_VARARGS.
	(nds32_strict_argument_naming): Refine comment.
	* config/nds32/nds32.h (TARGET_SOFT_FLOAT, TARGET_HARD_FLOAT):
	Define for future implementation.

From-SVN: r214861
2014-09-03 09:32:08 +00:00
Ilya Tocar
9c6fb3ba59 adxintrin.h (_subborrow_u32): New.
gcc/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * config/i386/adxintrin.h (_subborrow_u32): New.
        (_addcarry_u32): Ditto.
        (_subborrow_u64): Ditto.
        (_addcarry_u64): Ditto.
        * config/i386/i386.c (ix86_builtins): Add IX86_BUILTIN_SBB32,
        IX86_BUILTIN_SBB64.
        (ix86_init_mmx_sse_builtins): Handle __builtin_ia32_sbb_u32,
        __builtin_ia32_sbb_u64


testsuite/
2014-09-02  Ilya Tocar  <ilya.tocar@intel.com>

        * gcc.target/i386/adx-addcarryx32-1.c: Test addcarry, subborrow.
        * gcc.target/i386/adx-addcarryx32-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx32-3.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-1.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-2.c: Ditto.
        * gcc.target/i386/adx-addcarryx64-3.c: Ditto.

From-SVN: r214860
2014-09-03 13:24:34 +04:00
Chung-Ju Wu
9d93cc2467 [NDS32] Define and rename some GPR-specific stuff.
* config/nds32/nds32.c (nds32_function_arg): Define and rename some
	GPR-specific stuff.
	(nds32_function_arg_advance): Likewise.
	(nds32_init_cumulative_args): Likewise.
	* config/nds32/nds32.h (NDS32_MAX_GPR_REGS_FOR_ARGS): Define.
	(NDS32_FIRST_GPR_REGNUM): Define.
	(NDS32_LAST_GPR_REGNUM): Define.
	(NDS32_AVAILABLE_REGNUM_FOR_GPR_ARG): Define.
	(NDS32_ARG_PASS_IN_REG_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
	(FUNCTION_ARG_REGNO_P): Use NDS32_MAX_GPR_REGS_FOR_ARGS.
	(machine_function): Use GRP-specific stuff.

From-SVN: r214859
2014-09-03 09:16:51 +00:00
Chung-Ju Wu
38a0632eb7 [NDS32] Remove unused variables.
* config/nds32/nds32.c (nds32_expand_prologue): Remove unused variables.
	(nds32_expand_epilogue): Likewise.
	(nds32_expand_prologue_v3push): Likewise.
	(nds32_expand_epilogue_v3pop): Likewise.

From-SVN: r214858
2014-09-03 09:09:56 +00:00