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

            Bug ID: 371989
           Summary: PCMPISTRM $0x72 validity bit propagation is imprecise
           Product: valgrind
           Version: 3.12 SVN
          Platform: Compiled Sources
                OS: Linux
            Status: UNCONFIRMED
          Severity: normal
          Priority: NOR
         Component: memcheck
          Assignee: jsew...@acm.org
          Reporter: lopre...@gmail.com
  Target Milestone: ---

Created attachment 101977
  --> https://bugs.kde.org/attachment.cgi?id=101977&action=edit
Test case illustrating pcmpistrm $0x72 validity bit propagation failure

(cf. bug 309921)

Well, here we go again...

The attached program uses inline assembly to do something similar to the Intel
C compiler's optimized "strspn()" routine.

It would be easy for me to use a suppression rule for warnings from inside the
routine. But as with this example, memcheck generates a warning *outside* of
the vectorized function.

So, memcheck is tainting the return value of the function as undefined. But the
result is actually perfectly well-defined thanks to (a) the memory alignment of
the arguments and (b) the way PCMPISTRM ignores everything after the first null
byte.

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

Reply via email to