1. 25 May, 2016 14 commits
  2. 24 May, 2016 26 commits
    • * g++.dg/pr65295.C: Use target c++14. · f184a36c
      From-SVN: r236683
      Marek Polacek committed
    • altivec.md (VNEG iterator): New iterator for VNEGW/VNEGD instructions. · c3eaf15a
      [gcc]
      2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (VNEG iterator): New iterator for
      	VNEGW/VNEGD instructions.
      	(p9_neg<mode>2): New insns for ISA 3.0 VNEGW/VNEGD.
      	(neg<mode>2): Add expander for V2DImode added in ISA 2.06, and
      	support for ISA 3.0 VNEGW/VNEGD instructions.
      
      [gcc/testsuite]
      2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p9-vneg.c: New test for ISA 3.0 VNEGW/VNEGD
      	instructions.
      
      From-SVN: r236679
      Michael Meissner committed
    • c-parser.c (c_parser_oacc_declare): Add support for GOMP_MAP_FIRSTPRIVATE_POINTER. · e46c7770
      	gcc/c/
      	* c-parser.c (c_parser_oacc_declare): Add support for
      	GOMP_MAP_FIRSTPRIVATE_POINTER.
      	* c-typeck.c (handle_omp_array_sections_1): Replace bool is_omp
      	argument with enum c_omp_region_type ort.
      	(handle_omp_array_sections): Likewise.  Update call to
      	handle_omp_array_sections_1.
      	(c_finish_omp_clauses): Add specific errors and warning messages for
      	OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
      	call to handle_omp_array_sections.
      
      	gcc/cp/
      	* parser.c (cp_parser_oacc_declare): Add support for
      	GOMP_MAP_FIRSTPRIVATE_POINTER.
      	* semantics.c (handle_omp_array_sections_1): Replace bool is_omp
      	argument with enum c_omp_region_type ort.  Don't privatize OpenACC
      	non-static members.
      	(handle_omp_array_sections): Replace bool is_omp argument with enum
      	c_omp_region_type ort.  Update call to handle_omp_array_sections_1.
      	(finish_omp_clauses): Add specific errors and warning messages for
      	OpenACC.  Use firsrtprivate pointers for OpenACC subarrays.  Update
      	call to handle_omp_array_sections.
      
      	gcc/
      	* gimplify.c (omp_notice_variable): Use zero-length arrays for data
      	pointers inside OACC_DATA regions.
      	(gimplify_scan_omp_clauses): Prune firstprivate clause associated
      	with OACC_DATA, OACC_ENTER_DATA and OACC_EXIT data regions.
      	(gimplify_adjust_omp_clauses): Fix typo in comment.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/data-clause-duplicate-1.c: Adjust test.
      	* c-c++-common/goacc/deviceptr-1.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-3.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-4.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-5.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-8.c: Likewise.
      	* c-c++-common/goacc/kernels-alias-ipa-pta-3.c: Likewise.
      	* c-c++-common/goacc/pcopy.c: Likewise.
      	* c-c++-common/goacc/pcopyin.c: Likewise.
      	* c-c++-common/goacc/pcopyout.c: Likewise.
      	* c-c++-common/goacc/pcreate.c: Likewise.
      	* c-c++-common/goacc/pr70688.c: New test.
      	* c-c++-common/goacc/present-1.c: Adjust test.
      	* c-c++-common/goacc/reduction-5.c: Likewise.
      	* g++.dg/goacc/data-1.C: New test.
      
      	libgomp/
      	* oacc-mem.c (acc_malloc): Update handling of shared-memory targets.
      	(acc_free): Likewise.
      	(acc_memcpy_to_device): Likewise.
      	(acc_memcpy_from_device): Likewise.
      	(acc_deviceptr): Likewise.
      	(acc_hostptr): Likewise.
      	(acc_is_present): Likewise.
      	(acc_map_data): Likewise.
      	(acc_unmap_data): Likewise.
      	(present_create_copy): Likewise.
      	(delete_copyout): Likewise.
      	(update_dev_host): Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/asyncwait-1.c: Remove xfail.
      	* testsuite/libgomp.oacc-c-c++-common/data-2-lib.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/data-2.c: Adjust test.
      	* testsuite/libgomp.oacc-c-c++-common/data-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/enter_exit-lib.c: New test.
      	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Adjust test so that
      	it only runs on nvptx targets.
      	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-15.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-16.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-17.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-20.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-21.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-23.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-24.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-25.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-28.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-29.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-34.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-42.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-43.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-44.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-47.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-48.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-52.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-53.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-54.c: Likewise.
      
      From-SVN: r236678
      Cesar Philippidis committed
    • altivec.md (VParity): New mode iterator for vector parity built-in functions. · 4bfc9db7
      [gcc]
      2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* config/rs6000/altivec.md (VParity): New mode iterator for vector
      	parity built-in functions.
      	(p9v_ctz<mode>2): Add support for ISA 3.0 vector count trailing
      	zeros.
      	(p9v_parity<mode>2): Likewise.
      	* config/rs6000/vector.md (VEC_IP): New mode iterator for vector
      	parity.
      	(ctz<mode>2): ISA 3.0 expander for vector count trailing zeros.
      	(parity<mode>2): ISA 3.0 expander for vector parity.
      	* config/rs6000/rs6000-builtin.def (BU_P9_MISC_1): New macros for
      	power9 built-ins.
      	(BU_P9_64BIT_MISC_0): Likewise.
      	(BU_P9_MISC_0): Likewise.
      	(BU_P9V_AV_1): Likewise.
      	(BU_P9V_AV_2): Likewise.
      	(BU_P9V_AV_3): Likewise.
      	(BU_P9V_AV_P): Likewise.
      	(BU_P9V_VSX_1): Likewise.
      	(BU_P9V_OVERLOAD_1): Likewise.
      	(BU_P9V_OVERLOAD_2): Likewise.
      	(BU_P9V_OVERLOAD_3): Likewise.
      	(VCTZB): Add vector count trailing zeros support.
      	(VCTZH): Likewise.
      	(VCTZW): Likewise.
      	(VCTZD): Likewise.
      	(VPRTYBD): Add vector parity support.
      	(VPRTYBQ): Likewise.
      	(VPRTYBW): Likewise.
      	(VCTZ): Add overloaded vector count trailing zeros support.
      	(VPRTYB): Add overloaded vector parity support.
      	* config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
      	overloaded vector count trailing zeros and parity instructions.
      	* config/rs6000/rs6000.md (wd mode attribute): Add V1TI and TI for
      	vector parity support.
      	* config/rs6000/altivec.h (vec_vctz): Add ISA 3.0 vector count
      	trailing zeros support.
      	(vec_cntlz): Likewise.
      	(vec_vctzb): Likewise.
      	(vec_vctzd): Likewise.
      	(vec_vctzh): Likewise.
      	(vec_vctzw): Likewise.
      	(vec_vprtyb): Add ISA 3.0 vector parity support.
      	(vec_vprtybd): Likewise.
      	(vec_vprtybw): Likewise.
      	(vec_vprtybq): Likewise.
      	* doc/extend.texi (PowerPC AltiVec Built-in Functions): Document
      	the ISA 3.0 vector count trailing zeros and vector parity built-in
      	functions.
      
      [gcc/testsuite]
      2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	* gcc.target/powerpc/p9-vparity.c: New file to check ISA 3.0
      	vector parity built-in functions.
      	* gcc.target/powerpc/ctz-3.c: New file to check ISA 3.0 vector
      	count trailing zeros automatic vectorization.
      	* gcc.target/powerpc/ctz-4.c: New file to check ISA 3.0 vector
      	count trailing zeros built-in functions.
      
      From-SVN: r236677
      Michael Meissner committed
    • lambda-generic-static1.C: Use target c++14. · fe3473a6
      2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* g++.dg/cpp1y/lambda-generic-static1.C: Use target c++14.
      	* g++.dg/cpp1y/lambda-generic-static2.C: Likewise.
      
      From-SVN: r236676
      Paolo Carlini committed
    • tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb when there is stmt_to_insert. · 2bc145af
      gcc/ChangeLog:
      
      2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* tree-ssa-reassoc.c (sort_by_operand_rank): Skip checking gimple_bb
      	when there is stmt_to_insert.
      
      
      gcc/testsuite/ChangeLog:
      
      2016-05-24  Kugan Vivekanandarajah  <kuganv@linaro.org>
      
      	* gcc.dg/tree-ssa/reassoc-44.c: New test.
      
      From-SVN: r236673
      Kugan Vivekanandarajah committed
    • lhs-1.c: Fix testcase to avoid subreg changes. · 26869fdb
      	* gcc.target/powerpc/lhs-1.c: Fix testcase to avoid subreg changes.
      
      From-SVN: r236672
      Pat Haugen committed
    • re PR c++/50436 (Crash or hang on invalid template code) · b2dc9c3b
      2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/50436
      	* g++.dg/template/crash123.C: New.
      	* g++.dg/template/crash124.C: Likewise.
      
      From-SVN: r236671
      Paolo Carlini committed
    • PR c++/70584 - don't force indirection to an rvalue · 66f90a17
      	* cp-gimplify.c (cp_fold_maybe_rvalue): Loop in case cp_fold
      	returns a decl.
      	(cp_fold) [INDIRECT_REF]: Don't fold to an rvalue.
      
      From-SVN: r236670
      Jason Merrill committed
    • c++config (_GLIBCXX14_USE_CONSTEXPR): New. · 732eb076
      2016-05-24  François Dumont  <fdumont@gcc.gnu.org>
      
      	* include/bits/c++config (_GLIBCXX14_USE_CONSTEXPR): New.
      	* include/bits/hashtable_policy.h
      	(_Prime_rehash_policy::__has_load_factor): New. Mark rehash policy
      	having load factor management.
      	(_Mask_range_hashing): New.
      	(__clp2): New.
      	(_Power2_rehash_policy): New.
      	(_Inserts<>): Remove last template parameter, _Unique_keys, so that
      	partial specializations only depend on whether iterators are constant
      	or not.
      	* testsuite/23_containers/unordered_set/hash_policy/26132.cc: Adapt to
      	test new hash policy.
      	* testsuite/23_containers/unordered_set/hash_policy/load_factor.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/hash_policy/rehash.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/insert/hash_policy.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
      	Likewise.
      	* testsuite/23_containers/unordered_set/hash_policy/power2_rehash.cc:
      	New.
      	* testsuite/performance/23_containers/insert/54075.cc: Add benchmark
      	using the new hash policy.
      	* testsuite/performance/23_containers/insert_erase/41975.cc: Likewise.
      
      From-SVN: r236669
      François Dumont committed
    • PR c++/71147 - [6 Regression] Flexible array member wrongly rejected in template · f65e97fd
      gcc/ChangeLog:
      2016-05-24  Martin Sebor  <msebor@redhat.com>
      
      	PR c++/71147
      	* gcc/tree.h (complete_or_array_type_p): New inline function.
      
      gcc/testsuite/ChangeLog:
      2016-05-24  Martin Sebor  <msebor@redhat.com>
      
      	PR c++/71147
      	* g++.dg/ext/flexary16.C: New test.
      
      gcc/cp/ChangeLog:
      2016-05-24  Martin Sebor  <msebor@redhat.com>
      
      	PR c++/71147
      	* decl.c (layout_var_decl, grokdeclarator): Use complete_or_array_type_p.
      	* pt.c (instantiate_class_template_1): Try to complete the element
      	type of a flexible array member.
      	(can_complete_type_without_circularity): Handle arrays of unknown bound.
      	* typeck.c (complete_type): Also complete the type of the elements of
      	arrays with an unspecified bound.
      
      From-SVN: r236664
      Martin Sebor committed
    • i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define. · 8e0dc054
      	* config/i386/i386.h (TARGET_AVOID_4BYTE_PREFIXES): Define.
      	* config/i386/constraints.md (Yr): Test TARGET_AVOID_4BYTE_PREFIXES
      	rather than X86_TUNE_AVOID_4BYTE_PREFIXES.
      
      From-SVN: r236662
      Jakub Jelinek committed
    • sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>): Limit 1st alternative to noavx isa... · a0caac98
      	* config/i386/sse.md (<sse4_1>_round<ssemodesuffix><avxsizesuffix>):
      	Limit 1st alternative to noavx isa, split 2nd alternative into one
      	noavx and one avx alternative, use *x and Bm in the former and
      	x and m in the latter.
      
      From-SVN: r236661
      Jakub Jelinek committed
    • sse.md (vec_set<mode>_0): Use sse4_noavx isa instead of sse4 for the first alternative... · 7733939d
      	* config/i386/sse.md (vec_set<mode>_0): Use sse4_noavx isa instead
      	of sse4 for the first alternative, drop %v from the template
      	and d operand modifier.  Split second alternative into one sse4_noavx
      	and one avx alternative, use *x instead of *v in the former and v
      	instead of *v in the latter.
      	(*sse4_1_extractps): Use noavx isa instead of * for the first
      	alternative, drop %v from the template.  Split second alternative into
      	one noavx and one avx alternative, use *x instead of *v in the
      	former and v instead of *v in the latter.
      	(<vi8_sse4_1_avx2_avx512>_movntdqa): Guard the first 2 alternatives
      	with noavx and the last one with avx.
      	(sse4_1_phminposuw): Guard first alternative with noavx isa,
      	split the second one into one noavx and one avx alternative,
      	use *x and Bm in the former and x and m in the latter one.
      	(<sse4_1>_ptest<mode>): Use noavx instead of * for the first two
      	alternatives.
      
      From-SVN: r236660
      Jakub Jelinek committed
    • sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit first two alternatives to noavx... · 520c86db
      	* config/i386/sse.md (sse4_1_<code>v8qiv8hi2<mask_name>): Limit
      	first two alternatives to noavx, use *x instead of *v in the second
      	one, add avx alternative without *.
      	(sse4_1_<code>v4qiv4si2<mask_name>, sse4_1_<code>v4hiv4si2<mask_name>,
      	sse4_1_<code>v2qiv2di2<mask_name>, sse4_1_<code>v2hiv2di2<mask_name>,
      	sse4_1_<code>v2siv2di2<mask_name>): Likewise.
      
      From-SVN: r236659
      Jakub Jelinek committed
    • avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before math.h is included. · a6f5ac7f
      	* gcc.target/i386/avx-ceil-sfix-2-vec.c: Define __NO_MATH_INLINES before
      	math.h is included.
      	* gcc.target/i386/avx-floor-sfix-2-vec.c: Likewise.
      	* gcc.target/i386/avx-rint-sfix-2-vec.c: Likewise.
      	* gcc.target/i386/avx-round-sfix-2-vec.c: Likewise.
      	* gcc.target/i386/avx512f-ceil-sfix-vec-1.c: Likewise.
      	* gcc.target/i386/avx512f-floor-sfix-vec-1.c: Likewise.
      	* gcc.target/i386/sse4_1-ceil-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-ceil-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-ceilf-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-ceilf-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-floor-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-floor-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-rint-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-rint-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-rintf-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-rintf-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-round-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-round-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-roundf-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-roundf-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-trunc-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-truncf-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-floorf-sfix-vec.c: Likewise.
      	* gcc.target/i386/sse4_1-floorf-vec.c: Likewise.
      
      From-SVN: r236656
      Ilya Verbin committed
    • p9-vpermr.c: New test for ISA 3.0 vpermr support. · 27bad558
      gcc/testsuite/ChangeLog:
      
      2016-05-24  Michael Meissner  <meissner@linux.vnet.ibm.com>
      	    Kelvin Nilsen  <kelvin@gcc.gnu.org>
      
      	* gcc.target/powerpc/p9-vpermr.c: New test for ISA 3.0 vpermr
      	support.
      
      
      
      Co-Authored-By: Kelvin Nilsen <kelvin@gcc.gnu.org>
      
      From-SVN: r236655
      Michael Meissner committed
    • tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path): New function, extracted from... · 081fdda6
      	* tree-ssa-threadbackwards.c (convert_and_register_jump_thread_path):
      	New function, extracted from...
      	(fsm_find_control_statement_thread_paths): Here.  Use the new function.
      	Allow simple copies and constant initializations in the SSA chain.
      
      From-SVN: r236653
      Jeff Law committed
    • re PR c++/69872 (-Wnarrowing note without warning/errror) · 72f382fb
      /cp
      2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69872
      	* typeck2.c (check_narrowing): Check pedwarn return value.
      
      /testsuite
      2016-05-24  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	PR c++/69872
      	* g++.dg/warn/Wno-narrowing1.C: New.
      
      From-SVN: r236651
      Paolo Carlini committed
    • re PR middle-end/71249 (-Wswitch-unreachable false positive for a compound… · ef2ec9d9
      re PR middle-end/71249 (-Wswitch-unreachable false positive for a compound statement containing a used label)
      
      	PR c/71249
      	* gimplify.c (gimplify_switch_expr): Look into the innermost lexical
      	scope.
      
      	* c-c++-common/Wswitch-unreachable-2.c: New test.
      
      From-SVN: r236649
      Marek Polacek committed
    • re PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept… · 7adb26f2
      re PR c++/71257 (OpenMP declare simd linear with ref modifier doesn't accept references to non-integer/non-pointer)
      
      	PR c++/71257
      	* tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
      	SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
      	SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.  Add
      	SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP and
      	SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP cases explicitly.
      
      	* semantics.c (finish_omp_clauses) <case OMP_CLAUSE_LINEAR>:
      	For OMP_CLAUSE_LINEAR_REF don't require type to be
      	integral or pointer.
      
      	* g++.dg/vect/simd-clone-6.cc: New test.
      	* g++.dg/gomp/declare-simd-6.C: New test.
      
      From-SVN: r236648
      Jakub Jelinek committed
    • re PR middle-end/70434 (adding an extraneous cast to vector type results in inferior code) · e90434e3
      	PR middle-end/70434
      	PR c/69504
      	* c-c++-common/vector-subscript-5.c (foo): Move ; out of the ifdef.
      
      From-SVN: r236647
      Jakub Jelinek committed
    • Add priority_queue::value_compare (LWG 2684) · 8be062c6
      	* include/bits/stl_queue.h (priority_queue::value_compare): Define.
      
      From-SVN: r236646
      Jonathan Wakely committed
    • i386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P,… · 4b63ff58
      i386.c (ix86_preferred_reload_class): Use IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
      
      	* config/i386/i386.c (ix86_preferred_reload_class): Use
      	IS_STACK_MODE, INTEGER_CLASS_P, FLOAT_CLASS_P and Q_CLASS_P macros.
      
      From-SVN: r236645
      Uros Bizjak committed
    • re PR tree-optimization/71240 (ICE on valid code at -O2 and above on… · b556ea3b
      re PR tree-optimization/71240 (ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed)
      
      2016-05-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71240
      	* tree-ssa-math-opts.c (init_symbolic_number): Verify the source
      	has integral type.
      
      	* gcc.dg/optimize-bswapsi-5.c: New testcase.
      
      From-SVN: r236644
      Richard Biener committed
    • re PR tree-optimization/71230 (ICE : in zero_one_operation, at tree-ssa-reassoc.c:1230) · e5328f5d
      2016-05-24  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71230
      	* tree-ssa-reassoc.c (zero_one_operation): Handle negate special ops.
      
      	* gcc.dg/torture/pr71230.c: New testcase.
      	* g++.dg/torture/pr71230.C: Likewise.
      
      From-SVN: r236643
      Richard Biener committed