Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Joey Ye
Which Cortex-R you are targeting that supports both D16 and D32?

Thanks,
Joey

On Thu, Oct 17, 2013 at 3:13 PM, Sebastian Huber
sebastian.hu...@embedded-brains.de wrote:
 Hello,

 it seems that it is not possible to deduce from GCC built-in defines whether
 we compile for the VFPv3-D16 or VFPv3-D32 floating point unit.

 touch empty.c

 arm-eabi-gcc -march=armv7-r -mfpu=vfpv3-d16 -mfloat-abi=hard -E -P -v -dD
 empty.c  vfpv3-d16.txt

 arm-eabi-gcc -march=armv7-r -mfpu=vfpv3 -mfloat-abi=hard -E -P -v -dD
 empty.c  vfpv3-d32.txt

 diff vfpv3-d16.txt vfpv3-d32.txt

 Is it possible to add a built-in define for this?  Or as an alternative is
 it possible to use a GCC configuration target specific multi-lib define that
 indicates it?

 I want to use such a compiler provided define to determine how the context
 switch support in an operating system should look like.

 --
 Sebastian Huber, embedded brains GmbH

 Address : Dornierstr. 4, D-82178 Puchheim, Germany
 Phone   : +49 89 189 47 41-16
 Fax : +49 89 189 47 41-09
 E-Mail  : sebastian.hu...@embedded-brains.de
 PGP : Public key available on request.

 Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Sebastian Huber

On 2013-10-17 09:28, Joey Ye wrote:

Which Cortex-R you are targeting that supports both D16 and D32?


I have a Cortex-R variant which supports D16 only and now I want to add a 
multi-lib to our GCC target configuration and use a compiler built-in to adjust 
the context switch code for this multi-lib.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Joey Ye
There is no macro to indicate VFP variances. Probably you can check
CPU variance instead. As I know Cortex-R only support D16.

Joey

On Thu, Oct 17, 2013 at 3:47 PM, Sebastian Huber
sebastian.hu...@embedded-brains.de wrote:
 On 2013-10-17 09:28, Joey Ye wrote:

 Which Cortex-R you are targeting that supports both D16 and D32?


 I have a Cortex-R variant which supports D16 only and now I want to add a
 multi-lib to our GCC target configuration and use a compiler built-in to
 adjust the context switch code for this multi-lib.


 --
 Sebastian Huber, embedded brains GmbH

 Address : Dornierstr. 4, D-82178 Puchheim, Germany
 Phone   : +49 89 189 47 41-16
 Fax : +49 89 189 47 41-09
 E-Mail  : sebastian.hu...@embedded-brains.de
 PGP : Public key available on request.

 Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Richard Earnshaw
On 17/10/13 08:56, Joey Ye wrote:
 There is no macro to indicate VFP variances. Probably you can check
 CPU variance instead. As I know Cortex-R only support D16.
 

Checking __ARM_ARCH_PROFILE == 'R' would tell you that it's R profile
and therefore only 16 regs.

R.

 Joey
 
 On Thu, Oct 17, 2013 at 3:47 PM, Sebastian Huber
 sebastian.hu...@embedded-brains.de wrote:
 On 2013-10-17 09:28, Joey Ye wrote:

 Which Cortex-R you are targeting that supports both D16 and D32?


 I have a Cortex-R variant which supports D16 only and now I want to add a
 multi-lib to our GCC target configuration and use a compiler built-in to
 adjust the context switch code for this multi-lib.


 --
 Sebastian Huber, embedded brains GmbH

 Address : Dornierstr. 4, D-82178 Puchheim, Germany
 Phone   : +49 89 189 47 41-16
 Fax : +49 89 189 47 41-09
 E-Mail  : sebastian.hu...@embedded-brains.de
 PGP : Public key available on request.

 Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
 
 
 




Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Sebastian Huber

On 2013-10-17 14:24, Richard Earnshaw wrote:

On 17/10/13 08:56, Joey Ye wrote:

There is no macro to indicate VFP variances. Probably you can check
CPU variance instead. As I know Cortex-R only support D16.


Checking __ARM_ARCH_PROFILE == 'R' would tell you that it's R profile
and therefore only 16 regs.


Thanks for this information.  I was not aware that no existing Cortex-R variant 
has a D32 VFP unit.


Is the converse true for Cortex-A variants or are there Cortex-A cores with 
VFP-D16 and VFP-D32 units?


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.


Re: ARM: VFPv3-D16 vs. VFPv3-D32

2013-10-17 Thread Richard Earnshaw
On 17/10/13 13:46, Sebastian Huber wrote:
 On 2013-10-17 14:24, Richard Earnshaw wrote:
 On 17/10/13 08:56, Joey Ye wrote:
 There is no macro to indicate VFP variances. Probably you can check
 CPU variance instead. As I know Cortex-R only support D16.

 Checking __ARM_ARCH_PROFILE == 'R' would tell you that it's R profile
 and therefore only 16 regs.
 
 Thanks for this information.  I was not aware that no existing Cortex-R 
 variant 
 has a D32 VFP unit.
 
 Is the converse true for Cortex-A variants or are there Cortex-A cores with 
 VFP-D16 and VFP-D32 units?
 

No, the converse is not true.  In general (though I don't think there's
a guarantee that this will be the case) if you don't have Neon you won't
have D32.  However, if you have Neon you must have D32.  Not all
Cortex-A cores have Neon; though many do these days.

R.