------- Comment From [email protected] 2016-01-13 18:45 EDT------- (In reply to comment #20) > As far as I'm aware, we are not currently pulling any gcc patches directly > from IBM, but only using the code that is included in the upstream gcc-5 > branch. Can you please point us at the revision on the IBM gcc-5 branch > that contains the necessary P9 support, so we can evaluate this for > inclusion?
Just to be clear, the IBM GCC 5 branch is: svn+ssh://gcc.gnu.org/svn/gcc/branches/ibm/gcc-5-branch We basically want all non merge revisions since we created the branch. They include our current set of P9 backports. We'll be committing more soon, so keep an eye out for those. The backported patches also include several revisions adding split stack support which is important for good GO performance and we'd like those picked up as well. Being pedantic, the following revisions are the backports we'd like you to pick up as of today...like I said, there are more coming: ------------------------------------------------------------------------ r230917 | meissner | 2015-11-25 17:38:03 -0600 (Wed, 25 Nov 2015) | 1 line Add power9 patch #10 (scalar d-form support) ------------------------------------------------------------------------ r230684 | meissner | 2015-11-20 16:21:10 -0600 (Fri, 20 Nov 2015) | 1 line Backport gcc power9 patch #8 ------------------------------------------------------------------------ r230682 | meissner | 2015-11-20 16:11:29 -0600 (Fri, 20 Nov 2015) | 1 line Backport gcc power9 patches 7 ------------------------------------------------------------------------ r230680 | meissner | 2015-11-20 15:42:07 -0600 (Fri, 20 Nov 2015) | 1 line Backport gcc power9 patches 2-5 ------------------------------------------------------------------------ r230676 | meissner | 2015-11-20 14:48:38 -0600 (Fri, 20 Nov 2015) | 1 line backport power9 patch #1 ------------------------------------------------------------------------ r229493 | boger | 2015-10-28 11:00:46 -0500 (Wed, 28 Oct 2015) | 21 lines Backport of r229009 PR66870 PowerPC64 Enable gold linker with split stack A powerpc-linux/powerpc64-linux biarch compiler can default to either -m32 or -m64, and we need to notice both -m32 and -m64 on the gccgo command line. It's also possible to build a -m64 only compiler, so in that case we can define TARGET_CAN_SPLIT_STACK. gcc/ PR go/66870 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define. * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define. (TARGET_CAN_SPLIT_STACK_64BIT): Define. gcc/go/ PR go/66870 * gospec.c (saw_opt_m32): Rename to.. (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT. Update uses. (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32. ------------------------------------------------------------------------ r228623 | boger | 2015-10-08 14:21:45 -0500 (Thu, 08 Oct 2015) | 15 lines Backport of rev 228311 PR target/66870 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define. * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power based on gold linker version. * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if HAVE_GOLD_ALTERNATE_SPLIT_STACK defined. * configure, config.in: Regenerate. go: * gospec.c (lang_specific_driver): Set appropriate split stack options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT. ------------------------------------------------------------------------ r228573 | boger | 2015-10-07 11:10:33 -0500 (Wed, 07 Oct 2015) | 6 lines Backport rev 226428 * go-lang.c (go_langhook_init_options_struct): Don't set x_flag_split_stack. (go_langhook_post_options): Set it here instead. ------------------------------------------------------------------------ r226976 | boger | 2015-08-18 09:48:12 -0500 (Tue, 18 Aug 2015) | 7 lines libgo/configure: Check for gold linker version On ppc64le and ppc64 check for the gold linker version number to determine if it contains split stack support. ------------------------------------------------------------------------ r226848 | amodra | 2015-08-13 00:25:02 -0500 (Thu, 13 Aug 2015) | 40 lines More split-stack fixes Backport rev 226443 2015-07-31 Alan Modra <[email protected]> PR target/66870 * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used. (rs6000_emit_prologue): Set it. (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used. Backport rev 223878 2015-05-30 Alan Modra <[email protected]> * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan correct block for use of r12. (rs6000_expand_split_stack_prologue): Error on r29 asm global reg. Backport rev 223427 2015-05-20 Alan Modra <[email protected]> * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return stack adjusting insn. Formatting. (rs6000_emit_prologue): Track stack adjusting insn, and use of r12. If possible, emit first -fsplit-stack arg pointer insn before stack adjust. Don't use r12 to save cr if split-stack. Backport rev 223425 2015-05-20 Alan Modra <[email protected]> * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments. (direct_return): Test vrsave_size rather than vrsave_mask. (rs6000_emit_prologue): Likewise. Remove redundant altivec tests. (rs6000_emit_epilogue): Likewise. Revert bogus rs6000_function_ok_for_sibcall change that caused failure of glibc build. Revert rs6000_can_eliminate cosmetic change ------------------------------------------------------------------------ r226823 | boger | 2015-08-12 11:25:49 -0500 (Wed, 12 Aug 2015) | 44 lines 2015-08-12 Lynn Boger <[email protected]> Backport of changes for split stack from trunk r223426. gcc/ * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK): Define. (rs6000_supports_split_stack): New function. * gcc/config.in: Define HAVE_LD_GOLD_SUPPORTS_SPLIT_STACK POWERPC64_TOC_POINTER_ALIGNMENT * gcc/config/rs6000/linux64.h: Enable gold linker in spec with split stack * gcc/config/rs6000/rs6000.c (machine_function): Add split_stack_arg_pointer. (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define. (setup_incoming_varargs): Use crtl->args.internal_arg_pointer rather than virtual_incoming_args_rtx. (rs6000_va_start): Likewise. (split_stack_arg_pointer_used_p): New function. (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack. (morestack_ref): New var. (gen_add3_const, rs6000_expand_split_stack_prologue, rs6000_internal_arg_pointer, rs6000_live_on_entry, rs6000_split_stack_space_check): New functions. (rs6000_elf_file_end): Call file_end_indicate_split_stack. * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define. (UNSPECV_SPLIT_STACK_RETURN): Define. (split_stack_prologue, load_split_stack_limit, load_split_stack_limit_di, load_split_stack_limit_si, split_stack_return, split_stack_space_check): New expands and insns. * gcc/config/rs6000/rs6000-protos.h (rs6000_expand_split_stack_prologue): Declare. (rs6000_split_stack_space_check): Declare. * gcc/config/rs6000/sysv4.h: Define TARGET_CAN_SPLIT_STACK libgcc/ * config/rs6000/morestack.S: New. * config/rs6000/t-stack-rs6000: New. * config.host (powerpc*-*-linux*): Add t-stack and t-stack-rs6000 to tmake_file. * generic-morestack.c: Don't build for powerpc 32-bit. libgo/ * configure.ac,configure: Detect split stack support in gold ------------------------------------------------------------------------ r226808 | boger | 2015-08-12 07:48:07 -0500 (Wed, 12 Aug 2015) | 1 line Add split stack support with gold -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/1522410 Title: [Ubuntu 16.04] Enable P9 toolchain To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1522410/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
