[Bug 1522410] Comment bridged from LTC Bugzilla
bugproxy
bugproxy at us.ibm.com
Wed Jan 13 23:49:20 UTC 2016
------- Comment From bergner at us.ibm.com 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 <amodra at gmail.com>
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 <amodra at gmail.com>
* 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 <amodra at gmail.com>
* 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 <amodra at gmail.com>
* 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 <laboger at linux.vnet.ibm.com>
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
Foundations Bugs, which is subscribed to gcc-5 in Ubuntu.
https://bugs.launchpad.net/bugs/1522410
Title:
[Ubuntu 16.04] Enable P9 toolchain
Status in gcc-5 package in Ubuntu:
Incomplete
Bug description:
This is a feature request to track the inclusion of POWER9 enabled in
Ubuntu.
This is required as a building block for POWER9 development in Ubuntu
16.04. The final goal is to have Ubuntu 17.04 as the primary distro to
(partially?) support POWER9 machines.
Mirroring for Canonical awareness. A backport will be required.
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gcc-5/+bug/1522410/+subscriptions
More information about the foundations-bugs
mailing list