Summary: | vex amd64->IR: unhandled instruction bytes: 0xC5 0xFD 0xC2 0xC1 0x10 0xC5 0xFD 0x29 | ||
---|---|---|---|
Product: | [Developer tools] valgrind | Reporter: | Peter van Hoof <pvh> |
Component: | memcheck | Assignee: | Julian Seward <jseward> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | ||
Priority: | NOR | ||
Version: | 3.10.0 | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: |
test case
simplified test case |
Description
Peter van Hoof
2015-04-22 16:16:50 UTC
Created attachment 92163 [details]
test case
Further testing shows that the failure depends on the value of the compare predicate. The following predicates fail: _CMP_FALSE_OQ _CMP_TRUE_UQ _CMP_EQ_OS _CMP_UNORD_S _CMP_NEQ_US _CMP_NLT_UQ _CMP_ORD_S _CMP_EQ_US _CMP_NGE_UQ _CMP_NGT_UQ _CMP_FALSE_OS _CMP_NEQ_OS _CMP_GE_OQ _CMP_TRUE_US The rest works fine. This explains why only the second instance of _mm256_cmp_pd() failed. Based on this I created a simplified test case bug2.cpp Steps to Reproduce: 1. compile with "g++ -mavx bug.cpp" 2. run with "valgrind a.out <n>" where <n> is the numeric value of the compare predicate (between 0 and 31). Created attachment 92589 [details]
simplified test case
Fixed, vex r3170. *** This bug has been marked as a duplicate of bug 342571 *** |