You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On non-Windows platforms, Float64#**(Int32) and Float64#**(Float64) are backed by llvm.powi and llvm.pow respectively. The two can sometimes return different results, in particular when dealing with certain subnormal results:
Although there are no guarantees about either form's precision, this could still be a problem since only Windows delegates #**(Int32) to #**(Float64), thus the same code will not print zero when compiled using MSVC. Maybe we should simply drop powi on the other platforms as well?
On non-Windows platforms,
Float64#**(Int32)
andFloat64#**(Float64)
are backed byllvm.powi
andllvm.pow
respectively. The two can sometimes return different results, in particular when dealing with certain subnormal results:Reduced: (it doesn't matter whether the base value is a constant or the variable
x
)Although there are no guarantees about either form's precision, this could still be a problem since only Windows delegates
#**(Int32)
to#**(Float64)
, thus the same code will not print zero when compiled using MSVC. Maybe we should simply droppowi
on the other platforms as well?See also: llvm/llvm-project#65088
The text was updated successfully, but these errors were encountered: