All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains
@ 2016-07-18 12:05 Vicente Olivert Riera
  2016-07-19 10:27 ` Thomas Petazzoni
  2016-08-06 21:58 ` Thomas Petazzoni
  0 siblings, 2 replies; 4+ messages in thread
From: Vicente Olivert Riera @ 2016-07-18 12:05 UTC (permalink / raw)
  To: buildroot

These two MIPS cores are built with MSA support (-mmsa) which is
currently in GCC trunk. The only toolchains that support it right now
are Codescape MTI and Codescape IMG from Imagination Technologies.

Fixes:
  http://autobuild.buildroot.net/results/af5/af5e9f10287aaf9b9be6228ad7d12b2d926f8051/
  http://autobuild.buildroot.net/results/b20/b201e4072b0b634d5ac86781aee24c698f88d689/

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
---
Changes v1 -> v2:
 - Amend commit log: s/Imagiation/Imagination/

 package/openblas/Config.in | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/package/openblas/Config.in b/package/openblas/Config.in
index 51afaec..e79b611 100644
--- a/package/openblas/Config.in
+++ b/package/openblas/Config.in
@@ -26,9 +26,11 @@ config BR2_PACKAGE_OPENBLAS_DEFAULT_TARGET
 	default "PPC970"       if BR2_powerpc_970
 	default "PPC440"       if BR2_powerpc_440
 	default "PPC440FP2"    if BR2_powerpc_440fp
-	default "P5600"        if BR2_mips_32r2
+	# P5600 is built with MSA support which is only available in Codescape toolchains
+	default "P5600"        if BR2_mips_32r2 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
 	default "SICORTEX"     if BR2_mips_64
-	default "I6400"        if BR2_mips_64r6
+	# I6400 is built with MSA support which is only available in Codescape toolchains
+	default "I6400"        if BR2_mips_64r6 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
 	default "SPARC"        if BR2_sparc
 	default "CORTEXA15"    if BR2_cortex_a15
 	default "CORTEXA9"     if BR2_cortex_a9
-- 
2.7.3

^ permalink raw reply related	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains
  2016-07-18 12:05 [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains Vicente Olivert Riera
@ 2016-07-19 10:27 ` Thomas Petazzoni
  2016-08-06 21:59   ` Thomas Petazzoni
  2016-08-06 21:58 ` Thomas Petazzoni
  1 sibling, 1 reply; 4+ messages in thread
From: Thomas Petazzoni @ 2016-07-19 10:27 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 18 Jul 2016 13:05:39 +0100, Vicente Olivert Riera wrote:

> +	# P5600 is built with MSA support which is only available in Codescape toolchains
> +	default "P5600"        if BR2_mips_32r2 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_MTI_MIPS
>  	default "SICORTEX"     if BR2_mips_64
> -	default "I6400"        if BR2_mips_64r6
> +	# I6400 is built with MSA support which is only available in Codescape toolchains
> +	default "I6400"        if BR2_mips_64r6 && BR2_TOOLCHAIN_EXTERNAL_CODESCAPE_IMG_MIPS
>  	default "SPARC"        if BR2_sparc
>  	default "CORTEXA15"    if BR2_cortex_a15
>  	default "CORTEXA9"     if BR2_cortex_a9

I think I don't like this, because when an upstream gcc release appears
with MSA support, it won't be used. We would then have to introduce
some BR2_TOOLCHAIN_HAS_MIPS_MSA hidden boolean to indicate if the
toolchain has MSA support or not. All that for the sake of a single
package.

If MSA-specific assembly code used in OpenBLAS, or are they just
passing -mmsa to tell the compiler to emit MSA code if possible?

In the latter case, it would be so much easier to have OpenBLAS test if
the compiler has -mmsa support, and if so, use it, and if not, not use
it. This can be done in make: the Linux kernel does it, with a make
function called cc-option. You can then do:

FOO_FLAGS += $(call cc-option,-mmsa)

and -mmsa only gets added to FOO_FLAGS if it's supported by the
compiler.

I guess such a thing could be contributed upstream to OpenBLAS.

Best regards,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains
  2016-07-18 12:05 [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains Vicente Olivert Riera
  2016-07-19 10:27 ` Thomas Petazzoni
@ 2016-08-06 21:58 ` Thomas Petazzoni
  1 sibling, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-08-06 21:58 UTC (permalink / raw)
  To: buildroot

Hello,

On Mon, 18 Jul 2016 13:05:39 +0100, Vicente Olivert Riera wrote:
> These two MIPS cores are built with MSA support (-mmsa) which is
> currently in GCC trunk. The only toolchains that support it right now
> are Codescape MTI and Codescape IMG from Imagination Technologies.
> 
> Fixes:
>   http://autobuild.buildroot.net/results/af5/af5e9f10287aaf9b9be6228ad7d12b2d926f8051/
>   http://autobuild.buildroot.net/results/b20/b201e4072b0b634d5ac86781aee24c698f88d689/
> 
> Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
> ---
> Changes v1 -> v2:
>  - Amend commit log: s/Imagiation/Imagination/

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains
  2016-07-19 10:27 ` Thomas Petazzoni
@ 2016-08-06 21:59   ` Thomas Petazzoni
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Petazzoni @ 2016-08-06 21:59 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 19 Jul 2016 12:27:41 +0200, Thomas Petazzoni wrote:

> If MSA-specific assembly code used in OpenBLAS, or are they just
> passing -mmsa to tell the compiler to emit MSA code if possible?

Answer: MSA-specific code is used, so it cannot build at all if -mmsa
is not passed.

So I've applied Vicente's patch.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-08-06 21:59 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-07-18 12:05 [Buildroot] [PATCH v2] openblas: P5600 and I6400 cores only available for Codescape toolchains Vicente Olivert Riera
2016-07-19 10:27 ` Thomas Petazzoni
2016-08-06 21:59   ` Thomas Petazzoni
2016-08-06 21:58 ` Thomas Petazzoni

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.