- 30 Jan, 2018 7 commits
-
-
LRA was using a subreg offset of 0 whenever constraints matched two operands with different modes. That leads to an invalid offset (and ICE) on big-endian targets if one of the modes is narrower than a word. E.g. if a (reg:SI X) is matched to a (reg:QI Y), the big-endian subreg should be (subreg:QI (reg:SI X) 3) rather than (subreg:QI (reg:SI X) 0). But this raises the issue of what the behaviour should be when the matched operands occupy different numbers of registers. Should the register numbers match, or should the locations of the lsbs match? Although the documentation isn't clear, reload went for the second interpretation (which seems the most natural to me): /* On a REG_WORDS_BIG_ENDIAN machine, point to the last register of a multiple hard register group of scalar integer registers, so that for example (reg:DI 0) and (reg:SI 1) will be considered the same register. */ So I think this means that we can/must use the lowpart offset unconditionally, rather than trying to separate out the multi-register case. This also matches the LRA handling of constant integers, which already uses lowpart subregs. The patch fixes gcc.target/aarch64/sve/extract_[34].c for aarch64_be. 2018-01-30 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * lra-constraints.c (match_reload): Use subreg_lowpart_offset rather than 0 when creating partial subregs. From-SVN: r257177
Richard Sandiford committed -
2018-01-30 Richard Sandiford <richard.sandiford@linaro.org> gcc/ * vec-perm-indices.c (vec_perm_indices::series_p): Give examples of usage. From-SVN: r257176
Richard Sandiford committed -
This test fails to optimise away the PLUS reduction in the loop on arm targets when vectorisation is not enabled due to absence of SIMD instructions. From reading the logs and the PR I gather that the presence or absence of SIMD affects the passing of this test on other targets as well, as evidenced by the long list of xfail targets. This list looks quite unwieldy to me, but here is a patch adding non-NEON arm to that list. * gcc.dg/tree-ssa/ssa-dom-cse-2.c: XFAIL on !arm_neon arm targets. From-SVN: r257175
Kyrylo Tkachov committed -
gcc/testsuite PR target/83828 * gcc.target/i386/avx512bitalg-vpopcntb-1.c: Fix test. * gcc.target/i386/avx512bitalg-vpopcntw-1.c: Ditto. * gcc.target/i386/avx512bitalgvl-vpopcntb-1.c: Ditto. * gcc.target/i386/avx512bitalgvl-vpopcntw-1.c: Ditto. From-SVN: r257173
Kirill Yukhin committed -
PR testsuite/81010 * gcc.target/powerpc/pr56605.c: Update various dg- directives to better match other tests which require vsx. Verify the zero extension is part of the test in the combiner dump. From-SVN: r257172
Jeff Law committed -
CL 84555 added support for the SuperH architecture, but didn't add the randomTrap definition to be used for the getrandom syscall on Linux. Add it now. Reviewed-on: https://go-review.googlesource.com/90535 From-SVN: r257171
Ian Lance Taylor committed -
From-SVN: r257170
GCC Administrator committed
-
- 29 Jan, 2018 18 commits
-
-
PR libgomp/84096 * omp.h.in (omp_init_nest_lock_with_hint): Use omp_nest_lock_t instead of omp_lock_t. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r257167
Christoph Spiel committed -
2018-01-29 Michael Meissner <meissner@linux.vnet.ibm.com> PR target/81550 * config/rs6000/rs6000.c (rs6000_setup_reg_addr_masks): If DFmode and SFmode can go in Altivec registers (-mcpu=power7 for DFmode, -mcpu=power8 for SFmode) don't set the PRE_INCDEC or PRE_MODIFY flags. This restores the settings used before the 2017-07-24. Turning off pre increment/decrement/modify allows IVOPTS to optimize DF/SF loops where the index is an int. From-SVN: r257166
Michael Meissner committed -
The compiler skips the escape analysis pass if it has seen any errors. The write barrier pass, especially the check-escapes portion, relies on escape analysis running. So don't run this pass if there have been any errors, as it may cause further unreliable error reports. Reviewed-on: https://go-review.googlesource.com/90575 From-SVN: r257163
Ian Lance Taylor committed -
* cvt.c (cp_convert_to_pointer): Always build a CONVERT_EXPR when !dofold. From-SVN: r257161
Jason Merrill committed -
PR c++/83996 * constexpr.c (cxx_fold_indirect_ref): Compute ((foo *)&fooarray)[1] => fooarray[1] in offset_int. * g++.dg/ext/pr83996.C: New test. From-SVN: r257160
Marek Polacek committed -
PR c/83966 * c-format.c (check_function_format): Check current_function_decl. * gcc.dg/format/Wsuggest-attribute-1.c: New test. From-SVN: r257159
Marek Polacek committed -
gcc/ChangeLog: 2018-01-29 Richard Biener <rguenther@suse.de> Kelvin Nilsen <kelvin@gcc.gnu.org> PR bootstrap/80867 * tree-vect-stmts.c (vectorizable_call): Don't call targetm.vectorize_builtin_md_vectorized_function if callee is NULL. Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org> From-SVN: r257158
Richard Biener committed -
gcc/ChangeLog: 2018-01-22 Carl Love <cel@us.ibm.com> * doc/extend.tex: Fix typo in second arg in __builtin_bcdadd_{lt|eq|gt|ov}, and __builtin_bcdsub_{lt|eq|gt|ov}. From-SVN: r257156
Carl Love committed -
* cvt.c (ocp_convert): Call mark_rvalue_use. From-SVN: r257155
Jason Merrill committed -
re PR libgomp/84086 ([8 Regresssion] segfault in instantiate_scev_r for libgomp.fortran/examples-4/simd-2.f90 -O1) 2018-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/84086 * tree-ssanames.c: Include cfgloop.h and tree-scalar-evolution.h. (flush_ssaname_freelist): When SSA names were released reset the SCEV hash table. From-SVN: r257152
Richard Biener committed -
From-SVN: r257147
Jonathan Wakely committed -
PR libstdc++/83833 * testsuite/26_numerics/random/chi_squared_distribution/83833.cc: Add -ffloat-store to options for m68k and ia32. From-SVN: r257146
Jonathan Wakely committed -
From-SVN: r257143
Jonathan Wakely committed -
* doc/xml/faq.xml: Update copyright years. * doc/html/*: Regenerate. From-SVN: r257142
Jonathan Wakely committed -
PR libstdc++/83658 * include/std/any (any::__do_emplace): Only set _M_manager after constructing the contained object. * testsuite/20_util/any/misc/any_cast_neg.cc: Adjust dg-error line. * testsuite/20_util/any/modifiers/83658.cc: New test. From-SVN: r257141
Jonathan Wakely committed -
2018-01-29 Richard Biener <rguenther@suse.de> PR tree-optimization/84057 * tree-ssa-loop-ivcanon.c (unloop_loops): Deal with already removed paths when removing edges. * gcc.dg/graphite/pr84057.c: New testcase. From-SVN: r257139
Richard Biener committed -
re PR fortran/84073 (In -fc-prototypes fixed (nonzero) length strings are mapped to plain char in prototype.) 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84073 * resolve.c (resolve_component): Ensure BIND(C) character components have length one. (resolve_symbol): Likewise for variables. 2017-01-29 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/84073 * gfortran.dg/bind_c_usage_31.f90: New test. From-SVN: r257138
Thomas Koenig committed -
From-SVN: r257134
GCC Administrator committed
-
- 28 Jan, 2018 2 commits
-
-
2018-01-27 Paolo Carlini <paolo.carlini@oracle.com> PR c++/83924 * g++.dg/warn/Wduplicated-branches5.C: New. From-SVN: r257131
Paolo Carlini committed -
From-SVN: r257130
GCC Administrator committed
-
- 27 Jan, 2018 9 commits
-
-
Reviewed-on: https://go-review.googlesource.com/90295 From-SVN: r257127
Ian Lance Taylor committed -
Reviewed-on: https://go-review.googlesource.com/90295 From-SVN: r257126
Ian Lance Taylor committed -
Fix a typo in doc/invoke.texi. * doc/invoke.texi: Replace -mfunction-return==@var{choice} with -mfunction-return=@var{choice}. From-SVN: r257124
H.J. Lu committed -
PR fortran/84065 * decl.c (add_init_expr_to_sym): Ignore initializers for too large lengths. From-SVN: r257121
Jakub Jelinek committed -
2018-01-27 Bernd Edlinger <bernd.edlinger@hotmail.de> PR diagnostic/84034 * diagnostic-show-locus.c (get_line_width_without_trailing_whitespace): Handle CR like TAB. (layout::print_source_line): Likewise. (test_get_line_width_without_trailing_whitespace): Add test cases. From-SVN: r257120
Bernd Edlinger committed -
PR middle-end/84040 * sched-deps.c (sched_macro_fuse_insns): Return immediately for debug insns. From-SVN: r257119
Jakub Jelinek committed -
* c-cppbuiltin.c (c_cpp_builtins): Use ggc_strdup for the fp_suffix argument. (LAZY_HEX_FP_VALUES_CNT): Define. (lazy_hex_fp_values): Allow up to LAZY_HEX_FP_VALUES_CNT lazy hex fp values rather than just 12. (builtin_define_with_hex_fp_value): Likewise. * include/cpplib.h (enum cpp_builtin_type): Change BT_LAST_USER from BT_FIRST_USER + 31 to BT_FIRST_USER + 63. From-SVN: r257118
Jakub Jelinek committed -
From-SVN: r257117
GCC Administrator committed -
gcc/ * config/riscv/riscv.h (MAX_FIXED_MODE_SIZE): New. From-SVN: r257114
Jim Wilson committed
-
- 26 Jan, 2018 4 commits
-
-
Call message_name when printing a variable for an escape analysis message. This implies changing the AST dumps, which is fine. Reviewed-on: https://go-review.googlesource.com/90296 From-SVN: r257113
Ian Lance Taylor committed -
gcc/po: * gcc.pot: Regenerate. libcpp/po: * cpplib.pot: Regenerate. From-SVN: r257111
Joseph Myers committed -
gcc/ * config/riscv/elf.h (LIB_SPEC): Don't include -lgloss when nosys.specs specified. From-SVN: r257109
Jim Wilson committed -
This patch merges the safe-indirect-jump-1.c and -8.c testcases, since they do the same thing. On the 64-bit and AIX ABIs the indirect call is not a sibcall, since there is code generated after the call (the restore of r2). On the 32-bit non-AIX ABIs it is a sibcall. * gcc.target/powerpc/safe-indirect-jump-1.c: Build on all targets. Make expected output depend on whether we expect sibcalls or not. * gcc.target/powerpc/safe-indirect-jump-8.c: Delete (merged into safe-indirect-jump-1.c). From-SVN: r257108
Segher Boessenkool committed
-