aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-05-06c++: QT overload regression with attribute [PR94946]Nathan Sidwell3-3/+18
Jason's fix for 90570 & 79585 was a bit overzealous. Dependent attribs should still attach to a parameter decl. * decl.c (grokdeclarator): Don't splice template attributes in parm context -- they can apply to the parm.
2020-05-06coroutines: Remove references to n4849 (NFC).Iain Sandoe2-14/+18
This just strips out references to the draft standard numbered n4849. The implementation is now intended to be applicable to the expected final version. gcc/cp/ChangeLog: 2020-05-05 Iain Sandoe <iain@sandoe.co.uk> * coroutines.cc: Remove references to n4849 throughout.
2020-05-06x86: Fix vextract* masked patterns [PR93069]Jakub Jelinek3-213/+256
The AVX512F documentation clearly states that in instructions where the destination is a memory only merging-masking is possible, not zero-masking, and the assembler enforces that. The testcase in this patch fails to assemble because of Error: unsupported masking for `vextracti32x8' on vextracti32x8 $0x0, %zmm1, -64(%rsp){%k1}{z} For the vector extraction patterns, we apparently have 7 *_maskm patterns that only accept memory destinations and rtx_equal_p merge-masking source for it, 7 *<mask_name> corresponding patterns that allow memory destination only for the non-masked cases (through <store_mask_constraint>), then 2 *<mask_name> patterns (lo ssehalf V16FI and lo ssehalf VI8F_256 ones) which do allow memory destination even for masked cases and are the cause of the testsuite failure, because we must not allow C constraint if the destination is m, and finally one pair of patterns (separate * and *_mask, hi ssehalf VI4F_256), which has another issue (for which I don't have a testcase though), where if it would match zero-masking with register destination, it wouldn't emit the needed {z} into assembly. The attached patch fixes those 3 issues only, perhaps more suitable for backporting. But, even with that fixed, we are missing 3 further *_maskm patterns and more importantly, I find the split into 3 separate patterns after subst, *_maskm for masking with memory destination, *_mask for masking with register destination and * for non-masking unnecessarily complex and harder for reload, so the included patch below (non-attached) instead kills all *_maskm patterns and splits the *<mask_name> patterns into * and *_mask by hand instead of subst, where the *_mask ones make sure that with v destination they use 0C, while with m destination they use 0 and as condition enforce that either destination is not MEM, or rtx_equal_p between the destination and corresponding merging-masking operand source. If we had those 3 missing *_maskm patterns, this patch would actually result in both shorter sse.md and shorter machine description after subst (e.g. length of tmp-mddump.md), as we don't have them, the patch is actually 16 lines longer sse.md, but still shorter tmp-mddump.md. 2020-05-06 Jakub Jelinek <jakub@redhat.com> PR target/93069 * config/i386/subst.md (store_mask_constraint, store_mask_predicate): Remove. (avx512dq_vextract<shuffletype>64x2_1_maskm, avx512f_vextract<shuffletype>32x4_1_maskm, vec_extract_lo_<mode>_maskm, vec_extract_hi_<mode>_maskm): Remove. (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>): Split into ... (*avx512dq_vextract<shuffletype>64x2_1, avx512dq_vextract<shuffletype>64x2_1_mask): ... these new define_insns. Even in the masked variant allow memory output but in that case use 0 rather than 0C constraint on the source of masked-out elts. (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): Split into ... (*avx512f_vextract<shuffletype>32x4_1, avx512f_vextract<shuffletype>32x4_1_mask): ... these new define_insns. Even in the masked variant allow memory output but in that case use 0 rather than 0C constraint on the source of masked-out elts. (vec_extract_lo_<mode><mask_name>): Split into ... (vec_extract_lo_<mode>, vec_extract_lo_<mode>_mask): ... these new define_insns. Even in the masked variant allow memory output but in that case use 0 rather than 0C constraint on the source of masked-out elts. (vec_extract_hi_<mode><mask_name>): Split into ... (vec_extract_hi_<mode>, vec_extract_hi_<mode>_mask): ... these new define_insns. Even in the masked variant allow memory output but in that case use 0 rather than 0C constraint on the source of masked-out elts.
2020-05-06add a new option -flarge-source-files.qing zhao8-3/+51
gcc/ChangeLog: PR c/94230 * common.opt: Add -flarge-source-files. * doc/invoke.texi: Document it. * toplev.c (process_options): set line_table->default_range_bits to 0 when flag_large_source_files is true. gcc/c-family/ChangeLog: PR c/94230 * c-indentation.c (get_visual_column): Add a hint to use the new -flarge-source-files option. gcc/testsuite/ChangeLog: PR c/94230 * gcc.dg/plugin/location-overflow-test-1.c (fn_1): New message to provide hint to use the new -flarge-source-files option.
2020-05-06i386: Use ADD to implement compares with negated operand [PR94913]Uros Bizjak6-0/+95
Use carry flag from addition to implement GEU/LTU compares with negated operand, so e.g. ~x < y compiles to: addq %rsi, %rdi setc %al instead of: notq %rdi cmpq %rsi, %rdi setb %al PR target/94913 * config/i386/predicates.md (add_comparison_operator): New predicate. * config/i386/i386.md (compare->add splitter): New splitters. testsuite/ChangeLog: PR target/94913 * gcc.target/i386/pr94913-1.c: New test. * gcc.target/i386/pr94913-2.c: Ditto.
2020-05-06[AArch64] Use __getauxval instead of getauxval in LSE detection code in libgccKyrylo Tkachov2-8/+17
This version of the fix uses __getauxval instead of getauxval. The whole thing is guarded simply on __gnu_linux__. __getauxval was introduced in 2.16 but the aarch64 port was added in 2.17 so in practice I expect all aarch64 glibcs to support __getauxval. Bootstrapped and tested on aarch64-none-linux-gnu. Also tested on aarch64-none-elf. 2020-05-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/aarch64/lse-init.c (init_have_lse_atomics): Use __getauxval instead of getauxval. (AT_HWCAP): Define. (HWCAP_ATOMICS): Define. Guard detection on __gnu_linux__.
2020-05-06Prepare removal of SLP_INSTANCE_GROUP_SIZERichard Biener5-29/+37
This removes trivial instances of SLP_INSTANCE_GROUP_SIZE and refrains from using a "SLP instance" which nowadays is just one of the possibly many entries into the SLP graph. 2020-05-06 Richard Biener <rguenther@suse.de> * tree-vectorizer.h (vect_transform_slp_perm_load): Adjust. * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): Remove slp_instance parameter, just iterate over all scalar stmts. (vect_slp_analyze_instance_dependence): Adjust and likewise. * tree-vect-slp.c (vect_bb_slp_scalar_cost): Remove unused BB parameter. (vect_schedule_slp): Just iterate over all scalar stmts. (vect_supported_load_permutation_p): Adjust. (vect_transform_slp_perm_load): Remove slp_instance parameter, instead use the number of lanes in the node as group size. * tree-vect-stmts.c (vect_model_load_cost): Get vectorization factor instead of slp_instance as parameter. (vectorizable_load): Adjust.
2020-05-06x32: Update baseline_symbols.txtH.J. Lu2-0/+21
* config/abi/post/x86_64-linux-gnu/x32/baseline_symbols.txt: Updated.
2020-05-06aarch64: fix conflicting declarationsAndreas Schwab2-4/+6
aarch64_get_extension_string_for_isa_flags is declared in "aarch64-protos.h", use that instead of re-declaring it improperly. * config/aarch64/driver-aarch64.c: Include "aarch64-protos.h". (aarch64_get_extension_string_for_isa_flags): Don't declare.
2020-05-06libstdc++: Update Solaris baselines for GCC 10.1Rainer Orth5-0/+57
I just remembered that the libstdc++ ABI baselines haven't been updated for the GCC 10 release yet. This patch corrects this for Solaris/SPARC and x86. Created on master with make new-abi-baseline on i386-pc-solaris2.11 and sparc-sun-solaris2.11, bootstrapped on gcc-10 branch without regressions. * config/abi/post/i386-solaris/baseline_symbols.txt: Regenerate. * config/abi/post/i386-solaris/amd64/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris/baseline_symbols.txt: Likewise. * config/abi/post/sparc-solaris/sparcv9/baseline_symbols.txt: Likewise.
2020-05-06middle-end/94964 - avoid EH loop entry with CP_SIMPLE_PREHEADERSRichard Biener2-2/+9
Loop optimizers expect to be able to insert on the preheader edge w/o splitting it thus avoid ending up with a preheader that enters the loop via an EH edge (or an abnormal edge). 2020-05-06 Richard Biener <rguenther@suse.de> PR middle-end/94964 * cfgloopmanip.c (create_preheader): Require non-complex preheader edge for CP_SIMPLE_PREHEADERS.
2020-05-06tree-optimization/94963 - avoid bogus uninit warning with store-motionRichard Biener4-7/+59
Eliding the load for store-motion causes an uninitialized variable flowing into the loop, conditionally initialized and used. The uninit warning cannot relate the flag used to guard the initialization and use with the actual initialization so the following robustifies the previous approach of marking the conditional store as not to be warned on by instead initializing the variable on loop entry from an uninitialized variable we mark as not to be warned for. 2020-05-06 Richard Biener <rguenther@suse.de> PR tree-optimization/94963 * tree-ssa-loop-im.c (execute_sm_if_changed): Remove no-warning marking of the conditional store. (execute_sm): Instead mark the uninitialized state on loop entry to be not warned about. * gcc.dg/pr94963.c: New testcase.
2020-05-06Revert "Use const for template argument."Martin Liska2-2/+10
This reverts commit 03f9754665b889e0988d0392db1eb35e91b97693.
2020-05-06Add ChangeLog entries for patch TSXLDTRK.liuhongt2-1/+38
2020-05-06Add ENQCMD, AVX512BF16, AVX512_VP2INTERSECT to gcc.target/i386/funcspec-56.inc.liuhongt2-0/+11
gcc/testuite/ChangeLog * gcc.target/i386/funcspec-56.inc: Add enqcmd, avx512bf16, avx512vp2intersect.
2020-05-06libstdc++: Document library versioning for 9.[123] and 10.1Jonathan Wakely3-5/+16
* doc/xml/manual/abi.xml (abi.versioning.history): Document library versions for GCC 9.[123] and 10.1 releases. * doc/html/*: Regenerate.
2020-05-06libstdc++: Update {x86_64,i?86,powerpc64,s390x,aarch64}-linux baselines for ↵Jakub Jelinek8-0/+124
GCC 10.1 On Wed, May 06, 2020 at 10:49:13AM +0200, Rainer Orth wrote: > I just remembered that the libstdc++ ABI baselines haven't been updated > for the GCC 10 release yet. This patch corrects this for Solaris/SPARC > and x86. Oops, here are the updates from Fedora packages built during the weekend. 2020-05-06 Jakub Jelinek <jakub@redhat.com> * config/abi/post/x86_64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/x86_64-linux-gnu/32/baseline_symbols.txt: Update. * config/abi/post/i386-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/i486-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/aarch64-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/s390x-linux-gnu/baseline_symbols.txt: Update. * config/abi/post/powerpc64-linux-gnu/baseline_symbols.txt: Update.
2020-05-06match.pd: Optimize ~(~X +- Y) into (X -+ Y) [PR94921]Jakub Jelinek4-0/+36
According to my verification proglet, this transformation for signed types with undefined overflow doesn't introduce nor remove any UB cases, so should be valid even for signed integral types. Not using a for because of the :c on plus which can't be there on minus. 2020-05-06 Jakub Jelinek <jakub@redhat.com> PR tree-optimization/94921 * match.pd (~(~X - Y) -> X + Y, ~(~X + Y) -> X - Y): New simplifications. * gcc.dg/tree-ssa/pr94921.c: New test.
2020-05-06tree-optimization/94965 - fix typo in vec_info * passingRichard Biener2-1/+6
Should have passed vinfo, not loop_vinfo. 2020-05-06 Richard Biener <rguenther@suse.de> PR tree-optimization/94965 * tree-vect-stmts.c (vectorizable_load): Fix typo.
2020-05-06doc: Update install.texi for GCC 10 on SolarisRainer Orth2-35/+68
This patch updates install.texi for GCC 10 on Solaris. It includes some general cleanup and updates and includes a couple of caveats, some of them found when testing GCC 10.1.0 RC1 with only the bundled tools. The reference to TGCware on the binaries page is gone because they only provide binaries up to Solaris 9. The note about configuring 64-bit Solaris/SPARC compilers with --build=sparcv9-sun-solaris2.11 became necessary because upstream config.guess silently reverted my patch to automatically detect this. We already had a bug report about a comparison failure caused by this issue. Tested with make doc/gccinstall.info and doc/gccinstall.pdf and inspection of the resulting files. * doc/install.texi: Replace Sun with Solaris as appropriate. (Tools/packages necessary for building GCC, Perl version between 5.6.1 and 5.6.24): Remove Solaris 8 reference. (Installing GCC: Binaries, Solaris 2 (SPARC, Intel)): Remove TGCware reference. (Specific, i?86-*-solaris2*): Update version references for Solaris 11.3 and later. Remove gas 2.26 caveat. (Specific, *-*-solaris2*): Update version references for Solaris 11.3 and later. Remove boehm-gc reference. Document GMP, MPFR caveats on Solaris 11.3. (Specific, sparc-sun-solaris2*): Update Solaris 9 references. (Specific, sparc64-*-solaris2*): Likewise. Document --build requirement.
2020-05-06Enable TARGET_TSXLDTRK for GCC support.liuhongt22-17/+120
gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA2_TSXLDTRK_SET, OPTION_MASK_ISA2_TSXLDTRK_UNSET): New macros. * config.gcc: Add tsxldtrkintrin.h to extra_headers. * config/i386/driver-i386.c (host_detect_local_cpu): Detect TSXLDTRK. * config/i386/i386-builtin.def: Add new builtins. * config/i386/i386-c.c (ix86_target_macros_internal): Define __TSXLDTRK__. * config/i386/i386-options.c (ix86_target_string): Add -mtsxldtrk. (ix86_valid_target_attribute_inner_p): Add attribute tsxldtrk. * config/i386/i386.h (TARGET_TSXLDTRK, TARGET_TSXLDTRK_P): New. * config/i386/i386.md (define_c_enum "unspec"): Add UNSPECV_SUSLDTRK, UNSPECV_RESLDTRK. (TSXLDTRK): New define_int_iterator. ("<tsxldtrk>"): New define_insn. * config/i386/i386.opt: Add -mtsxldtrk. * config/i386/immintrin.h: Include tsxldtrkintrin.h. * config/i386/tsxldtrkintrin.h: New. * doc/invoke.texi: Document -mtsxldtrk. gcc/testsuite/ * g++.dg/other/i386-2.c: Add -mtsxldtrk. * g++.dg/other/i386-3.c: Likewise. * gcc.target/i386/sse-12.c: Likewise. * gcc.target/i386/sse-13.c: Likewise. * gcc.target/i386/sse-14.c: Likewise. * gcc.target/i386/sse-22.c: Likewsie. * gcc.target/i386/sse-23.c: Likewise. * gcc.target/i386/tsxldtrk-1.c: New test. * gcc.target/i386/funcspec-56.inc: Add target attribute tests for tsxldtrk.
2020-05-06riscv: Fix up riscv_atomic_assign_expand_fenv [PR94950]Jakub Jelinek2-2/+6
Similarly to the fixes on many other targets, riscv needs to use TARGET_EXPR to avoid having the create_tmp_var_raw temporaries without proper DECL_CONTEXT and not mentioned in local decls. 2020-05-06 Jakub Jelinek <jakub@redhat.com> PR target/94950 * config/riscv/riscv-builtins.c (riscv_atomic_assign_expand_fenv): Use TARGET_EXPR instead of MODIFY_EXPR for first assignment to old_flags.
2020-05-06combine: Don't replace SET_SRC with REG_EQUAL note content if SET_SRC has ↵Jakub Jelinek4-0/+39
side-effects [PR94873] There were some discussions about whether REG_EQUAL notes are valid on insns with a single set which contains auto-inc-dec side-effects in the SET_SRC and the majority thinks that it should be valid. So, this patch fixes the combiner to punt in that case, because otherwise the auto-inc-dec side-effects from the SET_SRC are lost. 2020-05-06 Jakub Jelinek <jakub@redhat.com> PR rtl-optimization/94873 * combine.c (combine_instructions): Don't optimize using REG_EQUAL note if SET_SRC (set) has side-effects. * gcc.dg/pr94873.c: New test.
2020-05-06Enable GCC support for SERIALIZEliuhongt24-18/+167
2020-03-04 Hongtao Liu <hongtao.liu@intel.com> 2020-03-04 Wei Xiao <wei3.xiao@intel.com> gcc/Changelog: * gcc/common/config/i386/i386-common.c (OPTION_MASK_ISA2_SERIALIZE_SET, OPTION_MASK_ISA2_SERIALIZE_UNSET): New macros. (ix86_handle_option): Handle -mserialize. * gcc/config.gcc (serializeintrin.h): New header file. * gcc/config/i386/cpuid.h (bit_SERIALIZE): New bit. * gcc/config/i386/driver-i386.c (host_detect_local_cpu): Detect -mserialize. * gcc/config/i386/i386-builtin.def: Add new builtin. * gcc/config/i386/i386-c.c (__SERIALIZE__): New macro. * gcc/config/i386/i386-options.c (ix86_target_opts_isa2_opts): Add -mserialize. * (ix86_valid_target_attribute_inner_p): Add target attribute * for serialize. * gcc/config/i386/i386.h (TARGET_SERIALIZE, TARGET_SERIALIZE_P): New macros. * gcc/config/i386/i386.md (UNSPECV_SERIALIZE): New unspec. (serialize): New define_insn. * gcc/config/i386/i386.opt (mserialize): New option * gcc/config/i386/immintrin.h: Include serailizeintrin.h. * gcc/config/i386/serializeintrin.h: New header file. * gcc/doc/invoke.texi: Add documents for -mserialize. gcc/testsuite/Changelog * gcc/testsuite/gcc.target/i386/serialize-1.c: New test. * gcc/testsuite/g++.dg/other/i386-2.C: Add -mserialize. * gcc/testsuite/g++.dg/other/i386-3.C: Ditto. * gcc/testsuite/gcc.target/i386/funcspec-56.inc: Ditto. * gcc/testsuite/gcc.target/i386/sse-12.c: Ditto. * gcc/testsuite/gcc.target/i386/sse-13.c: Ditto. * gcc/testsuite/gcc.target/i386/sse-14.c: Ditto. * gcc/testsuite/gcc.target/i386/sse-22.c: Ditto. * gcc/testsuite/gcc.target/i386/sse-23.c: Ditto.
2020-05-06Adjust integer <-> pointer conversion IL checkingRichard Biener2-2/+15
The existing check doesn't reflect the actual reason why it exists, the patch makes us to use POINTERS_EXTEND_UNSIGNED instead which is specified for ptr_mode and word_mode/Pmode precision. 2020-05-06 Richard Biener <rguenther@suse.de> * tree-cfg.c (verify_gimple_assign_unary): Adjust integer to/from pointer conversion checking.
2020-05-06Daily bump.GCC Administrator1-1/+1
2020-05-05c++: CWG2235 partial ordering and non-dependent typesJason Merrill4-10/+27
Issue 2235 removed the rule previously added for issues 1391/1847 that had partial ordering completely ignore function parameters with no deducible template parameters. gcc/cp/ChangeLog 2020-05-05 Jason Merrill <jason@redhat.com> CWG 2235 * pt.c (more_specialized_fn): Do consider parms with no deducible template parameters.
2020-05-05c++: constexpr and lambda capture [PR90212]Jason Merrill3-1/+26
This is the same issue as PR86429, just in potential_constant_expression_1 rather than cxx_eval_constant_expression. As in that case, when we're trying to evaluate a constant expression within a lambda, we don't have a constant closure object to refer to, but we can try to refer directly to the captured variable. gcc/cp/ChangeLog 2020-05-05 Jason Merrill <jason@redhat.com> PR c++/90212 * constexpr.c (potential_constant_expression_1): In a lambda function, consider a captured variable directly.
2020-05-05matcher-1.m: Change return type to intH.J. Lu2-1/+7
my_exception_matcher must return int. Otherwise, this test fails. PR testsuite/84324 * objc/execute/exceptions/matcher-1.m (my_exception_matcher): Change return type to int.
2020-05-05PR fortran/93366 - ICE on invalid, reject invalid use of NULL() as argumentHarald Anlauf4-15/+73
gcc/fortran/ChangeLog: 2020-05-05 Steve Kargl <kargl@gcc.gnu.org> Harald Anlauf <anlauf@gmx.de> PR fortran/93366 * check.c (gfc_check_associated, invalid_null_arg): Factorize check for presence of invalid NULL() argument. (gfc_check_kind, gfc_check_merge, gfc_check_shape) (gfc_check_sizeof, gfc_check_spread, gfc_check_transfer): Use this check for presence of invalid NULL() arguments. gcc/testsuite/ChangeLog: 2020-05-05 Harald Anlauf <anlauf@gmx.de> PR fortran/93366 * gfortran.dg/pr93366.f90: New test.
2020-05-05libitm: Disable diagnostic coloring in testsNathan Sidwell2-0/+7
Diagnostic coloring makes the log file hard to read when there's a problem. Let's do without it. * Testsuite/lib/libitm.exp (libitm_init): Add -fdiagnostics-color=never to options.
2020-05-05coroutines: Replace extra checks for co_yield with asserts.Iain Sandoe2-9/+18
The lowering of co_yield to a promise method call and a co_await was moved to the initial analysis phase with the intention of avoiding the need to handle the two cases later. Before removing the later checks entirely, this patch replaces them with checking asserts. gcc/cp/Changelog: 2020-05-05 Iain Sandoe <iain@sandoe.co.uk> * coroutines.cc (transform_await_wrapper): Check that we have no unlowered co_yields. (captures_temporary): Likewise. (register_awaits): Likewise.
2020-05-05Delete file meant for a private branchMichael Meissner1-7/+0
2020-05-05Remove files meant for a private branchMichael Meissner4-82/+0
2020-05-05Delete file meant for private branchMichael Meissner1-22/+0
2020-05-05Delete file meant for private branchMichael Meissner1-1/+0
2020-05-05Remove files meant for private branchMichael Meissner2-85/+0
2020-05-05Delete changes meant for a private branch.Michael Meissner13-356/+62
2020-05-05 Michael Meissner <meissner@linux.ibm.com> * config/rs6000/rs6000-builtin.def: Delete changes meant for a private branch. * config/rs6000/rs6000-c.c: Likewise. * config/rs6000/rs6000-call.c: Likewise. * gcc/config/rs6000/rs6000.c: Likewise. 2020-05-05 Michael Meissner <meissner@linux.ibm.com> * gcc.dg/nextafter-2.c: Delete changes meant for a private branch. * gcc.target/powerpc/pr70117.c: Likewise. 2020-05-05 Michael Meissner <meissner@linux.ibm.com> * config.host: Delete changes meant for a private branch. * config/rs6000/t-float128: Likewise. * configure.ac: Likewise. * configure: Likewise.
2020-05-05Patch ieee128-lib-patch010bMichael Meissner7-2/+259
2020-05-05New fileMichael Meissner1-0/+0
2020-05-05New filesMichael Meissner2-0/+0
2020-05-05RTEMS: Improve GCC specificationSebastian Huber5-8/+41
Add a start/end file specification if the -qrtems option is present. Allow targets to customize it. Support the standard -nodefaultlibs option. gcc/ * config/rtems.h (RTEMS_STARTFILE_SPEC): Define if undefined. (RTEMS_ENDFILE_SPEC): Likewise. (STARTFILE_SPEC): Update comment. Add RTEMS_STARTFILE_SPEC. (ENDFILE_SPEC): Add RTEMS_ENDFILE_SPEC. (LIB_SPECS): Support -nodefaultlibs option. * config/or1k/rtems.h (RTEMS_STARTFILE_SPEC): Define. (RTEMS_ENDFILE_SPEC): Likewise. * config/rs6000/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. (RTEMS_ENDFILE_SPEC): Likewise. * config/v850/rtems.h (RTEMS_STARTFILE_SPEC): Likewise. (RTEMS_ENDFILE_SPEC): Likewise.
2020-05-05PRU: Remove TARGET_HARD_REGNO_CALL_PART_CLOBBEREDDimitar Dimitrov2-34/+5
Per clarification in [1], macro is supposed to check for partial clobbering of single HW registers. Since PRU declares only 8-bit HW registers, and ABI does not define individual bit clobbering, it is safe to remove the implementation. [1] https://gcc.gnu.org/ml/gcc-patches/2019-09/msg00778.html gcc/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * config/pru/pru.c (pru_hard_regno_call_part_clobbered): Remove. (TARGET_HARD_REGNO_CALL_PART_CLOBBERED): Remove. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-05-05testsuite: pru: Add clobber testDimitar Dimitrov2-0/+28
gcc/testsuite/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * gcc.target/pru/clobber-sp.c: New test. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-05-05PRU: Fix R3.w0 register classDimitar Dimitrov5-9/+27
TI has clarified [1] that R3.w0 is caller saved, so allow compiler to use it. This is safe change because older GCC versions treat R3.w0 as fixed register and never use it. [1] https://e2e.ti.com/support/tools/ccs/f/81/t/849993 gcc/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * config/pru/pru.h: Mark R3.w0 as caller saved. gcc/testsuite/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * gcc.target/pru/lra-framepointer-fragmentation-1.c: Update test to take into account additional available registers. * gcc.target/pru/lra-framepointer-fragmentation-2.c: Ditto. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-05-05PRU: Simplify machine descriptionDimitar Dimitrov3-34/+23
Use the new @insn syntax for simpler gen_* invocation. gcc/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * config/pru/pru.c (pru_emit_doloop): Use new gen_doloop_end_internal and gen_doloop_begin_internal. (pru_reorg_loop): Use gen_pruloop with mode. * config/pru/pru.md: Use new @insn syntax. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-05-05PRU: Fix comment to avoid fall through warningDimitar Dimitrov2-1/+5
gcc/ChangeLog: 2020-05-05 Dimitar Dimitrov <dimitar@dinux.eu> * config/pru/pru.c (pru_print_operand): Fix fall through comment. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
2020-05-05Patch ieee128-lib-patch009bMichael Meissner3-0/+69
2020-05-05Patch ieee128-lib-patch008bMichael Meissner2-2/+10
2020-05-05Patch ieee128-lib-patch007bMichael Meissner2-5/+20