Re: [PATCH v2] go: disable mvsx and maltivec for aix/ppc
From: David Edelsohn > I have committed this patch. > > Thanks, David Thanks, I'll warn you if I ever understand what's wrong with it. Clément
Re: [PATCH v2] go: disable mvsx and maltivec for aix/ppc
On Tue, Apr 23, 2019 at 4:27 AM CHIGOT, CLEMENT wrote: > > Description: > * This patch removes -mvsx and -maltivec for go aix/ppc. > These options don't seem compatible with Go stack layout. > > Tests: > * AIX 7.2: Configure/Build: SUCCESS > > Changelog: > * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Remove OPTION_MASK_VSX > and OPTION_MASK_ALTIVEC from rs6000_isa_flags with Go on 32 bits. > * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. I have committed this patch. Thanks, David
Re: [PATCH v2] go: disable mvsx and maltivec for aix/ppc
On Wed, Apr 24, 2019 at 9:31 AM Ian Lance Taylor wrote: > > On Tue, Apr 23, 2019 at 1:27 AM CHIGOT, CLEMENT > wrote: > > > > Description: > > * This patch removes -mvsx and -maltivec for go aix/ppc. > > These options don't seem compatible with Go stack layout. > > > > Tests: > > * AIX 7.2: Configure/Build: SUCCESS > > > > Changelog: > > * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Remove > > OPTION_MASK_VSX > > and OPTION_MASK_ALTIVEC from rs6000_isa_flags with Go on 32 bits. > > * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. > > I still don't understand why there is a problem here. When using > gccgo the "Go stack layout" is exactly the same as the C stack layout. > But this patch is fine with me if it's OK with the AIX maintainers. There is an underlying problem that Clement has not yet found. This is a workaround. I will test the patch in my build. Thanks, David
Re: [PATCH v2] go: disable mvsx and maltivec for aix/ppc
On Tue, Apr 23, 2019 at 1:27 AM CHIGOT, CLEMENT wrote: > > Description: > * This patch removes -mvsx and -maltivec for go aix/ppc. > These options don't seem compatible with Go stack layout. > > Tests: > * AIX 7.2: Configure/Build: SUCCESS > > Changelog: > * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Remove OPTION_MASK_VSX > and OPTION_MASK_ALTIVEC from rs6000_isa_flags with Go on 32 bits. > * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. I still don't understand why there is a problem here. When using gccgo the "Go stack layout" is exactly the same as the C stack layout. But this patch is fine with me if it's OK with the AIX maintainers. Ian
[PATCH v2] go: disable mvsx and maltivec for aix/ppc
Description: * This patch removes -mvsx and -maltivec for go aix/ppc. These options don't seem compatible with Go stack layout. Tests: * AIX 7.2: Configure/Build: SUCCESS Changelog: * config/rs6000/aix71.h (SUBTARGET_OVERRIDE_OPTIONS): Remove OPTION_MASK_VSX and OPTION_MASK_ALTIVEC from rs6000_isa_flags with Go on 32 bits. * config/rs6000/aix72.h (SUBTARGET_OVERRIDE_OPTIONS): Likewise. Clément Chigot ATOS Bull SAS 1 rue de Provence - 38432 Échirolles - FranceIndex: config/rs6000/aix71.h === --- config/rs6000/aix71.h (revision 270457) +++ config/rs6000/aix71.h (working copy) @@ -56,6 +56,12 @@ do { \ { \ rs6000_current_cmodel = CMODEL_LARGE;\ } \ + if (! strcmp (lang_hooks.name, "GNU Go")\ + && TARGET_32BIT) \ +{ \ + /* aix/ppc doesn't support -mvsx and -maltivec with Go */ \ + rs6000_isa_flags &= ~(OPTION_MASK_VSX | OPTION_MASK_ALTIVEC); \ +} \ } while (0) #undef ASM_SPEC Index: config/rs6000/aix72.h === --- config/rs6000/aix72.h (revision 270457) +++ config/rs6000/aix72.h (working copy) @@ -56,6 +56,12 @@ do { \ { \ rs6000_current_cmodel = CMODEL_LARGE;\ } \ + if (! strcmp (lang_hooks.name, "GNU Go")\ + && TARGET_32BIT) \ +{ \ + /* aix/ppc doesn't support -mvsx and -maltivec with Go */ \ + rs6000_isa_flags &= ~(OPTION_MASK_VSX | OPTION_MASK_ALTIVEC); \ +} \ } while (0) #undef ASM_SPEC