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
This came up in #8402. There seems to be an inconsistency between eqfui results at the toplevel vs. in a function. This does appear to be fixed in llvm-svn. But, it seems odd enough to deserve its own issue (or perhaps there is some explanation that will help me figure out the failure on ARM -- and the fact that the result there is inverted).
On linux and windows x86_64/llvm3.3 builds (on both master and 0.3.2), I see the following:
julia> typemax(UInt64) != 2.0^64
true
julia> f() = typemax(UInt64) != 2.0^64
f (generic function with 1 method)
julia> f()
false
We assert the first result in a numbers test, so presumably the same should hold inside of a function...
The IR for julia_!=... is identical on all platforms / llvm versions:
julia> @code_llvm typemax(Uint64) != 2.0^64
define i1 @"julia_!=41538"(i64, double) {
top:
%2 = uitofp i64 %0 to double, !dbg !8
%3 = fptoui double %2 to i64, !dbg !8
%notlhs = fcmp une double %2, %1, !dbg !8
%notrhs = icmp ne i64 %3, %0, !dbg !8
%4 = or i1 %notlhs, %notrhs, !dbg !8
ret i1 %4, !dbg !8
}
(the comparison is folded to a bool for the function version)
The text was updated successfully, but these errors were encountered:
JeffBezanson
added
bug
Indicates an unexpected problem or unintended behavior
upstream
The issue is with an upstream dependency, e.g. LLVM
labels
Nov 21, 2014
This came up in #8402. There seems to be an inconsistency between eqfui results at the toplevel vs. in a function. This does appear to be fixed in llvm-svn. But, it seems odd enough to deserve its own issue (or perhaps there is some explanation that will help me figure out the failure on ARM -- and the fact that the result there is inverted).
On linux and windows x86_64/llvm3.3 builds (on both master and 0.3.2), I see the following:
We assert the first result in a numbers test, so presumably the same should hold inside of a function...
The IR for
julia_!=...
is identical on all platforms / llvm versions:julia> @code_llvm typemax(Uint64) != 2.0^64
(the comparison is folded to a bool for the function version)
The text was updated successfully, but these errors were encountered: