Re: [PATCH v2] go: disable mvsx and maltivec for aix/ppc

2019-04-25 Thread CHIGOT, CLEMENT
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

2019-04-24 Thread David Edelsohn
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

2019-04-24 Thread David Edelsohn
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

2019-04-24 Thread Ian Lance Taylor
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

2019-04-23 Thread CHIGOT, CLEMENT
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