- 24 May, 2016 10 commits
-
-
re PR tree-optimization/71252 (ICE: verify_ssa failed : definition in block 7 does not dominate use in block 6) gcc/testsuite/ChangeLog: 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71252 * gfortran.dg/pr71252.f90: New test. gcc/ChangeLog: 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71252 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Add stmt_to_insert after build_and_add_sum creates new use stmt. From-SVN: r236634
Kugan Vivekanandarajah committed -
vectorizable_load forces peeling for gaps if the vectorisation factor is not a multiple of the group size, since in that case we'd normally load beyond the original scalar accesses but drop the excess elements as part of a following permute: if (loop_vinfo && ! STMT_VINFO_STRIDED_P (stmt_info) && (GROUP_GAP (vinfo_for_stmt (first_stmt)) != 0 || (!slp && vf % GROUP_SIZE (vinfo_for_stmt (first_stmt)) != 0))) This isn't necessary for LOAD_LANES though, since it loads only the data needed and does the permute itself. Tested on aarch64-linux-gnu and x86_64-linux-gnu. gcc/ * tree-vect-stmts.c (vectorizable_load): Reorder checks so that load_lanes/grouped_load classification comes first. Don't check whether the vectorization factor is a multiple of the group size for load_lanes. gcc/testsuite/ * gcc.dg/vect/vect-load-lanes-peeling-1.c: New test. From-SVN: r236632
Richard Sandiford committed -
vectorizable_load had a curious "force_peeling" variable, with no comment explaining why we need it for single-element interleaving but not for other cases. I think it's simply because we weren't initialising the GROUP_GAP correctly for single loads. Tested on aarch64-linux-gnu and x86_64-linux-gnu. gcc/ * tree-vect-data-refs.c (vect_analyze_group_access_1): Set GROUP_GAP for single-element interleaving. * tree-vect-stmts.c (vectorizable_load): Remove force_peeling variable. From-SVN: r236631
Richard Sandiford committed -
2016-05-24 Richard Biener <rguenther@suse.de> PR middle-end/70434 PR c/69504 c-family/ * c-common.h (convert_vector_to_pointer_for_subscript): Rename to ... (convert_vector_to_array_for_subscript): ... this. * c-common.c (convert_vector_to_pointer_for_subscript): Use a VIEW_CONVERT_EXPR to an array type. Rename to ... (convert_vector_to_array_for_subscript): ... this. cp/ * expr.c (mark_exp_read): Handle VIEW_CONVERT_EXPR. * constexpr.c (cxx_eval_array_reference): Handle indexed vectors. * typeck.c (cp_build_array_ref): Adjust. c/ * c-typeck.c (build_array_ref): Do not complain about indexing non-lvalue vectors. Adjust for function name change. * tree-ssa.c (non_rewritable_mem_ref_base): Make sure to mark bases which are accessed with non-invariant indices. * gimple-fold.c (maybe_canonicalize_mem_ref_addr): Re-write constant index ARRAY_REFs of vectors into BIT_FIELD_REFs. * c-c++-common/vector-subscript-4.c: New testcase. * c-c++-common/vector-subscript-5.c: Likewise. From-SVN: r236630
Richard Biener committed -
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/71123 * io/list_read (eat_spaces): Eat '\r' as part of spaces. fix change log From-SVN: r236629
Jerry DeLisle committed -
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR libgfortran/70684 * io/list_read (eat_spaces): Eat '\r' as part of spaces. * gfortran.dg/namelist_90.f: New test From-SVN: r236628
Jerry DeLisle committed -
2016-05-23 Jerry DeLisle <jvdelisle@gcc.gnu.org> PR fortran/66461 * scanner.c (gfc_next_char_literal): Clear end_flag when adjusting current locus back to old_locus. * gfortran.dg/unexpected_eof.f: New test From-SVN: r236627
Jerry DeLisle committed -
* constexpr.c (cxx_eval_call_expression): Check for fun == current_function_decl again. From-SVN: r236625
Jason Merrill committed -
From-SVN: r236623
GCC Administrator committed -
gcc/ChangeLog: 2016-05-24 Kugan Vivekanandarajah <kuganv@linaro.org> PR middle-end/71170 * tree-ssa-reassoc.c (struct operand_entry): Add field stmt_to_insert. (add_to_ops_vec): Add stmt_to_insert. (add_repeat_to_ops_vec): Init stmt_to_insert. (insert_stmt_before_use): New. (transform_add_to_multiply): Remove mult_stmt insertion and add it to ops vector. (get_ops): Init stmt_to_insert. (maybe_optimize_range_tests): Likewise. (rewrite_expr_tree): Insert stmt_to_insert before use stmt. (rewrite_expr_tree_parallel): Likewise. (reassociate_bb): Likewise. From-SVN: r236619
Kugan Vivekanandarajah committed
-
- 23 May, 2016 24 commits
-
-
[gcc] 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/71201 * config/rs6000/altivec.md (altivec_vperm_<mode>_internal): Drop ISA 3.0 xxperm fusion alternative. (altivec_vperm_v8hiv16qi): Likewise. (altivec_vperm_<mode>_uns_internal): Likewise. (vperm_v8hiv4si): Likewise. (vperm_v16qiv8hi): Likewise. [gcc/testsuite] 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> Kelvin Nilsen <kelvin@gcc.gnu.org> * gcc.target/powerpc/p9-permute.c: Run test on big endian as well as little endian. [gcc] 2016-05-23 Michael Meissner <meissner@linux.vnet.ibm.com> Kelvin Nilsen <kelvin@gcc.gnu.org> * config/rs6000/rs6000.c (rs6000_expand_vector_set): Generate vpermr/xxpermr on ISA 3.0. (altivec_expand_vec_perm_le): Likewise. * config/rs6000/altivec.md (UNSPEC_VPERMR): New unspec. (altivec_vpermr_<mode>_internal): Add VPERMR/XXPERMR support for ISA 3.0. Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org> From-SVN: r236617
Michael Meissner committed -
* cp-gimplify.c (cp_fold) [INDIRECT_REF]: Call maybe_undo_parenthesized_ref. From-SVN: r236616
Jason Merrill committed -
* pt.c (tsubst_copy): Just return a local variable from non-template context. Don't call rest_of_decl_compilation for duplicated static locals. (tsubst_decl): Set DECL_CONTEXT of local static from another function. From-SVN: r236615
Jason Merrill committed -
/cp 2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70972 * method.c (forward_parm): Use cp_build_reference_type. /testsuite 2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/70972 * g++.dg/cpp0x/inh-ctor20.C: New. * g++.dg/cpp0x/inh-ctor21.C: Likewise. From-SVN: r236614
Paolo Carlini committed -
* include/debug/safe_iterator.h (_Safe_iterator<>::operator->()): Implement using underlying iterator operator ->. * include/debug/safe_local_iterator.h (_Safe_local_iterator<>::operator->()): Likewise. From-SVN: r236611
François Dumont committed -
/cp 2016-05-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69095 * parser.c (cp_parser_default_argument): Call check_for_bare_parameter_packs. (cp_parser_late_parsing_default_args): Likewise. /testsuite 2016-05-22 Paolo Carlini <paolo.carlini@oracle.com> PR c++/69095 * g++.dg/cpp0x/variadic168.C: New. From-SVN: r236610
Paolo Carlini committed -
/cp 2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> * pt.c (check_for_bare_parameter_packs): Improve error message location for expressions. /testsuite 2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/pr31445.C: Test column number too. * g++.dg/cpp0x/pr32253.C: Likewise. * g++.dg/cpp0x/variadic-ex13.C: Likewise. * g++.dg/cpp0x/variadic36.C: Likewise. From-SVN: r236609
Paolo Carlini committed -
* config/i386/i386.h (IS_STACK_MODE): Enable for TARGET_MIX_SSE_I387. Rewrite using X87_FLOAT_MODE_P and SSE_FLOAT_MODE_P macros. * config/i386/i386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P and FLOAT_CLASS_P macros. Cleanup regclass processing for CONST_DOUBLE_P. (ix86_preferred_output_reload_class): Use IS_STACK_MODE macro. (ix86_rtx_costs): Remove redundant TARGET_80387 check with IS_STACK_MODE macro. * config/i386/i386.md: Replace SSE_FLOAT_MODE_P (DFmode) with TARGET_SSE2. (*movdf_internal): Use IS_STACK_MODE macro. (*movsf_internal): Ditto. From-SVN: r236607
Uros Bizjak committed -
2016-05-23 Marc Glisse <marc.glisse@inria.fr> gcc/ * match.pd (a * (1 << b), ~x & ~y, ~X ^ ~Y, (X ^ Y) ^ Y, ~ (-A), ~ (A - 1), ~(~X >> Y), ~(~X >>r Y)): Relax constraints. gcc/testsuite/ * gcc.dg/fold-notshift-2.c: Adjust. From-SVN: r236601
Marc Glisse committed -
* tree-ssa-threadbackward.c (profitable_jump_thread_path): New function extracted from ... (fsm_find_control_statement_thread_paths): Call it. From-SVN: r236599
Jeff Law committed -
2016-05-23 Martin Jambor <mjambor@suse.cz> PR ipa/71234 * ipa-cp.c (ipa_get_indirect_edge_target_1): Only check value of from_global_constant if t is not NULL. From-SVN: r236598
Martin Jambor committed -
PR c/49859 * common.opt (Wswitch-unreachable): New option. * doc/invoke.texi: Document -Wswitch-unreachable. * gimplify.c (gimplify_switch_expr): Implement the -Wswitch-unreachable warning. * c-c++-common/Wswitch-unreachable-1.c: New test. * gcc.dg/Wswitch-unreachable-1.c: New test. * c-c++-common/goacc/sb-2.c (void foo): Add dg-warning. * g++.dg/cpp0x/lambda/lambda-switch.C (main): Likewise. * g++.dg/gomp/block-10.C: Likewise. * gcc.dg/gomp/block-10.c: Likewise. * g++.dg/gomp/block-9.C: Likewise. * gcc.dg/gomp/block-9.c: Likewise. * g++.dg/gomp/target-1.C: Likewise. * g++.dg/gomp/target-2.C: Likewise. * gcc.dg/gomp/target-1.c: Likewise. * gcc.dg/gomp/target-2.c: Likewise. * g++.dg/gomp/taskgroup-1.C: Likewise. * gcc.dg/gomp/taskgroup-1.c: Likewise. * gcc.dg/gomp/teams-1.c: Likewise. * g++.dg/gomp/teams-1.C: Likewise. * g++.dg/overload/error3.C: Likewise. * g++.dg/tm/jump1.C: Likewise. * g++.dg/torture/pr40335.C: Likewise. * gcc.dg/c99-vla-jump-5.c: Likewise. * gcc.dg/switch-warn-1.c: Likewise. * gcc.dg/Wjump-misses-init-1.c: Use -Wno-switch-unreachable. * gcc.dg/nested-func-1.c: Likewise. * gcc.dg/pr67784-4.c: Likewise. From-SVN: r236597
Marek Polacek committed -
libffi/ PR libffi/65567 * testsuite/lib/libffi.exp (libffi_feature_test): Fix, and simply. From-SVN: r236594
Thomas Schwinge committed -
* tree-ssa-address.c (copy_ref_info): Check NULL TMR_STEP when TMR_INDEX is non-NULL. From-SVN: r236593
Bin Cheng committed -
2016-05-23 Richard Biener <rguenther@suse.de> PR tree-optimization/71230 * tree-ssa-reassoc.c (acceptable_pow_call): Move initial condition... (try_special_add_to_ops): ... here. Always test for single-use. * gfortran.dg/pr71230-1.f90: New testcase. * gfortran.dg/pr71230-2.f90: Likewise. From-SVN: r236591
Richard Biener committed -
2016-05-23 Martin Jambor <mjambor@suse.cz> * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Create an empty default block if a PHI node in the original one would be resized. libgomp/ * testsuite/libgomp.hsa.c/switch-sbr-2.c: New test. From-SVN: r236585
Martin Jambor committed -
Fix PR58135. 2016-05-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com> PR tree-optimization/58135 * tree-vect-slp.c: When group size is not multiple of vector size, allow splitting of store group at vector boundary. 2016-05-23 Venkataramanan Kumar <venkataramanan.kumar@amd.com> * gcc.dg/vect/bb-slp-19.c: Remove XFAIL. * gcc.dg/vect/pr58135.c: Add new. * gfortran.dg/pr46519-1.f: Adjust test case. From-SVN: r236582
Venkataramanan Kumar committed -
re PR c++/53401 ([C++11] internal compiler error: Segmentation fault on infinite argument deduction of constexpr templates) 2016-05-23 Paolo Carlini <paolo.carlini@oracle.com> PR c++/53401 * g++.dg/cpp0x/decltype64.C: New. From-SVN: r236581
Paolo Carlini committed -
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vreinterpret.c: Add fp16 tests. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: Likewise. From-SVN: r236580
Christophe Lyon committed -
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h (result): Add poly64x1_t and poly64x2_t cases if supported. * gcc.target/aarch64/advsimd-intrinsics/compute-ref-data.h (buffer, buffer_pad, buffer_dup, buffer_dup_pad): Likewise. * gcc.target/aarch64/advsimd-intrinsics/p64_p128.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p128.c: New file. * gcc.target/aarch64/advsimd-intrinsics/vreinterpret_p64.c: New file. From-SVN: r236579
Christophe Lyon committed -
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vrnd.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vrnda.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndm.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndn.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndp.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndx.c: New. From-SVN: r236578
Christophe Lyon committed -
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/aarch64/advsimd-intrinsics/vstX_lane.c: Add fp16 tests. From-SVN: r236577
Christophe Lyon committed -
2016-05-23 Christophe Lyon <christophe.lyon@linaro.org> gcc/ * config/arm/arm_neon.h (vtst_p16, vtstq_p16): New. gcc/testsuite/ * gcc.target/aarch64/advsimd-intrinsics/vtst.c: Add tests for vtst_p8, vtstq_p8, vtst_p16 and vtstq_p16. From-SVN: r236576
Christophe Lyon committed -
From-SVN: r236575
GCC Administrator committed
-
- 22 May, 2016 6 commits
-
-
* gcc.target/i386/avx512bw-kunpckdq-1.c (avx512bw_test): Use "m" constraint instead of "r". * gcc.target/i386/avx512f-additional-reg-names.c (foo): Use vpxord insn instead of vxorpd. * gcc.target/i386/strinline.c: Add dg-require-effective-target ia32. From-SVN: r236571
Jakub Jelinek committed -
Revert: gcc/ PR target/70738 * common/config/i386/i386-common.c (OPTION_MASK_ISA_GENERAL_REGS_ONLY_UNSET): New. (ix86_handle_option): Disable MPX, MMX, SSE and x87 instructions for -mgeneral-regs-only. * config/i386/i386.c (ix86_option_override_internal): Don't enable x87 instructions if only the general registers are allowed. * config/i386/i386.opt: Add -mgeneral-regs-only. * doc/invoke.texi: Document -mgeneral-regs-only. gcc/testsuite/ PR target/70738 * gcc.target/i386/pr70738-1.c: Likewise. * 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: r236570
Uros Bizjak committed -
* config/i386/sse.md (vec_set_lo_<mode><mask_name>, vec_set_hi_<mode><mask_name>): Add && <mask_avx512dq_condition> condition. For !TARGET_AVX512DQ, emit 32x4 instruction instead of 64x2. * gcc.target/i386/avx512dq-vinsert-1.c: New test. * gcc.target/i386/avx512vl-vinsert-1.c: New test. From-SVN: r236569
Jakub Jelinek committed -
sse.md (vec_set_lo_v16hi, [...]): Add alternative with v constraint instead of x and vinserti32x4 insn. * config/i386/sse.md (vec_set_lo_v16hi, vec_set_hi_v16hi, vec_set_lo_v32qi, vec_set_hi_v32qi): Add alternative with v constraint instead of x and vinserti32x4 insn. * gcc.target/i386/avx512vl-vinserti32x4-3.c: New test. From-SVN: r236568
Jakub Jelinek committed -
* config/i386/sse.md (i128vldq): New mode iterator. (avx2_vbroadcasti128_<mode>, avx_vbroadcastf128_<mode>): Add avx512dq and avx512vl alternatives. * gcc.target/i386/avx512dq-vbroadcast-2.c: New test. * gcc.target/i386/avx512vl-vbroadcast-2.c: New test. From-SVN: r236567
Jakub Jelinek committed -
* config/i386/sse.md (avx2_vec_dupv4df): Use v instead of x constraint, use maybe_evex prefix instead of vex. (vec_dupv4sf): Use v constraint instead of x for output operand except for noavx alternative, use Yv constraint instead of x for input. Use maybe_evex prefix instead of vex. (*vec_dupv4si): Likewise. (*vec_dupv2di): Likewise. * gcc.target/i386/avx512vl-vbroadcast-1.c: New test. From-SVN: r236566
Jakub Jelinek committed
-