Bad value in EDI causing a crash when executing MASKMOVDQU - by Luc.Lapierre

Status : 

  Fixed<br /><br />
		This item has been fixed in the current or upcoming version of this product.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.

Sign in
to vote
ID 646911 Comments
Status Closed Workarounds
Type Bug Repros 0
Opened 2/24/2011 11:07:48 AM
Access Restriction Public


The C++ compiler apparently doesn't take into account the implicit dependency between _mm_maskmoveu_si128 and the EDI register (which must contain the store address). The disassembly shows that the initialization of EDI is placed after the actual MASKMOVDQU instruction. Attempting to write at the invalid address in EDI causes a crash.
Sign in to post a comment.
Posted by Deon [MSFT] on 4/29/2014 at 12:17 PM
Thank you for reporting this issue. This issue has been fixed in Visual Studio 2013. You can install a trial version of Visual Studio 2013 with the fix from:
Posted by Haohua Xie on 4/10/2013 at 3:09 AM
This is a troublesome issue to crash the app. a workaround is to set the EDI register to proper value using the inline asm
Posted by Microsoft on 2/24/2011 at 6:57 PM
Thank you for submitting feedback on Visual Studio 2010 and .NET Framework. Your issue has been routed to the appropriate VS development team for review. We will contact you if we require any additional information.
Posted by Microsoft on 2/24/2011 at 11:14 AM
Thank you for your feedback, we are currently reviewing the issue you have submitted. If this issue is urgent, please contact support directly(