Bug 342571 - Valgrind chokes on AVX compare intrinsic with _CMP_GE_QS
Summary: Valgrind chokes on AVX compare intrinsic with _CMP_GE_QS
Status: RESOLVED FIXED
Alias: None
Product: valgrind
Classification: Developer tools
Component: vex (show other bugs)
Version: 3.10.0
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Julian Seward
URL:
Keywords:
: 346476 348387 350593 (view as bug list)
Depends on:
Blocks: 350593
  Show dependency treegraph
 
Reported: 2015-01-07 06:42 UTC by Bram Stolk
Modified: 2015-08-13 12:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Bram Stolk 2015-01-07 06:42:46 UTC
vex amd64->IR: unhandled instruction bytes: 0xC5 0xEC 0xC2 0xD3 0x1D 0xC5 0xD4 0xC2
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=1 VEX.L=1 VEX.nVVVV=0x2 ESC=0F
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==9427== valgrind: Unrecognised instruction at address 0x40751b.

The offending source code on that line:
 __m256i ok0 = _mm256_cmp_ps( tmax, _mm256_max_ps( zero8, tmin ), _CMP_GE_OQ );

Ignore the max intrinsic: the crash goes away if _CMP_GE_OQ is changed into _CMP_GT_OQ

Reproducible: Always

Steps to Reproduce:
1.Build code with offending intrinsic in it.
2.Run valgrind over it.
3.

Actual Results:  
Unhandled instruction

Expected Results:  
Normal operation
Comment 1 Bram Stolk 2015-07-24 16:56:16 UTC
I've changed the component to 'VEX' as this is an omission in VEX.
Comment 2 Julian Seward 2015-08-13 12:49:58 UTC
Fixed, vex r3170.
Comment 3 Julian Seward 2015-08-13 12:50:59 UTC
*** Bug 346476 has been marked as a duplicate of this bug. ***
Comment 4 Julian Seward 2015-08-13 12:52:05 UTC
*** Bug 348387 has been marked as a duplicate of this bug. ***
Comment 5 Julian Seward 2015-08-13 12:53:02 UTC
*** Bug 350593 has been marked as a duplicate of this bug. ***