- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
When compiling some source file I get the following warning:
Warning: MMX instructions are followed by a call without first having seen an EMMS instruction in file C:localV52sourcesplib_camschrijfrep.f, line 4497, column 12
I am using /O2 /QxK flags for optimization. Could this cause problems for the program? Can this warning be avoided, maybe by changes to the source?
Thanks,
Guido
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
One way to avoid it would be to use one of the options for P4 or later CPUs (SSE2 options -QxW ..). It has been some years since any manufacturer made a CPU which would not support -QxW. If this warning comes from an obsolete compiler, an upgrade could be worth while.
I have heard that CPUs which support SSE2 avoid thesharing ofMMX and x87 registers which prompted this warning, but I can't find quickly a reference to verify it. You can easily find Google references which explain that the first MMX CPUs used the same registers for MMX and floating point, and could not safelypass fromMMX to floating point instructions without issuing the EMMS. All these issuesseem mainly historical.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wonder why the compiler doesn't insert the EMMS instruction itself. Maybe because it doesn't know if the called function is using floating point instructions (in this case I think it is not and the warning is probably harmless).
Would it be possible to insert an EMMS instruction by some function call or compiler directive?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I submitted a test case to Intel Premier Support.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page