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

--- Comment #8 from Paul Floyd <[email protected]> ---
Sorry , yes, I can only reproduce with -O, I'll try that again.

I have no problem with --vex-guest-chase=no

On Linux the problem is in this section of code

        a = sin(sqrt(i));
 804839a:       0f 57 d2                xorps  %xmm2,%xmm2
 804839d:       f2 0f 2a d6             cvtsi2sd %esi,%xmm2
 80483a1:       0f 57 c9                xorps  %xmm1,%xmm1
 80483a4:       f2 0f 51 ca             sqrtsd %xmm2,%xmm1
 80483a8:       66 0f 57 c0             xorpd  %xmm0,%xmm0
 80483ac:       f2 0f 11 54 24 20       movsd  %xmm2,0x20(%esp)
 80483b2:       66 0f 2e d0             ucomisd %xmm0,%xmm2
 80483b6:       f2 0f 11 4c 24 30       movsd  %xmm1,0x30(%esp)
 80483bc:       66 0f 28 c1             movapd %xmm1,%xmm0
 80483c0:       73 1a                   jae    80483dc <main+0x5c>
 80483c2:       f2 0f 10 44 24 20       movsd  0x20(%esp),%xmm0
 80483c8:       f2 0f 11 04 24          movsd  %xmm0,(%esp)
 80483cd:       e8 3e fe ff ff          call   8048210 <sqrt@plt>
 80483d2:       dd 5c 24 40             fstpl  0x40(%esp)
 80483d6:       f2 0f 10 44 24 40       movsd  0x40(%esp),%xmm0
 80483dc:       f2 0f 11 04 24          movsd  %xmm0,(%esp)
 80483e1:       e8 5a fe ff ff          call   8048240 <sin@plt>
 80483e6:       d9 5c 24 2c             fstps  0x2c(%esp)
 80483ea:       f3 0f 10 54 24 2c       movss  0x2c(%esp),%xmm2

where the jae causes the problem. As I understand that it does

1. speculative sqrt op-code (onlu valid for
2. checks the arg is >= 0
3. if it is, jump around next block
4. if it is < 0 call libm sqrt

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

Reply via email to