Skip to content
Snippets Groups Projects
  1. May 26, 2016
    • Richard Sandiford's avatar
      Fix ivopts estimates for internal functions · b3d2acb6
      Richard Sandiford authored
      tree-ssa-loop-ivopts.c:loop_body_includes_call was treating internal
      calls such as IFN_SQRT as clobbering all caller-saved registers, which
      I don't think is appropriate for any current internal function.
      
      Tested on aarch64-linux-gnu and x86_64-linux-gnu.
      
      gcc/
      	* tree-ssa-loop-ivopts.c (loop_body_includes_call): Don't assume
      	that internal functions will clobber all caller-saved registers.
      
      From-SVN: r236780
      b3d2acb6
    • Nathan Sidwell's avatar
      20060410.c: Xfail on ptx. · a2d5b8c9
      Nathan Sidwell authored
      	* gcc.dg/20060410.c: Xfail on ptx.
      	* gcc.dg/torture/c99-contract-1.c: Skip on ptx.
      	* c-c++-common/torture/complex-sign-mixed-add.c: Skip on ptx -O0
      	* c-c++-common/torture/complex-sign-mixed-sub.c: Skip on ptx -O0
      	* gcc.c-torture/execute/pr68185.c: Skip on ptx -O0 & Os.
      	* gcc.c-torture/execute/20020529-1.c: Skip on ptx -00.
      
      From-SVN: r236774
      a2d5b8c9
    • Nathan Sidwell's avatar
      free.asm: Delete. · 40774faf
      Nathan Sidwell authored
      	* config/nvptx/free.asm: Delete.
      	* config/nvptx/malloc.asm: Delete.
      	* config/nvptx/realloc.c: Delete.
      	* t-nvptx: Update.
      
      From-SVN: r236773
      40774faf
    • Chung-Lin Tang's avatar
      oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter. · b4557008
      Chung-Lin Tang authored
      2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	libgomp/
      	* oacc-plugin.h (GOMP_PLUGIN_async_unmap_vars): Add int parameter.
      	* oacc-plugin.c (GOMP_PLUGIN_async_unmap_vars): Add 'int async'
      	parameter, use to set async stream around call to gomp_unmap_vars,
      	call gomp_unmap_vars() with 'do_copyfrom' set to true.
      	* plugin/plugin-nvptx.c (struct ptx_event): Add 'int val' field.
      	(event_gc): Adjust event handling loop, collect PTX_EVT_ASYNC_CLEANUP
      	events and call GOMP_PLUGIN_async_unmap_vars() for each of them.
      	(event_add): Add int parameter, initialize 'val' field when
      	adding new ptx_event struct.
      	(nvptx_evec): Adjust event_add() call arguments.
      	(nvptx_host2dev): Likewise.
      	(nvptx_dev2host): Likewise.
      	(nvptx_wait_async): Likewise.
      	(nvptx_wait_all_async): Likewise.
      	(GOMP_OFFLOAD_openacc_register_async_cleanup): Add async parameter,
      	pass to event_add() call.
      	* oacc-host.c (host_openacc_register_async_cleanup): Add 'int async'
      	parameter.
      	* oacc-mem.c (gomp_acc_remove_pointer): Adjust async case to
      	call openacc.register_async_cleanup_func() hook.
      	* oacc-parallel.c (GOACC_parallel_keyed): Likewise.
      	* target.c (gomp_copy_from_async): Delete function.
      	(gomp_map_vars): Remove async_refcount.
      	(gomp_unmap_vars): Likewise.
      	(gomp_load_image_to_device): Likewise.
      	(omp_target_associate_ptr): Likewise.
      	* libgomp.h (struct splay_tree_key_s): Remove async_refcount.
      	(acc_dispatch_t.register_async_cleanup_func): Add int parameter.
      	(gomp_copy_from_async): Remove.
      
      From-SVN: r236772
      b4557008
    • Wilco Dijkstra's avatar
      GCC expands switch statements in a very simplistic way and tries to use a table... · e79136e4
      Wilco Dijkstra authored
      GCC expands switch statements in a very simplistic way and tries to use a table
      expansion even when it is a bad idea for performance or codesize.
      GCC typically emits extremely sparse tables that contain mostly default entries
      (something which currently cannot be tuned by backends).  Additionally the
      computation of the minimum/maximum label offsets is too simplistic so the
      tables are often twice as large as necessary.
      
      The cost of a table switch is significant due to the setup overhead, the table
      lookup (which due to being sparse and large adds unnecessary cachemisses)
      and hard to predict indirect jump.  Therefore it is best to avoid using a table
      unless there are many real case labels.
      
      This patch fixes that by setting the default aarch64_case_values_threshold to
      16 when the per-CPU tuning is not set.  On SPEC2006 this improves the switch
      heavy benchmarks GCC and perlbench both in performance (1-2%) as well as size
      (0.5-1% smaller).
      
          gcc/
      	* config/aarch64/aarch64.c (aarch64_case_values_threshold):
      	Return a better case_values_threshold when optimizing.
      
      From-SVN: r236771
      e79136e4
    • Wilco Dijkstra's avatar
      SIMD operations like combine prefer to have their operands in FP registers, · 5e4d7abe
      Wilco Dijkstra authored
      so increase the cost of integer registers slightly to avoid unnecessary int<->FP
      moves. This improves register allocation of scalar SIMD operations.
      
              * config/aarch64/aarch64-simd.md (aarch64_combinez):
              Add ? to integer variant.
              (aarch64_combinez_be): Likewise.
      
      From-SVN: r236770
      5e4d7abe
    • Thomas Preud'homme's avatar
      Skip tail call tests on Thumb-1 targets · ffa8b552
      Thomas Preud'homme authored
      2016-05-26  Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
          gcc/testsuite/
          * gcc.dg/plugin/plugin.exp: skip tail call tests for Thumb-1.
      
      From-SVN: r236769
      ffa8b552
    • Chung-Lin Tang's avatar
      target.c (gomp_device_copy): New function. · 6ce13072
      Chung-Lin Tang authored
      libgomp/
      2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	* target.c (gomp_device_copy): New function.
      	(gomp_copy_host2dev): Likewise.
      	(gomp_copy_dev2host): Likewise.
      	(gomp_free_device_memory): Likewise.
      	(gomp_map_vars_existing): Adjust to call gomp_copy_host2dev.
      	(gomp_map_pointer): Likewise.
      	(gomp_map_vars): Adjust to call gomp_copy_host2dev, handle
      	NULL value from alloc_func plugin hook.
      	(gomp_unmap_tgt): Adjust to call gomp_free_device_memory.
      	(gomp_copy_from_async): Adjust to call gomp_copy_dev2host.
      	(gomp_unmap_vars): Likewise.
      	(gomp_update): Adjust to call gomp_copy_dev2host and
      	gomp_copy_host2dev functions.
      	(gomp_unload_image_from_device): Handle false value from
      	unload_image_func plugin hook.
      	(gomp_init_device): Handle false value from init_device_func
      	plugin hook.
      	(gomp_exit_data): Adjust to call gomp_copy_dev2host.
      	(omp_target_free): Adjust to call gomp_free_device_memory.
      	(omp_target_memcpy): Handle return values from host2dev_func,
      	dev2host_func, and dev2dev_func plugin hooks.
      	(omp_target_memcpy_rect_worker): Likewise.
      	(gomp_target_fini): Handle false value from fini_device_func
      	plugin hook.
      	* libgomp.h (struct gomp_device_descr): Adjust return type of
      	init_device_func, fini_device_func, unload_image_func, free_func,
      	dev2host_func,host2dev_func, and dev2dev_func plugin hooks to 'bool'.
      	* oacc-init.c (acc_shutdown_1): Handle false value from
      	fini_device_func plugin hook.
      	* oacc-host.c (host_init_device): Change return type to bool.
      	(host_fini_device): Likewise.
      	(host_unload_image): Likewise.
      	(host_free): Likewise.
      	(host_dev2host): Likewise.
      	(host_host2dev): Likewise.
      	* oacc-mem.c (acc_free): Handle plugin hook fatal error case.
      	(acc_memcpy_to_device): Likewise.
      	(acc_memcpy_from_device): Likewise.
      	(delete_copyout): Add libfnname parameter, handle free_func
      	hook fatal error case.
      	(acc_delete): Adjust delete_copyout call.
      	(acc_copyout): Likewise.
      	(update_dev_host): Move gomp_mutex_unlock to after
      	host2dev/dev2host hook calls.
      
      	* plugin/plugin-hsa.c (hsa_warn): Adjust 'hsa_error' local variable
      	to 'hsa_error_msg', for clarity.
      	(hsa_fatal): Likewise.
      	(hsa_error): New function.
      	(init_hsa_context): Change return type to bool, adjust to return
      	false on error.
      	(GOMP_OFFLOAD_get_num_devices): Adjust to handle init_hsa_context
      	return value.
      	(GOMP_OFFLOAD_init_device): Change return type to bool, adjust to
      	return false on error.
      	(get_agent_info): Adjust to return NULL on error.
      	(destroy_hsa_program): Change return type to bool, adjust to
      	return false on error.
      	(GOMP_OFFLOAD_load_image): Adjust to return -1 on error.
      	(destroy_module): Change return type to bool, adjust to
      	return false on error.
      	(GOMP_OFFLOAD_unload_image): Likewise.
      	(GOMP_OFFLOAD_fini_device): Likewise.
      	(GOMP_OFFLOAD_alloc): Change to return NULL when called.
      	(GOMP_OFFLOAD_free): Change to return false when called.
      	(GOMP_OFFLOAD_dev2host): Likewise.
      	(GOMP_OFFLOAD_host2dev): Likewise.
      	(GOMP_OFFLOAD_dev2dev): Likewise.
      
      	* plugin/plugin-nvptx.c (CUDA_CALL_ERET): New convenience macro.
      	(CUDA_CALL): Likewise.
      	(CUDA_CALL_ASSERT): Likewise.
      	(map_init): Change return type to bool, use CUDA_CALL* macros.
      	(map_fini): Likewise.
      	(init_streams_for_device): Change return type to bool, adjust
      	call to map_init.
      	(fini_streams_for_device): Change return type to bool, adjust
      	call to map_fini.
      	(select_stream_for_async): Release stream_lock before calls to
      	GOMP_PLUGIN_fatal, adjust call to map_init.
      	(nvptx_init): Use CUDA_CALL* macros.
      	(nvptx_attach_host_thread_to_device): Change return type to bool,
      	use CUDA_CALL* macros.
      	(nvptx_open_device): Use CUDA_CALL* macros.
      	(nvptx_close_device): Change return type to bool, use CUDA_CALL*
      	macros.
      	(nvptx_get_num_devices): Use CUDA_CALL* macros.
      	(link_ptx): Change return type to bool, use CUDA_CALL* macros.
      	(nvptx_exec): Use CUDA_CALL* macros.
      	(nvptx_alloc): Use CUDA_CALL* macros.
      	(nvptx_free): Change return type to bool, use CUDA_CALL* macros.
      	(nvptx_host2dev): Likewise.
      	(nvptx_dev2host): Likewise.
      	(nvptx_wait): Use CUDA_CALL* macros.
      	(nvptx_wait_async): Likewise.
      	(nvptx_wait_all): Likewise.
      	(nvptx_wait_all_async): Likewise.
      	(nvptx_set_cuda_stream): Adjust order of stream_lock acquire,
      	use CUDA_CALL* macros, adjust call to map_fini.
      	(GOMP_OFFLOAD_init_device): Change return type to bool,
      	adjust code accordingly.
      	(GOMP_OFFLOAD_fini_device): Likewise.
      	(GOMP_OFFLOAD_load_image): Adjust calls to
      	nvptx_attach_host_thread_to_device/link_ptx to handle errors,
      	use CUDA_CALL* macros.
      	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust
      	return code.
      	(GOMP_OFFLOAD_alloc): Adjust calls to code to handle error return.
      	(GOMP_OFFLOAD_free): Change return type to bool, adjust calls to
      	handle error return.
      	(GOMP_OFFLOAD_dev2host): Likewise.
      	(GOMP_OFFLOAD_host2dev): Likewise.
      	(GOMP_OFFLOAD_openacc_register_async_cleanup): Use CUDA_CALL* macros.
      	(GOMP_OFFLOAD_openacc_create_thread_data): Likewise.
      
      liboffloadmic/
      2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	* plugin/libgomp-plugin-intelmic.cpp (offload): Change return type
      	to bool, adjust return code.
      	(GOMP_OFFLOAD_init_device): Likewise.
      	(GOMP_OFFLOAD_fini_device): Likewise.
      	(get_target_table): Likewise.
      	(offload_image): Likwise.
      	(GOMP_OFFLOAD_load_image): Adjust call to offload_image(), change
      	to return -1 on error.
      	(GOMP_OFFLOAD_unload_image): Change return type to bool, adjust return
      	code.
      	(GOMP_OFFLOAD_alloc): Likewise.
      	(GOMP_OFFLOAD_free): Likewise.
      	(GOMP_OFFLOAD_host2dev): Likewise.
      	(GOMP_OFFLOAD_dev2host): Likewise.
      	(GOMP_OFFLOAD_dev2dev): Likewise.
      
      From-SVN: r236768
      6ce13072
    • Jakub Jelinek's avatar
      re PR tree-optimization/71280 (ICE on gcc trunk on knl, wsm, ivb and bdw targets) · 1875b9a0
      Jakub Jelinek authored
      	PR tree-optimization/71280
      	* gcc.dg/pr71280.c: New test.
      
      From-SVN: r236767
      1875b9a0
    • Chung-Lin Tang's avatar
      gomp-constants.h (GOMP_VERSION): Increment to 1... · 06fca33d
      Chung-Lin Tang authored
      2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>
      
      	include/
      	* gomp-constants.h (GOMP_VERSION): Increment to 1, add comment to
      	describe the need for incrementing this macro whenever the plugin
      	interface is modified.
      
      From-SVN: r236766
      06fca33d
    • Jakub Jelinek's avatar
      sse.md (*vcvtps2ph_store<mask_name>): Use v constraint instead of x constraint. · 2116e19f
      Jakub Jelinek authored
      	* config/i386/sse.md (*vcvtps2ph_store<mask_name>): Use v constraint
      	instead of x constraint.
      	(vcvtps2ph256<mask_name>): Likewise.
      
      	* gcc.target/i386/avx512vl-vcvtps2ph-3.c: New test.
      
      From-SVN: r236765
      2116e19f
    • Jakub Jelinek's avatar
      sse.md (*ssse3_palignr<mode>_perm): Add avx512bw alternative. · 305aef09
      Jakub Jelinek authored
      	* config/i386/sse.md (*ssse3_palignr<mode>_perm): Add avx512bw
      	alternative.  Formatting fix.
      
      	* gcc.target/i386/avx512bw-vpalignr-4.c: New test.
      	* gcc.target/i386/avx512vl-vpalignr-4.c: New test.
      
      From-SVN: r236764
      305aef09
    • Jakub Jelinek's avatar
      * config/i386/sse.md · c7501e00
      Jakub Jelinek authored
      	(<mask_codefor>avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Rename
      	to ...
      	(avx512vl_shuf_<shuffletype>32x4_1<mask_name>): ... this.
      	(*avx_vperm_broadcast_v4sf): Use v constraint instead of x.  Use
      	maybe_evex prefix instead of vex.
      	(*avx_vperm_broadcast_<mode>): Use v constraint instead of x.  Handle
      	EXT_REX_SSE_REG_P (op0) case in the splitter.
      
      	* gcc.target/i386/avx512vl-vbroadcast-3.c: New test.
      
      From-SVN: r236763
      c7501e00
    • Jiong Wang's avatar
      [AArch64, testsuite] Fix vmul_elem_1.c on big-endian · ca449d26
      Jiong Wang authored
      gcc/testsuite/
              * gcc.target/aarch64/simd/vmul_elem_1.c: Force result variables to be
              kept in memory.
      
      From-SVN: r236762
      ca449d26
    • GCC Administrator's avatar
      Daily bump. · 9de98f89
      GCC Administrator authored
      From-SVN: r236761
      9de98f89
  2. May 25, 2016
    • Jeff Law's avatar
      re PR tree-optimization/71272 (internal compiler error: in operator[], through... · 8af01c66
      Jeff Law authored
      re PR tree-optimization/71272 (internal compiler error: in operator[], through tree-ssa-threadupdate.c:1981)
      
      	PR tree-optimization/71272
      	* tree-ssa-threadbackward.c (convert_and_register_jump_thread_path):
      	Update comments.  Add test for empty path.
      
      	PR tree-optimization/71272
      	* gcc.c-torture/compile/pr71272.c: new test.
      
      From-SVN: r236755
      8af01c66
    • Bill Seurer's avatar
      This patch adds support for the vec_cmpne altivec builtins from the Power... · f9d6ce73
      Bill Seurer authored
      This patch adds support for the vec_cmpne altivec builtins from the Power
      Architecture 64-Bit ELF V2 ABI OpenPOWER ABI for Linux Supplement (16 July
      2015 Version 1.1). There are many of the builtins that are missing and this
      is part of a series of patches to add them.
      
      There aren't instructions for vec_cmpne so the output code is built from other
      built-ins that do have instructions which in this case is the following.
      
      vec_cmpneq (va, vb) == vec_nor (vec_cmpeq (va, vb), vec_cmpeq (va, vb))
      
      The new test cases are executable tests which verify that the generated
      code produces expected values. C macros were used so that the same
      test case could be used for both the signed and unsigned versions of various
      basic types. A separate executable test case is used for the long long versions
      of vec_cmpne because of some differences in loading and storing the vectors.
      
      [gcc]
      
      2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.h (vec_cmpne): Add #define for vec_cmpne.
      	* config/rs6000/rs6000-builtin.def (vec_cmpne): Add vec_cmpne as a
      	special case builtin.
      	* config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
      	code for ALTIVEC_BUILTIN_VEC_CMPNE.
      	* config/rs6000/rs6000.c (altivec_init_builtins): Add definition
      	for __builtin_vec_cmpne.
      
      [gcc/testsuite]
      
      2016-05-25  Bill Seurer  <seurer@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/vec-cmpne.c: New test.
      	* gcc.target/powerpc/vec-cmpne-long.c: New test.
      
      From-SVN: r236753
      f9d6ce73
    • Eric Botcazou's avatar
      tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove redundant test... · a88a7b22
      Eric Botcazou authored
      tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove redundant test and bail out if the type of the new operand is not a...
      
      	* tree-ssa-phiopt.c (factor_out_conditional_conversion): Remove
      	redundant test and bail out if the type of the new operand is not
      	a GIMPLE register type after stripping a VIEW_CONVERT_EXPR.
      
      From-SVN: r236748
      a88a7b22
    • Senthil Kumar Selvaraj's avatar
      Wduplicated-cond-1.c: Use smaller const literal. · 125f02ed
      Senthil Kumar Selvaraj authored
      2016-05-25  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>
      
      	* c-c++-common/Wduplicated-cond-1.c: Use smaller const literal.
      	* c-c++-common/pr60226.c: Require int32plus.
      	* gcc.c-torture/execute/pr70602.c: Likewise.
      	* gcc.dg/Warray-bounds-11.c: Use __SIZE_TYPE__ instead of
      	unsigned long for malloc arg type.
      	* gcc.dg/asr_div1.c: Require int32plus.
      	* gcc.dg/enum-mode-1.c: XFAIL for int16.
      	* gcc.dg/pie-1.c: Require pie.
      	* gcc.dg/pie-2.c: Likewise.
      	* gcc.dg/pr59471.c: Require int32plus.
      	* gcc.dg/pr59963-2.c: XFAIL for int16.
      	* gcc.dg/pr60114.c: Require int32plus.
      	* gcc.dg/pr62090-2.c: Use __SIZE_TYPE__ instead of
      	unsigned long for typedef of size_t.
      	* gcc.dg/pr63914.c: Require int32plus.
      	* gcc.dg/pr64536.c: Require pt32plus.
      	* gcc.dg/pr65658.c: Likewise.
      	* gcc.dg/pr67271.c: Require int32plus.
      	* gcc.dg/pr68112.c: Likewise.
      	* gcc.dg/pr69071.c: Skip for avr target.
      	* gcc.dg/pr69973.c: Require int32plus.
      	* gcc.dg/pr70169.c: Skip for avr target.
      	* gcc.dg/sso-6.c: Require int32plus.
      	* gcc.dg/sso-7.c: Likewise.
      	* gcc.dg/sso-8.c: Likewise.
      	* gcc.dg/vrp-min-max-2.c: Likewise.
      
      From-SVN: r236741
      125f02ed
    • Uros Bizjak's avatar
      re PR target/70738 (Add -mgeneral-regs-only option) · c6e434f5
      Uros Bizjak authored
      	PR target/70738
      	* common/config/i386/i386-common.c
      	(OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New.
      	(ix86_handle_option) <case OPT_mgeneral_regs_only>: Disable
      	MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only.
      	* config/i386/i386.opt (ix86_target_flags): Add new Variable.
      	(-mgeneral-regs-only): Add new option.
      	* config/i386/i386.c (ix86_option_override_internal): Don't enable
      	x87 instructions if only general registers are allowed.
      	(ix86_target_string): Add ix86_flags argument. Handle additional
      	flags options through ix86_flags argument.  Update all callers.
      	* doc/invoke.texi: Document -mgeneral-regs-only.
      
      testsuite/ChangeLog:
      
      	PR target/70738
      	* gcc.target/i386/pr70738-1.c: New test.
      	* gcc.target/i386/pr70738-2.c: Likewise.
      	* gcc.target/i386/pr70738-3.c: Likewise.
      	* gcc.target/i386/pr70738-4.c: Likewise.
      	* gcc.target/i386/pr70738-5.c: Likewise.
      	* gcc.target/i386/pr70738-6.c: Likewise.
      	* gcc.target/i386/pr70738-7.c: Likewise.
      	* gcc.target/i386/pr70738-8.c: Likewise.
      	* gcc.target/i386/pr70738-9.c: Likewise.
      
      From-SVN: r236738
      c6e434f5
    • Jason Merrill's avatar
      Fix comment. · 0ab22eb3
      Jason Merrill authored
      From-SVN: r236737
      0ab22eb3
    • Jason Merrill's avatar
      PR c++/71173 - wrong qualified lookup · 1b22fc54
      Jason Merrill authored
      	PR c++/70522
      	* cp-tree.h (enum tag_types): Add scope_type.
      	* parser.c (cp_parser_class_name): Use scope_type.
      	(prefer_type_arg): Handle scope_type.
      	(cp_parser_lookup_name): Use prefer_type_arg.
      	* name-lookup.c (lookup_qualified_name): Change bool is_type_p to
      	int prefer_type, use lookup_flags.
      	* name-lookup.h: Adjust.
      
      From-SVN: r236736
      1b22fc54
    • Joseph Myers's avatar
      * ru.po: Update. · 04080f22
      Joseph Myers authored
      From-SVN: r236732
      04080f22
    • Jonathan Wakely's avatar
      Fix configure test for sendfile() · c42d2288
      Jonathan Wakely authored
      	* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile.
      	* configure: Regenerate.
      	* config.h.in: Regenerate.
      
      From-SVN: r236730
      c42d2288
    • Kyrylo Tkachov's avatar
      [RTL ifcvt] PR rtl-optimization/66940: Avoid signed overflow in noce_get_alt_condition · 5c42d341
      Kyrylo Tkachov authored
      	PR rtl-optimization/66940
      	* ifcvt.c (noce_get_alt_condition): Check that incrementing or
      	decrementing desired_val will not overflow before performing these
      	operations.
      
      	* gcc.c-torture/execute/pr66940.c: New test.
      
      From-SVN: r236728
      5c42d341
    • Ilya Verbin's avatar
      AVX-512F: Add vectorizer support builtins · bf9a1a07
      Ilya Verbin authored
      gcc/
      	* config/i386/i386-builtin-types.def: Add V16SI_FTYPE_V16SF,
      	V8DF_FTYPE_V8DF_ROUND, V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND.
      	* config/i386/i386.c (enum ix86_builtins): Add
      	IX86_BUILTIN_CVTPS2DQ512_MASK, IX86_BUILTIN_FLOORPS512,
      	IX86_BUILTIN_FLOORPD512, IX86_BUILTIN_CEILPS512, IX86_BUILTIN_CEILPD512,
      	IX86_BUILTIN_TRUNCPS512, IX86_BUILTIN_TRUNCPD512,
      	IX86_BUILTIN_CVTPS2DQ512, IX86_BUILTIN_VEC_PACK_SFIX512,
      	IX86_BUILTIN_FLOORPS_SFIX512, IX86_BUILTIN_CEILPS_SFIX512,
      	IX86_BUILTIN_ROUNDPS_AZ_SFIX512.
      	(builtin_description bdesc_args): Add __builtin_ia32_floorps512,
      	__builtin_ia32_ceilps512, __builtin_ia32_truncps512,
      	__builtin_ia32_floorpd512, __builtin_ia32_ceilpd512,
      	__builtin_ia32_truncpd512, __builtin_ia32_cvtps2dq512,
      	__builtin_ia32_vec_pack_sfix512, __builtin_ia32_roundps_az_sfix512,
      	__builtin_ia32_floorps_sfix512, __builtin_ia32_ceilps_sfix512.
      	Change IX86_BUILTIN_CVTPS2DQ512 to IX86_BUILTIN_CVTPS2DQ512_MASK for
      	__builtin_ia32_cvtps2dq512_mask.
      	(ix86_expand_args_builtin): Handle V8DF_FTYPE_V8DF_ROUND,
      	V16SF_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF_ROUND, V16SI_FTYPE_V16SF.
      	(ix86_builtin_vectorized_function): Handle builtins mentioned above.
      	* config/i386/sse.md
      	(<mask_codefor>avx512f_fix_notruncv16sfv16si<mask_name><round_name>):
      	Rename to ...
      	(avx512f_fix_notruncv16sfv16si<mask_name><round_name>): ... this.
      	(<mask_codefor>avx512f_cvtpd2dq512<mask_name><round_name>): Rename
      	to ...
      	(avx512f_cvtpd2dq512<mask_name><round_name>): ... this.
      	(avx512f_vec_pack_sfix_v8df): New define_expand.
      	(avx512f_roundpd512): Rename to ...
      	(avx512f_round<castmode>512): ... this.  Change iterator.
      	(avx512f_roundps512_sfix): New define_expand.
      	(round<mode>2_sfix): Change iterator.
      gcc/testsuite/
      	* gcc.target/i386/avx512f-ceil-vec-1.c: New test.
      	* gcc.target/i386/avx512f-ceil-vec-2.c: New test.
      	* gcc.target/i386/avx512f-ceilf-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-ceilf-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-ceilf-vec-1.c: New test.
      	* gcc.target/i386/avx512f-ceilf-vec-2.c: New test.
      	* gcc.target/i386/avx512f-floor-vec-1.c: New test.
      	* gcc.target/i386/avx512f-floor-vec-2.c: New test.
      	* gcc.target/i386/avx512f-floorf-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-floorf-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-floorf-vec-1.c: New test.
      	* gcc.target/i386/avx512f-floorf-vec-2.c: New test.
      	* gcc.target/i386/avx512f-rint-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-rint-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-rintf-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-rintf-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-round-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-round-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-roundf-sfix-vec-1.c: New test.
      	* gcc.target/i386/avx512f-roundf-sfix-vec-2.c: New test.
      	* gcc.target/i386/avx512f-trunc-vec-1.c: New test.
      	* gcc.target/i386/avx512f-trunc-vec-2.c: New test.
      	* gcc.target/i386/avx512f-truncf-vec-1.c: New test.
      	* gcc.target/i386/avx512f-truncf-vec-2.c: New test.
      
      From-SVN: r236709
      bf9a1a07
    • Marek Polacek's avatar
      re PR c/71266 (gcc ICE on x86_64-linux-gnu in "store_parm_decls_oldstyle") · a23faf7a
      Marek Polacek authored
      	PR c/71266
      	* c-decl.c (store_parm_decls_oldstyle): Skip non-PARM_DECLs.
      
      	* gcc.dg/noncompile/old-style-parm-3.c: New test.
      
      From-SVN: r236708
      a23faf7a
    • Marek Polacek's avatar
      re PR c/71265 (gcc ICE on x86_64-linux-gnu with “seg fault”) · 95efe6b6
      Marek Polacek authored
      	PR c/71265
      	* c-decl.c (c_make_fname_decl): Don't check seen_error.
      
      	* gcc.dg/noncompile/pr71265.c: New test.
      
      From-SVN: r236707
      95efe6b6
    • Joseph Myers's avatar
      * ru.po: Update. · be650bb9
      Joseph Myers authored
      From-SVN: r236705
      be650bb9
    • Nick Clifton's avatar
      msp430.c (msp430_attr): Produce an error if a static interrupt handler is detected. · e56989ff
      Nick Clifton authored
      	* config/msp430/msp430.c (msp430_attr): Produce an error if a
      	static interrupt handler is detected.
      	* config/msp430/msp430.h (LIB_SPEC): Do not use msp430.ld as the
      	default linker script.
      	* config/msp430/msp430.md (movpsihi2_lo): New pattern for loading
      	the low part of a symbolic pointer.
      
      From-SVN: r236704
      e56989ff
    • Nathan Sidwell's avatar
      crt0.s: Delete. · 69a6d5ad
      Nathan Sidwell authored
      	libgcc/
      	* config/nvptx/crt0.s: Delete.
      	* config/nvptx/crt0.c: New.
      	* t-nvptx: Update.
      
      	gcc/testsuite/
      	* gcc.c-torture/execute/921110-1.c: Fix abort decl.
      	add missing 2016-05-20  Nathan Sidwell  <nathan@acm.org> entry
      
      From-SVN: r236702
      69a6d5ad
    • Richard Biener's avatar
      re PR tree-optimization/71261 (Trunk GCC hangs on knl and broadwell targets) · 3072d4ea
      Richard Biener authored
      2016-05-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71261
      	* tree-if-conv.c (ifcvt_split_def_stmt): Walk uses on the
      	interesting stmt instead of immediate uses when looking
      	for the use operand to replace.
      
      	* c-c++-common/torture/pr71261.c: New testcase.
      
      From-SVN: r236701
      3072d4ea
    • Martin Liska's avatar
      Fix dump output typo · a86f2f6f
      Martin Liska authored
      	* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'.
      
      From-SVN: r236700
      a86f2f6f
    • Richard Biener's avatar
      re PR tree-optimization/71264 (ICE in convert_move) · e412ece4
      Richard Biener authored
      2016-05-25  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71264
      	* tree-vect-stmts.c (vect_init_vector): Properly deal with
      	vector type val.
      
      	* gcc.dg/vect/pr71264.c: New testcase.
      
      From-SVN: r236699
      e412ece4
    • Paolo Carlini's avatar
      re PR c++/55992 (constexpr static member function not recognised in templated using statement) · b9e551ad
      Paolo Carlini authored
      2016-05-25  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/55992
      	* g++.dg/cpp0x/alias-decl-53.C: New.
      	* g++.dg/cpp0x/alias-decl-54.C: Likewise.
      
      From-SVN: r236698
      b9e551ad
    • Jonathan Wakely's avatar
      Remove _GLIBCXX14_USE_CONSTEXPR · 834f4c43
      Jonathan Wakely authored
      	* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): Remove it.
      	* include/bits/hashtable_policy.h (_Power2_rehash_policy::_M_next_bkt):
      	Remove const qualification on function. Replace
      	_GLIBCXX14_USE_CONSTEXPR on automatic variables with const.
      	(_Power2_rehash_policy::_M_need_rehash): Remove const qualification.
      	(_Power2_rehash_policy::_M_next_bkt): Remove mutable specifier.
      
      From-SVN: r236697
      834f4c43
    • Martin Liska's avatar
      re PR tree-optimization/71239 (ICE in operand_equal_p (fold-const.c:2769)) · 6aa1abe5
      Martin Liska authored
      Fix PR tree-optimization/71239.
      
      	* g++.dg/pr71239.C: New test.
      	PR tree-optimization/71239
      	* tree.c (array_at_struct_end_p): Do not call operand_equal_p
      	if DECL_SIZE is NULL.
      
      From-SVN: r236696
      6aa1abe5
    • Richard Biener's avatar
      timevar.def (TV_TREE_LOOP_IFCVT): Add. · 6ca8e33c
      Richard Biener authored
      2016-05-25  Richard Biener  <rguenther@suse.de>
      
      	* timevar.def (TV_TREE_LOOP_IFCVT): Add.
      	* tree-if-conv.c (pass_data_if_conversion): Use it.
      
      From-SVN: r236695
      6ca8e33c
    • Paolo Carlini's avatar
      lambda-generic-static1.C: Use target c++14. · 021fad86
      Paolo Carlini authored
      2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
      	* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.
      
      From-SVN: r236694
      021fad86
    • Richard Biener's avatar
      pr58135.c: Rename to ... · 842d162e
      Richard Biener authored
      2016-05-25  Richard Biener  <rguenther@suse.de>
      
      	* gcc/testsuite/gcc.dg/vect/pr58135.c: Rename to ...
      	* gcc/testsuite/gcc.dg/vect/bb-slp-pr58135.c: ... this.
      
      From-SVN: r236693
      842d162e
Loading