[06/12] Add femode_t functions: ia64
Joseph Myers
joseph@codesourcery.com
Mon Sep 5 15:24:00 GMT 2016
On Sat, 3 Sep 2016, Yury Norov wrote:
> > +#define FPSR_STATUS 0x1f80UL
> > +#define FPSR_STATUS_ALL ((FPSR_STATUS << 6) | (FPSR_STATUS << 19) \
> > + | (FPSR_STATUS << 32) | (FPSR_STATUS << 45))
> > +
>
> Hi Josepf,
>
> Is it possible to #define offsets to avoid magic numbers, or drop the
> link to specification?
I think defining extra macros (which would be used only once each) for the
offsets of the four status/control fields would make the code less
readable, not more, in this case (like the recent rejected Linux kernel
patches to use symbolic names for file access modes). It's clear to
readers of the code what those offsets are meant to be (I think it's
reasonable to expect readers of ia64 floating-point code to have a general
awareness of the four status/control fields, with instructions being able
to choose which one is applied to that instruction), and anyone checking
the precise values of offsets and bit-masks has to refer to architecture
manuals, with or without macros involved.
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libc-alpha
mailing list