Bug 21408 - DAZ related macros are improperly guarded in pmmintrin.h
Summary: DAZ related macros are improperly guarded in pmmintrin.h
Alias: None
Product: gcc
Classification: Unclassified
Component: target (show other bugs)
Version: 4.1.0
: P2 minor
Target Milestone: ---
Assignee: Not yet assigned to anyone
Keywords: ssemmx
Depends on:
Reported: 2005-05-06 00:37 UTC by tbp
Modified: 2009-09-17 10:32 UTC (History)
2 users (show)

See Also:
Target: i?86-*-* x86_64-*-*
Known to work:
Known to fail:
Last reconfirmed: 2006-01-26 05:23:39


Note You need to log in before you can comment on or make changes to this bug.
Description tbp 2005-05-06 00:37:05 UTC
In GCC's version of pmmintrin.h we have:
#ifdef __SSE3__
#include <xmmintrin.h>
#include <emmintrin.h>

/* Additional bits in the MXCSR.  */
#define _MM_DENORMALS_ZERO_MASK		0x0040
#define _MM_DENORMALS_ZERO_ON		0x0040
#define _MM_DENORMALS_ZERO_OFF		0x0000

  _mm_setcsr ((_mm_getcsr () & ~_MM_DENORMALS_ZERO_MASK) | (mode))
  (_mm_getcsr() & _MM_DENORMALS_ZERO_MASK)

... and then SSE3 intrinsics.

But those addtionnal MXCSR bits can be found, for example, on a k8 with only SSE2.
Side note: they aren't guarded this way either in Intel headers.
Comment 1 Andrew Pinski 2005-10-25 19:46:53 UTC
Comment 2 Uroš Bizjak 2008-04-21 08:24:24 UTC
I guess that H.J. will know what shall we do here.
Comment 3 H.J. Lu 2008-04-21 13:30:12 UTC
pmmintrin.h is for SSE3. I don't see anything wrong here. If someone
wants to support SSE3 macros on some processors with SSE2, a new header
file may be used.
Comment 4 Uroš Bizjak 2009-09-17 10:32:54 UTC
So, wontfix.