127661 Commits

Author SHA1 Message Date
Vladimir Makarov
8f21260c36 re PR middle-end/59609 (LRA generates bad code for libgcc function udivmoddi4 on thumb1 target)
2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR middle-end/59609
	* lra-constraints.c (process_alt_operands): Add printing debug
	info.  Check absence of input/output reloads for matched operands
	too.

From-SVN: r206677
2014-01-16 19:13:54 +00:00
Vladimir Makarov
1a788c056a re PR rtl-optimization/59835 (gcc.target/i386/sse-2[34].c timeout)
2014-01-16  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59835
	* ira.c (ira_init_register_move_cost): Increase cost for
	impossible modes.

From-SVN: r206676
2014-01-16 19:04:08 +00:00
Alan Lawrence
4cf24d2737 [ARM] Make -mcpu, -march and -mtune case-insensitive
gcc/

	* config/arm/arm.opt: Make -mcpu, -march, -mtune case-insensitive.

From-SVN: r206673
2014-01-16 18:10:34 +00:00
Richard Earnshaw
030d03b8c6 re PR target/59780 (ICE in aarch64_split_128bit_move)
PR target/59780
	* aarch64.c (aarch64_split_128bit_move): Don't lookup REGNO on
	non-register objects.  Use gen_(high/low)part more consistently.
	Fix assertions.

From-SVN: r206671
2014-01-16 17:35:50 +00:00
Michael Meissner
e78f06a8c3 re PR target/59844 (Powerpc64le cannot bootstrap with -O3/-mcpu=power8)
2014-01-16  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/59844
	* config/rs6000/rs6000.md (reload_vsx_from_gprsf): Add little
	endian support, remove tests for WORDS_BIG_ENDIAN.
	(p8_mfvsrd_3_<mode>): Likewise.
	(reload_gpr_from_vsx<mode>): Likewise.
	(reload_gpr_from_vsxsf): Likewise.
	(p8_mfvsrd_4_disf): Likewise.

From-SVN: r206668
2014-01-16 17:08:52 +00:00
Richard Biener
9d1ae52c14 re PR tree-optimization/46590 (long compile time with -O2 and many loops)
2014-01-16  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/46590
	* lcm.c (compute_antinout_edge): Use postorder iteration.
	(compute_laterin): Use inverted postorder iteration.

From-SVN: r206663
2014-01-16 13:48:51 +00:00
Nick Clifton
54c7a7f3b0 re PR middle-end/28865 (Structures with a flexible arrray member have wrong .size)
PR middle-end/28865

	* varasm.c (output_constant): Return the number of bytes actually
	emitted.
	(output_constructor_array_range): Update the field size with the
	number of bytes emitted by output_constant.
	(output_constructor_regular_field): Likewise.  Also do not
 	complain if the total number of bytes emitted is now greater
	than the expected fieldpos.
	* output.h (output_constant): Update prototype and descriptive
	comment.

	* gcc.c-torture/compile/pr28865.c: New.
	* gcc.c-torture/execute/pr28865.c: New.

From-SVN: r206661
2014-01-16 12:17:48 +00:00
Marek Polacek
5147d10aa4 re PR middle-end/59827 (ICE on array with incomplete element type)
PR middle-end/59827
	* cgraph.c (gimple_check_call_args): Don't use DECL_ARG_TYPE if
	it is error_mark_node.
testsuite/
	* gcc.dg/pr59827.c: New test.

From-SVN: r206660
2014-01-16 11:42:56 +00:00
Andreas Schwab
1a22d3cb98 * gcc.c-torture/execute/pr59747.c (fn1): Return a value.
From-SVN: r206659
2014-01-16 10:14:29 +00:00
Uros Bizjak
4ac005badf i386.c (ix86_hard_regno_mode_ok): Use VALID_AVX256_REG_OR_OI_MODE.
* config/i386/i386.c (ix86_hard_regno_mode_ok): Use
	VALID_AVX256_REG_OR_OI_MODE.

From-SVN: r206658
2014-01-16 09:23:33 +01:00
Kirill Yukhin
c4ef5952f6 Fix testsuite/ChangeLog entry for PR59808.
From-SVN: r206657
2014-01-16 04:25:38 +00:00
GCC Administrator
4c885e5dad Daily bump.
From-SVN: r206655
2014-01-16 00:17:01 +00:00
Pat Haugen
5d7574fa60 rs6000.c (rs6000_output_function_prologue): Check if current procedure should be profiled.
* config/rs6000/rs6000.c (rs6000_output_function_prologue): Check if
	current procedure should be profiled.

From-SVN: r206650
2014-01-15 23:48:12 +00:00
Andrew Pinski
6ee70f814d aarch64.c (aarch64_register_move_cost): Correct cost of moving from/to the STACK_REG register class.
2014-01-15  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64.c (aarch64_register_move_cost): Correct cost
	of moving from/to the STACK_REG register class.

From-SVN: r206649
2014-01-15 15:30:16 -08:00
Marek Polacek
4d42626f8e Add missing CL entry.
From-SVN: r206648
2014-01-15 22:02:53 +00:00
Richard Henderson
af6e846774 re PR debug/54694 (internal compiler error: in dwarf2out_frame_debug_expr, at dwarf2out.c:2387)
PR debug/54694

Diagnose frame_pointer_required vs fixed hfp

From-SVN: r206647
2014-01-15 13:41:03 -08:00
Teresa Johnson
4583fada2d tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.
2014-01-15  Teresa Johnson  <tejohnson@google.com>

	* tree-ssa-sccvn.c (visit_reference_op_call): Handle NULL vdef.

From-SVN: r206646
2014-01-15 21:21:32 +00:00
Laurent Alfonsi
67bf2939d3 re PR c++/49718 (please allow no_instrument_function attribute in class member definition/declaration)
PR c++/49718
	* c-common.c (handle_no_instrument_function_attribute): Allow
	no_instrument_function attribute in class member
	definition/declaration.

	PR c++/49718
	* g++.dg/pr49718.C: New test.

From-SVN: r206643
2014-01-15 12:37:35 -07:00
Richard Sandiford
352e9ecd3f umips-branch-4.c: Add addressing=absolute.
gcc/testsuite/
	* gcc.target/mips/umips-branch-4.c: Add addressing=absolute.

From-SVN: r206642
2014-01-15 19:31:46 +00:00
Bill Schmidt
d13dfec88f altivec.md (mulv8hi3): Explicitly generate vmulesh and vmulosh rather than call gen_vec_widen_smult_*.
gcc:

2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* config/rs6000/altivec.md (mulv8hi3): Explicitly generate vmulesh
	and vmulosh rather than call gen_vec_widen_smult_*.
	(vec_widen_umult_even_v16qi): Test VECTOR_ELT_ORDER_BIG rather
	than BYTES_BIG_ENDIAN to determine use of even or odd instruction.
	(vec_widen_smult_even_v16qi): Likewise.
	(vec_widen_umult_even_v8hi): Likewise.
	(vec_widen_smult_even_v8hi): Likewise.
	(vec_widen_umult_odd_v16qi): Likewise.
	(vec_widen_smult_odd_v16qi): Likewise.
	(vec_widen_umult_odd_v8hi): Likewise.
	(vec_widen_smult_odd_v8hi): Likewise.
	(vec_widen_umult_hi_v16qi): Explicitly generate vmuleub and
	vmuloub rather than call gen_vec_widen_umult_*.
	(vec_widen_umult_lo_v16qi): Likewise.
	(vec_widen_smult_hi_v16qi): Explicitly generate vmulesb and
	vmulosb rather than call gen_vec_widen_smult_*.
	(vec_widen_smult_lo_v16qi): Likewise.
	(vec_widen_umult_hi_v8hi): Explicitly generate vmuleuh and vmulouh
	rather than call gen_vec_widen_umult_*.
	(vec_widen_umult_lo_v8hi): Likewise.
	(vec_widen_smult_hi_v8hi): Explicitly gnerate vmulesh and vmulosh
	rather than call gen_vec_widen_smult_*.
	(vec_widen_smult_lo_v8hi): Likewise.

gcc/testsuite:

2014-01-15  Bill Schmidt  <wschmidt@vnet.linux.ibm.com>

	* gcc.dg/vmx/mult-even-odd.c: New.
	* gcc.dg/vmx/mult-even-odd-be-order.c: New.

From-SVN: r206641
2014-01-15 19:16:53 +00:00
Balaji V. Iyer
c2d7410417 target-supports.exp (check_libcilkrts_available): Added an extern "C" if we are using C++ along with a function prototype.
2014-01-15  Balaji V. Iyer  <balaji.v.iyer@intel.com>

       * lib/target-supports.exp (check_libcilkrts_available): Added an
       extern "C" if we are using C++ along with a function prototype.

From-SVN: r206640
2014-01-15 11:11:16 -08:00
Jason Merrill
4185202700 re PR c++/59659 (large zero-initialized std::array compile time excessive)
PR c++/59659
	* typeck2.c (massage_init_elt): New.
	(process_init_constructor_record)
	(process_init_constructor_union): Use it.
	(process_init_constructor_array): Use it.  Use RANGE_EXPR.
	(split_nonconstant_init_1): Handle it.
	* semantics.c (cxx_eval_vec_init_1): Use force_rvalue.

From-SVN: r206639
2014-01-15 14:10:09 -05:00
Jeff Law
a6a2d67b0a re PR tree-optimization/59747 (wrong code at -Os and above on x86_64-linux-gnu in 64-bit mode)
PR tree-optimization/59747
	* ree.c (find_and_remove_re): Properly handle case where a second
	eliminated extension requires widening a copy created for elimination
	of a prior extension.
	(combine_set_extension): Ensure that the number of hard regs needed
	for a destination register does not change when we widen it.

	PR tree-optimization/59747
	* gcc.c-torture/execute/pr59747.c: New test.

From-SVN: r206638
2014-01-15 11:13:52 -07:00
Sebastian Huber
aefe4056bb config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
2014-01-15  Sebastian Huber  <sebastian.huber@embedded-brains.de>

	* config.gcc (*-*-rtems*): Add t-rtems to tmake_file.
	(arm*-*-uclinux*eabi*): Do not override an existing tmake_file.
	(arm*-*-eabi* | arm*-*-symbianelf* | arm*-*-rtems*): Likwise.
	(arm*-*-rtems*): Use t-rtems from existing tmake_file.
	(avr-*-rtems*): Likewise.
	(bfin*-rtems*): Likewise.
	(moxie-*-rtems*): Likewise.
	(h8300-*-rtems*): Likewise.
	(i[34567]86-*-rtems*): Likewise.
	(lm32-*-rtems*): Likewise.
	(m32r-*-rtems*): Likewise.
	(m68k-*-rtems*): Likewise.
	(microblaze*-*-rtems*): Likewise.
	(mips*-*-rtems*): Likewise.
	(powerpc-*-rtems*): Likewise.
	(sh-*-rtems*): Likewise.
	(sparc-*-rtems*): Likewise.
	(sparc64-*-rtems*): Likewise.
	(v850-*-rtems*): Likewise.
	(m32c-*-rtems*): Likewise.

From-SVN: r206637
2014-01-15 17:44:33 +00:00
Vladimir Makarov
fef37404e9 re PR rtl-optimization/59511 (FAIL: gcc.target/i386/pr36222-1.c scan-assembler-not movdqa with -mtune=corei7)
2014-01-15  Vladimir Makarov  <vmakarov@redhat.com>

	PR rtl-optimization/59511
	* ira.c (ira_init_register_move_cost): Use memory costs for some
	cases of register move cost calculations.
	* lra-constraints.c (lra_constraints): Use REG_FREQ_FROM_BB
	instead of BB frequency.
	* lra-coalesce.c (move_freq_compare_func, lra_coalesce): Ditto.
	* lra-assigns.c (find_hard_regno_for): Ditto.

From-SVN: r206636
2014-01-15 17:32:47 +00:00
H.J. Lu
348aa1da38 Silence vector ABI change warnings for x86
PR target/59794
	* c-c++-common/convert-vec-1.c: Also prune ABI change for
	Linux/x86.
	* g++.dg/cpp0x/constexpr-53094-2.C: Likewise.
	* g++.dg/ext/attribute-test-1.C: Likewise.
	* g++.dg/ext/attribute-test-2.C: Likewise.
	* g++.dg/ext/attribute-test-3.C: Likewise.
	* g++.dg/ext/attribute-test-4.C: Likewise.
	* g++.dg/ext/pr56790-1.C: Likewise.
	* g++.dg/torture/pr38565.C: Likewise.
	* gcc.dg/pr53060.c: Likewise.
	* c-c++-common/scal-to-vec2.c: Add -msse2 for x86.
	* c-c++-common/vector-compare-2.c: Likewise.
	* gcc.dg/Wstrict-aliasing-bogus-ref-all-2.c: Likewise.
	* g++.dg/conversion/simd1.C: Add -msse2 for x86.  Adjust
	dg-message line number.

From-SVN: r206634
2014-01-15 09:08:38 -08:00
François Dumont
9b7dc56e48 Add missing PR reference in ChangeLog.
From-SVN: r206633
2014-01-15 16:55:34 +00:00
François Dumont
1bb59e05ad hashtable_policy.h: Fix some long lines.
2014-01-15  François Dumont  <fdumont@gcc.gnu.org>

	* include/bits/hashtable_policy.h: Fix some long lines.
	* include/bits/hashtable.h (__hash_code_base_access): Define and
	use it to check its _M_bucket_index noexcept qualification. Use
	also in place of...
	(__access_protected_ctor): ...this.
	* testsuite/23_containers/unordered_set/instantiation_neg.cc:
	Adapt line number.
	* testsuite/23_containers/unordered_set/
	not_default_constructible_hash_neg.cc: Likewise.

From-SVN: r206632
2014-01-15 16:53:02 +00:00
Matthias Klose
e033516b82 go-test.exp: Set goarch for aarch64*-*-*.
2014-01-15  Matthias Klose  <doko@ubuntu.com>

        * go.test/go-test.exp: Set goarch for aarch64*-*-*.

From-SVN: r206631
2014-01-15 15:31:55 +00:00
Richard Biener
6b916b36f1 re PR tree-optimization/59822 (ice in compute_live_loop_exits with -O3)
2014-01-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/59822
	* tree-vect-stmts.c (hoist_defs_of_uses): New function.
	(vectorizable_load): Use it to hoist defs of uses of invariant
	loads out of the loop.

	* g++.dg/torture/pr59822.C: New testcase.

From-SVN: r206630
2014-01-15 15:13:08 +00:00
Kirill Yukhin
17c77f44b1 re PR testsuite/59808 (r206596 caused: FAIL: gcc.target/i386/sse-14.c (test for excess errors))
PR target/59808
        * gcc.target/i386/sse-12.c: Add `-mavx512[cd, er, pf]' options.
        * gcc.target/i386/sse-14.c: Fix PR59808.

From-SVN: r206629
2014-01-15 12:01:08 +00:00
Matthew Gretton-Dann
d103f29bc3 re PR target/59695 (bad code generation on aarch64 in aarch64_output_mi_thunk)
2014-01-15  Matthew Gretton-Dann  <matthew.gretton-dann@linaro.org>
            Kugan Vivekanandarajah  <kuganv@linaro.org>

	gcc/
	PR target/59695
	* config/aarch64/aarch64.c (aarch64_build_constant): Fix incorrect
	truncation.

	gcc/testsuite/
	PR target/59695
	* g++.dg/pr59695.C: New testcase.


Co-Authored-By: Kugan Vivekanandarajah <kuganv@linaro.org>

From-SVN: r206628
2014-01-15 11:27:55 +01:00
Jakub Jelinek
1c8b53037c re PR target/59803 (s390x -march=z10 reload ICE)
Add
PR target/59803
reference to ChangeLog entries.

From-SVN: r206625
2014-01-15 10:39:11 +01:00
Richard Biener
95cb869787 re PR rtl-optimization/59802 (excessive compile time in RTL optimizers (loop unswitching, CPROP))
2014-01-15  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/59802
	* lcm.c (compute_available): Use inverted postorder to seed
	the initial worklist.

From-SVN: r206624
2014-01-15 08:47:30 +00:00
Andreas Krebbel
cb4b6d1706 s390.c (s390_preferred_reload_class): Don't return ADDR_REGS for invalid symrefs in non-PIC code.
2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* config/s390/s390.c (s390_preferred_reload_class): Don't return
	ADDR_REGS for invalid symrefs in non-PIC code.

2014-01-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* gcc.c-torture/compile/pr59803.c: New testcase.

From-SVN: r206623
2014-01-15 08:36:44 +00:00
Jakub Jelinek
2738b4c7e3 re PR other/58712 (issues found by --enable-checking=valgrind)
PR other/58712
	* builtins.c (determine_block_size): Initialize *probable_max_size
	even if len_rtx is CONST_INT.

From-SVN: r206621
2014-01-15 09:08:17 +01:00
Jakub Jelinek
241f845ab3 re PR c/58943 (wrong calculation of indirect structure member arithmetic via function call)
PR c/58943
	* c-typeck.c (build_modify_expr): For lhs op= rhs, if rhs has side
	effects, preevaluate rhs using SAVE_EXPR first.

	* c-omp.c (c_finish_omp_atomic): Set in_late_binary_op around
	build_modify_expr with non-NOP_EXPR opcode.  Handle return from it
	being COMPOUND_EXPR.
	(c_finish_omp_for): Handle incr being COMPOUND_EXPR with first
	operand a SAVE_EXPR and second MODIFY_EXPR.

	* gcc.c-torture/execute/pr58943.c: New test.
	* gcc.dg/tree-ssa/ssa-fre-33.c (main): Avoid using += in the test.

From-SVN: r206620
2014-01-15 09:03:53 +01:00
Chris Manghane
eb6eb86237 compiler: Use backend interface for interface info and field expressions.
* go-gcc.cc (Gcc_backend::compound_expression): New function.
	(Gcc_backend::conditional_expression): New function.

From-SVN: r206615
2014-01-15 00:17:22 +00:00
GCC Administrator
3f3bd8aa27 Daily bump.
From-SVN: r206614
2014-01-15 00:16:39 +00:00
Ian Lance Taylor
967d49d172 compiler: Add Backend Function type.
From-SVN: r206611
2014-01-14 23:21:16 +00:00
Andrew Pinski
d126a4aed0 aarch64-protos.h (tune_params): Add issue_rate.
2014-01-14  Andrew Pinski  <apinski@cavium.com>

	* config/aarch64/aarch64-protos.h (tune_params): Add issue_rate.
	* config/aarch64/aarch64.c (generic_tunings): Add issue rate of 2.
	(cortexa53_tunings): Likewise.
	(aarch64_sched_issue_rate): New function.
	(TARGET_SCHED_ISSUE_RATE): Define.

From-SVN: r206609
2014-01-14 11:55:59 -08:00
Vladimir Makarov
dc6875820c ira-costs.c (find_costs_and_classes): Add missed ira_init_register_move_cost_if_necessary.
2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

	* ira-costs.c (find_costs_and_classes): Add missed
	ira_init_register_move_cost_if_necessary.

From-SVN: r206606
2014-01-14 19:08:32 +00:00
Vladimir Makarov
e940b2ec99 re PR target/59787 ([ARM] mmx-2.c causes ICE when GCC is configured for cortex-a5/vfpv3-d16-fp16)
2014-01-14  Vladimir Makarov  <vmakarov@redhat.com>

	PR target/59787
	* config/arm/arm.c (arm_coproc_mem_operand): Add lra_in_progress.

From-SVN: r206605
2014-01-14 19:07:01 +00:00
H.J. Lu
3292e3767d Consolidate ABI warning into type_natural_mode
gcc/

	PR target/59794
	* config/i386/i386.c (type_natural_mode): Add a bool parameter
	to indicate if type is used for function return value.  Warn
	ABI change if the vector mode isn't available for function
	return value.
	(ix86_function_arg_advance): Pass false to type_natural_mode.
	(ix86_function_arg): Likewise.
	(ix86_gimplify_va_arg): Likewise.
	(function_arg_32): Don't warn ABI change.
	(ix86_function_value): Pass true to type_natural_mode.
	(ix86_return_in_memory): Likewise.
	(ix86_struct_value_rtx): Removed.
	(TARGET_STRUCT_VALUE_RTX): Likewise.

gcc/testsuite/

	PR target/59794
	* g++.dg/ext/vector23.C: Also prune ABI change for Linux/x86.
	* gcc.target/i386/pr39162.c (y): New __m256i variable.
	(bar): Change return type to void.  Set y to x.
	* gcc.target/i386/pr59794-1.c: New testcase.
	* gcc.target/i386/pr59794-2.c: Likewise.
	* gcc.target/i386/pr59794-3.c: Likewise.
	* gcc.target/i386/pr59794-4.c: Likewise.
	* gcc.target/i386/pr59794-5.c: Likewise.
	* gcc.target/i386/pr59794-6.c: Likewise.
	* gcc.target/i386/pr59794-7.c: Likewise.

From-SVN: r206603
2014-01-14 08:41:10 -08:00
Richard Sandiford
db93087523 jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when converting a conditional jump into a...
gcc/
	* jump.c (redirect_jump_2): Remove REG_CROSSING_JUMP notes when
	converting a conditional jump into a conditional return.

From-SVN: r206600
2014-01-14 14:45:07 +00:00
Richard Biener
a0e35eb02c re PR tree-optimization/58921 (ICE with segfault on valid code at -O3 on x86_64-linux-gnu)
2014-01-14  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/58921
	PR tree-optimization/59006
	* tree-vect-loop-manip.c (vect_loop_versioning): Remove code
	hoisting invariant stmts.
	* tree-vect-stmts.c (vectorizable_load): Insert the splat of
	invariant loads on the preheader edge if possible.

	* gcc.dg/torture/pr58921.c: New testcase.
	* gcc.dg/torture/pr59006.c: Likewise.
	* gcc.dg/vect/pr58508.c: XFAIL no longer handled cases.

From-SVN: r206599
2014-01-14 09:04:50 +00:00
Jakub Jelinek
1c76069c9d re PR testsuite/59494 (FAIL: gfortran.dg/vect/fast-math-mgrid-resid.f scan-tree-dump-times optimized "vect_[^\\n]*\\+ " 13)
PR testsuite/59494
	* gfortran.dg/vect/fast-math-mgrid-resid.f: Change
	-fdump-tree-optimized to -fdump-tree-pcom-details in dg-options and
	cleanup-tree-dump from optimized to pcom.  Remove scan-tree-dump-times
	for vect_\[^\\n\]*\\+, add scan-tree-dump-times for no suitable chains and
	Executing predictive commoning without unrolling.

From-SVN: r206598
2014-01-14 10:00:30 +01:00
Joey Ye
a984e92e9e plugin.texi (Building GCC plugins): Update to C++.
2014-01-14  Joey Ye  <joey.ye@arm.com>

        * doc/plugin.texi (Building GCC plugins): Update to C++.

From-SVN: r206597
2014-01-14 07:29:25 +00:00
Kirill Yukhin
c56a42b9be avx512erintrin.h (_mm_rcp28_round_sd): New.
gcc/
        * config/i386/avx512erintrin.h (_mm_rcp28_round_sd): New.
        (_mm_rcp28_round_ss): Ditto.
        (_mm_rsqrt28_round_sd): Ditto.
        (_mm_rsqrt28_round_ss): Ditto.
        (_mm_rcp28_sd): Ditto.
        (_mm_rcp28_ss): Ditto.
        (_mm_rsqrt28_sd): Ditto.
        (_mm_rsqrt28_ss): Ditto.
        * config/i386/avx512fintrin.h (_mm512_stream_load_si512): Ditto.
        * config/i386/i386-builtin-types.def (V8DI_FTYPE_PV8DI): Ditto.
        * config/i386/i386.c (IX86_BUILTIN_MOVNTDQA512): Ditto.
        (IX86_BUILTIN_RCP28SD): Ditto.
        (IX86_BUILTIN_RCP28SS): Ditto.
        (IX86_BUILTIN_RSQRT28SD): Ditto.
        (IX86_BUILTIN_RSQRT28SS): Ditto.
        (bdesc_special_args): Define __builtin_ia32_movntdqa512,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rsqrt28sd_round, __builtin_ia32_rsqrt28ss_round.
        (ix86_expand_special_args_builtin): Expand new FTYPE.
        * config/i386/sse.md (define_mode_attr "sse4_1_avx2"): Expand to V8DI.
        (srcp14<mode>): Make insn unary.
        (avx512f_vmscalef<mode><round_name>): Use substed predicate.
        (avx512f_sgetexp<mode><round_saeonly_name>): Ditto.
        (avx512f_rndscale<mode><round_saeonly_name>): Ditto.
        (<sse4_1_avx2>_movntdqa): Extend to 512 bits.
        (avx512er_exp2<mode><mask_name><round_saeonly_name>):
        Fix rounding: make it SAE only.
        (<mask_codefor>avx512er_rcp28<mode><mask_name><round_saeonly_name>): Ditto.
        (<mask_codefor>avx512er_rsqrt28<mode><mask_name><round_saeonly_name>): Ditto.
        (avx512er_vmrcp28<mode><round_saeonly_name>): Ditto.
        (avx512er_vmrsqrt28<mode><round_saeonly_name>): Ditto.
        (avx512f_getmant<mode><mask_name><round_saeonly_name>): Ditto.
        * config/i386/subst.md (round_saeonly_mask_scalar_operand3): Remove.
        (round_saeonly_mask_scalar_operand4): Ditto.
        (round_saeonly_mask_scalar_op3): Ditto.
        (round_saeonly_mask_scalar_op4): Ditto.

gcc/testsuite/
        * gcc.target/i386/avx-1.c: Fix __builtin_ia32_exp2ps_mask,
        __builtin_ia32_exp2pd_mask, __builtin_ia32_rcp28ps_mask,
        __builtin_ia32_rcp28pd_mask, __builtin_ia32_rsqrt28ps_mask,
        __builtin_ia32_rsqrt28pd_mask. Add __builtin_ia32_rcp28ss_round,
        __builtin_ia32_rcp28sd_round, __builtin_ia32_rsqrt28ss_round,
        __builtin_ia32_rsqrt28sd_round.
        * gcc.target/i386/avx512er-vexp2pd-1.c: Fix rounding mode.
        * gcc.target/i386/avx512er-vexp2ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28pd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ps-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28sd-1.c: New.
        * gcc.target/i386/avx512er-vrcp28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrcp28ss-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28sd-2.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-1.c: Ditto.
        * gcc.target/i386/avx512er-vrsqrt28ss-2.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-1.c: Ditto.
        * gcc.target/i386/avx512f-vmovntdqa-2.c: Ditto.
        * gcc.target/i386/avx512f-vrcp14sd-2.c: Fix.
        * gcc.target/i386/avx512f-vrcp14ss-2.c: Ditto.
        * gcc.target/i386/sse-22.c: Extend with new built-ins,
        fix wrong rounding mode (see above).
        * gcc.target/i386/sse-23.c: Ditto.

From-SVN: r206596
2014-01-14 06:21:06 +00:00
GCC Administrator
e5e46f5ee5 Daily bump.
From-SVN: r206593
2014-01-14 00:16:45 +00:00