1. 18 May, 2016 24 commits
  2. 17 May, 2016 16 commits
    • 20030222-1.c: Skip on ptx. · 2efd67ed
      	* gcc.c-torture/execute/20030222-1.c: Skip on ptx.
      	* gcc.dg/pr68671.c: Fix ptx xfail-if.
      	* gcc.dg/torture/pr54261-1.c: Allocate atomic var statically.
      	* gcc.dg/torture/type-generic-1.c: Enable UNSAFE for ptx.
      
      From-SVN: r236346
      Nathan Sidwell committed
    • nvptx.c (nvptx_function_arg_boundary): New. · 1988b2c2
      	* config/nvptx/nvptx.c (nvptx_function_arg_boundary): New.
      	(TARGET_FUNCTION_ARG_BOUNDARY): Override.
      
      	testsuite/
      	* gcc.target/nvptx/abi-vararg-3.c: New.
      
      From-SVN: r236345
      Nathan Sidwell committed
    • Fold bit_not through ASR and rotate · ad1d92ab
      gcc/
      
      	PR tree-optimization/54579
      	PR middle-end/55299
      	* match.pd (~(~X >> Y), ~(~X >>r Y), ~(~X <<r Y)): New patterns.
      
      gcc/testsuite
      
      	PR tree-optimization/54579
      	PR middle-end/55299
      	* gcc.dg/fold-notrotate-1.c: New test.
      	* gcc.dg/fold-notshift-1.c: New test.
      	* gcc.dg/fold-notshift-2.c: New test.
      
      From-SVN: r236344
      Mikhail Maltsev committed
    • re PR ipa/71146 (error: __builtin_unreachable or __builtin_trap call with arguments) · 47768df8
      	PR ipa/71146
      	* tree-inline.c (expand_call_inline): Call
      	maybe_remove_unused_call_args.
      
      	* g++.dg/ipa/pr71146.C: New test.
      
      From-SVN: r236343
      Marek Polacek committed
    • jit: gcc diagnostics are jit errors · 6b5423a5
      libgccjit performs numerous checks at the API boundary, but
      if these succeed, it ignores errors and other diagnostics emitted
      within the core of gcc, and treats the compile of a gcc_jit_context
      as having succeeded.
      
      This patch ensures that if any diagnostics are emitted, they
      are visible from the libgccjit API, and that the the context is
      flagged as having failed.
      
      For now any kind of diagnostic is treated as a jit error,
      so warnings and notes also count as errors.
      
      gcc/jit/ChangeLog:
      	* dummy-frontend.c: Include diagnostic.h.
      	(jit_begin_diagnostic): New function.
      	(jit_end_diagnostic): New function.
      	(jit_langhook_init): Register jit_begin_diagnostic
      	and jit_end_diagnostic with the global_dc.
      	* jit-playback.c: Include diagnostic.h.
      	(gcc::jit::playback::context::add_diagnostic): New method.
      	* jit-playback.h (struct diagnostic_context): Add forward
      	declaration.
      	(gcc::jit::playback::context::add_diagnostic): New method.
      
      gcc/testsuite/ChangeLog:
      	* jit.dg/test-error-array-bounds.c: New test case.
      
      From-SVN: r236342
      David Malcolm committed
    • jit: document gcc_jit_context_new_call_through_ptr · f51703a8
      gcc/jit/ChangeLog:
      	* docs/topics/expressions.rst (Function calls): Document
      	gcc_jit_context_new_call_through_ptr.
      	* docs/_build/texinfo/libgccjit.texi: Regenerate.
      
      From-SVN: r236341
      David Malcolm committed
    • Fix minor doc bugs, signalling typo, major version changes rare. · 18ea359a
      	gcc/
      	* doc/cpp.texi (__GNUC__): Major version changes are no longer rare.
      	* doc/invoke.texi (-mnan=2008): Change signalling to signaling.
      	* doc/md.texi (fmin@var{m}3): Likewise.
      
      From-SVN: r236340
      Jim Wilson committed
    • x & C -> x if we know that x & ~C == 0 · c7986356
      2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (X & C): New transformation.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/and-1.c: New testcase.
      
      From-SVN: r236338
      Marc Glisse committed
    • ~X & Y to X ^ Y in some cases · d982c5b7
      2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* match.pd (~X & Y): New transformation.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr69270.c: Adjust.
      	* gcc.dg/tree-ssa/andnot-1.c: New testcase.
      
      From-SVN: r236337
      Marc Glisse committed
    • VRP: range info of new variables · 0139ba93
      2016-05-17  Marc Glisse  <marc.glisse@inria.fr>
      
      gcc/
      	* tree-vrp.c (simplify_truth_ops_using_ranges): Set range
      	information for new SSA_NAME.
      	(simplify_conversion_using_ranges): Get range through get_range_info
      	instead of get_value_range.
      
      gcc/testsuite/
      	* gcc.dg/tree-ssa/pr69270.c: Adjust.
      	* gcc.dg/tree-ssa/vrp99.c: New testcase.
      
      From-SVN: r236336
      Marc Glisse committed
    • [AArch64, 4/4] Reimplement vmvn* intrinscis, remove inline assembly · 6f2c6623
      gcc/
      	* config/aarch64/arm_neon.h (vmvn_s8): Reimplement using C operator.
      	Remove inline assembly.
      	(vmvn_s16): Likewise.
      	(vmvn_s32): Likewise.
      	(vmvn_u8): Likewise.
      	(vmvn_u16): Likewise.
      	(vmvn_u32): Likewise.
      	(vmvnq_s8): Likewise.
      	(vmvnq_s16): Likewise.
      	(vmvnq_s32): Likewise.
      	(vmvnq_u8): Likewise.
      	(vmvnq_u16): Likewise.
      	(vmvnq_u32): Likewise.
      	(vmvn_p8): Likewise.
      	(vmvnq_p16): Likewise.
      
      From-SVN: r236334
      Jiong Wang committed
    • [AArch64, 3/4] Reimplement multiply by element to get rid of inline assembly · daab4562
      gcc/
      	* config/aarch64/aarch64-simd.md (vmul_n_f32): Remove inline assembly.
      	Use builtin.
      	(vmul_n_s16): Likewise.
      	(vmul_n_s32): Likewise.
      	(vmul_n_u16): Likewise.
      	(vmul_n_u32): Likewise.
      	(vmulq_n_f32): Likewise.
      	(vmulq_n_f64): Likewise.
      	(vmulq_n_s16): Likewise.
      	(vmulq_n_s32): Likewise.
      	(vmulq_n_u16): Likewise.
      	(vmulq_n_u32): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/simd/vmul_elem_1.c: Use intrinsics.
      
      From-SVN: r236333
      Jiong Wang committed
    • [AArch64, 2/4] Extend vector mutiply by element to all supported modes · 22330033
      gcc/
      	* config/aarch64/aarch64-simd.md (*aarch64_mul3_elt_to_128df): Extend to
      	all supported modes.  Rename to "*aarch64_mul3_elt_from_dup".
      
      gcc/testsuite/
      	* gcc.target/aarch64/simd/vmul_elem_1.c: New.
      
      From-SVN: r236332
      Jiong Wang committed
    • [AArch64, 1/4] Add the missing support of vfms_n_f32, vfmsq_n_f32, vfmsq_n_f64 · 98b3a5f2
      gcc/
      	* config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_to_128df): Rename
      	to *aarch64_fma4_elt_from_dup<mode>.
      	(*aarch64_fnma4_elt_to_128df): Rename to
      	*aarch64_fnma4_elt_from_dup<mode>.
      	* config/aarch64/arm_neon.h (vfma_n_f64): New.
      	(vfms_n_f32): Likewise.
      	(vfms_n_f64): Likewise.
      	(vfmsq_n_f32): Likewise.
      	(vfmsq_n_f64): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/fmla_intrinsic_1.c: Allow ".d[index]" besides
      	".2d[index]" when scan the assembly.
      	* gcc.target/aarch64/fmls_intrinsic_1.c: Likewise.
      	* gcc.target/aarch64/advsimd-intrinsics/arm-neon-ref.h: New entry for
      	float64x1.
      	* gcc.target/aarch64/advsimd-intrinsics/vfms_vfma_n.c: New.
      
      From-SVN: r236331
      Jiong Wang committed
    • re PR tree-optimization/71132 (gcc ICE at -O3 on valid code on x86_64-linux-gnu with “seg fault”) · b71b7a8e
      2016-05-17  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/71132
      	* tree-loop-distribution.c (create_rdg_cd_edges): Pass in loop.
      	Only add control dependences for blocks in the loop.
      	(build_rdg): Adjust.
      	(generate_code_for_partition): Return whether loop should
      	be destroyed and delay that.
      	(distribute_loop): Likewise.
      	(pass_loop_distribution::execute): Record loops to be destroyed
      	and perform delayed destroying of loops.
      
      	* gcc.dg/torture/pr71132.c: New testcase.
      
      From-SVN: r236320
      Richard Biener committed