- 23 Sep, 2016 40 commits
-
-
Implement P0138R2, C++17 construction rules for enum class values * cp-tree.h (is_direct_enum_init): Declare. * decl.c (is_direct_enum_init): New function. (reshape_init): Use it. * typeck.c (convert_for_assignment): Likewise. * g++.dg/cpp1z/direct-enum-init1.C: New test. From-SVN: r240449
Jakub Jelinek committed -
* Make-lang.in (check-c++1z): Pass RUNTESTFLAGS down to make check-g++. From-SVN: r240448
Jakub Jelinek committed -
PR libstdc++/56166 PR libstdc++/77582 * include/bits/basic_string.h (basic_string::clear()): Drop reference and use empty rep. * include/ext/rc_string_base.h (__rc_string_base::_M_clear()): Likewise. * testsuite/21_strings/basic_string/56166.cc: New. * testsuite/ext/vstring/modifiers/clear/56166.cc: New. From-SVN: r240447
Jonathan Wakely committed -
* include/bits/basic_string.h [_GLIBCXX_USE_CXX11_ABI] (basic_string::erase(size_type, size_type)): Add fast path for truncating the string, by calling _M_set_length directly. (basic_string::erase(__const_iterator, __const_iterator)): Likewise. * include/bits/basic_string.tcc [_GLIBCXX_USE_CXX11_ABI] (basic_string::resize(size_type, _CharT)): Likewise. From-SVN: r240446
Jonathan Wakely committed -
* vec.h (vNULL): Extend comment to say = vNULL initialization isn't needed for static vars. From-SVN: r240445
Jakub Jelinek committed -
sel-sched-ir.c (sel_global_bb_info, [...]): Remove unnecessary = vNULL initialization of file scope vec. * sel-sched-ir.c (sel_global_bb_info, sel_region_bb_info, loop_nests, s_i_d, last_added_blocks): Remove unnecessary = vNULL initialization of file scope vec. * passes.c (pass_tab, enabled_pass_uid_range_tab, disabled_pass_uid_range_tab): Likewise. * haifa-sched.c (sched_luids, h_i_d): Likewise. * tree-chkp-opt.c (check_infos): Likewise. * sel-sched.c (vec_av_set, vec_temp_moveop_nops): Likewise. c/ * c-parser.c (incomplete_record_decls): Remove unnecessary = vNULL initialization of file scope vec. cp/ * constexpr.c (call_stack): Remove unnecessary = vNULL initialization of file scope vec. From-SVN: r240444
Jakub Jelinek committed -
* vec.h (vnull::operator vec): Add constexpr keyword for C++11 and later. From-SVN: r240443
Jakub Jelinek committed -
gcc/testsuite/ChangeLog PR preprocessor/77672 * gcc.dg/tree-ssa/builtin-sprintf-warn-4.c (test): Update expected multiline output from first warning to reflect change in r240434. From-SVN: r240442
David Malcolm committed -
2016-09-23 Thomas Preud'homme <thomas.preudhomme@arm.com> gcc/testsuite/ * gcc.dg/tree-ssa/builtin-sprintf-warn-2.c: Fix xfail pattern. From-SVN: r240441
Thomas Preud'homme committed -
gcc/ * tree-ssa-loop-prefetch.c (issue_prefetch_ref): Add call to duplicate_ssa_name_ptr_info. From-SVN: r240440
Matthew Fortune committed -
gcc/ PR tree-optimization/77654 * tree-ssa-alias.c (issue_prefetch_ref): Add call to duplicate_ssa_name_ptr_info. From-SVN: r240439
Doug Gilmore committed -
2016-09-23 Bernd Edlinger <bernd.edlinger@hotmail.de> Tom de Vries <tom@codesourcery.com> PR testsuite/77411 * c-c++-common/ubsan/object-size-9.c: Call __builtin_exit in C++. Co-Authored-By: Tom de Vries <tom@codesourcery.com> From-SVN: r240437
Bernd Edlinger committed -
* c-c++-common/gomp/atomic-12.c: Skip for C++1z. * c-c++-common/gomp/atomic-13.c: Likewise. * c-c++-common/gomp/atomic-14.c: Likewise. * c-c++-common/pr60439.c: Remove invalid code. * g++.dg/expr/bitfield4.C: Robustify for C++1z. * g++.dg/expr/bitfield5.C: Likewise. * g++.dg/expr/bitfield6.C: Likewise. * g++.dg/expr/bool1.C: Likewise. * g++.dg/expr/bool3.C: Likewise. * g++.dg/expr/lval3.C: Likewise. * g++.dg/expr/lval4.C: Likewise. * g++.old-deja/g++.jason/bool5.C: Likewise. From-SVN: r240436
Marek Polacek committed -
From-SVN: r240435
Jason Merrill committed -
substring_loc::get_location currently fails for the final terminator character in a STRING_CST from the C frontend, so that format_warning_va falls back to using the location of the string as a whole. This patch tweaks things [1] so that we use the final closing quote as the location of the terminator character, as requested in PR preprocessor/77672. [1] specifically, cpp_interpret_string_1. gcc/ChangeLog: PR preprocessor/77672 * input.c (selftest::test_lexer_string_locations_simple): Update test to expect location information of the terminator character at the location of the final closing quote. (selftest::test_lexer_string_locations_hex): Likewise. (selftest::test_lexer_string_locations_oct): Likewise. (selftest::test_lexer_string_locations_letter_escape_1): Likewise. (selftest::test_lexer_string_locations_letter_escape_2): Likewise. (selftest::test_lexer_string_locations_ucn4): Likewise. (selftest::test_lexer_string_locations_ucn8): Likewise. (selftest::test_lexer_string_locations_u8): Likewise. (selftest::test_lexer_string_locations_utf8_source): Likewise. (selftest::test_lexer_string_locations_concatenation_1): Likewise. (selftest::test_lexer_string_locations_concatenation_2): Likewise. (selftest::test_lexer_string_locations_concatenation_3): Likewise. (selftest::test_lexer_string_locations_macro): Likewise. (selftest::test_lexer_string_locations_long_line): Likewise. gcc/testsuite/ChangeLog: PR preprocessor/77672 * gcc.dg/plugin/diagnostic-test-string-literals-1.c (test_terminator_location): New function. libcpp/ChangeLog: PR preprocessor/77672 * charset.c (cpp_interpret_string_1): Add a source_range for the NUL-terminator, using the location of the trailing quote of the final string. From-SVN: r240434
David Malcolm committed -
2016-09-23 Fritz Reese <fritzoreese@gmail.com> Really commit testcase intended for r240230. * gcc/testsuite/gfortran.dg/dec_structure_15.f90: Really commit. From-SVN: r240433
Fritz Reese committed -
2016-09-23 Richard Biener <rguenther@suse.de> * tree-ssa-sccvn.c (visit_reference_op_call): Value number virtual definition to virtual use if the call devirtualizes to a const or pure function. (visit_use): Also visit calls we can devirtualize to a const or pure function. * gcc.dg/tree-ssa/ssa-fre-56.c: New testcase. From-SVN: r240431
Richard Biener committed -
2016-09-23 Richard Biener <rguenther@suse.de> PR tree-optimization/77697 * tree-ssa-forwprop.c (defcodefor_name): Remove bogus code, signal error if we have sth ternary or unhandled. From-SVN: r240430
Richard Biener committed -
* dg-extract-results.sh: Revert bogus change. From-SVN: r240429
Rainer Orth committed -
testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/advsimd-intrinsics/advsimd-intrinsics.exp: Enable -march=armv8.2-a+fp16 when supported by the hardware. * gcc.target/aarch64/advsimd-intrinsics/binary_op_float.inc: New. * gcc.target/aarch64/advsimd-intrinsics/binary_op_no64.inc: Add F16 tests, enabled if macro HAS_FLOAT16_VARIANT is defined. Add semi-colons to a macro invocations. * gcc.target/aarch64/advsimd-intrinsics/cmp_fp_op.inc: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/cmp_op.inc: Likewise. * gcc.target/aarch64/advsimd-intrinsics/cmp_zero_op.inc: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabd.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vabs.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcage.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcagt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcale.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcalt.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vceq.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vceqz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcge.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcgt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcgtz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcle.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vclez_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vclt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vcltz_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vcvt.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some white-space. * gcc.target/aarch64/advsimd-intrinsics/vcvtX.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vcvta_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtm_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtp_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfma.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vfms.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. Also fix some long lines and white-space. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmax.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmaxnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmin.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vminnm_1.c: New. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul.c: Add F16 tests, enabled if macro __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is defined. * gcc.target/aarch64/advsimd-intrinsics/vmul_lane.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vmul_n.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vneg.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vpXXX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpadd.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmax.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vpmin.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecpe.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrecps.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnd.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrndX.inc: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrnda.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndm.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndn.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndp.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vrndx.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrte.c: Likewise. * gcc.target/aarch64/advsimd-intrinsics/vrsqrts.c: Likewise. * gcc.target/gcc.target/aarch64/advsimd-intrinsics/vsub.c: Likewise. From-SVN: r240427
Matthew Wahab committed -
testsuite/ 2016-09-23 Jiong Wang <jiong.wang@arm.com> Matthew Wahab <matthew.wahab@arm.com> * gcc.target/aarch64/advsimd-intrinsics/binary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/unary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/ternary_scalar_op.inc: New. * gcc.target/aarch64/advsimd-intrinsics/vabsh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vaddh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtah_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_s32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_f16_u32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_s32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_f16_u32_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_n_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvth_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtmh_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtnh_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_s32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vcvtph_u32_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vdivh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfmah_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vfmsh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmaxnmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vminnmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vmulh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vnegh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndah_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndih_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndmh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndnh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndph_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vrndxh_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vsqrth_f16_1.c: New. * gcc.target/aarch64/advsimd-intrinsics/vsubh_f16_1.c: New. Co-Authored-By: Matthew Wahab <matthew.wahab@arm.com> From-SVN: r240426
Jiong Wang committed -
testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-neon-1.c: New. * gcc.target/arm/armv8_2-fp16-scalar-1.c: New. * gcc.target/arm/armv8_2-fp16-scalar-2.c: New. * gcc.target/arm/attr-fp16-arith-1.c: Add a test of intrinsics support. From-SVN: r240425
Matthew Wahab committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm_neon.h (vabd_f16): New. (vabdq_f16): New. (vabs_f16): New. (vabsq_f16): New. (vadd_f16): New. (vaddq_f16): New. (vcage_f16): New. (vcageq_f16): New. (vcagt_f16): New. (vcagtq_f16): New. (vcale_f16): New. (vcaleq_f16): New. (vcalt_f16): New. (vcaltq_f16): New. (vceq_f16): New. (vceqq_f16): New. (vceqz_f16): New. (vceqzq_f16): New. (vcge_f16): New. (vcgeq_f16): New. (vcgez_f16): New. (vcgezq_f16): New. (vcgt_f16): New. (vcgtq_f16): New. (vcgtz_f16): New. (vcgtzq_f16): New. (vcle_f16): New. (vcleq_f16): New. (vclez_f16): New. (vclezq_f16): New. (vclt_f16): New. (vcltq_f16): New. (vcltz_f16): New. (vcltzq_f16): New. (vcvt_f16_s16): New. (vcvt_f16_u16): New. (vcvt_s16_f16): New. (vcvt_u16_f16): New. (vcvtq_f16_s16): New. (vcvtq_f16_u16): New. (vcvtq_s16_f16): New. (vcvtq_u16_f16): New. (vcvta_s16_f16): New. (vcvta_u16_f16): New. (vcvtaq_s16_f16): New. (vcvtaq_u16_f16): New. (vcvtm_s16_f16): New. (vcvtm_u16_f16): New. (vcvtmq_s16_f16): New. (vcvtmq_u16_f16): New. (vcvtn_s16_f16): New. (vcvtn_u16_f16): New. (vcvtnq_s16_f16): New. (vcvtnq_u16_f16): New. (vcvtp_s16_f16): New. (vcvtp_u16_f16): New. (vcvtpq_s16_f16): New. (vcvtpq_u16_f16): New. (vcvt_n_f16_s16): New. (vcvt_n_f16_u16): New. (vcvtq_n_f16_s16): New. (vcvtq_n_f16_u16): New. (vcvt_n_s16_f16): New. (vcvt_n_u16_f16): New. (vcvtq_n_s16_f16): New. (vcvtq_n_u16_f16): New. (vfma_f16): New. (vfmaq_f16): New. (vfms_f16): New. (vfmsq_f16): New. (vmax_f16): New. (vmaxq_f16): New. (vmaxnm_f16): New. (vmaxnmq_f16): New. (vmin_f16): New. (vminq_f16): New. (vminnm_f16): New. (vminnmq_f16): New. (vmul_f16): New. (vmul_lane_f16): New. (vmul_n_f16): New. (vmulq_f16): New. (vmulq_lane_f16): New. (vmulq_n_f16): New. (vneg_f16): New. (vnegq_f16): New. (vpadd_f16): New. (vpmax_f16): New. (vpmin_f16): New. (vrecpe_f16): New. (vrecpeq_f16): New. (vrnd_f16): New. (vrndq_f16): New. (vrnda_f16): New. (vrndaq_f16): New. (vrndm_f16): New. (vrndmq_f16): New. (vrndn_f16): New. (vrndnq_f16): New. (vrndp_f16): New. (vrndpq_f16): New. (vrndx_f16): New. (vrndxq_f16): New. (vrsqrte_f16): New. (vrsqrteq_f16): New. (vrecps_f16): New. (vrecpsq_f16): New. (vrsqrts_f16): New. (vrsqrtsq_f16): New. (vsub_f16): New. (vsubq_f16): New. From-SVN: r240424
Matthew Wahab committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config.gcc (extra_headers): Add arm_fp16.h * config/arm/arm_fp16.h: New. * config/arm/arm_neon.h: Include "arm_fp16.h". From-SVN: r240423
Matthew Wahab committed -
2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm_neon_builtins.def (vadd): New (v8hf, v4hf variants). (vmulf): New (v8hf, v4hf variants). (vfma): New (v8hf, v4hf variants). (vfms): New (v8hf, v4hf variants). (vsub): New (v8hf, v4hf variants). (vcage): New (v8hf, v4hf variants). (vcagt): New (v8hf, v4hf variants). (vcale): New (v8hf, v4hf variants). (vcalt): New (v8hf, v4hf variants). (vceq): New (v8hf, v4hf variants). (vcgt): New (v8hf, v4hf variants). (vcge): New (v8hf, v4hf variants). (vcle): New (v8hf, v4hf variants). (vclt): New (v8hf, v4hf variants). (vceqz): New (v8hf, v4hf variants). (vcgez): New (v8hf, v4hf variants). (vcgtz): New (v8hf, v4hf variants). (vcltz): New (v8hf, v4hf variants). (vclez): New (v8hf, v4hf variants). (vabd): New (v8hf, v4hf variants). (vmaxf): New (v8hf, v4hf variants). (vmaxnm): New (v8hf, v4hf variants). (vminf): New (v8hf, v4hf variants). (vminnm): New (v8hf, v4hf variants). (vpmaxf): New (v4hf variant). (vpminf): New (v4hf variant). (vpadd): New (v4hf variant). (vrecps): New (v8hf, v4hf variants). (vrsqrts): New (v8hf, v4hf variants). (vabs): New (v8hf, v4hf variants). (vneg): New (v8hf, v4hf variants). (vrecpe): New (v8hf, v4hf variants). (vrnd): New (v8hf, v4hf variants). (vrnda): New (v8hf, v4hf variants). (vrndm): New (v8hf, v4hf variants). (vrndn): New (v8hf, v4hf variants). (vrndp): New (v8hf, v4hf variants). (vrndx): New (v8hf, v4hf variants). (vrsqrte): New (v8hf, v4hf variants). (vmul_lane): Add v4hf and v8hf variants. (vmul_n): Add v4hf and v8hf variants. (vext): New (v8hf, v4hf variants). (vcvts): New (v8hi, v4hi variants). (vcvts): New (v8hf, v4hf variants). (vcvtu): New (v8hi, v4hi variants). (vcvtu): New (v8hf, v4hf variants). (vcvts_n): New (v8hf, v4hf variants). (vcvtu_n): New (v8hi, v4hi variants). (vcvts_n): New (v8hi, v4hi variants). (vcvtu_n): New (v8hf, v4hf variants). (vbsl): New (v8hf, v4hf variants). (vcvtas): New (v8hf, v4hf variants). (vcvtau): New (v8hf, v4hf variants). (vcvtms): New (v8hf, v4hf variants). (vcvtmu): New (v8hf, v4hf variants). (vcvtns): New (v8hf, v4hf variants). (vcvtnu): New (v8hf, v4hf variants). (vcvtps): New (v8hf, v4hf variants). (vcvtpu): New (v8hf, v4hf variants). From-SVN: r240422
Matthew Wahab committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm-builtins.c (hf_UP): New. (si_UP): New. (vfp_builtin_data): New. Update comment. (enum arm_builtins): Include "arm_vfp_builtins.def". (ARM_BUILTIN_VFP_PATTERN_START): New. (arm_init_vfp_builtins): New. (arm_init_builtins): Add arm_init_vfp_builtins. (arm_expand_vfp_builtin): New. (arm_expand_builtins): Update for arm_expand_vfp_builtin. Fix long line. * config/arm/arm_vfp_builtins.def: New file. * config/arm/t-arm (arm.o): Add arm_vfp_builtins.def. (arm-builtins.o): Likewise. From-SVN: r240421
Matthew Wahab committed -
gcc/ChangeLog: 2016-09-23 Kugan Vivekanandarajah <kuganv@linaro.org> PR ipa/77677 * ipa-cp.c (propagate_vr_accross_jump_function): Drop TREE_OVERFLOW from constant while creating value range. gcc/testsuite/ChangeLog: 2016-09-23 Kugan Vivekanandarajah <kuganv@linaro.org> PR ipa/77677 * gcc.dg/torture/pr77677.c: New test. From-SVN: r240420
Kugan Vivekanandarajah committed -
gcc/fortran/ChangeLog: 2016-09-23 Andre Vehreschild <vehre@gcc.gnu.org> * trans-intrinsic.c (gfc_conv_intrinsic_caf_get): Use the old caf- interface where possible. gcc/testsuite/ChangeLog: 2016-09-23 Andre Vehreschild <vehre@gcc.gnu.org> * gfortran.dg/coarray_lib_comm_1.f90: Using the old caf-interface here now. From-SVN: r240419
Andre Vehreschild committed -
ira_init_once (). ira_use_lra_p previously will be used unintialized in backend_init_target (). gcc/ 2016-09-23 Renlin Li <renlin.li@arm.com> * ira.c (ira): Move ira_use_lra_p initialization code to ... (ira_init_once): Here. From-SVN: r240418
Renlin Li committed -
* hooks.h (hook_uint_uintp_false): Rename to... (hook_bool_uint_uintp_false): ... this. * hooks.c (hook_uint_uintp_false): Rename to... (hook_bool_uint_uintp_false): ... this. * target.def (elf_flags_numeric): Use hook_bool_uint_uintp_false instead of hook_uint_uintp_false. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r240417
Uros Bizjak committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/arm-builtins.c (arm_init_neon_builtin): New. (arm_init_builtins): Move body of a loop to the standalone function arm_init_neon_builtin. (arm_expand_neon_builtin_1): New. Update comment. Function body moved from arm_neon_builtin with some white-space fixes. (arm_expand_neon_builtin): Move code into the standalone function arm_expand_neon_builtin_1. From-SVN: r240416
Matthew Wahab committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/iterators.md (VCVTHI): New. (NEON_VCMP): Add UNSPEC_VCLT and UNSPEC_VCLE. Fix a long line. (NEON_VAGLTE): New. (VFM_LANE_AS): New. (VH_CVTTO): New. (V_reg): Add HF, V4HF and V8HF. Fix white-space. (V_HALF): Add V4HF. Fix white-space. (V_if_elem): Add HF, V4HF and V8HF. Fix white-space. (V_s_elem): Likewise. (V_sz_elem): Fix white-space. (V_elem_ch): Likewise. (VH_elem_ch): New. (scalar_mul_constraint): Add V8HF and V4HF. (Is_float_mode): Fix white-space. (Is_d_reg): Add V4HF and V8HF. Fix white-space. (q): Add HF. Fix white-space. (float_sup): New. (float_SUP): New. (cmp_op_unsp): Add UNSPEC_VCALE and UNSPEC_VCALT. (neon_vfm_lane_as): New. * config/arm/neon.md (add<mode>3_fp16): New. (sub<mode>3_fp16): New. (mul<mode>3add<mode>_neon): New. (fma<VH:mode>4_intrinsic): New. (fmsub<VCVTF:mode>4_intrinsic): Fix white-space. (fmsub<VH:mode>4_intrinsic): New. (<absneg_str><mode>2): New. (neon_v<absneg_str><mode>): New. (neon_v<fp16_rnd_str><mode>): New. (neon_vrsqrte<mode>): New. (neon_vpaddv4hf): New. (neon_vadd<mode>): New. (neon_vsub<mode>): New. (neon_vmulf<mode>): New. (neon_vfma<VH:mode>): New. (neon_vfms<VH:mode>): New. (neon_vc<cmp_op><mode>): New. (neon_vc<cmp_op><mode>_fp16insn): New (neon_vc<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vca<cmp_op><mode>): New. (neon_vca<cmp_op><mode>_fp16insn): New. (neon_vca<cmp_op_unsp><mode>_fp16insn_unspec): New. (neon_vc<cmp_op>z<mode>): New. (neon_vabd<mode>): New. (neon_v<maxmin>f<mode>): New. (neon_vp<maxmin>fv4hf: New. (neon_<fmaxmin_op><mode>): New. (neon_vrecps<mode>): New. (neon_vrsqrts<mode>): New. (neon_vrecpe<mode>): New (VH variant). (neon_vdup_lane<mode>_internal): New. (neon_vdup_lane<mode>): New. (neon_vcvt<sup><mode>): New (VCVTHI variant). (neon_vcvt<sup><mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VH variant). (neon_vcvt<sup>_n<mode>): New (VCVTHI variant). (neon_vcvt<vcvth_op><sup><mode>): New. (neon_vmul_lane<mode>): New. (neon_vmul_n<mode>): New. * config/arm/unspecs.md (UNSPEC_VCALE): New (UNSPEC_VCALT): New. (UNSPEC_VFMA_LANE): New. (UNSPECS_VFMS_LANE): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-arith-1.c: Use arm_v8_2a_fp16_neon options. Add tests for float16x4_t and float16x8_t. From-SVN: r240415
Matthew Wahab committed -
gcc/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.md ("*extzv<mode>_zEC12", "*extzv<mode>_z10") ("*extzv<mode><clobbercc_or_nocc>"): Correct a typo in a comment. Merged patterns. ("*insv<mode>_zEC12", "*insv<mode>_z10") ("*insv<mode><clobbercc_or_nocc>"): Ditto. ("*insv<mode>_zEC12_appendbitsleft") ("*insv<mode><clobbercc_or_nocc>_appendbitsleft") ("*insv<mode>_z10_appendbitsleft"): Ditto. ("*insv<mode>_zEC12_noshift", "*insv<mode>_z10_noshift") ("*insv<mode><clobbercc_or_nocc>_noshift"): Ditto. Provide pattern with operands switched. ("*pre_z10_extv<mode>"): Use new subst patterns. ("*extzvdi<clobbercc_or_nocc>_lshiftrt", "*<risbg_n>_ior_and_sr_ze") ("*extvsidi<clobbercc_or_nocc>", "*<risbg_n>_and_subregdi_rotr") ("*<risbg_n>_and_subregdi_rotl", "*<risbg_n>_di_and_rot") ("*insv_z10_noshift_cc", "*insv_z10_noshift_cconly") ("*<risbg_n>_<mode>_ior_and_lshiftrt") ("*<risbg_n>_sidi_ior_and_lshiftrt") ("*trunc_sidi_and_subreg_lshrt<clobbercc_or_nocc>"): New patterns. ("*extzv_<mode>_sll", "*extzv_<mode>_srl") ("*extzv_<mode>_srl<clobbercc_or_nocc>") ("*extzv_<mode>_sll<clobbercc_or_nocc>"): Renamed patterns, use risbgn on zEC12. ("SINT"): New mode_iterator with SI, HI, QI. * config/s390/subst.md ("clobbercc_or_nocc_subst", "z10_or_zEC12_cond") ("clobbercc_or_nocc", "risbg_n"): New constructs for risbg pattern duplication. gcc/testsuite/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/risbg-ll-1.c: Ported risbg tests from llvm. * gcc.target/s390/risbg-ll-2.c: Ditto. * gcc.target/s390/risbg-ll-3.c: Ditto. From-SVN: r240414
Dominik Vogt committed -
gcc/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/predicates.md ("contiguous_bitmask_operand"): Adapt to new interface of s390_contiguous_bitmask_p. ("contiguous_bitmask_nowrap_operand"): New predicate. * ("*anddi3_cc", "*anddi3_cconly", "*anddi3"): Replace NxxDq with NxxDw. * config/s390/constraints.md ("NxxDw", "NxxSq"): Adapt to new interface of s390_contiguous_bitmask_p. * ("NxxDw"): Rename NxxDq constraint to NxxDw. ("NxxSw"): New constraint. * config/s390/s390.md ("*andsi3_zarch"): Enable bitmask wraparound. * config/s390/s390-protos.h (s390_contiguous_bitmask_p): Updated interface. (s390_contiguous_bitmask_nowrap_p): Export. * config/s390/s390.c (s390_contiguous_bitmask_nowrap_p): New name of former s390_contiguous_bitmask_p. (s390_contiguous_bitmask_p): Use s390_contiguous_bitmask_nowrap_p to detect contiguous bit ranges with wraparound. Change signature to return START and END position instead of POS and LENGTH. (s390_contiguous_bitmask_vector_p): Remove extra code for continous bit ranges with wraparound. (s390_extzv_shift_ok): Use s390_contiguous_bitmask_nowrap_p. (s390_contiguous_bitmask_vector_p,s390_extzv_shift_ok,print_operand): Adapt to new signature of s390_contiguous_bitmask_p. From-SVN: r240413
Dominik Vogt committed -
* tree-vect-loop-manip.c (create_intersect_range_checks_index): New. (create_intersect_range_checks): New. (vect_create_cond_for_alias_checks): Call above function. From-SVN: r240412
Bin Cheng committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * config/arm/iterators.md (Code iterators): Fix some white-space in the comments. (GLTE): New. (ABSNEG): New (FCVT): Moved from vfp.md. (VCVT_HF_US_N): New. (VCVT_SI_US_N): New. (VCVT_HF_US): New. (VCVTH_US): New. (FP16_RND): New. (absneg_str): New. (FCVTI32typename): Moved from vfp.md. (sup): Add UNSPEC_VCVTA_S, UNSPEC_VCVTA_U, UNSPEC_VCVTM_S, UNSPEC_VCVTM_U, UNSPEC_VCVTN_S, UNSPEC_VCVTN_U, UNSPEC_VCVTP_S, UNSPEC_VCVTP_U, UNSPEC_VCVT_HF_S_N, UNSPEC_VCVT_HF_U_N, UNSPEC_VCVT_SI_S_N, UNSPEC_VCVT_SI_U_N, UNSPEC_VCVTH_S_N, UNSPEC_VCVTH_U_N, UNSPEC_VCVTH_S and UNSPEC_VCVTH_U. (vcvth_op): New. (fp16_rnd_str): New. (fp16_rnd_insn): New. * config/arm/unspecs.md (UNSPEC_VCVT_HF_S_N): New. (UNSPEC_VCVT_HF_U_N): New. (UNSPEC_VCVT_SI_S_N): New. (UNSPEC_VCVT_SI_U_N): New. (UNSPEC_VCVTH_S): New. (UNSPEC_VCVTH_U): New. (UNSPEC_VCVTA_S): New. (UNSPEC_VCVTA_U): New. (UNSPEC_VCVTM_S): New. (UNSPEC_VCVTM_U): New. (UNSPEC_VCVTN_S): New. (UNSPEC_VCVTN_U): New. (UNSPEC_VCVTP_S): New. (UNSPEC_VCVTP_U): New. (UNSPEC_VCVTP_S): New. (UNSPEC_VCVTP_U): New. (UNSPEC_VRND): New. (UNSPEC_VRNDA): New. (UNSPEC_VRNDI): New. (UNSPEC_VRNDM): New. (UNSPEC_VRNDN): New. (UNSPEC_VRNDP): New. (UNSPEC_VRNDX): New. * config/arm/vfp.md (<absneg_str>hf2): New. (neon_vabshf): New. (neon_v<fp16_rnd_str>hf): New. (neon_vrndihf): New. (addhf3): New. (subhf3): New. (divhf3): New. (mulhf3): New. (*mulsf3neghf_vfp): New. (*negmulhf3_vfp): New. (*mulsf3addhf_vfp): New. (*mulhf3subhf_vfp): New. (*mulhf3neghfaddhf_vfp): New. (*mulhf3neghfsubhf_vfp): New. (fmahf4): New. (neon_vfmahf): New. (fmsubhf4_fp16): New. (neon_vfmshf): New. (*fnmsubhf4): New. (*fnmaddhf4): New. (neon_vsqrthf): New. (neon_vrsqrtshf): New. (FCVT): Move to iterators.md. (FCVTI32typename): Likewise. (neon_vcvth<sup>hf): New. (neon_vcvth<sup>si): New. (neon_vcvth<sup>_nhf_unspec): New. (neon_vcvth<sup>_nhf): New. (neon_vcvth<sup>_nsi_unspec): New. (neon_vcvth<sup>_nsi): New. (neon_vcvt<vcvth_op>h<sup>si): New. (neon_<fmaxmin_op>hf): New. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2-fp16-arith-1.c: New. * gcc.target/arm/armv8_2-fp16-conv-1.c: New. From-SVN: r240411
Matthew Wahab committed -
From-SVN: r240410
Tamar Christina committed -
Add a new mode attribute to simplify some instruction patterns. gcc/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * config/s390/s390.md (bitoff, bitoff_plus): Neq mode attributes. ("*extzv<mode>_zEC12", "*insv<mode>_zEC12", "*insv<mode>_z10") ("*insv<mode>_zEC12_appendbitsleft") ("*insv<mode>_z10_appendbitsleft", "*r<noxa>sbg_<mode>_sll") ("*r<noxa>sbg_<mode>_srl"): Use new attributes. gcc/testsuite/ChangeLog: 2016-09-23 Dominik Vogt <vogt@linux.vnet.ibm.com> * gcc.target/s390/md/rXsbg_mode_sXl.c: Adapt expected assembly output to the simplified instructions. From-SVN: r240409
Dominik Vogt committed -
* ipa-cp.c (ipcp_store_vr_results): Avoid static local var zero. * sreal.h (sreal::min, sreal::max): Avoid static local vars, construct values without normalization. * tree-ssa-sccvn.c (vn_reference_lookup_3): Don't initialize static local lhs_ops to vNULL. cp/ * name-lookup.c (store_bindings, store_class_bindings): Don't initialize static local bindings_need_stored to vNULL. From-SVN: r240408
Jakub Jelinek committed -
gcc/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> Jiong Wang <jiong.wang@arm.com> * config/arm/arm.c (coproc_secondary_reload_class): Make HFmode available when FP16 instructions are available. (output_move_vfp): Add support for 16-bit data moves. (arm_validize_comparison): Fix some white-space. Support HFmode by conversion to SFmode. * config/arm/arm.md (truncdfhf2): Fix a comment. (extendhfdf2): Likewise. (cstorehf4): New. (movsicc): Fix some white-space. (movhfcc): New. (movsfcc): Fix some white-space. (*cmovhf): New. * config/arm/vfp.md (*arm_movhi_vfp): Disable when VFP FP16 instructions are available. (*thumb2_movhi_vfp): Likewise. (*arm_movhi_fp16): New. (*thumb2_movhi_fp16): New. (*movhf_vfp_fp16): New. (*movhf_vfp_neon): Disable when VFP FP16 instructions are available. (*movhf_vfp): Likewise. (extendhfsf2): Enable when VFP FP16 instructions are available. (truncsfhf2): Enable when VFP FP16 instructions are available. testsuite/ 2016-09-23 Matthew Wahab <matthew.wahab@arm.com> * gcc.target/arm/armv8_2_fp16-move-1.c: New. * gcc.target/arm/fp16-aapcs-1.c: Update expected output. Co-Authored-By: Jiong Wang <jiong.wang@arm.com> From-SVN: r240407
Matthew Wahab committed
-