On 28/05/12 12:27, Joseph S. Myers wrote:
On Mon, 28 May 2012, Matthew Gretton-Dann wrote:

This patch adds a variety of predefined macros to reveal the presence of
various features of the ARM architecture.  These are detailed in the ARM
C Language Extensions specification, available here:
http://infocenter.arm.com/help/topic/com.arm.doc.ihi0053-/index.html

Are there any plans to implement the change in __fp16 semantics in this
document (single rounding for conversion from double to __fp16, whereas
the specification previously implemented was double rounding)?  And, more
generally, the various features in the document not currently implemented
in GCC or implemented differently from the specification?

Yes. We have these implemented against 4.7 internally, and are slowly rebasing these to trunk. Unfortunately, I have no timescale for when these will be released.

__ARM_FEATURE_FMA which is defined when the fused multiply-accumulate
instructions are available for floating-point and/or Advanced SIMD
values.

Note that the ARM port is currently lacking the fma instruction patterns
to implement the __builtin_fma* built-in functions for processors with
those instructions.  Support for those would be a straightforward and
useful addition to GCC.

I have a patchset currently under test that will add FMA support to the ARM backend (both for VFP and Neon). Hopefully this will be sent for community review sometime this week.

Is there a reason the ACLE doesn't include a predefined macro to say
whether registers d16-d31 are known at compile time to be available?  That
would occasionally be useful (see my comments in
<http://sourceware.org/ml/libc-ports/2012-04/msg00087.html>, for example).

ACLE is interested in C language extensions. So, in general, it only notes architecture features that the presence/absence of would change how you would write your C code.

The number of registers available in the VFP unit is of no interest to a C programmer, and so ACLE doesn't provide a feature test macro for it.

ACLE does not provide support for those writing assembly directly.

I agree, however, that from a GCC+Binutils toolchain perspective, feature test macros for such features would be useful.

Thanks,

Matt


--
Matthew Gretton-Dann
Principal Engineer, PD Software - Tools, ARM Ltd

Reply via email to