]> git.ipfire.org Git - thirdparty/gcc.git/log
thirdparty/gcc.git
8 years agotestsuite: attr-alloc_size-11.c (PR79356)
segher [Fri, 10 Mar 2017 15:23:06 +0000 (15:23 +0000)] 
testsuite: attr-alloc_size-11.c (PR79356)

As stated in the PR (and elsewhere), this test now passes on aarch64,
ia64, mips, powerpc, sparc, and s390x.  This patch disables the xfails
for those targets.

PR testsuite/79356
* gcc.dg/attr-alloc_size-11.c: Don't xfail on aarch64, ia64, mips,
powerpc, sparc, or s390x.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246032 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/79907
pthaugen [Fri, 10 Mar 2017 14:32:42 +0000 (14:32 +0000)] 
PR target/79907
* config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
* gcc.target/powerpc/pr79907.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246029 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMPX: Fix option handling.
marxin [Fri, 10 Mar 2017 13:24:45 +0000 (13:24 +0000)] 
MPX: Fix option handling.

2017-03-10  Martin Liska  <mliska@suse.cz>

        PR target/65705
        PR target/69804
* toplev.c (process_options): Enable MPX with LSAN and UBSAN.
* tree-chkp.c (chkp_walk_pointer_assignments): Verify that
FIELD != NULL.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246027 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[libstdc++-v3] Fix detection of obsolete isnan
rsandifo [Fri, 10 Mar 2017 12:22:45 +0000 (12:22 +0000)] 
[libstdc++-v3] Fix detection of obsolete isnan

libstdc++-v3 configure checks whether old glibc inline definitions
of isnan would conflict with the libstdc++-v3 definitions and
works around them if so.  But if g++ 6.x build A is used to build
another g++ 6.x B, the configure step for B will pick up the math.h
installed alongside A instead of the glibc version.  configure will
then assume that the workaround isn't necessary, leaving B with a
broken cmath.

isinf already worked around this.  This patch extends the same fix
to isnan.  (Thanks to George for the fix.)

libstdc++-v3/
2017-03-10  George Lander  <george.lander@arm.com>

* acinclude.m4 (glibcxx_cv_obsolete_isnan): Define
_GLIBCXX_INCLUDE_NEXT_C_HEADERS before including math.h.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246025 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-10 Olivier Hainque <hainque@adacore.com>
hainque [Fri, 10 Mar 2017 11:16:21 +0000 (11:16 +0000)] 
2017-03-10  Olivier Hainque  <hainque@adacore.com>

* tree-switch-conversion (array_value_type): Start by resetting
candidate type to it's main variant.

testsuite/
* gnat.dg/opt64.adb: New test.
* gnat.dg/opt64_pkg.ads: New helper.
* gnat.dg/opt64_pkg.adb: New helper.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246024 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/79909
jakub [Fri, 10 Mar 2017 07:57:45 +0000 (07:57 +0000)] 
PR rtl-optimization/79909
* combine.c (try_combine): Use simplify_replace_rtx on individual
CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
of the whole CALL_INSN_FUNCTION_USAGE.

* gcc.target/powerpc/pr79909.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246023 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/79972
jakub [Fri, 10 Mar 2017 07:55:00 +0000 (07:55 +0000)] 
PR tree-optimization/79972
* gimple-ssa-warn-alloca.c (alloca_call_type): Only call
get_range_info on SSA_NAMEs.  Formatting fixes.

* gcc.dg/pr79972.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246022 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR tree-optimization/77975
jakub [Fri, 10 Mar 2017 07:53:57 +0000 (07:53 +0000)] 
PR tree-optimization/77975
* tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
edge to be constant.
(get_val_for): For constant x return it.  Formatting fix.
(loop_niter_by_eval): Avoid pointless looping if the next iteration
would use the same bases as the current one.

* gcc.dg/pr77975.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246021 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoEliminate unneeded test.
eager [Fri, 10 Mar 2017 00:48:51 +0000 (00:48 +0000)] 
Eliminate unneeded test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246020 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Fri, 10 Mar 2017 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246019 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79962
mpolacek [Thu, 9 Mar 2017 22:45:39 +0000 (22:45 +0000)] 
PR c++/79962
PR c++/79984
* c-attribs.c (handle_nonnull_attribute): Save the result of default
conversion to the attribute list.

* c-c++-common/nonnull-3.c: New test.
* g++.dg/warn/Wnonnull3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246016 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
wschmidt [Thu, 9 Mar 2017 22:41:34 +0000 (22:41 +0000)] 
2017-03-09  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

* config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
instead of vec_select for V1TImode.
* conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
longer needed.
(VSX_LE_128): Add V1TI to this mode iterator.
(*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
(*vsx_le_perm_store_<mode>): Likewise.
(pre-reload splitter for VSX stores): Likewise.
(post-reload splitter for VSX stores): Likewise.
(*vsx_xxpermdi2_le_<mode>): Likewise.
(*vsx_lxvd2x2_le_<mode>): Likewise.
(*vsx_stxvd2x2_le_<mode>): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246015 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * g++.dg/warn/Wpadded-1.C: Fix for 32-bit target.
jason [Thu, 9 Mar 2017 22:20:33 +0000 (22:20 +0000)] 
* g++.dg/warn/Wpadded-1.C: Fix for 32-bit target.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246014 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDefine macro to simplify std::_Not_fn definition
redi [Thu, 9 Mar 2017 20:36:42 +0000 (20:36 +0000)] 
Define macro to simplify std::_Not_fn definition

* include/std/functional (_Not_fn): Define macro to simplify
repetitive function definitions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246013 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoCorrect failures with --enable-checking=yes,rtl.
eager [Thu, 9 Mar 2017 18:09:39 +0000 (18:09 +0000)] 
Correct failures with --enable-checking=yes,rtl.

        * config/microblaze/microblaze.c (microblaze_expand_shift):
        Replace GET_CODE test with CONST_INT_P and INTVAL test with
        test for const0_rtx.
        * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
        lshrsi3_byone): Replace INTVAL with test for const1_rtx.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246012 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse -mhard-float for MIPS -mlxc1-sxc1 tests
mpf [Thu, 9 Mar 2017 17:18:41 +0000 (17:18 +0000)] 
Use -mhard-float for MIPS -mlxc1-sxc1 tests

gcc/testsuite/

* gcc.target/mips/lxc1-sxc1-1.c: Use -mhard-float.
* gcc.target/mips/lxc1-sxc1-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246011 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/79757
mpolacek [Thu, 9 Mar 2017 16:58:17 +0000 (16:58 +0000)] 
PR sanitizer/79757
* c-parser.c (c_parser_declaration_or_fndef): Don't sanitize old-style
parameter declarations with initializers.

* gcc.dg/ubsan/pr79757-1.c: New test.
* gcc.dg/ubsan/pr79757-2.c: New test.
* gcc.dg/ubsan/pr79757-3.c: New test.
* gcc.dg/ubsan/pr79757-4.c: New test.
* gcc.dg/ubsan/pr79757-5.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246010 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/79969
jakub [Thu, 9 Mar 2017 16:42:45 +0000 (16:42 +0000)] 
PR c/79969
* c-decl.c (start_enum): Adjust DECL_SOURCE_LOCATION of
TYPE_STUB_DECL.

* gcc.dg/debug/dwarf2/enum-loc1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246009 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79687
mpolacek [Thu, 9 Mar 2017 16:36:37 +0000 (16:36 +0000)] 
PR c++/79687
* init.c (constant_value_1): Break if the variable has a dynamic
initializer.

* g++.dg/expr/ptrmem8.C: New test.
* g++.dg/expr/ptrmem9.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246008 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Richard Biener <rguenther@suse.de>
rguenth [Thu, 9 Mar 2017 16:19:37 +0000 (16:19 +0000)] 
2017-03-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79977
* graphite-scop-detection.c (scop_detection::merge_sese):
Handle the case of extra exits to blocks dominating the entry.

* gcc.dg/graphite/pr79977.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246006 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDefine std::byte for C++17 (P0298R3)
redi [Thu, 9 Mar 2017 15:42:02 +0000 (15:42 +0000)] 
Define std::byte for C++17 (P0298R3)

* doc/xml/manual/status_cxx2017.xml: Document std::byte support.
* include/c_global/cstddef (std::byte): Define for C++17.
* testsuite/18_support/byte/global_neg.cc: New test.
* testsuite/18_support/byte/ops.cc: New test.
* testsuite/18_support/byte/requirements.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246005 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C.
tomtab [Thu, 9 Mar 2017 15:04:31 +0000 (15:04 +0000)] 
Add check_effective_target_rdynamic and use it in g++.dg/lto/pr69589_0.C.

gcc/
* doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
Document rdynamic.

gcc/testsuite/

* g++.dg/lto/pr69589_0.C: Add dg-require-effective-target for
rdynamic.  Remove dg-skip-if for targets which don't support -rdynamic.
* lib/target-supports.exp (check_effective_target_rdynamic):
New proc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246004 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Thu, 9 Mar 2017 14:43:17 +0000 (14:43 +0000)] 
2017-03-09  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/79949
* lra-constraints.c (process_alt_operands): Check memory when
trying to predict a cycle.  Print about the overall increase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246003 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Richard Biener <rguenther@suse.de>
rguenth [Thu, 9 Mar 2017 13:20:50 +0000 (13:20 +0000)] 
2017-03-09  Richard Biener  <rguenther@suse.de>

PR middle-end/79971
* gimple-expr.c (useless_type_conversion_p): Preserve
TYPE_SATURATING for fixed-point types.

* gcc.dg/fixed-point/pr79971.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246002 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Richard Biener <rguenther@suse.de>
rguenth [Thu, 9 Mar 2017 13:20:03 +0000 (13:20 +0000)] 
2017-03-09  Richard Biener  <rguenther@suse.de>

PR ipa/79970
* ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
alignment of BLKmode params.

* gcc.dg/torture/pr79970.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246001 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-09 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Thu, 9 Mar 2017 11:51:29 +0000 (11:51 +0000)] 
2017-03-09  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/71966
* g++.dg/cpp0x/pr71966-1.C: New.
* g++.dg/cpp0x/pr71966-2.C: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@246000 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago[AArch64] PR target/79913: VEC_SELECT bugs in aarch64 patterns
ktkachov [Thu, 9 Mar 2017 10:34:36 +0000 (10:34 +0000)] 
[AArch64] PR target/79913: VEC_SELECT bugs in aarch64 patterns

PR target/79913
* config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
(VALL_NO_V2Q): Likewise.
(VDQF_DF): Delete.
* config/aarch64/aarch64-simd.md
(aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
iterator.
(*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
VALL_NO_V2Q mode iterator.
(*aarch64_vgetfmulx<mode>): Use VDQF iterator.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245999 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ICE in tree-chkp-opt.c (PR tree-optimization/79631).
marxin [Thu, 9 Mar 2017 10:10:02 +0000 (10:10 +0000)] 
Fix ICE in tree-chkp-opt.c (PR tree-optimization/79631).

2017-03-09  Martin Liska  <mliska@suse.cz>

PR tree-optimization/79631
* tree-chkp-opt.c (chkp_is_constant_addr): Call
tree_int_cst_sign_bit just for INTEGER constants.
2017-03-09  Martin Liska  <mliska@suse.cz>

PR tree-optimization/79631
* gcc.target/i386/mpx/pr79631.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245998 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDisable -fcheck-pointer-bounds with sanitizers.
marxin [Thu, 9 Mar 2017 10:04:50 +0000 (10:04 +0000)] 
Disable -fcheck-pointer-bounds with sanitizers.

2017-03-09  Martin Liska  <mliska@suse.cz>

PR target/65705
PR target/69804
* toplev.c (process_options): Disable -fcheck-pointer-bounds with
sanitizers.
2017-03-09  Martin Liska  <mliska@suse.cz>

PR target/65705
PR target/69804
* gcc.target/i386/pr71458.c: Update scanned pattern.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245997 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79672
mpolacek [Thu, 9 Mar 2017 09:53:03 +0000 (09:53 +0000)] 
PR c++/79672
* tree.c (inchash::add_expr): Handle TREE_VEC.

* g++.dg/warn/Wduplicated-branches2.C: Fix PR.
* g++.dg/warn/Wduplicated-branches3.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245996 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/testsuite/
prachigodbole [Thu, 9 Mar 2017 09:38:00 +0000 (09:38 +0000)] 
gcc/testsuite/
* gcc.target/mips/msa-bclri.c: Skip the test for -O0.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245995 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSupport BIT_FIELD_REF in MPX (PR ipa/79764).
marxin [Thu, 9 Mar 2017 09:26:45 +0000 (09:26 +0000)] 
Support BIT_FIELD_REF in MPX (PR ipa/79764).

2017-03-09  Martin Liska  <mliska@suse.cz>

PR ipa/79764
(chkp_narrow_size_and_offset): New function.
(chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
(void chkp_parse_bit_field_ref): New function.
(chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
(chkp_process_stmt): Use chkp_parse_bit_field_ref.
2017-03-09  Martin Liska  <mliska@suse.cz>

PR ipa/79764
* g++.dg/pr79764.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245994 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoGet bounds for a PARM_DECL (PR ipa/79761).
marxin [Thu, 9 Mar 2017 09:22:29 +0000 (09:22 +0000)] 
Get bounds for a PARM_DECL (PR ipa/79761).

2017-03-09  Martin Liska  <mliska@suse.cz>

PR ipa/79761
* tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
(chkp_find_bounds_1): Remove gcc_unreachable.
2017-03-09  Martin Liska  <mliska@suse.cz>

PR ipa/79761
* g++.dg/pr79761.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245993 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoIncrement value instead of a pointer in ADA macro processing.
marxin [Thu, 9 Mar 2017 09:20:59 +0000 (09:20 +0000)] 
Increment value instead of a pointer in ADA macro processing.

2017-03-09  Martin Liska  <mliska@suse.cz>

* c-ada-spec.c (macro_length): Increment value instead of a pointer.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245992 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/79944
jakub [Thu, 9 Mar 2017 09:20:23 +0000 (09:20 +0000)] 
PR sanitizer/79944
* asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
BUILT_IN_SYNC*, determine the access type from the size suffix and
always build a MEM_REF with that type.  Handle forgotten
BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.

* c-c++-common/asan/pr79944.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245991 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/79932
jakub [Thu, 9 Mar 2017 09:11:06 +0000 (09:11 +0000)] 
PR target/79932
* config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
_mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
_mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
_mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
_mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
_mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
_mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
_mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
_mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
_mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
_mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
_mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
_mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
_mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
_mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
_mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
_mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
_mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
_mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
_mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
_mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
_mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
_mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
_mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
_mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
_mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
_mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
_mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
_mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
_mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
definitions outside of __OPTIMIZE__ guarded section.

* gcc.target/i386/pr79932-2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245990 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/79932
jakub [Thu, 9 Mar 2017 09:09:27 +0000 (09:09 +0000)] 
PR target/79932
* config/i386/avx512bwintrin.h (_mm512_packs_epi32,
_mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
_mm512_packus_epi32, _mm512_maskz_packus_epi32,
_mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
guarded section.

* gcc.target/i386/pr79932-1.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245989 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79900 - ICE in strip_typedefs
mpolacek [Thu, 9 Mar 2017 08:35:37 +0000 (08:35 +0000)] 
PR c++/79900 - ICE in strip_typedefs
* tree.c (strip_typedefs): Skip the attribute handling if T is
a variant type which hasn't been updated yet.

* g++.dg/warn/Wpadded-1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245988 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Add missing constraints in builtin patterns
krebbel [Thu, 9 Mar 2017 07:53:29 +0000 (07:53 +0000)] 
S/390: Add missing constraints in builtin patterns

gcc/ChangeLog:

2017-03-09  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

* config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
("vfenez<mode>"): Add missing constraints.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245987 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79797 - ICE with self-reference in array DMI.
jason [Thu, 9 Mar 2017 01:01:18 +0000 (01:01 +0000)] 
PR c++/79797 - ICE with self-reference in array DMI.

* constexpr.c (lookup_placeholder): Split out...
(cxx_eval_constant_expression): ...from here.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245986 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Thu, 9 Mar 2017 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245985 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR target/79928 - nds32: misspelled diagnostic: not support -fpic
msebor [Wed, 8 Mar 2017 23:29:42 +0000 (23:29 +0000)] 
PR target/79928 - nds32: misspelled diagnostic: not support -fpic

Verified by building an nds32be-elf cross-compiler.

gcc/ChangeLog
* config/nds32/nds32.c (nds32_option_override):

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245982 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/79940
jakub [Wed, 8 Mar 2017 17:21:06 +0000 (17:21 +0000)] 
PR c/79940
* gimplify.c (gimplify_omp_for): Replace index var in outer
taskloop statement with an artificial variable and add
OMP_CLAUSE_PRIVATE clause for it.

* testsuite/libgomp.c/pr79940.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245980 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix PR demangler/70909 and 67264 (endless demangler recursion)
trippels [Wed, 8 Mar 2017 14:28:38 +0000 (14:28 +0000)] 
Fix PR demangler/70909 and 67264 (endless demangler recursion)

ChangeLog:

       PR demangler/70909
       PR demangler/67264
       * include/demangle.h: Add d_printing to struct demangle_component
       and pass struct demangle_component as non const.

libiberty/ChangeLog:

       PR demangler/70909
       PR demangler/67264
       * cp-demangle.c: Fix endless recursion. Pass
       struct demangle_component as non const.
       (d_make_empty): Initialize variable.
       (d_print_comp_inner): Limit recursion.
       (d_print_comp): Decrement variable.
       * cp-demint.c (cplus_demangle_fill_component): Initialize
       variable.
       (cplus_demangle_fill_builtin_type): Likewise.
       (cplus_demangle_fill_operator): Likewise.
       * testsuite/demangle-expected: Add tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245978 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * btest.c (test5): Replace #ifdef guard with 'unused' attribute
ian [Wed, 8 Mar 2017 14:21:21 +0000 (14:21 +0000)] 
   * btest.c (test5): Replace #ifdef guard with 'unused' attribute
       to fix compile warning when BACKTRACE_SUPPORTED isn't defined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245977 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-08 Richard Biener <rguenther@suse.de>
rguenth [Wed, 8 Mar 2017 14:10:47 +0000 (14:10 +0000)] 
2017-03-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79955
* tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
for accesses that are completely outside of the variable.

* gcc.dg/uninit-24.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245976 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * g++.dg/Walloca1.C: Adjust dg-warning.
mpolacek [Wed, 8 Mar 2017 12:58:01 +0000 (12:58 +0000)] 
* g++.dg/Walloca1.C: Adjust dg-warning.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245975 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-08 Andrew Haley <aph@redhat.com>
aph [Wed, 8 Mar 2017 11:35:23 +0000 (11:35 +0000)] 
2017-03-08  Andrew Haley  <aph@redhat.com>

PR tree-optimization/79943
* tree-ssa-loop-split.c (compute_new_first_bound): When
calculating the new upper bound, (END-BEG) should be added, not
subtracted.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245974 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR ada/79903
ebotcazou [Wed, 8 Mar 2017 09:20:17 +0000 (09:20 +0000)] 
PR ada/79903
* socket.c (__gnat_gethostbyaddr): Add missing test for __rtems__.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245972 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR ada/79945
ebotcazou [Wed, 8 Mar 2017 09:08:54 +0000 (09:08 +0000)] 
PR ada/79945
* system-linux-ppc.ads (Default_Bit_Order): Use Standard's setting.

* system-linux-arm.ads (Default_Bit_Order): Likewise.
* system-linux-mips.ads (Default_Bit_Order): Likewise.
* system-linux-armeb.ads: Delete.
* system-linux-mipsel.ads: Likewise.
* gcc-interface/Makefile.in (MIPS/Linux): Adjust.
(ARM/Linux): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245970 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/avr/avr.md (setmemhi): Make sure match_dup
jakub [Wed, 8 Mar 2017 08:52:05 +0000 (08:52 +0000)] 
* config/avr/avr.md (setmemhi): Make sure match_dup
operand number comes before match_scratch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245969 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-08 Richard Biener <rguenther@suse.de>
rguenth [Wed, 8 Mar 2017 08:50:01 +0000 (08:50 +0000)] 
2017-03-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79920
* tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
with ncopies == 1 to ...
(vect_transform_slp_perm_load): ... here.  Properly compute
all element loads by iterating VF times over the group.  Do
not handle ncopies (computed in a broken way) in
vect_create_mask_and_perm.

* gcc.dg/vect/pr79920.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245968 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/79904
jakub [Wed, 8 Mar 2017 08:35:20 +0000 (08:35 +0000)] 
PR sanitizer/79904
* internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
is a uniform vector, use uniform_vector_p return value instead of
building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.

* gcc.dg/ubsan/pr79904.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245967 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Wed, 8 Mar 2017 00:16:18 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245966 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/79834
jakub [Tue, 7 Mar 2017 19:07:44 +0000 (19:07 +0000)] 
PR c/79834
c/
* c-parser.c (c_parser_pragma): Use error_at instead of c_parser_error
for "may only be used in compound statements" diagnostics, change it
such that the same translatable string is used for all pragmas.  For
PRAGMA_OACC_WAIT use "acc wait" rather than "acc enter data" in the
diagnostics.
(c_parser_omp_cancellation_point, c_parser_omp_target_update,
c_parser_omp_target_enter_data, c_parser_omp_target_exit_data): Change
"may only be used in compound statements" diagnostics, such that the
same translatable string is used for all pragmas.
cp/
* parser.c (cp_parser_omp_cancellation_point,
cp_parser_omp_target_enter_data, cp_parser_omp_target_exit_data,
cp_parser_omp_target_update): Change "may only be used in compound
statements" diagnostics, such that the same translatable string is
used for all pragmas.
(cp_parser_pragma): Likewise.  Use error_at instead of
cp_parser_error for that diagnostics.
testsuite/
* c-c++-common/goacc/pragma_context.c (f2): Adjust expected
diagnostics.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245959 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR middle-end/79809
mpolacek [Tue, 7 Mar 2017 17:30:53 +0000 (17:30 +0000)] 
PR middle-end/79809
* gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
(alloca_call_type): Likewise.

* g++.dg/Walloca1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245955 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcov: put comment to correct location.
marxin [Tue, 7 Mar 2017 14:13:10 +0000 (14:13 +0000)] 
gcov: put comment to correct location.

2017-03-07  Martin Liska  <mliska@suse.cz>

* gcov.c (process_args): Put comment to correct location.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245952 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoUse array_at_struct_end_p in tree-chkp.c (PR middle-end/68270).
marxin [Tue, 7 Mar 2017 14:12:52 +0000 (14:12 +0000)] 
Use array_at_struct_end_p in tree-chkp.c (PR middle-end/68270).

2017-03-07  Martin Liska  <mliska@suse.cz>

PR middle-end/68270
* tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
Use array_at_struct_end_p instead of DECL_CHAIN (field).
(chkp_narrow_bounds_for_field): Likewise.
(chkp_parse_array_and_component_ref): Pass one more argument to
call.
2017-03-07  Martin Liska  <mliska@suse.cz>

PR middle-end/68270
* g++.dg/pr68270.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245951 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-07 Richard Biener <rguenther@suse.de>
rguenth [Tue, 7 Mar 2017 13:39:44 +0000 (13:39 +0000)] 
2017-03-07  Richard Biener  <rguenther@suse.de>

* tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
preheaders.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245950 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoi386: Do not align small stack slots to 16 bytes
segher [Tue, 7 Mar 2017 11:53:32 +0000 (11:53 +0000)] 
i386: Do not align small stack slots to 16 bytes

As Shmuel reported in <https://gcc.gnu.org/ml/gcc-help/2017-03/msg00009.html>,
on x86-64 small structures in automatic storage are aligned to 16 bytes.
This seems to be because of a mix-up between bits and bytes in the i386
target code.

* config/i386/i386.c (ix86_local_alignment): Align most aggregates
of 16 bytes and more to 16 bytes, not those of 16 bits and more.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245949 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoPR c/79855: add full stop to store merging param descriptions
ktkachov [Tue, 7 Mar 2017 09:36:44 +0000 (09:36 +0000)] 
PR c/79855: add full stop to store merging param descriptions

PR c/79855
* params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
to end of description.
(PARAM_MAX_STORES_TO_MERGE): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245948 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/79901
jakub [Tue, 7 Mar 2017 08:11:30 +0000 (08:11 +0000)] 
PR rtl-optimization/79901
* config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
...
(*avx512f_<code><mode>3<mask_name>): ... this.
(<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
iterator instead of VI8_AVX2_AVX512BW.

* gcc.target/i386/pr79901.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245947 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR rtl-optimization/79901
jakub [Tue, 7 Mar 2017 08:04:38 +0000 (08:04 +0000)] 
PR rtl-optimization/79901
* expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
min/max expander, expand it using expand_vec_cond_expr.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245946 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR sanitizer/79897
jakub [Tue, 7 Mar 2017 06:11:14 +0000 (06:11 +0000)] 
PR sanitizer/79897
* ubsan.c (ubsan_encode_value): Call mark_addressable on the
temporary.

* c-c++-common/ubsan/pr79897.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245945 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Tue, 7 Mar 2017 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245943 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix typo.
danglin [Mon, 6 Mar 2017 23:12:14 +0000 (23:12 +0000)] 
Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245937 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79821
jakub [Mon, 6 Mar 2017 22:51:23 +0000 (22:51 +0000)] 
PR c++/79821
* dwarf2out.h (dw_vec_const): Change array type from unsigned char *
to void * for PCH reasons.
* dwarf2out.c (output_loc_operands, output_die): Cast
v.val_vec.array to unsigned char *.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245932 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target 77850
danglin [Mon, 6 Mar 2017 22:48:53 +0000 (22:48 +0000)] 
PR target 77850
* config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
vector types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245931 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix the last ChangeLog entry
vmakarov [Mon, 6 Mar 2017 20:29:49 +0000 (20:29 +0000)] 
Fix the last ChangeLog entry

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245929 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
vmakarov [Mon, 6 Mar 2017 20:23:00 +0000 (20:23 +0000)] 
2017-03-06  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/79571
* lra-constraints.c (process_alt_operands): Claculate static
reject and subtract it from overal when there will be only address
reloads.

2017-03-06  Vladimir Makarov  <vmakarov@redhat.com>

PR rtl-optimization/79571
* gcc.target/i386/pr79571.c: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245928 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79796 - ICE with NSDMI and this pointer
mpolacek [Mon, 6 Mar 2017 17:38:42 +0000 (17:38 +0000)] 
PR c++/79796 - ICE with NSDMI and this pointer
* call.c (build_over_call): Handle NSDMI with a 'this' by calling
replace_placeholders.

* g++.dg/cpp0x/nsdmi13.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245927 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoSet incoming stack boundary to 128 for 64-bit targets
hjl [Mon, 6 Mar 2017 16:08:59 +0000 (16:08 +0000)] 
Set incoming stack boundary to 128 for 64-bit targets

For 64-bit targets, the incoming stack of interrupt handler is aligned
to 16 bytes.  Update ix86_minimum_incoming_stack_boundary to set the
incoming stack boundary of interrupt handler to 128 for 64-bit targets.

gcc/

2017-03-06  Julia Koval  <julia.koval@intel.com>

PR target/79793
* config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
incoming stack boundary to 128 for 64-bit targets.

gcc/testsuite/

2017-03-06  Julia Koval  <julia.koval@intel.com>

PR target/79793
 * gcc.target/i386/interrupt-12.c: Update scan-assembler-times
 directives.
 * gcc.target/i386/interrupt-13.c: Ditto.
 * gcc.target/i386/interrupt-14.c: Ditto.
 * gcc.target/i386/interrupt-15.c: Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245926 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c++/79822
jakub [Mon, 6 Mar 2017 15:43:51 +0000 (15:43 +0000)] 
PR c++/79822
* constexpr.c (cxx_eval_statement_list): Treat empty ({ }) like
({ (void) 0; }).

* g++.dg/cpp0x/constexpr-79822.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245925 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Revert "Allow deduction guides to look into primary template."
jason [Mon, 6 Mar 2017 14:44:44 +0000 (14:44 +0000)] 
Revert "Allow deduction guides to look into primary template."

* cp-tree.h, parser.c, pt.c, search.c: Revert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245924 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Richard Biener <rguenther@suse.de>
rguenth [Mon, 6 Mar 2017 13:58:57 +0000 (13:58 +0000)] 
2017-03-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79894
* tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
to NULL after folding it.

* gcc.dg/vect/pr79887.c: New testcase.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245923 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Richard Biener <rguenther@suse.de>
rguenth [Mon, 6 Mar 2017 13:58:01 +0000 (13:58 +0000)] 
2017-03-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/79824
* tree-vect-stmts.c (get_group_load_store_type): Fix alignment
check disabling peeling for gaps.

* gcc.dg/vect/pr79824-1.c: New testcase.
* gcc.dg/vect/pr79824-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245922 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd check_effective_target_gettimeofday and use it in gcc.dg/lto/pr60449_0.c.
tomtab [Mon, 6 Mar 2017 13:15:30 +0000 (13:15 +0000)] 
Add check_effective_target_gettimeofday and use it in gcc.dg/lto/pr60449_0.c.

gcc/
* doc/sourcebuild.texi (Effective-Target Keywords, Environment
attributes): Document gettimeofday.

gcc/testsuite/

* gcc.dg/lto/pr60449_0.c: Add dg-require-effective-target for
gettimeofday.  Remove dg-skip-if for AVR.
* lib/target-supports.exp (check_effective_target_gettimeofday):
New proc.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245921 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Richard Biener <rguenther@suse.de>
rguenth [Mon, 6 Mar 2017 12:48:54 +0000 (12:48 +0000)] 
2017-03-06  Richard Biener  <rguenther@suse.de>

PR fortran/79894
* trans.c (gfc_add_modify_loc): Weaken assert.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245919 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Disable vectorization for loops with few iterations
krebbel [Mon, 6 Mar 2017 12:43:33 +0000 (12:43 +0000)] 
S/390: Disable vectorization for loops with few iterations

The following patch defines the PARAM_MIN_VECT_LOOP_BOUND parameter in
the s390 backend.  It helps with the vectorization epilogue problem
described here [1].
I see an overall performance increase of > 1% in SPECfp2006, yet some
cases like cactusADM regress.  This seems to be caused by the vectorizer
creating an epilogue guard for one more iteration than before, which, in
turn, causes e.g. predcom to run on the epilogue that it used to ignore
before ("Loop iterates only 1 time, nothing to do.").  Subsequent,
minor, effects cause an eventual slowdown.

Until the reason for the bad epilogue code is understood, this patch
mitigates the problem.  When investigating the issue, I stumbled across
an attempt to vectorize the epilogue itself as well as combine it with
the vectorized loop in addition to vector masking [2].  A similar
approach might also help here.  My original observation of high register
pressure within the epilogue still stands.  In this specific case, it
would most likely suffice to save all registers once, run the epilogue
and restore the registers.  I'm pretty sure this would be faster than
the "spill fest" that's currently happening.

Regards
 Robin

[1] https://gcc.gnu.org/ml/gcc/2017-01/msg00234.html
[2] https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01562.html

gcc/ChangeLog:

2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* config/s390/s390.c (s390_option_override_internal): Set
PARAM_MIN_VECT_LOOP_BOUND

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245918 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoS/390: Change 2-byte NOPs
krebbel [Mon, 6 Mar 2017 12:40:19 +0000 (12:40 +0000)] 
S/390: Change 2-byte NOPs

The following patch changes "nopr %r7" to "nopr %r0" which is
advantageous from a hardware perspective. It will only be emitted for
hotpatching and should not impact normal code.

gcc/ChangeLog:

2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
* config/s390/s390.md: Likewise.

gcc/testsuite/ChangeLog:

2017-03-06  Robin Dapp  <rdapp@linux.vnet.ibm.com>

* gcc.target/s390/hotpatch-1.c: Check for nopr %r0.
* gcc.target/s390/hotpatch-10.c: Likewise.
* gcc.target/s390/hotpatch-11.c: Likewise.
* gcc.target/s390/hotpatch-12.c: Likewise.
* gcc.target/s390/hotpatch-13.c: Likewise.
* gcc.target/s390/hotpatch-14.c: Likewise.
* gcc.target/s390/hotpatch-15.c: Likewise.
* gcc.target/s390/hotpatch-16.c: Likewise.
* gcc.target/s390/hotpatch-17.c: Likewise.
* gcc.target/s390/hotpatch-18.c: Likewise.
* gcc.target/s390/hotpatch-19.c: Likewise.
* gcc.target/s390/hotpatch-2.c: Likewise.
* gcc.target/s390/hotpatch-26.c: Likewise.
* gcc.target/s390/hotpatch-27.c: Likewise.
* gcc.target/s390/hotpatch-28.c: Likewise.
* gcc.target/s390/hotpatch-3.c: Likewise.
* gcc.target/s390/hotpatch-4.c: Likewise.
* gcc.target/s390/hotpatch-5.c: Likewise.
* gcc.target/s390/hotpatch-6.c: Likewise.
* gcc.target/s390/hotpatch-7.c: Likewise.
* gcc.target/s390/hotpatch-8.c: Likewise.
* gcc.target/s390/hotpatch-9.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245917 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Mon, 6 Mar 2017 11:54:37 +0000 (11:54 +0000)] 
2017-03-06  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/64574
* g++.dg/template/crash125.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245916 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR target/79812
jakub [Mon, 6 Mar 2017 11:35:58 +0000 (11:35 +0000)] 
PR target/79812
* config/i386/sse.md (VI8F_256_512): Remove mode iterator.
(<avx2_avx512>_perm<mode>): Rename to ...
(avx2_perm<mode>): ... this.  Use VI8F_256 iterator instead
of VI8F_256_512.
(<avx512>_perm<mode>_mask): Rename to ...
(avx512vl_perm<mode>_mask): ... this.  Use VI8F_256 iterator instead
of VI8F_256_512.
(<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
(avx2_perm<mode>_1<mask_name): ... this.  Use VI8F_256 iterator
instead of VI8F_256_512.
(avx512f_perm<mode>): New define_expand.
(avx512f_perm<mode>_mask): Likewise.
(avx512f_perm<mode>_1<mask_name>): New define_insn.
(<avx512>_vec_dup<mode>_1): Fix up vec_select mode.

* gcc.target/i386/avx512f-vpermq-imm-3.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245915 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoMIPS: Force o32 ABI for inline-memcpy-3.c.
tomtab [Mon, 6 Mar 2017 11:27:07 +0000 (11:27 +0000)] 
MIPS: Force o32 ABI for inline-memcpy-3.c.

gcc/testsuite/

* gcc.target/mips/inline-memcpy-3.c (dg-options): Add -mabi=32.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245914 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
prachigodbole [Mon, 6 Mar 2017 10:32:47 +0000 (10:32 +0000)] 
gcc/
* config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
if_then_else.
(smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.

gcc/testsuite/
* gcc.target/mips/msa-minmax.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245913 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoFix ICE in use-after-scope w/ -fno-tree-dce (PR sanitize/79783).
marxin [Mon, 6 Mar 2017 10:20:33 +0000 (10:20 +0000)] 
Fix ICE in use-after-scope w/ -fno-tree-dce (PR sanitize/79783).

2017-03-06  Martin Liska  <mliska@suse.cz>

PR sanitize/79783
* asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
when having a SSA NAME w/o VAR_DECL assigned to it.
2017-03-06  Martin Liska  <mliska@suse.cz>

PR sanitize/79783
* g++.dg/asan/pr79783.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245912 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
prachigodbole [Mon, 6 Mar 2017 10:19:52 +0000 (10:19 +0000)] 
gcc/
* config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
msa_dpsub_<su>_d): Fix MODE for vec_select.

gcc/testsuite/
* gcc.target/mips/msa-dotp.c: New tests.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245911 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/
prachigodbole [Mon, 6 Mar 2017 10:08:51 +0000 (10:08 +0000)] 
gcc/
* config/mips/mips.c (mips_gen_const_int_vector): Change type of last
argument.
* config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.

gcc/testsuite/
* gcc.target/mips/msa-bclri.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245910 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-06 Richard Biener <rguenther@suse.de>
rguenth [Mon, 6 Mar 2017 08:54:57 +0000 (08:54 +0000)] 
2017-03-06  Richard Biener  <rguenther@suse.de>

* lto-streamer.c (lto_check_version): Use %qs in diagnostics.
* plugin.c (register_plugin_info): Likewise.
* tree-chkp.c (chkp_make_static_const_bounds): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245909 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * de.po, fr.po: Update.
jsm28 [Mon, 6 Mar 2017 04:17:47 +0000 (04:17 +0000)] 
* de.po, fr.po: Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245908 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Mon, 6 Mar 2017 00:16:20 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245907 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * config/i386/sse.md (sse_storehps, sse_storelps,
jakub [Sun, 5 Mar 2017 21:41:10 +0000 (21:41 +0000)] 
* config/i386/sse.md (sse_storehps, sse_storelps,
avx_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_<castmode>,
avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
in condition that at least one operand is not a MEM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245904 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoAdd std::scoped_lock for C++17
redi [Sun, 5 Mar 2017 18:38:35 +0000 (18:38 +0000)] 
Add std::scoped_lock for C++17

* doc/xml/manual/status_cxx2017.xml: Document P0156R2 status.
* doc/html/*: Regenerate.
* include/std/mutex (scoped_lock): Implement new C++17 template.
* testsuite/30_threads/scoped_lock/cons/1.cc: New test.
* testsuite/30_threads/scoped_lock/requirements/
explicit_instantiation.cc: New test.
* testsuite/30_threads/scoped_lock/requirements/typedefs.cc: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245903 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago/cp
paolo [Sun, 5 Mar 2017 17:13:16 +0000 (17:13 +0000)] 
/cp
2017-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70266
* except.c (build_must_not_throw_expr): Perform the implicit
conversions on the condition.

/testsuite
2017-03-05  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/70266
* g++.dg/tm/pr70266.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245901 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agogcc/fortran/ChangeLog:
vehre [Sun, 5 Mar 2017 11:35:47 +0000 (11:35 +0000)] 
gcc/fortran/ChangeLog:

2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
            Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* check.c (positive_check): Add new function checking constant for
being greater then zero.
(gfc_check_image_status): Add checking of image_status arguments.
(gfc_check_failed_or_stopped_images): Same but for failed_- and
stopped_images function.
* dump-parse-tree.c (show_code_node): Added output of FAIL IMAGE.
* gfortran.h (enum gfc_statement): Added FAIL_IMAGE_ST.
(enum gfc_isym_id): Added new intrinsic symbols.
(enum gfc_exec_op): Added EXEC_FAIL_IMAGE.
* gfortran.texi: Added description for the new API functions. Updated
coverage of gfortran of TS18508.
* intrinsic.c (add_functions): Added symbols to resolve new intrinsic
functions.
* intrinsic.h: Added prototypes.
* iresolve.c (gfc_resolve_failed_images): Resolve the failed_images
intrinsic.
(gfc_resolve_image_status): Same for image_status.
(gfc_resolve_stopped_images): Same for stopped_images.
* libgfortran.h: Added prototypes.
* match.c (gfc_match_if): Added matching of FAIL IMAGE statement.
(gfc_match_fail_image): Match a FAIL IMAGE statement.
* match.h: Added prototype.
* parse.c (decode_statement): Added matching for FAIL IMAGE.
(next_statement): Same.
(gfc_ascii_statement): Same.
* resolve.c: Same.
* simplify.c (gfc_simplify_failed_or_stopped_images): For COARRAY=
single a constant result can be returne.d
(gfc_simplify_image_status): For COARRAY=single the result is constant.
* st.c (gfc_free_statement): Added FAIL_IMAGE handling.
* trans-decl.c (gfc_build_builtin_function_decls): Added decls of the
new intrinsics.
* trans-expr.c (gfc_conv_procedure_call): This is first time all
arguments of a function are optional, which is now handled here
correctly.
* trans-intrinsic.c (conv_intrinsic_image_status): Translate
image_status.
(gfc_conv_intrinsic_function): Add support for image_status.
(gfc_is_intrinsic_libcall): Add support for the remaining new
intrinsics.
* trans-stmt.c (gfc_trans_fail_image): Trans a fail image.
* trans-stmt.h: Add the prototype for the above.
* trans.c (trans_code): Dispatch for fail_image.
* trans.h: Add the trees for the new intrinsics.

libgfortran/ChangeLog:

2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
            Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* caf/libcaf.h: Added prototypes and stat codes for failed and stopped
images.
* caf/single.c (void _gfortran_caf_fail_image): Add the routine.
(int _gfortran_caf_image_status): Same.
(_gfortran_caf_failed_images): Same.
(_gfortran_caf_stopped_images): Same.

gcc/testsuite/ChangeLog:

2017-03-05  Andre Vehreschild  <vehre@gcc.gnu.org>
            Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>

* gfortran.dg/coarray/fail_image_1.f08: New test.
* gfortran.dg/coarray/fail_image_2.f08: New test.
* gfortran.dg/coarray/failed_images_1.f08: New test.
* gfortran.dg/coarray/failed_images_2.f08: New test.
* gfortran.dg/coarray/image_status_1.f08: New test.
* gfortran.dg/coarray/image_status_2.f08: New test.
* gfortran.dg/coarray/stopped_images_1.f08: New test.
* gfortran.dg/coarray/stopped_images_2.f08: New test.
* gfortran.dg/coarray_fail_st.f90: New test.
* gfortran.dg/coarray_failed_images_1.f08: New test.
* gfortran.dg/coarray_image_status_1.f08: New test.
* gfortran.dg/coarray_stopped_images_1.f08: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245900 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sun, 5 Mar 2017 00:16:13 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245897 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago * c.opt (Wnoexcept-type): New.
jason [Sat, 4 Mar 2017 19:21:38 +0000 (19:21 +0000)] 
* c.opt (Wnoexcept-type): New.

gcc/cp/
* mangle.c (mangle_decl): Check -Wnoexcept-type instead of
-Wc++1z-compat.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245894 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago PR c/79847
mpolacek [Sat, 4 Mar 2017 11:04:50 +0000 (11:04 +0000)] 
PR c/79847
* c-decl.c (implicit_decl_warning): Add missing space.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245893 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago Core issues 2273 and 2277
jason [Sat, 4 Mar 2017 08:12:28 +0000 (08:12 +0000)] 
Core issues 2273 and 2277

* call.c (joust): Adjust using-declaration tiebreaker to handle
the intermediate base case.
* method.c (strip_inheriting_ctors): Just return the argument if
!flag_new_inheriting_ctors.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245892 138bc75d-0d04-0410-961f-82ee72b054a4

8 years ago2017-03-03 Jerry DeLisle <jvdelisle@gcc.gnu.org>
jvdelisle [Sat, 4 Mar 2017 03:13:34 +0000 (03:13 +0000)] 
2017-03-03  Jerry DeLisle  <jvdelisle@gcc.gnu.org>

PR fortran/79841
* openmp.c (check_symbol_not_pointer): Adjust diagnostic.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245891 138bc75d-0d04-0410-961f-82ee72b054a4

8 years agoDaily bump.
gccadmin [Sat, 4 Mar 2017 00:16:21 +0000 (00:16 +0000)] 
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245890 138bc75d-0d04-0410-961f-82ee72b054a4