- 03 Feb, 2016 7 commits
-
-
PR target/69118 gcc/ * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"): Fix target. From-SVN: r233103
Kirill Yukhin committed -
Fix the ccmp_1.c test back to use '0' as regular expressions don't work correctly. '0' is right due to compare with zero now printing as 'CMP w0, 0' rather than 'CMP w0, wzr'. 2016-02-03 Wilco Dijkstra <wdijkstr@arm.com> gcc/testsuite/ * gcc.target/aarch64/ccmp_1.c: Fix test issue. From-SVN: r233102
Wilco Dijkstra committed -
gcc/testsuite/ChangeLog: 2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/67451 PR fortran/69418 * gfortran.dg/coarray_allocate_2.f08: New test. * gfortran.dg/coarray_allocate_3.f08: New test. * gfortran.dg/coarray_allocate_4.f08: New test. gcc/fortran/ChangeLog: 2016-02-03 Andre Vehreschild <vehre@gcc.gnu.org> PR fortran/67451 PR fortran/69418 * trans-expr.c (gfc_copy_class_to_class): For coarrays just the pointer is passed. Take it as is without trying to deref the _data component. * trans-stmt.c (gfc_trans_allocate): Take care of coarrays as argument to source=-expression. From-SVN: r233101
Andre Vehreschild committed -
* gcc.dg/vect/vect-outer-1-big-array.c: Drop vect_multiple_sizes; use same scan-tree-dump-times on all platforms. * gcc.dg/vect/vect-outer-1.c: Likewise. * gcc.dg/vect/vect-outer-1a-big-array.c: Likewise. * gcc.dg/vect/vect-outer-1a.c: Likewise. * gcc.dg/vect/vect-outer-1b-big-array.c: Likewise. * gcc.dg/vect/vect-outer-1b.c: Likewise. * gcc.dg/vect/vect-outer-2b.c: Likewise. * gcc.dg/vect/vect-outer-3b.c: Likewise. * gcc.dg/vect/vect-reduc-dot-s8b.c: Likewise. From-SVN: r233100
Alan Lawrence committed -
This fixes the long-standing bug in which the testing package misreports the file/line of an error. Reviewed-on: https://go-review.googlesource.com/19179 From-SVN: r233098
Ian Lance Taylor committed -
Reviewed-on: https://go-review.googlesource.com/19177 From-SVN: r233097
Ian Lance Taylor committed -
From-SVN: r233096
GCC Administrator committed
-
- 02 Feb, 2016 24 commits
-
-
vector-compare-4.c This testcase fails on 32-bit powerpc-linux with Excess errors: /home/segher/src/gcc/gcc/testsuite/c-c++-common/vector-compare-4.c:31:1: warning: GCC vector returned by reference: non-standard ABI extension with no compatibility guarantee Fix this as in vector-compare-2.c . testsuite/ * c-c++-common/vector-compare-4.c: Prune "non-standard ABI extension" warning. From-SVN: r233093
Segher Boessenkool committed -
* wide-int.cc (canonize_uhwi): New function. (wi::divmod_internal): Use it. From-SVN: r233092
Jakub Jelinek committed -
* gcc.target/i386/iamcu/test_empty_structs_and_unions.c: New test. From-SVN: r233090
H.J. Lu committed -
gcc/ * gimplify.c (omp_notice_variable): Add usage check. gcc/testsuite/ * c-c++-common/goacc/routine-5.c: Add tests. From-SVN: r233089
James Norris committed -
gcc/ChangeLog: * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU like LE, GE, LT, GT when emitting relational operator. gcc/testsuite/ChangeLog: * gcc.target/nvptx/unsigned-cmp.c: New test. From-SVN: r233088
Alexander Monakov committed -
* testsuite/libgomp.c/target-31.c: Fix testcase. From-SVN: r233087
Alexander Monakov committed -
* testsuite/libgomp.c/examples-4/teams-3.c: Add missing reduction clause. * testsuite/libgomp.c/examples-4/teams-4.c: Likewise. * testsuite/libgomp.fortran/examples-4/teams-3.f90: Add missing reduction and map clauses. * testsuite/libgomp.fortran/examples-4/teams-4.f90: Likewise. From-SVN: r233086
Alexander Monakov committed -
Improve TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS target hook. It turns out there is another case where the register allocator uses the union of register classes without checking that the cost of the resulting register class is lower than both (see https://gcc.gnu.org/ml/gcc-patches/2015-12/msg01765.html ). This happens when the cost of the best and alternative class are both lower than the memory cost. In this case we typically end up with ALL_REGS as the allocno class, which almost invariably results in bad allocations with many redundant int<->FP moves (which are expensive on various cores). AArch64 is affected by this significantly due to supporting many scalar integer operations in SIMD. Currently the TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS hook forces the class to GENERAL_REGS if the allocno class is ALL_REGS and the register has an integer mode. This is bad if the best class happens to be FP_REGS. To handle this case as well, an extra argument is needed in the hook to pass the best class. If the allocno class is ALL_REGS, but the best class isn't, we use the best class instead (rather than using the mode to force to GENERAL_REGS or FP_REGS). Previously this might happen: r79: preferred FP_REGS, alternative GENERAL_REGS, allocno GENERAL_REGS a1 (r79,l0) best GENERAL_REGS, allocno GENERAL_REGS a1(r79,l0) costs: CALLER_SAVE_REGS:5000,5000 GENERAL_REGS:5000,5000 FP_LO_REGS:0,0 FP_REGS:0,0 ALL_REGS:10000,10000 MEM:9000,9000 The proposed allocno is ALL_REGS (despite having the highest cost!) and is then forced by the hook to GENERAL_REGS because r79 has integer mode. However FP_REGS has the lowest cost. After this patch the choice is as follows: r79: preferred FP_REGS, alternative GENERAL_REGS, allocno FP_REGS a1 (r79,l0) best FP_REGS, allocno FP_REGS As a result it is now no longer a requirement to use register move costs that are larger than the memory move cost. So it will be feasible to use realistic costs for both without a huge penalty. 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> gcc/ * ira-costs.c (find_costs_and_classes): Add extra argument. * target.def (ira_change_pseudo_allocno_class): Add parameter. * targhooks.h (ira_change_pseudo_allocno_class): Likewise. * targhooks.c (ira_change_pseudo_allocno_class): Likewise. * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class) Add best_class parameter, and return it if not ALL_REGS. * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): Add parameter. * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Update target hook. From-SVN: r233084
Wilco Dijkstra committed -
When the cost of GENERAL_REGS and FP_REGS is identical, the register allocator always uses ALL_REGS even when it has a much higher cost. The hook changes the class to either FP_REGS or GENERAL_REGS depending on the mode of the register. This results in better register allocation overall, fewer spills and reduced codesize - particularly in SPEC2006 gamess. 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com> gcc/ * config/aarch64/aarch64.c (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define. (aarch64_ira_change_pseudo_allocno_class): New function. gcc/testsuite/ * gcc.target/aarch64/scalar_shift_1.c (test_corners_sisd_di): Improve force to SIMD register. (test_corners_sisd_si): Likewise. * gcc.target/aarch64/vect-ld1r-compile-fp.c: Remove scan-assembler check for ldr. From-SVN: r233083
Wilco Dijkstra committed -
From-SVN: r233082
James Norris committed -
PR target/67032 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves. From-SVN: r233079
Uros Bizjak committed -
* config/avr/avr.c (avr_option_override): Set PARAM_ALLOW_STORE_DATA_RACES to 1. From-SVN: r233078
Senthil Kumar Selvaraj committed -
2016-02-02 Claudiu Zissulescu <claziss@synopsys.com> * MAINTAINERS (Write After Approval): Add myself. From-SVN: r233077
Claudiu Zissulescu committed -
2016-02-02 Richard Biener <rguenther@suse.de> PR tree-optimization/69595 * match.pd: Add range test simplifications to true/false. * gcc.dg/Warray-bounds-17.c: New testcase. From-SVN: r233076
Richard Biener committed -
gcc/ * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove. * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START instead. libgomp/ * libgomp.map (GOACC_2.0): Remove GOACC_host_data. * oacc-parallel.c (GOACC_host_data): Remove function definition. From-SVN: r233074
Thomas Schwinge committed -
libgomp/ * testsuite/lib/libgomp.exp: Skip hsa offloading for OpenACC test cases. From-SVN: r233073
Thomas Schwinge committed -
libgomp/ * plugin/configfrag.ac (HSA_KMT_LIB, HSA_KMT_LDFLAGS): New variables. * testsuite/libgomp-test-support.exp.in (hsa_runtime_lib) (hsa_kmt_lib): Set variables. * testsuite/lib/libgomp.exp (libgomp_init): Use them to amend always_ld_library_path. * Makefile.in: Regenerate. * configure: Likewise. * testsuite/Makefile.in: Likewise. From-SVN: r233072
Thomas Schwinge committed -
libgomp/ * plugin/configfrag.ac (offload_additional_options) (offload_additional_lib_paths): Don't amend for hsa offloading. * configure: Regenerate. From-SVN: r233071
Thomas Schwinge committed -
libgomp/ * plugin/configfrag.ac: Don't configure for offloading target if we don't build the corresponding plugin. * configure: Regenerate. From-SVN: r233070
Thomas Schwinge committed -
2016-02-02 Richard Biener <rguenther@suse.de> PR tree-optimization/69606 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive info on the result before moving a stmt. * gcc.dg/torture/pr69606.c: New testcase. From-SVN: r233069
Richard Biener committed -
gcc/ 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com> PR middle-end/68542 * config/i386/i386.c (ix86_expand_branch): Add support for conditional branch with vector comparison. * config/i386/sse.md (VI48_AVX): New mode iterator. (define_expand "cbranch<mode>4): Add support for conditional branch with vector comparison. * tree-vect-loop.c (optimize_mask_stores): New function. * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize has_mask_store field of vect_info. * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for vectorized loops having masked stores after vec_info destroy. * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and correspondent macros. (optimize_mask_stores): Add prototype. gcc/testsuite 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com> PR middle-end/68542 * gcc.dg/vect/vect-mask-store-move-1.c: New test. * gcc.target/i386/avx2-vect-mask-store-move1.c: New test. From-SVN: r233068
Yuri Rumyantsev committed -
lqarx RT and stqcx. RS are valid only with even numbered gprs. The predicate to enforce this happens to allow a loophole, closed by this patch. PR target/69548 gcc/ * config/rs6000/predicates.md (quad_int_reg_operand): Don't allow subregs. gcc/testsuite/ * gcc.target/powerpc/pr69548.c: New test. From-SVN: r233065
Alan Modra committed -
From-SVN: r233064
GCC Administrator committed -
Since 4c4a180d lto has turned off flag_pic when linking a fixed position executable. So flag_pic is zero in rs6000_file_start. However, when we get to actually emitting code, flag_pic may be on again. This results in undefined references to ".LCTOC1". PR target/68662 * config/rs6000/rs6000.c (need_toc_init): New var, set it whenever toc_label_name used. (rs6000_file_start): Don't set up toc section here, (rs6000_output_function_epilogue): do so here instead, (rs6000_xcoff_file_start): and here. * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init. (load_toc_aix_di): Likewise. From-SVN: r233061
Alan Modra committed
-
- 01 Feb, 2016 9 commits
-
-
PR rtl-optimization/69592 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function. (cached_nonzero_bits): Use it instead of ARITHMETIC_P. (num_sign_bit_copies_binary_arith_p): New inline function. (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P. * gcc.dg/pr69592.c: New test. From-SVN: r233059
Jakub Jelinek committed -
PR preprocessor/69543 PR c/69558 * c-pragma.c (handle_pragma_diagnostic): Pass input_location instead of loc to control_warning_option. * gcc.dg/pr69543.c: New test. * gcc.dg/pr69558.c: New test. From-SVN: r233058
Jakub Jelinek committed -
From-SVN: r233057
Uros Bizjak committed -
* g++.dg/other/anon5.C (dg-opetions): Use -gdwarf-2 instead of -g. From-SVN: r233056
Uros Bizjak committed -
From-SVN: r233054
Jeff Law committed -
PR tree-optimization/68580 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param. * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths): Do not try to walk through large PHI nodes. From-SVN: r233053
Jeff Law committed -
ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremented above limit... * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false when count is incremented above limit, don't analyze further insns afterwards. From-SVN: r233050
Jakub Jelinek committed -
From-SVN: r233045
Martin Sebor committed -
* omp-low.c (oacc_parse_default_dims): Avoid -Wsign-compare warning, make sure value fits into int rather than just unsigned int. From-SVN: r233044
Jakub Jelinek committed
-