Displaying 3 results from an estimated 3 matches for "ceil64".
Did you mean:
ceil
2017 Jun 19
4
LLVM behavior different depending on function symbol name
...metadata float* %x, metadata !649, metadata
!494), !dbg !651
%1 = load float, float* %x, !dbg !652
%2 = call fastcc float @ceil32(float %1) #8, !dbg !656
ret float %2, !dbg !657
}
Test case:
test "math.ceil" {
assert(ceil(f32(0.0)) == ceil32(0.0));
assert(ceil(f64(0.0)) == ceil64(0.0));
}
When I compile with optimizations on, this test case fails. The optimized
code for the test case ends up being a call to panic (assertion failure),
which means that LLVM determined the test failed at compile-time.
What's strange about this is that if I change the function name from...
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...float* %x, !dbg !652
>> %2 = call fastcc float @ceil32(float %1) #8, !dbg !656
>> ret float %2, !dbg !657
>> }
>>
>> Test case:
>>
>> test "math.ceil" {
>> assert(ceil(f32(0.0)) == ceil32(0.0));
>> assert(ceil(f64(0.0)) == ceil64(0.0));
>> }
>>
>>
>> When I compile with optimizations on, this test case fails. The optimized
>> code for the test case ends up being a call to panic (assertion failure),
>> which means that LLVM determined the test failed at compile-time.
>>
>> What...
2017 Jun 19
2
LLVM behavior different depending on function symbol name
...float %1) #8, !dbg !656
>>>> ret float %2, !dbg !657
>>>> }
>>>>
>>>> Test case:
>>>>
>>>> test "math.ceil" {
>>>> assert(ceil(f32(0.0)) == ceil32(0.0));
>>>> assert(ceil(f64(0.0)) == ceil64(0.0));
>>>> }
>>>>
>>>>
>>>> When I compile with optimizations on, this test case fails. The
>>>> optimized code for the test case ends up being a call to panic (assertion
>>>> failure), which means that LLVM determined the tes...