Commit Graph

164187 Commits

Author SHA1 Message Date
Jeff Law
0863decda9 gimple-ssa-sprintf.c (format_string): Do not hardcode size of target's wchar_t.
* gimple-ssa-sprintf.c (format_string): Do not hardcode size of
        target's wchar_t.
        * tree.c (get_typenode_from_name): Moved from fortran/trans-types.c.
        * tree.h (get_typenode_from_name): Prototype.

        * trans-types.c (get_typenode_from_name): Moved into gcc/tree.c.

From-SVN: r264833
2018-10-03 20:55:10 -06:00
GCC Administrator
74ac60743f Daily bump.
From-SVN: r264831
2018-10-04 00:16:46 +00:00
Uros Bizjak
c7d53a7c9b i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387): Change operand 2 predicate to nonimmediate_operand.
* config/i386/i386.md (*cmp<X87MODEF:mode>_<SWI24:mode>_i387):
	Change operand 2 predicate to nonimmediate_operand.
	(*cmp<X87MODEF:mode>_<SWI24:mode>_cc_i387): Ditto.

From-SVN: r264827
2018-10-03 23:51:50 +02:00
Ian Lance Taylor
bbfc3ce55f * go.test/go-test.exp (go-set-goarch): Use amd64p32 on x32.
From-SVN: r264825
2018-10-03 21:03:50 +00:00
Uros Bizjak
af8096fc2b libgcc2.c (isnan): Use __builtin_isnan.
* libgcc2.c (isnan): Use __builtin_isnan.
	(isfinite): Use __builtin_isfinite.
	(isinf): Use __builtin_isinf.

From-SVN: r264823
2018-10-03 22:29:10 +02:00
Martin Sebor
a41cc59de4 gimple-ssa-sprintf.c (struct fmtresult): Add new member and initialize it.
* gimple-ssa-sprintf.c (struct fmtresult): Add new member and
	initialize it.
	(get_string_length): Detect unterminated arrays.
	(format_string): Same.
	(format_directive): Warn about unterminated arrays.
	(handle_gimple_call): Mark statements with no_warning as needed.

	* gcc.dg/warn-sprintf-no-nul.c: New test.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r264822
2018-10-03 14:00:46 -06:00
Jim Wilson
119b4963ea RISC-V: Add macro for ilp32e ABI. Cleanup white space.
gcc/
	* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): For ABI_ILP32E,
	also define __riscv_abi_rve.  Delete trailing white space.

From-SVN: r264821
2018-10-03 12:09:32 -07:00
Paul Koning
5079ff15b5 Enable LRA register allocator for PDP11.
Enable LRA register allocator for PDP11. -- missed checking in
    ChangeLog.

From-SVN: r264820
2018-10-03 14:46:51 -04:00
Paul Koning
0a7eb8dfc5 Enable LRA register allocator for PDP11.
* config/pdp11/constraints.md (Q): Use define_memory_constraints.
    (R): Likewise.
    (D): Likewise.
    * config/pdp11/pdp11.c (pdp11_lra_p): New function.
    * config/pdp11/pdp11.opt (-mlra): New option.
    * doc/invoke.texi (PDP-11 Options): Document -mlra.

From-SVN: r264819
2018-10-03 14:31:52 -04:00
Uros Bizjak
f707a03788 i386.md (*<absneg:code>extendsfdf2): Remove.
* config/i386/i386.md (*<absneg:code>extendsfdf2): Remove.
	(*<absneg:code>extend<mode>xf2): Ditto.

From-SVN: r264818
2018-10-03 20:28:16 +02:00
Aldy Hernandez
9b918e8202 re PR tree-optimization/87415 (wrong code at -O1 and above on x86_64-linux-gnu)
PR tree-optimization/87415
	* tree-vrp.c (set_value_range_with_overflow): Special case one bit
	precision fields.

From-SVN: r264817
2018-10-03 17:36:29 +00:00
Jeff Law
78125561e3 gimple-fold.c (get_range_strlen): Only set *nonstr when an unterminated string is discovered.
* gimple-fold.c (get_range_strlen): Only set *nonstr when
	an unterminated string is discovered.  Bubble up range
	even for unterminated strings.
	(gimple_fold_builtin_strlen): Do not fold if get_range_strlen
	indicates the string was not terminated via NONSTR.

From-SVN: r264816
2018-10-03 11:23:15 -06:00
Aldy Hernandez
2e103ae213 tree-vrp.c (extract_range_from_unary_expr): Special case all pointer conversions.
* tree-vrp.c (extract_range_from_unary_expr): Special case all
	pointer conversions.
	Do not do anything special for anti-ranges.

From-SVN: r264815
2018-10-03 17:18:52 +00:00
Jason Merrill
bedf03a298 Implement P0840, language support for empty objects.
The [[no_unique_address]] attribute on a non-static data member
	enables the equivalent of the empty base optimization.

gcc/cp/
	* tree.c (handle_no_unique_addr_attribute): New.
	(cxx_attribute_table): Add [[no_unique_address]].
	* class.c (field_poverlapping_p): New.
	(layout_class_type): Check it.  Adjust DECL_SIZE of potentially
	overlapping fields.
	(layout_empty_base_or_field): Rename from layout_empty_base, handle
	FIELD_DECL as well.
	(build_base_field, record_subobject_offsets): Adjust.
c-family/
	* c-lex.c (c_common_has_attribute): Add no_unique_address.

From-SVN: r264813
2018-10-03 11:56:29 -04:00
Jonathan Wakely
749c0e1d8b PR libstdc++/59439 optimize uses of classic ("C") std::locale
The global locale::_Impl that represents the "C" locale is never
destroyed, so there is no need to keep track of reference count updates
for that object. This greatly reduce contention between threads that
refer to the classic locale. Since the global std::locale initially uses
the classic locale, this benefits the common case for any code using the
global locale, such as construction/destruction of iostream objects.

All these updates are done inside libstdc++.so so there's no need to
worry about users' objects having inlined old versions of the code which
still update the reference count for the classic locale.

	PR libstdc++/59439
	* src/c++98/locale.cc (locale::locale(const locale&)): Bypass
	reference count updates for the classic locale.
	(locale::~locale()): Likewise.
	(locale::operator=(const locale&)): Likewise.
	* src/c++98/locale_init.cc (locale::locale()): Likewise.
	(locale::global(const locale&)): Likewise.

From-SVN: r264811
2018-10-03 12:27:40 +01:00
Jerome Lambourg
e7df9e44c6 Fix ARM_TARGET2_DWARF_FORMAT for vxworks
2018-10-03  Jérôme Lambourg  <lambourg@adacore.com>

	* config/arm/vxworks.h (ARM_TARGET2_DWARF_FORMAT): Adjust to
	DW_EH_PE_pcrel | DW_EH_PE_indirect for RTPs.

From-SVN: r264808
2018-10-03 09:31:36 +00:00
Martin Liska
f2db460264 Properly mark lambdas in GCOV (PR gcov-profile/86109).
2018-10-03  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/86109
	* coverage.c (coverage_begin_function): Do not
	mark lambdas as artificial.
	* tree-core.h (struct GTY): Remove tm_clone_flag
	and introduce new lambda_function.
	* tree.h (DECL_LAMBDA_FUNCTION): New macro.
2018-10-03  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/86109
	* parser.c (cp_parser_lambda_declarator_opt):
	Set DECL_LAMBDA_FUNCTION for lambdas.
2018-10-03  Martin Liska  <mliska@suse.cz>

	PR gcov-profile/86109
	* g++.dg/gcov/pr86109.C: New test.

From-SVN: r264806
2018-10-03 08:30:10 +00:00
François Dumont
784779d471 2018-10-03 François Dumont <fdumont@gcc.gnu.org>
* include/debug/map.h
	(map<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
	(map<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
	(map<>::insert(value_type&&)): Likewise.
	(map<>::insert<>(_Pair&&)): Likewise.
	(map<>::insert<>(const_iterator, _Pair&&)): Likewise.
	(map<>::try_emplace): Likewise.
	(map<>::insert_or_assign): Likewise.
	(map<>::insert(node_type&&)): Likewise.
	(map<>::insert(const_iterator, node_type&&)): Likewise.
	(map<>::erase(const_iterator)): Likewise.
	(map<>::erase(const_iterator, const_iterator)): Likewise.
	* include/debug/multimap.h
	(multimap<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
	(multimap<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
	(multimap<>::insert<>(_Pair&&)): Likewise.
	(multimap<>::insert<>(const_iterator, _Pair&&)): Likewise.
	(multimap<>::insert(node_type&&)): Likewise.
	(multimap<>::insert(const_iterator, node_type&&)): Likewise.
	(multimap<>::erase(const_iterator)): Likewise.
	(multimap<>::erase(const_iterator, const_iterator)): Likewise.
	* include/debug/set.h
	(set<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
	(set<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
	(set<>::insert(value_type&&)): Likewise.
	(set<>::insert<>(const_iterator, value_type&&)): Likewise.
	(set<>::insert(const_iterator, node_type&&)): Likewise.
	(set<>::erase(const_iterator)): Likewise.
	(set<>::erase(const_iterator, const_iterator)): Likewise.
	* include/debug/multiset.h
	(multiset<>::emplace<>(_Args&&...)): Use C++11 direct initialization.
	(multiset<>::emplace_hint<>(const_iterator, _Args&&...)): Likewise.
	(multiset<>::insert<>(value_type&&)): Likewise.
	(multiset<>::insert<>(const_iterator, value_type&&)): Likewise.
	(multiset<>::insert(node_type&&)): Likewise.
	(multiset<>::insert(const_iterator, node_type&&)): Likewise.
	(multiset<>::erase(const_iterator)): Likewise.
	(multiset<>::erase(const_iterator, const_iterator)): Likewise.

From-SVN: r264805
2018-10-03 05:50:01 +00:00
GCC Administrator
da76e70f62 Daily bump.
From-SVN: r264804
2018-10-03 00:16:59 +00:00
Gerald Pfeifer
ff504cc2b8 * io/close.c [!HAVE_UNLINK_OPEN_FILE]: Include <string.h>.
From-SVN: r264800
2018-10-02 20:02:03 +00:00
Aaron Sawdey
6bd2b8ec8d re PR target/87474 (ICE in extract_insn, at recog.c:2305)
2018-10-02  Aaron Sawdey  <acsawdey@linux.ibm.com>

	PR target/87474
	* config/rs6000/rs6000-string.c (expand_strn_compare): Check that both
	P8_VECTOR and VSX are enabled.

From-SVN: r264799
2018-10-02 12:31:53 -05:00
Ian Lance Taylor
d8ccfadbf2 internal/bytealg: support systems that don't have memmem
Reviewed-on: https://go-review.googlesource.com/138839

From-SVN: r264798
2018-10-02 16:45:51 +00:00
Andreas Krebbel
3c609d36a6 S/390: Support IBM z14 Model ZR1 with -march=native
This adds the CPU model number of the IBM z14 Model ZR1 machine to
-march=native.  The patch doesn't actually change anything since we
anyway default to z14 for unknown CPU model numbers.  So this is just
for the sake of completeness.

2018-10-02  Andreas Krebbel  <krebbel@linux.ibm.com>

	* config/s390/driver-native.c (s390_host_detect_local_cpu): Add
	0x3907 as CPU model number.

From-SVN: r264797
2018-10-02 15:36:49 +00:00
Andreas Krebbel
e9e8efc982 S/390: Rename arch12 to z14
This is a mechanical change not impacting code generation.  With that
patch I try to hide the artificial CPU name arch12 which we had to use
before the announcement of the IBM z14 machine.  arch12 of course
stays a valid option to -march and -mtune.  So this is just about
making the code somewhat easier to read.

gcc/ChangeLog:

2018-10-02  Andreas Krebbel  <krebbel@linux.ibm.com>

	* common/config/s390/s390-common.c: Rename PF_ARCH12 to PF_Z14.
	* config/s390/s390.h (enum processor_flags): Rename PF_ARCH12 to
	PF_Z14.  Rename TARGET_CPU_ARCH12 to TARGET_CPU_Z14,
	TARGET_CPU_ARCH12_P to TARGET_CPU_Z14_P, TARGET_ARCH12 to
	TARGET_Z14, and TARGET_ARCH12_P to TARGET_Z14_P.
	* config/s390/s390.md: Likewise. Rename also the cpu attribute
	value from arch12 to z14.

From-SVN: r264796
2018-10-02 15:35:52 +00:00
Uros Bizjak
8dc5696fcd i386.md (fxam<mode>2_i387_with_temp): Remove.
* config/i386/i386.md (fxam<mode>2_i387_with_temp): Remove.
	(isinfxf2): Ditto.
	(isinf<mode>2): Ditto.

From-SVN: r264795
2018-10-02 17:27:07 +02:00
Uros Bizjak
34c77d0b2f i386.c (ix86_emit_i387_round): Extend op1 to XFmode before emitting fxam.
* config/i386/i386.c (ix86_emit_i387_round): Extend op1 to XFmode
	before emitting fxam.  Perform calculations in XFmode.

From-SVN: r264794
2018-10-02 17:12:30 +02:00
Ian Lance Taylor
4913fc07e0 net: don't fail test if splice fails because pipe2 is missing
This reportedly happens on CentOS 5.11.  The real code will work fine;
    this test is assuming that the unexported slice function will handle
    the splice, but if pipe2 does not work then it doesn't.  The relevant
    code in internal/poll/splice_linux.go says "Falling back to pipe is
    possible, but prior to 2.6.29 splice returns -EAGAIN instead of 0 when
    the connection is closed."
    
    Reviewed-on: https://go-review.googlesource.com/138838

From-SVN: r264793
2018-10-02 15:07:14 +00:00
Marc Glisse
0036218b10 ((X /[ex] A) +- B) * A --> X +- A * B
2018-10-02  Marc Glisse  <marc.glisse@inria.fr>

gcc/
	* match.pd (((X /[ex] A) +- B) * A): New transformation.

gcc/testsuite/
	* gcc.dg/tree-ssa/muldiv-1.c: New file.
	* gcc.dg/tree-ssa/muldiv-2.c: Likewise.

From-SVN: r264792
2018-10-02 15:02:13 +00:00
Marc Glisse
86920074bf vector<bool> _M_start and 0 offset
2018-10-02  Marc Glisse  <marc.glisse@inria.fr>

	PR libstdc++/87258
	* include/bits/stl_bvector.h (vector::begin(), vector::cbegin()):
	Rebuild _M_start with an explicit 0 offset.

From-SVN: r264791
2018-10-02 14:59:25 +00:00
Marc Glisse
057cf66ca3 No a*x+b*x factorization for signed vectors
2018-10-02  Marc Glisse  <marc.glisse@inria.fr>

	PR middle-end/87319
	* fold-const.c (fold_plusminus_mult_expr): Handle complex and vectors.
	* tree.c (signed_or_unsigned_type_for): Handle complex.

From-SVN: r264790
2018-10-02 14:55:39 +00:00
Segher Boessenkool
a1c3d798ef rs6000: Fix vec-init-6.c (PR87081)
Since a while we use a rldimi instead of rldicl/rldicr/or to combine
two words to one.


	PR target/87081
	* gcc.target/powerpc/vec-init-6.c: Fix expected asm.

From-SVN: r264789
2018-10-02 16:19:49 +02:00
Jeff Law
911ce7b502 * gimple-fold.c (get_range_strlen): Remove dead code.
From-SVN: r264788
2018-10-02 08:10:16 -06:00
Martin Sebor
6c4aa5f6bd builtins.c (unterminated_array): Add new arguments.
* builtins.c (unterminated_array): Add new arguments.
	If argument is not terminated, bubble up size and exact
	state to callers.
	(expand_builtin_strnlen): Detect, avoid expanding
	and diagnose unterminated arrays.
	(c_strlen): Fill in offset of start of unterminated strings.
	* builtins.h (unterminated_array): Update prototype.

	* gcc.dg/warn-strnlen-no-nul.c: New.

Co-Authored-By: Jeff Law <law@redhat.com>

From-SVN: r264787
2018-10-02 08:08:53 -06:00
Jonathan Wakely
469218a3f9 Avoid redundant runtime checks in std::visit
Calling std::get will check some static assertions and also do a runtime
check for a valid index before calling __detail::__variant::__get. The
std::visit function already handles the case where any variant has an
invalid index, so __get can be used directly in __visit_invoke.

	* include/std/variant (__gen_vtable_impl::__visit_invoke): Call __get
	directly instead of get, as caller ensures correct index is used.
	(holds_alternative, get, get_if): Remove redundant inline specifiers.
	(_VARIANT_RELATION_FUNCTION_TEMPLATE): Likewise.

From-SVN: r264786
2018-10-02 15:00:50 +01:00
Richard Biener
f512bf3ee9 sse.md (reduc_plus_scal_v4df): Avoid the use of haddv4df...
2018-10-02  Richard Biener  <rguenther@suse.de>

	* config/i386/sse.md (reduc_plus_scal_v4df): Avoid the use
	of haddv4df, first reduce to SSE width and exploit the fact
	that we only need element zero with the reduction result.
	(reduc_plus_scal_v2df): Likewise.

From-SVN: r264785
2018-10-02 13:06:54 +00:00
Joseph Myers
1c02928295 Use -fno-show-column in libstdc++ installed testing.
<https://gcc.gnu.org/ml/libstdc++/2016-08/msg00006.html> arranged for
libstdc++ tests to use -fno-show-column by default, but only for
build-tree testing.  This patch adds it to the options used for
installed testing as well.

Tested with installed testing for a cross to x86_64-linux-gnu, where
it fixes various test failures.

	* testsuite/lib/libstdc++.exp (libstdc++_init): Use
	-fno-show-column in default cxxflags.

From-SVN: r264784
2018-10-02 13:46:32 +01:00
Bernhard Reutner-Fischer
15b946f77d config: Remove unused define for os uClibc
__NO_STRING_INLINES was removed from uClibc around 2004 so has no
effect.

libstdc++-v3/ChangeLog:

2018-10-01  Bernhard Reutner-Fischer  <aldot@gcc.gnu.org>

        * config/os/uclibc/os_defines.h (__NO_STRING_INLINES): Delete.

From-SVN: r264783
2018-10-02 14:35:42 +02:00
Eric Botcazou
be099f3724 dojump.h (do_jump): Delete.
* dojump.h (do_jump): Delete.
	(do_jump_1): Likewise.
	(split_comparison): Move around.
	* dojump.c (do_jump): Make static.
	(do_jump_1): Likewise.
	(jumpifnot): Move around.
	(jumpifnot_1): Likewise.
	(jumpif): Likewise.
	(jumpif_1): Likewise.
	* expr.c (expand_expr_real_1): Call jumpif[not] instead of do_jump.

From-SVN: r264781
2018-10-02 10:55:33 +00:00
Eric Botcazou
5d11b4bf36 reorg.c (make_return_insns): Use emit_copy_of_insn_after for the insns in the delay slot and add_insn_after...
* reorg.c (make_return_insns): Use emit_copy_of_insn_after for the
	insns in the delay slot and add_insn_after for the jump insn.

From-SVN: r264780
2018-10-02 10:20:08 +00:00
Richard Biener
0edf3afe13 c-decl.c (warn_if_shadowing): Do not test DECL_FROM_INLINE.
2018-10-02  Richard Biener  <rguenther@suse.de>

	c/
	* c-decl.c (warn_if_shadowing): Do not test DECL_FROM_INLINE.

	cp/
	* name-lookup.c (check_local_shadow): Do not test DECL_FROM_INLINE.

From-SVN: r264779
2018-10-02 10:08:22 +00:00
Richard Biener
cd6ae11750 tree-inline.c (expand_call_inline): Use the location of the callee declaration for the inline-entry marker.
2018-10-02  Richard Biener  <rguenther@suse.de>

	* tree-inline.c (expand_call_inline): Use the location of
	the callee declaration for the inline-entry marker.
	* final.c (notice_source_line): Remove special-casing of
	NOTE_INSN_INLINE_ENTRY.

From-SVN: r264778
2018-10-02 10:07:29 +00:00
GCC Administrator
491ec3dfa9 Daily bump.
From-SVN: r264777
2018-10-02 00:16:36 +00:00
Ian Lance Taylor
b1d88684bb compiler: use the underlying type to build placeholder type for alias
When asking for a placeholder type of an alias type, build a
    placeholder for the underlying type, instead of treating the
    alias as a named type and calling get_backend. The latter may
    fail as we may not be ready to build a complete backend type. We
    have already used a unified backend type for alias type and its
    underlying type. Do the same for placeholders as well.
    
    Reviewed-on: https://go-review.googlesource.com/138635

From-SVN: r264773
2018-10-01 22:25:52 +00:00
Ian Lance Taylor
44ef03008c libgo: support x32 as GOARCH=amd64p32 GOOS=linux
This is enough to let libgo build when configured using
    --with-multilib-list=m64,m32,mx32.  I don't have an x32-enabled kernel
    so I haven't tested whether it executes correctly.
    
    For https://gcc.gnu.org/PR87470
    
    Reviewed-on: https://go-review.googlesource.com/138817

From-SVN: r264772
2018-10-01 20:17:11 +00:00
Ian Lance Taylor
1b28253347 runtime: add arm64 version of AES hash code
Rewrite the arm64 AES hashing code from gc assembler to C code using
    intrinsics.  The resulting code generates the same hash code for the
    same input as the gc code--that doesn't matter as such, but testing it
    ensures that the C code does something useful.
    
    Reviewed-on: https://go-review.googlesource.com/138535

From-SVN: r264771
2018-10-01 20:14:29 +00:00
Nathan Sidwell
df1346b423 [libiberty] Use pipe inside pex_run
https://gcc.gnu.org/ml/gcc-patches/2018-10/msg00039.html
	* configure.ac (checkfuncs): Add pipe2.
	* config.in, configure: Rebuilt.
	* pex-unix.c (pex_unix_exec_child): Comminicate errors from child
	to parent with a pipe, when possible.

From-SVN: r264769
2018-10-01 18:46:51 +00:00
Joseph Myers
2649038cea * ru.po: Update.
From-SVN: r264766
2018-10-01 18:11:46 +01:00
Carl Love
84eea0f700 Update, forgot to put the PR number in the Change Log.
gcc/ChangeLog:

2018-10-01  Carl Love  <cel@us.ibm.com>

	PR 69431
	* config/rs6000/rs6000-builtin.def (__builtin_mffsl): New.
	(__builtin_mtfsb0): New.
	(__builtin_mtfsb1): New.
	( __builtin_set_fpscr_rn): New.
	(__builtin_set_fpscr_drn): New.
	* config/rs6000/rs6000.c (rs6000_expand_mtfsb_builtin): Add.
	(rs6000_expand_set_fpscr_rn_builtin): Add.
	(rs6000_expand_set_fpscr_drn_builtin): Add.
	(rs6000_expand_builtin): Add case statement entries for
	RS6000_BUILTIN_MTFSB0, RS6000_BUILTIN_MTFSB1,
	RS6000_BUILTIN_SET_FPSCR_RN, RS6000_BUILTIN_SET_FPSCR_DRN,
	RS6000_BUILTIN_MFFSL.
	(rs6000_init_builtins): Add ftype initialization and def_builtin
	calls for __builtin_mffsl, __builtin_mtfsb0, __builtin_mtfsb1,
	__builtin_set_fpscr_rn, __builtin_set_fpscr_drn.
	* config/rs6000.md (rs6000_mtfsb0, rs6000_mtfsb1, rs6000_mffscrn,
	rs6000_mffscdrn): Add define_insn.
	(rs6000_set_fpscr_rn, rs6000_set_fpscr_drn): Add define_expand.
	* doc/extend.texi: Add documentation for the builtins.

gcc/testsuite/ChangeLog:

2018-10-01  Carl Love  <cel@us.ibm.com>

	PR 69431
	* gcc.target/powerpc/test_mffsl-p9.c: New file.
	* gcc.target/powerpc/test_fpscr_rn_builtin.c: New file.
	* gcc.target/powerpc/test_fpscr_drn_builtin.c: New file.
	* gcc.target/powerpc/test_fpscr_rn_builtin_error.c: New file.
	* gcc.target/powerpc/test_fpscr_drn_builtin_error.c: New file.

From-SVN: r264764
2018-10-01 15:57:13 +00:00
Carl Love
2da14663d0 rs6000-builtin.def (__builtin_mffsl): New.
gcc/ChangeLog:

2018-10-01  Carl Love  <cel@us.ibm.com>

	* config/rs6000/rs6000-builtin.def (__builtin_mffsl): New.
	(__builtin_mtfsb0): New.
	(__builtin_mtfsb1): New.
	( __builtin_set_fpscr_rn): New.
	(__builtin_set_fpscr_drn): New.
	* config/rs6000/rs6000.c (rs6000_expand_mtfsb_builtin): Add.
	(rs6000_expand_set_fpscr_rn_builtin): Add.
	(rs6000_expand_set_fpscr_drn_builtin): Add.
	(rs6000_expand_builtin): Add case statement entries for
	RS6000_BUILTIN_MTFSB0, RS6000_BUILTIN_MTFSB1,
	RS6000_BUILTIN_SET_FPSCR_RN, RS6000_BUILTIN_SET_FPSCR_DRN,
	RS6000_BUILTIN_MFFSL.
	(rs6000_init_builtins): Add ftype initialization and def_builtin
	calls for __builtin_mffsl, __builtin_mtfsb0, __builtin_mtfsb1,
	__builtin_set_fpscr_rn, __builtin_set_fpscr_drn.
	* config/rs6000.md (rs6000_mtfsb0, rs6000_mtfsb1, rs6000_mffscrn,
	rs6000_mffscdrn): Add define_insn.
	(rs6000_set_fpscr_rn, rs6000_set_fpscr_drn): Add define_expand.
	* doc/extend.texi: Add documentation for the builtins.

gcc/testsuite/ChangeLog:

2018-10-01  Carl Love  <cel@us.ibm.com>

	* gcc.target/powerpc/test_mffsl-p9.c: New file.
	* gcc.target/powerpc/test_fpscr_rn_builtin.c: New file.
	* gcc.target/powerpc/test_fpscr_drn_builtin.c: New file.
	* gcc.target/powerpc/test_fpscr_rn_builtin_error.c: New file.
	* gcc.target/powerpc/test_fpscr_drn_builtin_error.c: New file.

From-SVN: r264762
2018-10-01 15:41:24 +00:00
Gerald Pfeifer
3553df866a allocator.xml: Adjust link to "Reconsidering Custom Memory Allocation".
* doc/xml/manual/allocator.xml: Adjust link to "Reconsidering
	Custom Memory Allocation".

From-SVN: r264761
2018-10-01 15:17:15 +00:00