This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH v2 10/12] soft-fp: Add the lack of implementation for 128 bit


Richard Henderson <rth@twiddle.net> 於 2018年7月18日 週三 上午2:20寫道:
>
> On 07/16/2018 10:07 PM, Zong Li wrote:
> > +#define _FP_FRAC_ADD_8(R, X, Y)                                 \
> > +  __FP_FRAC_ADD_8 (R##_f[7], R##_f[6], R##_f[5], R##_f[4],      \
> > +                   R##_f[3], R##_f[2], R##_f[1], R##_f[0],      \
> > +                   X##_f[7], X##_f[6], X##_f[5], X##_f[4],      \
> > +                   X##_f[3], X##_f[2], X##_f[1], X##_f[0],      \
> > +                   Y##_f[7], Y##_f[6], Y##_f[5], Y##_f[4],      \
> > +                   Y##_f[3], Y##_f[2], Y##_f[1], Y##_f[0])
>
> I don't think there's a need for the intermediate macro.
> I think it would be better to use a loop for these.  E.g.
>
> #define _FP_FRAC_ADD_8(R, X, Y)                               \
>   do                                                          \
>     {                                                         \
>       _FP_W_TYPE fa8_c = 0;                                   \
>       for (int fa8_i = 0; fa8_i < 8; ++fa8_i)                 \
>         {                                                     \
>           _FP_W_TYPE fa8_x = X##_f[fa8_i];                    \
>           _FP_W_TYPE fa8_r = fa8_x + Y##_f[fa8_i] + fa8_c;    \
>           fa8_c = (fa8_c ? fa8_r <= fa8_x : fa8_r < fa8_x);   \
>         }                                                     \
>     }                                                         \
>   while (0)
>
>
> > +#define _FP_FRAC_SUB_8(R, X, Y)                                 \
>
> Likewise.
>
> > +#define _FP_FRAC_CLZ_8(R, X)                    \
>
> Likewise.
>
> Otherwise, LGTM.
>
>
> r~

I use the intermediate macro by referring to the implementation in op-4.h
I will modify that on next version.
Thanks.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]