https://bugs.kde.org/show_bug.cgi?id=442168

--- Comment #2 from Xavier Roche <xavier.ro...@algolia.com> ---
Additional notes: isolating the faulty function

static double (*volatile pvalidate)(double a) = validate;  // used in
minimalTest
double validate(double a)
{
    return std::isfinite(a) ? a : 1.0f;
}

The difference between the correctly executed code under valgrind and the
faulty one:

 _Z8validated:                           # @_Z8validated
        pushq   %rax
        .cfi_def_cfa_offset 16
-       movsd   %xmm0, (%rsp)                   # 8-byte Spill
+       vmovsd  %xmm0, (%rsp)                   # 8-byte Spill
        callq  
_Z8isfiniteIdENSt3__19enable_ifIXaasr3std13is_arithmeticIT_EE5valuesr3std14numeric_limitsIS2_EE12has_infinityEbE4typeES2_
-       movsd   (%rsp), %xmm0                   # 8-byte Reload
+       vmovsd  (%rsp), %xmm0                   # 8-byte Reload
                                         # xmm0 = mem[0],zero
        testb   %al, %al
        jne     .LBB6_2
 # %bb.1:
-       movsd   .LCPI6_0(%rip), %xmm0           # xmm0 = mem[0],zero
+       vmovsd  .LCPI6_0(%rip), %xmm0           # xmm0 = mem[0],zero
 .LBB6_2:
        popq    %rax
        retq

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to