Hi Jakub,
  Thanks for your review comments.

在 2024/5/14 23:57, Jakub Jelinek 写道:
> BUILT_IN_ISFINITE is just one of many BUILT_IN_IS... builtins,
> would be nice to handle the others as well.
> 
> E.g. isnormal/isnan/isinf, fpclassify etc.
> 
Yes, I already sent the patches which add range op for isnormal/isnan/isinf
for review. I will modify them according to review comments and submit them
again.

> Note, the man page says for e.g. isnormal that it returns nonzero or zero,
> but in reality I think we implement it always inline and can check if
> it always returns [0,1].
> Some others like isinf return [-1,1] though I think and fpclassify
> returns union of all the passed int values.

The gcc inline code always returns 0 or 1 for isnormal/isnan/isinf. But I
wonder if all targets' expand can promise it. The rs6000 has an instruction
for isnormal/isnan/isinf. So we're making the patch not to call inline codes
and expand them by ourselves. Though rs6000 instruction returns 0 or 1 for
them, not sure if other targets are the same.

Thanks
Gui Haochen

Reply via email to