- 26 May, 2016 19 commits
-
-
gcc/cp/ChangeLog: PR c++/70822 PR c++/70106 * cp-tree.h (REF_PARENTHESIZED_P): Make this flag apply to SCOPE_REFs too. * pt.c (tsubst_qualified_id): If REF_PARENTHESIZED_P is set on the qualified_id then propagate it to the resulting expression. (do_auto_deduction): Check REF_PARENTHESIZED_P on SCOPE_REFs too. * semantics.c (force_paren_expr): If given a SCOPE_REF, just set its REF_PARENTHESIZED_P flag. gcc/testsuite/ChangeLog: PR c++/70822 PR c++/70106 * g++.dg/cpp1y/auto-fn32.C: New test. * g++.dg/cpp1y/paren4.C: New test. From-SVN: r236792
Patrick Palka committed -
PR rtl-optimization/71275 * ira.c (ira): Call loop_optimizer_init to set up bb_loop_depth for update_equiv_regs and combine_and_move_insns. From-SVN: r236789
Alan Modra committed -
* config/i386/i386.md (*movqi_internal) <attr "isa">: Use if_then_else or cond RTXes to calculate attribute value. * config/i386/mmx.md (*vec_extractv2sf_1) <attr "prefix_rep">: Ditto. <attr "length_immediate>: Ditto. (*vec_extractv2sf_1) <attr "length_immediate">: Ditto. * config/i386/sse.md (sse_loadlps) <attr "length_immediate">: Ditto. (*vec_concatv2sf_sse4_1) <attr "isa">: Ditto. <attr "type">: Ditto. <attr "prefix_data16">: Ditto. <attr "prefix_extra">: Ditto. <attr "length_immediate">: Ditto. <attr "prefix">: Ditto. (vec_set<mode>_0) <attr "isa">: Ditto. <attr "prefix_extra">: Ditto. <attr "length_immediate">: Ditto. <attr "prefix">: Ditto. (*vec_interleave_highv2df) <attr "prefix_data16">: Ditto. (*vec_interleave_lowv2df) <attr "prefix_data16">: Ditto. (sse2_storelpd) <attr "prefix_data16">: Ditto. (sse2_loadhpd) <attr "prefix_data16">: Ditto. (sse2_loadlpd) <attr "prefix_data16">: Ditto. <attr "length_immediate">: Ditto. <attr "prefix">: Ditto. (sse2_movsd) <attr "length_immediate">: Ditto. <attr "prefix">: Ditto. (vec_concatv2df) <attr "isa">: Ditto. <attr "prefix">: Ditto. (*vec_extractv4si) <attr "prefix_extra">: Ditto. (*vec_extractv2di_1) <attr "isa">: Ditto. <attr "type">: Ditto. <attr "length_immediate">: Ditto. <attr "prefix_rex">: Ditto. <attr "prefix_extra">: Ditto. (*vec_concatv2si_sse4_1) <attr "type">: Ditto. <attr "prefix_extra">: Ditto. <attr "length_immediate">: Ditto. (vec_concatv2di) <attr "isa">: Ditto. <attr "prefix_extra">: Ditto. <attr "length_immediate">: Ditto. <attr "prefix">: Ditto. From-SVN: r236787
Uros Bizjak committed -
* tree-ssa-loop-ivopts.c (comp_cost::infinite_cost_p): New function. (operator+): Likewise. (operator-): Likewise. (comp_cost::operator+=): Likewise. (comp_cost::operator-=): Likewise. (comp_cost::operator/=): Likewise. (comp_cost::operator*=): Likewise. (operator<): Likewise. (operator==): Likewise. (operator<=): Likewise. (new_cost): Remove. (infinite_cost_p): Likewise. (add_costs): Likewise. (sub_costs): Likewise. (compare_costs): Likewise. (set_group_iv_cost): Use the newly introduced functions. (get_address_cost): Likewise. (get_shiftadd_cost): Likewise. (force_expr_to_var_cost): Likewise. (split_address_cost): Likewise. (ptr_difference_cost): Likewise. (difference_cost): Likewise. (get_computation_cost_at): Likewise. (determine_group_iv_cost_generic): Likewise. (determine_group_iv_cost_address): Likewise. (determine_group_iv_cost_cond): Likewise. (autoinc_possible_for_pair): Likewise. (determine_group_iv_costs): Likewise. (cheaper_cost_pair): Likewise. (iv_ca_recount_cost): Likewise. (iv_ca_set_no_cp): Likewise. (iv_ca_set_cp): Likewise. (iv_ca_cost): Likewise. (iv_ca_new): Likewise. (iv_ca_dump): Likewise. (iv_ca_narrow): Likewise. (iv_ca_prune): Likewise. (iv_ca_replace): Likewise. (try_add_cand_for): Likewise. (try_improve_iv_set): Likewise. (find_optimal_iv_set): Likewise. From-SVN: r236785
Martin Liska committed -
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
Richard Sandiford committed -
* 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
Nathan Sidwell committed -
* config/nvptx/free.asm: Delete. * config/nvptx/malloc.asm: Delete. * config/nvptx/realloc.c: Delete. * t-nvptx: Update. From-SVN: r236773
Nathan Sidwell committed -
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
Chung-Lin Tang committed -
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
Wilco Dijkstra committed -
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
Wilco Dijkstra committed -
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
Thomas Preud'homme committed -
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
Chung-Lin Tang committed -
PR tree-optimization/71280 * gcc.dg/pr71280.c: New test. From-SVN: r236767
Jakub Jelinek committed -
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
Chung-Lin Tang committed -
* 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
Jakub Jelinek committed -
* 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
Jakub Jelinek committed -
(<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
Jakub Jelinek committed -
gcc/testsuite/ * gcc.target/aarch64/simd/vmul_elem_1.c: Force result variables to be kept in memory. From-SVN: r236762
Jiong Wang committed -
From-SVN: r236761
GCC Administrator committed
-
- 25 May, 2016 21 commits
-
-
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
Jeff Law committed -
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
Bill Seurer committed -
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
Eric Botcazou committed -
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
Senthil Kumar Selvaraj committed -
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
Uros Bizjak committed -
From-SVN: r236737
Jason Merrill committed -
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
Jason Merrill committed -
From-SVN: r236732
Joseph Myers committed -
* acinclude.m4 (GLIBCXX_CHECK_FILESYSTEM_DEPS): Fix test for sendfile. * configure: Regenerate. * config.h.in: Regenerate. From-SVN: r236730
Jonathan Wakely committed -
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
Kyrylo Tkachov committed -
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
Ilya Verbin committed -
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
Marek Polacek committed -
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
Marek Polacek committed -
From-SVN: r236705
Joseph Myers committed -
* 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
Nick Clifton committed -
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
Nathan Sidwell committed -
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
Richard Biener committed -
* ipa-inline.c (edge_badness): Use 'w/' instead of 'w'. From-SVN: r236700
Martin Liska committed -
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
Richard Biener committed -
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
Paolo Carlini committed -
* 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
Jonathan Wakely committed
-