[PATCH v6 06/13] ARC: hardware floating point support

Vineet Gupta Vineet.Gupta1@synopsys.com
Fri Jun 5 04:44:21 GMT 2020


On 5/29/20 4:50 PM, Vineet Gupta via Libc-alpha wrote:
>>> Although this code follow other architectures, I think it woudl be better
>>> to move forward a macro that emulates function calls and use proper
>>> static inline function instead for _FPU_* (as for get-rounding-mode.h).
>> OK. do you have a preference for names, existing upper case names OK ?
> Something like below ?
> 
> +# define _FPU_FPSR_FWE		0x80000000
> +
> -#  define _FPU_GETCW(cw) __asm__ volatile ("lr %0, [0x300]" : "=r" (cw))
> -#  define _FPU_SETCW(cw) __asm__ volatile ("sr %0, [0x300]" : : "r" (cw))
> +static inline unsigned int arc_fpu_getcw(void)
> +{
> +  unsigned int cw;
> +  __asm__ volatile ("lr %0, [0x300]" : "=r" (cw));
> +  return cw;
> +}
> +
> +static inline void arc_fpu_setcw(unsigned int cw)
> +{
> +  __asm__ volatile ("sr %0, [0x300]" : : "r" (cw));
> +}

It seems there is more discussiosn to be had here. Can we just punt on this
specific item and keep the status quo macros please. We are heading towards july
and I'd rather have the port go in this cycle !

-Vineet


More information about the Libc-alpha mailing list