1. 14 Jun, 2016 17 commits
    • [multiple changes] · 124bed29
      2016-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch6.adb (Set_Actual_Subtypes): Do not generate actual
      	subtypes for unconstrained formals when analyzing the generated
      	body of an expression function, because it may lead to premature
      	and misplaced freezing of the types of formals.
      
      2016-06-14  Gary Dismukes  <dismukes@adacore.com>
      
      	* sem_elab.adb, sem_ch4.adb: Minor reformatting and typo fix.
      
      2016-06-14  Tristan Gingold  <gingold@adacore.com>
      
      	* einfo.adb (Set_Has_Timing_Event): Add assertion.
      	* sem_util.ads, sem_util.adb (Propagate_Concurrent_Flags): New
      	name for Propagate_Type_Has_Flags.
      	* exp_ch3.adb, sem_ch3.adb, sem_ch7.adb, sem_ch9.adb: Adjust after
      	renaming.
      
      From-SVN: r237439
      Arnaud Charlet committed
    • [multiple changes] · 519e9fdf
      2016-06-14  Bob Duff  <duff@adacore.com>
      
      	* sem_elab.adb (Check_A_Call): Do nothing if the callee is
      	(or is in) an instance, and the caller is outside.  Misc cleanup.
      
      2016-06-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_ch4.adb (Analyze_Quantified_Expression):
      	Generating C code avoid spurious warning on loop variable of
      	inlinined postconditions.
      
      From-SVN: r237438
      Arnaud Charlet committed
    • sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion. · 64f5d139
      2016-06-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_attr.adb (Analyze_Attribute_Old_Result): Adding assertion.
      	(Analyze_Attribute [Attribute_Old]): Generating C handle
      	analysis of 'old in inlined postconditions.
      	(Analyze_Attribute [Attribute_Result]): Generating C handle analysis
      	of 'result in inlined postconditions.
      	* exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Old]):
      	Generating C handle expansion of 'old in inlined postconditions.
      	* inline.adb (Declare_Postconditions_Result): New subprogram.
      	* sem_ch12.adb (Copy_Generic_Node): Copy pragmas generated from
      	aspects when generating C code since pre/post conditions are
      	inlined and the frontend inlining relies on this routine to
      	perform inlining.
      	* exp_ch6.adb (Inlined_Subprogram): Replace Generate_C_Code
      	by Modify_Tree_For_C.
      	* exp_unst.adb (Visit_Node): Searching for up-level references
      	skip entities defined in inlined subprograms.
      
      From-SVN: r237437
      Javier Miranda committed
    • [multiple changes] · 5a527952
      2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_ch7.adb, sem_ch12.adb, freeze.adb, lib-xref.ads, exp_ch3.adb:
      	Minor reformatting.
      
      2016-06-14  Bob Duff  <duff@adacore.com>
      
      	* sem_elab.adb: Do nothing if the callee is intrinsic.
      	* sinfo.ads, einfo.ads: Minor comment fixes.
      
      From-SVN: r237436
      Arnaud Charlet committed
    • [multiple changes] · 7782ff67
      2016-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* contracts.adb (Has_Null_Body): Move to sem_util, for general
      	availability.
      	* sem_util.ads, sem_util.adb (Has_Null_Body): Predicate to
      	determine when an internal procedure created for some assertion
      	checking (e.g. type invariant) is a null procedure. Used to
      	eliminate redundant calls to such procedures when they apply to
      	components of composite types.
      	* exp_ch3.adb (Build_Component_Invariant_Call): Do not add call
      	if invariant procedure has a null body.
      
      2016-06-14  Thomas Quinot  <quinot@adacore.com>
      
      	* g-socket.ads (Check_Selector): Clarify effect on IN OUT socket
      	set parameters.
      
      2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Process_Action): Pass the action
      	list to Process_Transient_Object.
      	(Process_If_Case_Statements): Pass the action list to
      	Process_Transient_Object.
      	(Process_Transient_Object): Add new parameter Stmts and update the
      	comment on usage. When the context is a Boolean evaluation, insert
      	any finalization calls after the last statement of the construct.
      
      From-SVN: r237435
      Arnaud Charlet committed
    • [multiple changes] · 4969efdf
      2016-06-14  Tristan Gingold  <gingold@adacore.com>
      
      	* einfo.adb, einfo.ads (Has_Timing_Event,
      	Set_Has_Timing_Event): Add Has_Timing_Event flag.
      	(Write_Entity_Flags): Display * sem_util.ads, sem_util.adb:
      	(Propagate_Type_Has_Flags): New procedure to factorize code.
      	* exp_ch3.adb (Expand_Freeze_Array_Type,
      	Expand_Freeze_Record_Type): Call Propagate_Type_Has_Flags.
      	* sem_ch3.adb (Access_Type_Decalaration): Initialize
      	Has_Timing_Event flag.	(Analyze_Object_Declaration):
      	Move code that check No_Local_Timing_Events near
      	the code that check No_Local_Protected_Objects.
      	(Analyze_Private_Extension_Declaration, Array_Type_Declaration)
      	(Build_Derived_Type, Copy_Array_Base_Type_Attributes,
      	Process_Full_View) (Record_Type_Definition): Call
      	Propagate_Type_Has_Flags.
      	* sem_ch4.adb (Analyze_Allocator): Check No_Local_Timing_Events.
      	* sem_ch7.adb (New_Private_Type): Set Has_Timing_Event on the
      	Timing_Event type.
      	(Uninstall_Declaration): Call Propagate_Type_Has_Flags.
      	* sem_ch9.adb (Analyze_Protected_Definition): Call
      	Propagate_Type_Has_Flags.
      
      2016-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* sem.ads: Minor style fix.
      
      From-SVN: r237434
      Arnaud Charlet committed
    • [multiple changes] · 44900051
      2016-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* sem_ch12.adb (Analyze_Associations): An actual parameter
      	with a box must be included in the count of actuals, to detect
      	possible superfluous named actuals that do not match any of the
      	formals of the generic unit in a formal package declaration.
      
      2016-06-14  Justin Squirek  <squirek@adacore.com>
      
      	* sem_ch3.adb (Analyze_Object_Declaration): Fix formatting
      	of error output related to SPARK RM 6.1.7(3) and pragma
      	Extensions_Visible.
      	* sem_ch4.adb (Analyze_Type_Conversion): Fix formatting of error
      	output related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
      	* sem_prag.adb (Analyze_Pragma): Fix formatting of error output
      	related to SPARK RM 7.1.2(15) and pragma Volatile_Function
      	so that the values True and False are no longer surrounded by
      	double quotes.
      	* sem_res.adb (Resolve_Actuals): Fix formatting of error output
      	related to SPARK RM 6.1.7(3) and pragma Extensions_Visible.
      
      2016-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb (Adjust_Global_Switches): Enable access checks
      	in codepeer mode.
      	* freeze.adb: Minor grammar fix in comment.
      
      From-SVN: r237433
      Arnaud Charlet committed
    • [multiple changes] · 0da343bc
      2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* lib.adb: Minor reformatting.
      	* sem_util.adb (Is_OK_Volatile_Context): Do
      	include Address in the supported attributes.
      
      2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* exp_ch4.adb (Expand_N_Case_Expression):
      	Code cleanup. Finalize any transient controlled
      	objects on exit from a case expression alternative.
      	(Expand_N_If_Expression): Code cleanup.
      	(Process_Actions): Removed.
      	(Process_If_Case_Statements): New routine.
      	(Process_Transient_Object): Change the name of formal Rel_Node to
      	N and update all occurrences. Update the comment on usage. When
      	the type of the context is Boolean, the proper insertion point
      	for the finalization call is after the last declaration.
      
      2016-06-14  Ed Schonberg  <schonberg@adacore.com>
      
      	* lib-xref.ads, lib-xref.adb (Has_Deferred_Reference): new
      	predicate to determine whether an entity appears in a context
      	for which a Deferred_Reference was created, because it is not
      	possible to determine when reference is analyzed whether it
      	appears in a context in which the entity is modified.
      	* sem_ch5.adb (Analyze_Statement): Do not emit a useless warning
      	on assignment for an entity that has a deferred_reference.
      
      2016-06-14  Javier Miranda  <miranda@adacore.com>
      
      	* sem_res.adb (Resolve_Actuals): Generate a reference to actuals that
      	come from source. Previously the reference was generated only if the
      	call comes from source but the call may be rewritten by the expander
      	thus causing the notification of spurious warnings.
      
      2016-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* gnat1drv.adb: Remove further references to AAMP.
      	* checks.adb (Apply_Scalar_Range_Check): Take
      	Check_Float_Overflow info account.
      	* live.ads, live.adb Added subprogram headers and
      	start-of-processing-for comments.
      	* sem_ch12.adb (Instantiate_Package_Body): Do not suppress
      	checks when instantiating runtime units in CodePeer mode.
      
      From-SVN: r237432
      Arnaud Charlet committed
    • [multiple changes] · a5150cb1
      2016-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* exp_ch3.adb (Expand_N_Object_Declaration): Only consider
      	nodes from sources.
      
      2016-06-14  Arnaud Charlet  <charlet@adacore.com>
      
      	* switch-c.adb, gnat1drv.adb (Adjust_Global_Switches): Only disable
      	simple value propagation in CodePeer mode when warnings are disabled.
      	(Scan_Front_End_Switches): Enable relevant front-end switches
      	when using -gnateC.
      
      2016-06-14  Hristian Kirtchev  <kirtchev@adacore.com>
      
      	* sem_util.adb (Is_OK_Volatile_Context): A
      	reference to a volatile object is considered OK if appears as
      	the prefix of attributes Address, Alignment, Component_Size,
      	First_Bit, Last_Bit, Position, Size, Storage_Size.
      
      2016-06-14  Yannick Moy  <moy@adacore.com>
      
      	* lib-xref-spark_specific.adb (Add_SPARK_File): Do not traverse
      	subunits directly, as they are already traversed as part of the
      	top-level unit to which they belong.
      	(Add_SPARK_Xrefs): Add assertions to ensure correct sorting.
      	(Generate_Dereference): Use unique definition place for special
      	variable __HEAP, to ensure correct sorting of references.
      	* lib-xref.adb (Generate_Reference): Use top-level unit in case
      	of subunits.
      	* lib.adb, lib.ads (Get_Top_Level_Code_Unit): New functions that
      	compute the top-level code unit for a source location of AST node,
      	that go past subunits.
      
      From-SVN: r237431
      Arnaud Charlet committed
    • zero_bits_compound-1.c: Support aarch64. · 3970e545
      2016-06-14  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/zero_bits_compound-1.c: Support aarch64.
      	* gcc.dg/zero_bits_compound-1.c: Likewise.
      
      From-SVN: r237430
      Andre Vieira committed
    • re PR tree-optimization/71522 (Wrong optimization of memcpy through a var of type long double) · 04976c6e
      2016-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71522
      	* tree-ssa.c (non_rewritable_lvalue_p): Do not rewrite non-float
      	copying into float copying.
      
      	* gcc.dg/torture/pr71522.c: New testcase.
      
      From-SVN: r237429
      Richard Biener committed
    • re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer) · 86c24ba6
      2016-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71521
      	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
      	division int_const_binop against zero divisor.
      
      	* gcc.dg/tree-ssa/vrp101.c: New testcase.
      
      From-SVN: r237428
      Richard Biener committed
    • re PR tree-optimization/71520 (Missing cross-jumping of switch cases) · 23e025db
      	PR tree-optimization/71520
      	* tree-ssa-tail-merge.c (find_duplicate): Handle labels.
      	(replace_block_by): Move user labels from bb1 to bb2.
      
      	* gcc.dg/tree-ssa/pr71520.c: New test.
      
      From-SVN: r237427
      Jakub Jelinek committed
    • re PR middle-end/71310 (Bitfields cause load hit store with smaller store and larger load) · 585334d4
      2016-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR middle-end/71310
      	PR bootstrap/71510
      	* expr.h (get_bit_range): Declare.
      	* expr.c (get_bit_range): Export.
      	* fold-const.c (optimize_bit_field_compare): Use get_bit_range and
      	word_mode again to constrain the bitfield access.
      
      From-SVN: r237426
      Richard Biener committed
    • re PR tree-optimization/71521 (Regression in GCC-7.0.0's optimizer) · 90b72e84
      2016-06-14  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71521
      	* tree-vrp.c (extract_range_from_binary_expr_1): Guard
      	division int_const_binop against zero divisor.
      
      	* gcc.dg/tree-ssa/vrp101.c: New testcase.
      
      From-SVN: r237425
      Richard Biener committed
    • escape: Implement assign phase. · 3db5773f
          
          Implementation of the assign/connect phase.
          Statements containing expressions which alias local, parameter,
          and global objects are analyzed and the alias relationship between
          objects containing pointers are captured in a connection graph to
          summarize the assignments within a function.
          
          Reviewed-on: https://go-review.googlesource.com/18302
      
      From-SVN: r237424
      Ian Lance Taylor committed
    • Daily bump. · c8aa46d6
      From-SVN: r237423
      GCC Administrator committed
  2. 13 Jun, 2016 23 commits
    • * Partially revert my previous commit. · 7d6aa9a6
      From-SVN: r237418
      Uros Bizjak committed
    • i386-builtin-types.def (INT_FTYPE_FLOAT128): New function type. · 385c7747
      	* config/i386/i386-builtin-types.def (INT_FTYPE_FLOAT128):
      	New function type.
      	* config/i386/i386.c (enum ix86_builtins) [IX86_BUILTIN_SIGNBITQ]: New.
      	(ix86_init_builtins): Add __builtin_signbitq function.
      	(ix86_expand_args_builtin): Handle INT_FTYPE_FLOAT128.
      	(ix86_expand_builtin): Handle IX86_BUILTIN_SIGNBITQ.
      	* config/i386/i386.md (signbittf2): New expander.
      	* config/i386/sse.md (ptesttf2): New insn pattern.
      	* doc/extend.texi (x86 Built-in Functions): Document
      	__builtin_signbitq.
      
      libgcc/ChangeLog:
      
      	* config.host (i[34567]86-*-* | x86_64-*-*): Always include
      	i386/${host_address}/t-softfp in tmake_file.
      	* config/i386/32/t-softfp: Update comment for __builtin_copysignq.
      	* config/i386/32/tf-signs.c: Add __signbittf2 fallback function.
      	* config/i386/64/t-softfp: New file.
      	* config/i386/64/tf-signs.c: Ditto.
      	* config/i386/libgcc-bsd.ver: Add __signbittf2.
      	* config/i386/libgcc-glibc.ver: Ditto.
      	* config/i386/libgcc-sol2.ver: Ditto.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/float128-3.c: New test.
      	* gcc.target/i386/quad-sse4.c: Ditto.
      	* gcc.target/i386/quad-sse.c: Use -msse instead of -msse2.
      	Update scan strings.
      
      From-SVN: r237415
      Uros Bizjak committed
    • PR bootstrap/71481: fix input.c selftest · 85ecd05c
      gcc/ChangeLog:
      	PR bootstrap/71481
      	* input.c (selftest::test_reading_source_line): Avoid reading from
      	__FILE__ by creating a tempfile with known content and reading
      	from that instead.
      
      From-SVN: r237414
      David Malcolm committed
    • pretty-print.c: skip color selftests if GCC_COLORS is set · 2fe00b1f
      gcc/ChangeLog:
      	* pretty-print.c (assert_pp_format_colored): Skip the test if
      	GCC_COLORS is set.
      	(test_pp_format): Remove comment about GCC_COLORS.
      
      From-SVN: r237411
      David Malcolm committed
    • selftests: improve reported failure locations · 09765e3a
      This patch introduce a selftest::location struct to wrap up __FILE__
      and __LINE__ information (and __FUNCTION__) throughout the selftests,
      allowing location information to be passed around.
      
      It updates the helper functions in pretty-print.c to pass through
      the precise location of each test, so that if a failure occurs, the
      correct line number is printed, rather than a line within a helper
      function.
      
      gcc/ChangeLog:
      	* input.c (test_reading_source_line): Use SELFTEST_LOCATION.
      	* pretty-print.c (assert_pp_format_va): Add location param and use
      	it with ASSERT_STREQ_AT.
      	(assert_pp_format): Add location param and pass it to
      	assert_pp_format_va.
      	(assert_pp_format_colored): Likewise.
      	(ASSERT_PP_FORMAT_1): New.
      	(ASSERT_PP_FORMAT_2): New.
      	(ASSERT_PP_FORMAT_3): New.
      	(test_pp_format): Provide SELFTEST_LOCATION throughout, either
      	explicitly, or implicitly via the above macros.
      	* selftest.c (selftest::pass): Use a selftest::location rather
      	than file and line.
      	(selftest::fail): Likewise.  Print the function name.
      	(selftest::fail_formatted): Likewise.
      	(selftest::assert_streq): Use a selftest::location rather than
      	file and line.
      	* selftest.h (selftest::location): New struct.
      	(SELFTEST_LOCATION): New macro.
      	(selftest::pass): Accept a const location & rather than file
      	and line.
      	(selftest::fail): Likewise.
      	(selftest::fail_formatted): Likewise.
      	(selftest::assert_streq): Likewise.
      	(ASSERT_TRUE): Update for above changes, using SELFTEST_LOCATION.
      	(ASSERT_FALSE): Likewise.
      	(ASSERT_EQ): Likewise.
      	(ASSERT_NE): Likewise.
      	(ASSERT_STREQ): Likewise.
      	(ASSERT_PRED1): Likewise.
      	(ASSERT_STREQ_AT): New macro.
      
      From-SVN: r237410
      David Malcolm committed
    • re PR sanitizer/71498 (ubsan bounds checking influenced by surrounding code) · 0dda258b
      	PR sanitizer/71498
      	* c-gimplify.c (ubsan_walk_array_refs_r): Set *walk_subtrees = 0 on
      	all BIND_EXPRs, and on all BIND_EXPRs recurse also on BIND_EXPR_BODY.
      
      	* c-c++-common/ubsan/bounds-13.c: New test.
      
      From-SVN: r237409
      Jakub Jelinek committed
    • re PR preprocessor/71183 (gcc -E always gives __DATE__ and __TIME__ as Jan 1 1970 00:00:00) · ef7cf206
      	PR preprocessor/71183
      	* c-ppoutput.c (init_pp_output): Set cb->get_source_date_epoch
      	to cb_get_source_date_epoch.
      
      	* gcc.dg/cpp/source_date_epoch-3.c: New test.
      
      From-SVN: r237408
      Jakub Jelinek committed
    • selftest: show values when ASSERT_STREQ fails · 755fa666
      Rework ASSERT_STREQ so that it prints the actual and expected values
      to stderr when it fails (by moving it to a helper function).
      
      gcc/ChangeLog:
      	* selftest.c (selftest::fail_formatted): New function.
      	(selftest::assert_streq): New function.
      	* selftest.h (selftests::fail_formatted): New decl.
      	(selftest::assert_streq): New decl.
      	(ASSERT_STREQ): Reimplement in terms of selftest::assert_streq.
      
      From-SVN: r237404
      David Malcolm committed
    • re PR tree-optimization/71403 (wrong code (segfault) at -O3 on x86_64-linux-gnu) · a73786e3
      	PR tree-optimization/71403
      	* tree-ssa-threadbackward.c
      	(convert_and_register_jump_thread_path): No longer accept reference
      	to path.  Do not pop items off the path anymore.
      	(fsm_find_control_statement_thread_paths): Do not allow threading
      	to a deeper loop nest.  Pop the last item off the path here rather
      	than in convert_and_register_jump_thread_path.
      
      	PR tree-optimization/71403
      	* c-c++-common/ubsan/pr71403-1.c: New test.
      	* c-c++-common/ubsan/pr71403-2.c: New test.
      	* c-c++-common/ubsan/pr71403-3.c: New test.
      
      From-SVN: r237403
      Jeff Law committed
    • [AArch64] Emit division using the Newton series · 79a2bc2d
      2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
                  Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h
      	(cpu_approx_modes): Add new member "division".
      	(aarch64_emit_approx_div): Declare new function.
      	* config/aarch64/aarch64.c
      	(generic_approx_modes): New member "division".
      	(exynosm1_approx_modes): Likewise.
      	(xgene1_approx_modes): Likewise.
      	(aarch64_emit_approx_div): Define new function.
      	* config/aarch64/aarch64.md ("div<mode>3"): New expansion.
      	* config/aarch64/aarch64-simd.md ("div<mode>3"): Likewise.
      	* config/aarch64/aarch64.opt (-mlow-precision-div): Add new option.
      	* doc/invoke.texi (-mlow-precision-div): Describe new option.
      
      From-SVN: r237397
      Evandro Menezes committed
    • [AArch64] Emit square root using the Newton series · 98daafa0
      2016-06-13  Evandro Menezes  <e.menezes@samsung.com>
                  Wilco Dijkstra  <wilco.dijkstra@arm.com>
      
      gcc/
      	* config/aarch64/aarch64-protos.h
      	(aarch64_emit_approx_rsqrt): Replace with new function
      	"aarch64_emit_approx_sqrt".
      	(cpu_approx_modes): New member "sqrt".
      	* config/aarch64/aarch64.c
      	(generic_approx_modes): New member "sqrt".
      	(exynosm1_approx_modes): Likewise.
      	(xgene1_approx_modes): Likewise.
      	(aarch64_emit_approx_rsqrt): Replace with new function
      	"aarch64_emit_approx_sqrt".
      	(aarch64_override_options_after_change_1): Handle new option.
      	* config/aarch64/aarch64-simd.md
      	(rsqrt<mode>2): Use new function instead.
      	(sqrt<mode>2): New expansion and insn definitions.
      	* config/aarch64/aarch64.md: Likewise.
      	* config/aarch64/aarch64.opt
      	(mlow-precision-sqrt): Add new option description.
      	* doc/invoke.texi (mlow-precision-sqrt): Likewise.
      
      From-SVN: r237396
      Evandro Menezes committed
    • [AArch64] Add more choices for the reciprocal square root approximation · 9acc9cbe
      Allow a target to prefer such operation depending on the operation mode.
      
      gcc/
      	* config/aarch64/aarch64-protos.h
      	(AARCH64_APPROX_MODE): New macro.
      	(AARCH64_APPROX_{NONE,ALL}): Likewise.
      	(cpu_approx_modes): New structure.
      	(tune_params): New member "approx_modes".
      	* config/aarch64/aarch64-tuning-flags.def
      	(AARCH64_EXTRA_TUNE_APPROX_RSQRT): Remove macro.
      	* config/aarch64/aarch64.c
      	({generic,exynosm1,xgene1}_approx_modes): New core
      	"cpu_approx_modes" structures.
      	(generic_tunings): New member "approx_modes".
      	(cortexa35_tunings): Likewise.
      	(cortexa53_tunings): Likewise.
      	(cortexa57_tunings): Likewise.
      	(cortexa72_tunings): Likewise.
      	(exynosm1_tunings): Likewise.
      	(thunderx_tunings): Likewise.
      	(xgene1_tunings): Likewise.
      	(use_rsqrt_p): New argument for the mode and use new member from
      	"tune_params".
      	(aarch64_builtin_reciprocal): Devise mode from builtin.
      	(aarch64_optab_supported_p): New argument for the mode.
      	* doc/invoke.texi (-mlow-precision-recip-sqrt): Reword description.
      
      From-SVN: r237395
      Evandro Menezes committed
    • inclhack.def (aix_stdlib_malloc): New fix. · d4f076c9
      * inclhack.def (aix_stdlib_malloc): New fix.
      (aix_stdlib_realloc): New fix.
      (aix_stdlib_calloc): New fix.
      (aix_stdlib_valloc): New fix.
      * fixincl.x: Regenerate.
      * test/base/stdlib.h [AIX_STDLIB_MALLOC]: New test.
      [AIX_STDLIB_REALLOC]: New test.
      [AIX_STDLIB_CALLOC]: New test.
      [AIX_STDLIB_VALLOC]: New test.
      
      From-SVN: r237394
      David Edelsohn committed
    • re PR tree-optimization/71478 (ICE in tree-ssa-reassoc.c after r236564) · 0ac249bf
      	PR middle-end/71478
      	* gcc.dg/pr71478.c: Remove dg-require-effective-target vect_int.
      	Add -Wno-psabi -w to dg-options.
      
      From-SVN: r237392
      Jakub Jelinek committed
    • rs6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of… · 402e60c5
      rs6000.h (RS6000_BTM_COMMON): Add the RS6000_BTM_MODULO flag into the set of flags that are considered to be...
      
      gcc/ChangeLog:
      
      2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/rs6000.h (RS6000_BTM_COMMON): Add the
      	RS6000_BTM_MODULO flag into the set of flags that are considered
      	to be part of the common configuration.
      
      From-SVN: r237391
      Kelvin Nilsen committed
    • altivec.h (vec_absd): New macro for vector absolute difference unsigned. · 5408a64a
      gcc/ChangeLog:
      
      2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* config/rs6000/altivec.h (vec_absd): New macro for vector absolute
      	difference unsigned.
      	(vec_absdb): New macro for vector absolute difference unsigned
      	byte.
      	(vec_absdh): New macro for vector absolute difference unsigned
      	half-word.
      	(vec_absdw): New macro for vector absolute difference unsigned word.
      	* config/rs6000/altivec.md (UNSPEC_VADU): New value.
      	(vadu<mode>3): New insn.
      	(*p9_vadu<mode>3): New insn.
      	* config/rs6000/rs6000-builtin.def (vadub): New built-in
      	definition.
      	(vaduh): New built-in definition.
      	(vaduw): New built-in definition.
      	(vadu): New overloaded built-in definition.
      	(vadub): New overloaded built-in definition.
      	(vaduh): New overloaded built-in definition.
      	(vaduw): New overloaded built-in definition.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	overloaded vector absolute difference unsigned functions.
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
      	the ISA 3.0 vector absolute difference unsigned built-in functions.
      
      gcc/testsuite/ChangeLog:
      
      2016-06-13  Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/vadsdu-0.c: New test.
      	* gcc.target/powerpc/vadsdu-1.c: New test.
      	* gcc.target/powerpc/vadsdu-2.c: New test.
      	* gcc.target/powerpc/vadsdu-3.c: New test.
      	* gcc.target/powerpc/vadsdu-4.c: New test.
      	* gcc.target/powerpc/vadsdu-5.c: New test.
      	* gcc.target/powerpc/vadsdub-1.c: New test.
      	* gcc.target/powerpc/vadsdub-2.c: New test.
      	* gcc.target/powerpc/vadsduh-1.c: New test.
      	* gcc.target/powerpc/vadsduh-2.c: New test.
      	* gcc.target/powerpc/vadsduw-1.c: New test.
      	* gcc.target/powerpc/vadsduw-2.c: New test.
      
      From-SVN: r237390
      Kelvin Nilsen committed
    • tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update… · ec67c62e
      tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and update shared_lookup_references only once after changing...
      
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use a uniform test and
      	update shared_lookup_references only once after changing operands.
      
      From-SVN: r237388
      Eric Botcazou committed
    • C: fixits for named initializers · f7e4f2e3
      gcc/c/ChangeLog:
      	* c-parser.c (c_parser_initelt): Provide location of name for new
      	location_t param of set_init_label.
      	* c-tree.h (set_init_label): Add location_t param.
      	* c-typeck.c (set_init_index): Add "fieldname_loc" location_t
      	param and use it when issuing error messages about unrecognized
      	field names.  Attempt to provide a fixit hint if appropriate,
      	otherwise update the error message to provide the type name.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/c99-init-2.c (c): Update expected error message.
      	* gcc.dg/init-bad-8.c (foo): Likewise.
      	* gcc.dg/spellcheck-fields-3.c: New test case.
      
      From-SVN: r237387
      David Malcolm committed
    • [PR middle-end/71373] Document missing OMP_CLAUSE_* in gcc/tree-nested.c · 5a0fa907
      	gcc/
      	PR middle-end/71373
      	* tree-nested.c (convert_nonlocal_omp_clauses)
      	(convert_local_omp_clauses): Document missing OMP_CLAUSE_*.
      
      From-SVN: r237386
      Thomas Schwinge committed
    • added "PR bootstrap/71481" to r237383's ChangeLog · 7f6f6f39
      From-SVN: r237385
      Bernd Edlinger committed
    • Fix CASE_CHAIN typos · 1a0c3c34
      	gcc/
      	* tree-cfg.c (edge_to_cases_cleanup): Fix CASE_CHAIN typo.
      	* tree.def (CASE_LABEL_EXPR): Likewise.
      
      From-SVN: r237384
      Thomas Schwinge committed
    • input.c (test_builtins): Fix an assertion. · 10d2fc23
      2016-06-13  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
      	* input.c (test_builtins): Fix an assertion.
      
      From-SVN: r237383
      Bernd Edlinger committed
    • i386.md (paritydi2): Use ix86_expand_setcc. · ac43f1a8
      	* config/i386/i386.md (paritydi2): Use ix86_expand_setcc.
      	(paritysi2): Ditto.
      	(isinfxf2): Ditto.
      	(isinf<mode>2): Ditto.
      
      From-SVN: r237382
      Uros Bizjak committed