- 10 Dec, 2017 5 commits
-
-
* ChangeLog: Fix whitespace. * testsuite/ChangeLog: Ditto. From-SVN: r255533
Uros Bizjak committed -
2017-12-10 Dominique d'Humieres <dominiq@lps.ens.fr> PR fortran/53478 * gfortran.h (gfc_find_case_gsymbol): New prototype. * symbol.c (gfc_find_case_gsymbol): New procedure, case insensistive version of gfc_find_gsymbol. * resolve.c (resolve_common_blocks): Use it. Replace %s with %qs where needed. * gfortran.dg/binding_label_tests_4.f03: Update dg-error. * gfortran.dg/binding_label_tests_6.f03: Likewise. * gfortran.dg/binding_label_tests_7.f03: Likewise. * gfortran.dg/binding_label_tests_8.f03: Likewise. * gfortran.dg/binding_label_tests_10_main.f03: Likewise. * gfortran.dg/binding_label_tests_11_main.f03: Likewise. * gfortran.dg/binding_label_tests_13_main.f03: Likewise. * gfortran.dg/test_common_binding_labels_3_main.f03: Likewise. * gfortran.dg/binding_label_tests_29.f90: New test. From-SVN: r255530
Dominique d'Humieres committed -
From-SVN: r255529
Gerald Pfeifer committed -
re PR tree-optimization/83337 (ICE at -O3 x86_64-linux-gnu: in interpret_rhs_expr, at tree-scalar-evolution.c:1775) PR tree-optimization/83337 * gimple-loop-interchange.cc (compute_access_stride): Handle bitfield DRs properly. * gcc.dg/tree-ssa/loop-interchange-14.c: New test. * gcc.dg/tree-ssa/loop-interchange-15.c: New test. From-SVN: r255528
Jakub Jelinek committed -
From-SVN: r255527
GCC Administrator committed
-
- 09 Dec, 2017 5 commits
-
-
2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/82934 PR fortran/83318 * match.c (gfc_match_allocate): Enforce F2008:C631. 2017-12-09 Steven G. Kargl <kargl@gcc.gnu.org> PR fortran/82934 PR fortran/83318 * gfortran.dg/allocate_assumed_charlen_2.f90: new test. From-SVN: r255524
Steven G. Kargl committed -
PR tree-optimization/83338 * tree-vect-stmts.c (vectorizable_operation): Handle POINTER_DIFF_EXPR vectorization as MINUS_EXPR with a subsequent VIEW_CONVERT_EXPR from vector of unsigned integers to vector of signed integers. * gcc.dg/vect/pr83338.c: New test. From-SVN: r255523
Jakub Jelinek committed -
2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83316 * arith.c (gfc_character2character): New function. * arith.h: Add prototype. * simplify.c (gfc_convert_constant): Handle character type. 2017-12-09 Thomas Koenig <tkoenig@gcc.gnu.org> PR fortran/83316 * gfortran.dg/minval_char_5.f90: New test. From-SVN: r255522
Thomas Koenig committed -
libgcc/ * config/riscv/div.S: Use FUNC_* macros. * config/riscv/muldi3.S, config/riscv/multi3.S: Likewise * config/riscv/save-restore.S: Likewise. * config/riscv/riscv-asm.h: New. From-SVN: r255521
Jim Wilson committed -
From-SVN: r255520
GCC Administrator committed
-
- 08 Dec, 2017 28 commits
-
-
2017-12-08 Vladimir Makarov <vmakarov@redhat.com> PR rtl-optimization/83317 * lra-constraints.c (process_address_1): Add insn code check. 2017-12-08 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/83317 * gcc.target/i386/pr83317.c: New test. From-SVN: r255517
Vladimir Makarov committed -
re PR rtl-optimization/81595 (ICE: verify_flow_info failed (error: multiple hot/cold transitions found)) PR rtl-optimization/81595 * gcc.c-torture/compile/pr81595.c: New test. From-SVN: r255516
Jakub Jelinek committed -
Fix PR83323 * gimple-loop-jam (unroll_jam_possible_p): Correct test for head-controlled loops and loop BBs. * common.opt (funroll-and-jam): Remove, instead ... (floop-unroll-and-jam): ... reuse this option. * opts.c (default_options_table): Use OPT_floop_unroll_and_jam. * doc/invoke.texi (-funroll-and-jam): Move docu to ... (-floop-unroll-and-jam): ... this option. testsuite/ * gcc.dg/pr83323.c: New test. * gcc.dg/unroll-and-jam.c: Use -floop-unroll-and-jam. From-SVN: r255514
Michael Matz committed -
ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent. * ipa-polymorphic-call.c (noncall_stmt_may_be_vtbl_ptr_store): Fix a comment typo, get_base_ref_and_offset -> get_ref_base_and_extent. * ipa-prop.c (stmt_may_be_vtbl_ptr_store): Likewise. From-SVN: r255513
Jakub Jelinek committed -
2017-12-08 Richard Biener <rguenther@suse.de> PR middle-end/81782 * tree-ssa-uninit.c (warn_uninitialized_vars): Properly handle accesses outside of zero-sized vars. * gcc.dg/uninit-pr81782.c: New testcase. From-SVN: r255512
Richard Biener committed -
* g++.dg/opt/pr83252.C: Add -mclear-hwcap on *-*-solaris*. From-SVN: r255511
Rainer Orth committed -
2017-12-08 Martin Jambor <mjambor@suse.cz> PR tree-optimization/83141 * tree-sra.c (contains_vce_or_bfcref_p): Move up in the file, also test for MEM_REFs implicitely changing types with padding. Remove inline keyword. (build_accesses_from_assign): Added contains_vce_or_bfcref_p checks. testsuite/ * gcc.dg/tree-ssa/pr83141.c: New test. * gcc.dg/guality/pr54970.c: XFAIL tests querying a[0]. From-SVN: r255510
Martin Jambor committed -
* config/arc/arc.c (arc_attribute_table): Add exclusions to the comment. * config/avr/avr.c (avr_attribute_table): Likewise. * config/msp430/msp430.c (msp430_attribute_table): Likewise. * config/rl78/rl78.c (rl78_attribute_table): Likewise. * config/nds32/nds32.c (nds32_attribute_table): Likewise. * config/darwin.h (SUBTARGET_ATTRIBUTE_TABLE): Initialize new member of struct attribute_spec. * config/i386/cygming.h (SUBTARGET_ATTRIBUTE_TABLE): Likewise. ada/ * gcc-interface/utils.c (gnat_internal_attribute_table): Add exclusions to the comment. brig/ * brig-lang.c (brig_attribute_table): Fix up comment. From-SVN: r255509
Jakub Jelinek committed -
gcc/ PR target/82960 * config/spu/spu.c (pad_bb): Only check INSN_CODE when INSN_P is true. From-SVN: r255508
Ulrich Weigand committed -
* profile-count.c (profile_count::from_gcov_type): Move from profile-count.h; handle overflow. * profile-count. (profile_count::from_gcov_type): Move offline. PR middle-end/83609 * gcc.c-torture/compile/pr83069.c: New testcase. From-SVN: r255507
Jan Hubicka committed -
In PR83304 two insns are combined, where the I2 uses a register that has a REG_DEAD note on an insn after I2 but before I3. In such a case move_deaths should move that death note. But move_deaths only looks at the reg_stat[regno].last_death insn, and that field can be zeroed out (previously, use_crosses_set_p would prevent the combination in this case). If the last_death field is zero it means "unknown", not "no death", so we have to find if there is a REG_DEAD note. PR rtl-optimization/83304 * combine.c (move_deaths): If we do not know where a register died, search for it. From-SVN: r255506
Segher Boessenkool committed -
gimple-loop-interchange.cc (tree_loop_interchange::interchange): Provide -fopt-info-loop feedback when we interchange in a nest. 2017-12-08 Richard Biener <rguenther@suse.de> * gimple-loop-interchange.cc (tree_loop_interchange::interchange): Provide -fopt-info-loop feedback when we interchange in a nest. From-SVN: r255505
Richard Biener committed -
A quirk in the historical naming of some ARMv6 products means that the main CPU name implies the presence or otherwise of the floating point unit. This causes problems when using -mfpu=auto with -mcpu=native: the driver is picking a CPU that does not support a floating-point unit, even though one may well exist. This patch addresses this by selecting the FP-capable names so that FP instructions will be generated if the other options suggest this is permitted. Note that a more complete fix is really needed here to look up the FP/simd capabilities and append the appropriate capability extensions. This will be the subject of some follow-up patches. * config/arm/driver-arm.c (arm_cpu_table): Use fp-capable product names for armv6 ARM CPU IDs. From-SVN: r255504
Richard Earnshaw committed -
When GCC invokes the assembler it generates a sanitized version of the user-specified -march option to pass through, since the assembler does not understand all the new FPU-related architectural options. Unfortunately it goes too far and strips off all the architectural extensions, including some that are unrelated to the -mfpu variant selected. Again, this doesn't really matter when compiling C code because the compiler will override the command-line specified architecture with directives in the assembly file itself, but when using the compiler driver to invoke the assembler the only indiciation of the desired architecture might come from the command line. We fix this by adjusting the canonicalization pass to remove any option that only specifies features that can be expressed by -mfpu (any that go beyond that are already supported by the assembler). We do have to take care to re-order the options, though as the assembler expects feature options to be in a canonical order (unlike the compiler, where ordering is handled left-to-right: there's only a difference if there are negation options, but a canonicalized architecture string shouldn't have any of those). We do this by recording which options we need and then sorting the final list alphabetically. * common/config/arm/arm-common.c: Include <algorithm>. (INCLUDE_VECTOR): Define. (compare_opt_names): New function. (arm_rewrite_selected_arch): Only strip out extensions that can be expressed through -mfpu. Sort the remaining extensions alphabetically. From-SVN: r255503
Richard Earnshaw committed -
When gcc runs with the new -mfpu=auto option (either explicitly or when that's the default behaviour) then this option is not passed through to the assembler as we cannot rely on the assembler understanding it (currently it doesn't understand it at all, but in future that might change). That means that the assembler falls back to its builtin default, which may not correspond to what the user expected based on the command-line options they passed. Normally that wouldn't matter because assembler files generated by the compiler will contain explicit directives that set the FPU type directly and override any internal defaults; but when the compiler driver is used to invoke the assembler directly (because the source file ends in .s or .S) then this might cause a problem if that assumes the FPU matches the compiler. To address this, this patch makes the driver construct a -mfpu= option for the assembler in the same way as the compiler generates an internal .fpu directive. As mentioned, this makes no difference if the assembler file explicitly overrides the command line options, but helps in the case where this is implicit. * config/arm/arm.h (arm_asm_auto_mfpu): Declare. (ASM_CPU_SPEC_FUNCTIONS): Add new rule asm_auto_mfpu. (ASM_CPU_SPEC): Use it if -mfpu is set to auto. * common/config/arm/arm-common.c (arm_asm_auto_mfpu): New function. -- This line, and those below, will be ignored-- M gcc/ChangeLog M gcc/common/config/arm/arm-common.c M gcc/config/arm/arm.h From-SVN: r255502
Richard Earnshaw committed -
2017-06-08 Tristan Gingold <gindold@adacore.com> PR ada/81470 * dwarf2out.c (dwarf2out_do_cfi_startproc): Only emit .cfi_personality or .cfi_lsda if the eh data format is dwarf2. From-SVN: r255501
Tristan Gingold committed -
* config/sol2.h (SOLARIS_ATTRIBUTE_TABLE): Initialize new member of struct attribute_spec. From-SVN: r255500
Rainer Orth committed -
2017-12-08 Richard Biener <rguenther@suse.de> PR tree-optimization/81303 * gfortran.dg/pr81303.f: New testcase. * gfortran.dg/vect/pr81303.f: Likewise. From-SVN: r255499
Richard Biener committed -
gcc/ * config/i386/avx512vnniintrin.h (_mm512_dpwssds_epi32, _mm512_mask_dpwssds_epi32, _mm512_maskz_dpwssds_epi32): New intrinsics. * config/i386/avx512vnnivlintrin.h (_mm256_dpwssds_epi32, _mm256_mask_dpwssds_epi32, _mm256_maskz_dpwssds_epi32, _mm_dpwssds_epi32, _mm_mask_dpwssds_epi32, _mm_maskz_dpwssds_epi32): Ditto. gcc/testsuite/ * gcc.target/i386/avx512f-vnni-1.c: Add checks for vdpdwssds. * gcc.target/i386/avx512vl-vnni-1.c: Ditto. * gcc.target/i386/avx512f-vpdpwssds-2.c: New test. * gcc.target/i386/avx512vl-vpdpwssds-2.c: Ditto. From-SVN: r255498
Julia Koval committed -
2017-12-08 Richard Biener <rguenther@suse.de> PR tree-optimization/81303 * tree-vect-stmts.c (vect_is_simple_cond): For invariant conditions try to create a comparison vector type matching the data vector type. (vectorizable_condition): Adjust. * tree-vect-patterns.c (vect_recog_mask_conversion_pattern): Leave invariant conditions alone in case we can vectorize those. * gcc.target/i386/vectorize9.c: New testcase. * gcc.target/i386/vectorize10.c: New testcase. From-SVN: r255497
Richard Biener committed -
gcc/ * config/i386/avx512vnniintrin.h (_mm512_dpwssd_epi32, _mm512_mask_dpwssd_epi32, _mm512_maskz_dpwssd_epi32): New intrinsics. * config/i386/avx512vnnivlintrin.h (_mm256_dpwssd_epi32, _mm256_mask_dpwssd_epi32, _mm256_maskz_dpwssd_epi32, _mm_dpwssd_epi32, _mm_mask_dpwssd_epi32, _mm_maskz_dpwssd_epi32): Ditto. gcc/testsuite/ * gcc.target/i386/avx512f-vnni-1.c: Add vdpwssd checks. * gcc.target/i386/avx512vl-vnni-1.c: Ditto. * gcc.target/i386/avx512f-vpdpwssd-2.c: New. * gcc.target/i386/avx512vl-vpdpwssd-2.c: Ditto. From-SVN: r255496
Julia Koval committed -
gcc/ * config.gcc: Add vaesintrin.h. * config/i386/i386-builtin-types.def (V64QI_FTYPE_V64QI_V64QI): New type. * config/i386/i386-builtin.def (__builtin_ia32_vaesdec_v16qi, __builtin_ia32_vaesdec_v32qi, __builtin_ia32_vaesdec_v64qi): New builtins. * config/i386/i386.c (ix86_expand_args_builtin): Handle new type. * config/i386/immintrin.h: Include vaesintrin.h. * config/i386/sse.md (vaesdec_<mode>): New pattern. * config/i386/vaesintrin.h (_mm256_aesdec_epi128, _mm512_aesdec_epi128, _mm_aesdec_epi128): New intrinsics. gcc/testsuite/ * gcc.target/i386/avx512-check.h: Handle bit_VAES. * gcc.target/i386/avx512f-aesdec-2.c: New test. * gcc.target/i386/avx512fvl-vaes-1.c: Ditto. * gcc.target/i386/avx512vl-aesdec-2.c: Ditto. * gcc.target/i386/i386.exp (check_effective_target_avx512vaes): New. From-SVN: r255495
Julia Koval committed -
2017-12-07 Sandra Loosemore <sandra@codesourcery.com> gcc/testsuite/ * gcc.target/nios2/const-addr-1.c: New. * gcc.target/nios2/const-addr-2.c: New. * gcc.target/nios2/const-addr-3.c: New. From-SVN: r255494
Sandra Loosemore committed -
2017-12-07 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.md (ld<bhw_uns>io): Add splitter for memory operand. (ld<bh>io_signed): Likewise. (st<bhw>io): Likewise. * config/nios2/predicates.md (ldstio_memory_operand): Allow SMALL_INT12 constant integer operand. From-SVN: r255493
Sandra Loosemore committed -
2017-12-07 Sandra Loosemore <sandra@codesourcery.com> gcc/ * config/nios2/nios2.c (nios2_symbolic_constant_allowed): Rename to... (nios2_large_constant_allowed): ...this. Adjust uses. (nios2_plus_symbolic_constant_p): Rename to... (nios2_plus_large_constant_p): ...this. Adjust uses. (nios2_legitimate_address_p): Correct CONST_INT handling. (nios2_symbolic_memory_operand_p): Rename to... (nios2_large_constant_memory_operand_p): ...this. Adjust uses. (nios2_large_constant_p): Check for large constant integers too. (nios2_split_large_constant): Handle constant integers. (nios2_split_symbolic_memory_operand): Rename to... (nios2_split_large_constant_memory_operand): ...this. Adjust uses. (nios2_legitimize_constant_address): Handle constant integers. (r0rel_constant_p): Handle small constant integers. (nios2_print_operand_address): Handle r0-relative integer addresses. * config/nios2/nios2-protos.h: Adjust for renamed functions. * config/nios2/nios2.md: Adjust for renamed functions. From-SVN: r255492
Sandra Loosemore committed -
2017-12-07 Andrew Waterman <andrew@sifive.com> gcc/ * config/riscv/riscv.c (TARGET_ASM_SELECT_SECTION): New define. (TARGET_HAVE_SRODATA_SECTION): New define. (riscv_select_section): New function. From-SVN: r255491
Andrew Waterman committed -
From-SVN: r255490
GCC Administrator committed -
PR target/83252 * gcc.target/i386/i386.exp (check_effective_target_bmi2): Moved to ... * lib/target-supports.exp (check_effective_target_bmi2): ... here. Guard with i?86-*-* x86_64-*-*. * g++.dg/opt/pr83252.C: New test. From-SVN: r255487
Jakub Jelinek committed
-
- 07 Dec, 2017 2 commits
-
-
PR target/81906 * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math. * gcc.target/i386/pr81906.c: New test. From-SVN: r255486
Jakub Jelinek committed -
PR tree-optimization/83075 * gcc.dg/tree-ssa/strncpy-2.c: Use size_t instead of unsigned, add separate function with noipa attribute to also verify behavior when optimizers don't know the sizes and aliasing, verify resulting sizes and array content. Add -Wstringop-overflow to dg-options. * gcc.dg/tree-ssa/strncat.c: Likewise. From-SVN: r255485
Jakub Jelinek committed
-