================
@@ -86,13 +84,10 @@ _CLC_DEF _CLC_OVERLOAD __CLC_GENTYPE 
__clc_hypot(__CLC_GENTYPE x,
   r = c ? s : r;
 
   // Check for NaN
-  c = __clc_isnan(x) || __clc_isnan(y);
-  r = c ? __CLC_AS_GENTYPE((__CLC_ULONGN)QNANBITPATT_DP64) : r;
+  r = __clc_isnan(x) || __clc_isnan(y) ? __CLC_GENTYPE_NAN : r;
----------------
frasercrmck wrote:

> Doesn't matter much, but can fold this condition into one 
> __builtin_isunordered (or just let instcombine do it)

Yeah I think I'll just let instcombine do it (which it does).

> Above should also be rewritten with frexp and ldexp

Sorry, I'm not seeing which bit - could you explain? I note that libclc's frexp 
and ldexp are more involved than any of the bithacking here (possibly due to 
subnormal support?) so I'm not sure what the goal would be.

https://github.com/llvm/llvm-project/pull/129738
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to